/* ****************************************************************************** * HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmipmn_api_cli.h,v $ $Revision: 1.3 $ * $Source: /home/interpeak/CVSRoot/ipmipmn/include/private/ipmipmn_api_cli.h,v $ * $Author: jhorteli $ $Date: 2009-12-02 08:50:47 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Joel Hortelius ****************************************************************************** */ #ifndef IPMIPMN_API_CLI_H #define IPMIPMN_API_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; /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ /******************************************************************************* * * ipmipmn_api_cli_request_set_ifname - ipmipmn_api_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 ipmipmn_api_cli_request_set_ifname ( Ipmip_cli_daemon_req_t *req, const char *ifname ); /******************************************************************************* * * ipmipmn_api_cli_request_set_nai - ipmipmn_api_cli_request_set_nai * * Set an NAI identifier in the request * * Parameters: * \is * \i req * Daemon request structure * \i nai * Mobile Nai * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipmn_api_cli_request_set_nai ( Ipmip_cli_daemon_req_t *req, const char *nai ); /******************************************************************************* * * ipmipmn_api_cli_request_set_home_address - ipmipmn_api_cli_request_set_home_address * * Set the Home Address identifier in the request * * Parameters: * \is * \i req * Daemon request structure * \i hoa * Home Address * \ie * * RETURNS: No return value * * ERRNO: * */ IP_PUBLIC void ipmipmn_api_cli_request_set_home_address ( Ipmip_cli_daemon_req_t *req, Ip_u32 hoa ); /******************************************************************************* * * ipmipmn_api_cli_node_get_home_agent - ipmipmn_api_cli_node_get_home_agent * * Returns the home agent of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The home agent or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_get_home_agent ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_home_agent_pending - ipmipmn_api_cli_node_get_home_agent_pending * * Returns the pending home agent of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The home agent or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_get_home_agent_pending ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_home_agent_dhaa - ipmipmn_api_cli_node_get_home_agent_dhaa * * Returns the home agent DHAA setting of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The home agent DHAA or zero if not found * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_get_home_agent_dhaa ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_home_address - ipmipmn_api_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 ipmipmn_api_cli_node_get_home_address ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_home_address_dynamic - ipmipmn_api_cli_node_get_home_address_dynamic * * Returns IP_TRUE if the home address of the node is dynamically allocated * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: IP_TRUE if the home address is dynamically allocated * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipmn_api_cli_node_get_home_address_dynamic ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_ifname - ipmipmn_api_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 *ipmipmn_api_cli_node_get_ifname ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_mipifname - ipmipmn_api_cli_node_get_mipifname * * Returns the mobile tunnel interface of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The mobile tunnel interface name or zero if not found * * ERRNO: * */ IP_PUBLIC const char *ipmipmn_api_cli_node_get_mipifname ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_tunnel_reverse - ipmipmn_api_cli_node_get_tunnel_reverse * * Returns the Reverse Tunneling setting * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: IP_TRUE if reverse tunneling is used * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipmn_api_cli_node_get_tunnel_reverse ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_tunnel_type - ipmipmn_api_cli_node_get_tunnel_type * * Returns the Tunneling Type setting * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The tunneling type * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_get_tunnel_type ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_receive_broadcast - ipmipmn_api_cli_node_get_receive_broadcast * * Returns the broadcast setting * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: IP_TRUE if broadcast is received * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipmn_api_cli_node_get_receive_broadcast ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_time_requested - ipmipmn_api_cli_node_get_time_requested * * Returns the requested time of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The granted time * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_get_time_requested ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_time_remaining - ipmipmn_api_cli_node_get_time_remaining * * Returns the remaining time of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The remaining time * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_get_time_remaining ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_created - ipmipmn_api_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 ipmipmn_api_cli_node_get_created ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_last_updated - ipmipmn_api_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 ipmipmn_api_cli_node_get_last_updated ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_status - ipmipmn_api_cli_node_get_status * * Returns the node's status * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The status * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_get_status ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get - ipmipmn_api_cli_node_coa_get * * Returns the node's coa properties * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The CoA property block * * ERRNO: * */ IP_PUBLIC struct Ipmip_attr *ipmipmn_api_cli_node_coa_get ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_address - ipmipmn_api_cli_node_coa_get_address * * Returns the coa's address * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: The CoA Address * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_coa_get_address ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_peer - ipmipmn_api_cli_node_coa_get_peer * * Returns the coa's peer * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: The CoA Peer * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_coa_get_peer ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_type - ipmipmn_api_cli_node_coa_get_type * * Returns the coa's type * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: The CoA Type * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_coa_get_type ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_down - ipmipmn_api_cli_node_coa_get_down * * Returns the coa's downstatus * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: IP_TRUE if the CoA is down * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipmn_api_cli_node_coa_get_down ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_mobike - ipmipmn_api_cli_node_coa_get_mobike * * Returns the coa's mobike status * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: IP_TRUE if the CoA is mobiked * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipmn_api_cli_node_coa_get_mobike ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_retransmits - ipmipmn_api_cli_node_coa_get_retransmits * * Returns the coa's retransmits * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: The number of retransmits * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_coa_get_retransmits ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_tunnel_flags - ipmipmn_api_cli_node_coa_get_tunnel_flags * * Returns the tunneling flags of the node * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: The tunneling flags * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_coa_get_tunnel_flags ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_challenge - ipmipmn_api_cli_node_coa_get_challenge * * Returns the coa's challenge status * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: IP_TRUE if the CoA uses challenges * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipmn_api_cli_node_coa_get_challenge ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_llh - ipmipmn_api_cli_node_coa_get_llh * * Returns the coa's LLH status * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: IP_TRUE if the CoA is in LLH mode * * ERRNO: * */ IP_PUBLIC Ip_bool ipmipmn_api_cli_node_coa_get_llh ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_spi_mf - ipmipmn_api_cli_node_coa_get_spi_mf * * Returns the SPI Mobile Foreign * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: The SPI MF or 0 * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_coa_get_spi_mf ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_coa_get_spi_mh - ipmipmn_api_cli_node_coa_get_spi_mh * * Returns the SPI Mobile Home * * Parameters: * \is * \i coa * rta containing the coa attributes * \ie * * RETURNS: The SPI MH or 0 * * ERRNO: * */ IP_PUBLIC Ip_u32 ipmipmn_api_cli_node_coa_get_spi_mh ( struct Ipmip_attr *coa ); /******************************************************************************* * * ipmipmn_api_cli_node_get_nai - ipmipmn_api_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 *ipmipmn_api_cli_node_get_nai ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_nai_ha - ipmipmn_api_cli_node_get_nai_ha * * Returns the HA NAI of the node * * Parameters: * \is * \i node * rta containing the node attributes * \ie * * RETURNS: The HA NAI or IP_NULL * * ERRNO: * */ IP_PUBLIC const char *ipmipmn_api_cli_node_get_nai_ha ( struct Ipmip_attr *node ); /******************************************************************************* * * ipmipmn_api_cli_node_get_nai_aaah - ipmipmn_api_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 *ipmipmn_api_cli_node_get_nai_aaah ( struct Ipmip_attr *node ); #ifdef __cplusplus } #endif #endif /* **************************************************************************** * END OF FILE **************************************************************************** */