/* ****************************************************************************** * HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmipha_cli.h,v $ $Revision: 1.2 $ * $Source: /home/interpeak/CVSRoot/ipmipha/include/ipmipha_cli.h,v $ * $Author: jhorteli $ $Date: 2009-12-02 08:50:37 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Joel Hortelius ****************************************************************************** */ #ifndef IPMIPHA_CLI_H #define IPMIPHA_CLI_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #include #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ /* **************************************************************************** * 5 TYPES **************************************************************************** */ struct Ipmip_attr; struct Ipmip_lladdr; struct Ipmipha_mib_haCounterEntry; /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ /******************************************************************************* * * ipmipha_cli_connect - ipmipha_cli_connect * * Connect to the foreign agent daemon. * * Parameters: * \is * \i daemon_info * Will be filled in by the function * \ie * * RETURNS: IP_TRUE on success * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipha_cli_connect ( Ipmip_cli_daemon_t *daemon_info ); /******************************************************************************* * * ipmipha_cli_daemon_mute - ipmipha_cli_daemon_mute * * Cancel all router advertisements * * Parameters: * \is * \i daemon * The daemon connection * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_daemon_mute ( Ipmip_cli_daemon_t *daemon ); /******************************************************************************* * * ipmipha_cli_daemon_start - ipmipha_cli_daemon_start * * Start foreign agent operation * * Parameters: * \is * \i daemon * The daemon connection * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_daemon_start ( Ipmip_cli_daemon_t *daemon ); /******************************************************************************* * * ipmipha_cli_daemon_stop - ipmipha_cli_daemon_stop * * Stop foreign agent operation * * Parameters: * \is * \i daemon * The daemon connection * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_daemon_stop ( Ipmip_cli_daemon_t *daemon ); /******************************************************************************* * * ipmipha_cli_daemon_registration_counters - ipmipha_cli_daemon_registration_counters * * Retrieve the MIB counters * * Parameters: * \is * \i daemon * The daemon connection * \i req * The request to use * \ie * * RETURNS: The mib counters on success, IP_NULL otherwise * * ERRNO: * */ IP_PUBLIC struct Ipmipha_mib_haRegNodeCounters *ipmipha_cli_daemon_registration_counters ( Ipmip_cli_daemon_t *daemon, Ipmip_cli_daemon_req_t *req ); /******************************************************************************* * * ipmipha_cli_node_get_ifname - ipmipha_cli_node_get_ifname * * Returns the interface of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The interface name or zero if not found * * ERRNO: * */ IP_PUBLIC const char *ipmipha_cli_node_get_ifname ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_nai - ipmipha_cli_node_get_nai * * Returns the Mobile NAI of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The mobile NAI or IP_NULL * * ERRNO: * */ IP_PUBLIC const char *ipmipha_cli_node_get_nai ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_nai_aaah - ipmipha_cli_node_get_nai_aaah * * Returns the AAAH NAI of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The AAAH NAI or IP_NULL * * ERRNO: * */ IP_PUBLIC const char *ipmipha_cli_node_get_nai_aaah ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_handle - ipmipha_cli_node_get_handle * * Returns the handle of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The handle or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_node_get_handle ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get - ipmipha_cli_node_get * * Retrieve information on a specific node * * Parameters: * \is * \i dameon * Connection to the IPMIP6PM daemon * \i req * Request to use. * \i handle * Handle * \ie * * RETURNS: The RTA containing the node's attributes if found, or IP_NULL. * * ERRNO: * */ IP_PUBLIC struct Ipmip_attr *ipmipha_cli_node_get ( Ipmip_cli_daemon_t *daemon, Ipmip_cli_daemon_req_t *req, Ip_u32 handle ); /******************************************************************************* * * ipmipha_cli_node_get_home_address - ipmipha_cli_node_get_home_address * * Returns the home address of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The home address or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_node_get_home_address ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_haCounterEntry - ipmipha_cli_node_get_haCounterEntry * * Returns the home haCounterEntry of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The haCounterEntry or IP_NULL if not found * * ERRNO: * */ IP_PUBLIC struct Ipmipha_mib_haCounterEntry *ipmipha_cli_node_get_haCounterEntry ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_list - ipmipha_cli_node_list * * List all nodes matching the specified search criteries * * Parameters: * \is * \i dameon * Connection to the IPMIPFA daemon * \i req * Request to use. * \i nai * NAI to look for, or IP_NULL * \i ifname * Interface name to look for, or IP_NULL * \i hoa * Home Address to look for * \ie * * RETURNS: IPCOM_SUCCESS if the request was successful * * ERRNO: * */ IP_PUBLIC int ipmipha_cli_node_list ( Ipmip_cli_daemon_t *daemon, Ipmip_cli_daemon_req_t *req, const char *nai, const char *ifname, Ip_u32 hoa ); /******************************************************************************* * * ipmipha_cli_handle_next - ipmipha_cli_handle_next * * Return the next handle * * Parameters: * \is * \i iter * Iterator * \ie * * RETURNS: The next handle or 0 * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_handle_next ( Ipmip_attr_iter_t *iter ); /******************************************************************************* * * ipmipha_cli_request_set_nai - ipmipha_cli_request_set_nai * * Set a NAI identifier in the request * * Parameters: * \is * \i req * Daemon request structure * \i nai * Network Access Identifier (if NULL this call will do nothing) * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_request_set_nai ( Ipmip_cli_daemon_req_t *req, const char *nai ); /******************************************************************************* * * ipmipha_cli_request_set_handle - ipmipha_cli_request_set_handle * * Set a handle identifier in the request * * Parameters: * \is * \i req * Daemon request structure * \i handle * The handle * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_request_set_handle ( Ipmip_cli_daemon_req_t *req, Ip_u32 handle ); /******************************************************************************* * * ipmipha_cli_request_set_home_address - ipmipha_cli_request_set_home_address * * Set a home address identifier in the request * * Parameters: * \is * \i req * Daemon request structure * \i hoa * The home address * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_request_set_home_address ( Ipmip_cli_daemon_req_t *req, Ip_u32 hoa ); /******************************************************************************* * * ipmipha_cli_request_set_ifname - ipmipha_cli_request_set_ifname * * Set an IFNAME identifier in the request * * Parameters: * \is * \i req * Daemon request structure * \i ifname * Interface name * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_request_set_ifname ( Ipmip_cli_daemon_req_t *req, const char *ifname ); /******************************************************************************* * * ipmipha_cli_node_get_created - ipmipha_cli_node_get_created * * Returns the time when the node was created * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The creation time or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_time_t ipmipha_cli_node_get_created ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_last_updated - ipmipha_cli_node_get_last_updated * * Returns the time the node was last updated * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The last updated time * * ERRNO: * */ IP_PUBLIC Ip_time_t ipmipha_cli_node_get_last_updated ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_AAA_last_verified - ipmipha_cli_node_get_AAA_last_verified * * Returns the time the node was last verified by AAA * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The last verified time * * ERRNO: * */ IP_PUBLIC Ip_time_t ipmipha_cli_node_get_AAA_last_verified ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_AAA_accounting_enabled - ipmipha_cli_node_get_AAA_accounting_enabled * * Returns the accounting status * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: IP_TRUE if accounting is enabled * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipha_cli_node_get_AAA_accounting_enabled ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_stats_rcv_octets64 - ipmipha_cli_node_get_stats_rcv_octets64 * * Returns the recived octets * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The received octets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_node_get_stats_rcv_octets64 ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_stats_rcv_pkts64 - ipmipha_cli_node_get_stats_rcv_pkts64 * * Returns the recived packets * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The received packets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_node_get_stats_rcv_pkts64 ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_stats_snd_octets64 - ipmipha_cli_node_get_stats_snd_octets64 * * Returns the sent octets * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The sent octets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_node_get_stats_snd_octets64 ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_node_get_stats_snd_pkts64 - ipmipha_cli_node_get_stats_snd_pkts64 * * Returns the sent packets * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The sent packets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_node_get_stats_snd_pkts64 ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipha_cli_binding_next - ipmipha_cli_binding_next * * Return the next binding * * Parameters: * \is * \i iter * Iterator * \ie * * RETURNS: The next binding or IP_NULL * * ERRNO: * */ IP_PUBLIC struct Ipmip_attr *ipmipha_cli_binding_next ( Ipmip_attr_iter_t *iter ); /******************************************************************************* * * ipmipha_cli_binding_get_created - ipmipha_cli_binding_get_created * * Returns the time when the binding was created * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The creation time or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_time_t ipmipha_cli_binding_get_created ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_last_updated - ipmipha_cli_binding_get_last_updated * * Returns the time the binding was last updated * * Parameters: * \is * \i binding * rta containing the node attributes * \ie * * RETURNS: The last updated time * * ERRNO: * */ IP_PUBLIC Ip_time_t ipmipha_cli_binding_get_last_updated ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_stats_rcv_octets64 - ipmipha_cli_binding_get_stats_rcv_octets64 * * Returns the recived octets * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The received octets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_binding_get_stats_rcv_octets64 ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_stats_rcv_pkts64 - ipmipha_cli_binding_get_stats_rcv_pkts64 * * Returns the recived packets * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The received packets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_binding_get_stats_rcv_pkts64 ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_stats_snd_octets64 - ipmipha_cli_binding_get_stats_snd_octets64 * * Returns the sent octets * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The sent octets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_binding_get_stats_snd_octets64 ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_stats_snd_pkts64 - ipmipha_cli_binding_get_stats_snd_pkts64 * * Returns the sent packets * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The sent packets * * ERRNO: * */ IP_PUBLIC Ip_u64 ipmipha_cli_binding_get_stats_snd_pkts64 ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_address - ipmipha_cli_binding_get_address * * Returns the CoA of the binding * * Parameters: * \is * \i binding * rta containing the node attributes * \ie * * RETURNS: The CoA address * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_address ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_tunnel_endpoint - ipmipha_cli_binding_get_tunnel_endpoint * * Returns the tunneling endpoint of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The tunneling endpoint or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_tunnel_endpoint ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_tunnel_type - ipmipha_cli_binding_get_tunnel_type * * Returns the tunneling type of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The tunneling type * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_tunnel_type ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_tunnel_flags - ipmipha_cli_binding_get_tunnel_flags * * Returns the tunneling flags of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The tunneling flags * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_tunnel_flags ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_tunnel_port - ipmipha_cli_binding_get_tunnel_port * * Returns the tunneling port of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The tunneling flags * * ERRNO: * */ IP_PUBLIC Ip_u16 ipmipha_cli_binding_get_tunnel_port ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_spi_mobile_foreign - ipmipha_cli_binding_get_spi_mobile_foreign * * Returns MF SPI of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The SPI * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_spi_mobile_foreign ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_spi_foreign_home - ipmipha_cli_binding_get_spi_foreign_home * * Returns FH SPI of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The SPI * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_spi_foreign_home ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_spi_mobile_AAA - ipmipha_cli_binding_get_spi_mobile_AAA * * Returns AAA SPI of the binding * * Parameters: * \is * \i node * rta containing the binding attributes * \ie * * RETURNS: The SPI * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_spi_mobile_AAA ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_haMobilityBindingEntry - ipmipha_cli_binding_get_haMobilityBindingEntry * * Returns the home haMobilityBindingEntry of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The haMobilityBindingEntry or IP_NULL if not found * * ERRNO: * */ IP_PUBLIC struct Ipmipha_mib_haMobilityBindingEntry *ipmipha_cli_binding_get_haMobilityBindingEntry ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_time_granted - ipmipha_cli_binding_get_time_granted * * Returns the granted time of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The granted time * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_time_granted ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_time_remaining - ipmipha_cli_binding_get_time_remaining * * Returns the remaining time of the binding * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The remaining time * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_time_remaining ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_binding_get_registration_flags - ipmipha_cli_binding_get_registration_flags * * Returns the registration flags * * Parameters: * \is * \i binding * rta containing the binding attributes * \ie * * RETURNS: The registration flags * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipha_cli_binding_get_registration_flags ( struct Ipmip_attr *binding ); /******************************************************************************* * * ipmipha_cli_node_delete - ipmipha_cli_node_delete * * Delete a particular node * * Parameters: * \is * \i daemon * The daemon connection * \i handle * The node handle * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_node_delete ( Ipmip_cli_daemon_t *daemon, Ip_u32 handle ); /******************************************************************************* * * ipmipha_cli_node_revoke - ipmipha_cli_node_revoke * * Revoke a particular node * * Parameters: * \is * \i daemon * The daemon connection * \i handle * The node handle * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipha_cli_node_revoke ( Ipmip_cli_daemon_t *daemon, Ip_u32 handle ); #ifdef __cplusplus } #endif #endif /* **************************************************************************** * END OF FILE **************************************************************************** */