Files
2026-07-30 11:19:44 +05:30

1169 lines
22 KiB
C

/*
******************************************************************************
* 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 <joel.hortelius@interpeak.se>
******************************************************************************
*/
#ifndef IPMIPHA_CLI_H
#define IPMIPHA_CLI_H
/*
****************************************************************************
* 1 DESCRIPTION
****************************************************************************
*/
/*
****************************************************************************
* 2 CONFIGURATION
****************************************************************************
*/
/*
****************************************************************************
* 3 INCLUDE FILES
****************************************************************************
*/
#include <private/ipmip4_cli.h>
#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
****************************************************************************
*/