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

213 lines
5.9 KiB
C

/* ipmipmn_attr.h - ipmipmn_attr.h */
/*
******************************************************************************
* HEADER FILE
*
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmipmn_api_attr.h,v $ $Revision: 1.5 $
* $Source: /home/interpeak/CVSRoot/ipmipmn/include/private/ipmipmn_api_attr.h,v $
* $Author: jhorteli $ $Date: 2009-04-23 14:13:50 $
* $State: Exp $ $Locker: $
*
* INTERPEAK_COPYRIGHT_STRING
* Design and implementation by Joel Hortelius <joel.hortelius@interpeak.se>
******************************************************************************
*/
#ifndef IPMIPMN_API_ATTR_H
#define IPMIPMN_API_ATTR_H
/*
****************************************************************************
* 1 DESCRIPTION
****************************************************************************
*/
/*
DESCRIPTION
No description currently provided
*/
/*
****************************************************************************
* 2 CONFIGURATION
****************************************************************************
*/
/*
****************************************************************************
* 3 INCLUDE FILES
****************************************************************************
*/
#include <private/ipmip_cli.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
****************************************************************************
* 4 DEFINES
****************************************************************************
*/
enum
{
IPMIPMN_API_CLI_ATTR_NONE,
IPMIPMN_API_CLI_ATTR_NODE,
IPMIPMN_API_CLI_ATTR_LAST
};
enum
{
IPMIPMN_CLI_API_ATTR_NODE_NONE,
IPMIPMN_CLI_API_ATTR_NODE_MIPIFNAME,
IPMIPMN_CLI_API_ATTR_NODE_IFNAME,
IPMIPMN_CLI_API_ATTR_NODE_HOA,
IPMIPMN_CLI_API_ATTR_NODE_HOA_DYNAMIC,
IPMIPMN_CLI_API_ATTR_NODE_HA_DHAA,
IPMIPMN_CLI_API_ATTR_NODE_HA,
IPMIPMN_CLI_API_ATTR_NODE_HA_PENDING,
IPMIPMN_CLI_API_ATTR_NODE_TUNNEL_REVERSE,
IPMIPMN_CLI_API_ATTR_NODE_TUNNEL_TYPE,
IPMIPMN_CLI_API_ATTR_NODE_BROADCAST,
IPMIPMN_CLI_API_ATTR_NODE_LIFETIME,
IPMIPMN_CLI_API_ATTR_NODE_REMAINING,
IPMIPMN_CLI_API_ATTR_NODE_CREATED,
IPMIPMN_CLI_API_ATTR_NODE_UPDATED,
IPMIPMN_CLI_API_ATTR_NODE_STATUS,
IPMIPMN_CLI_API_ATTR_NODE_NAI,
IPMIPMN_CLI_API_ATTR_NODE_NAI_HA,
IPMIPMN_CLI_API_ATTR_NODE_NAI_AAAH,
IPMIPMN_CLI_API_ATTR_NODE_COA,
IPMIPMN_CLI_API_ATTR_NODE_EXTENSION,
IPMIPMN_CLI_API_ATTR_NODE_LAST
};
enum
{
IPMIPMN_CLI_API_ATTR_NODE_EXTENSION_NONE,
IPMIPMN_CLI_API_ATTR_NODE_EXTENSION_NAME,
IPMIPMN_CLI_API_ATTR_NODE_EXTENSION_DATA,
IPMIPMN_CLI_API_ATTR_NODE_EXTENSION_MAX
};
enum
{
IPMIPMN_CLI_API_ATTR_NODE_COA_NONE,
IPMIPMN_CLI_API_ATTR_NODE_COA_INET,
IPMIPMN_CLI_API_ATTR_NODE_COA_PEER,
IPMIPMN_CLI_API_ATTR_NODE_COA_TYPE,
IPMIPMN_CLI_API_ATTR_NODE_COA_DOWN,
IPMIPMN_CLI_API_ATTR_NODE_COA_MOBIKE,
IPMIPMN_CLI_API_ATTR_NODE_COA_RETRANSMITS,
IPMIPMN_CLI_API_ATTR_NODE_COA_TUNNEL_FLAGS,
IPMIPMN_CLI_API_ATTR_NODE_COA_CHALLENGE,
IPMIPMN_CLI_API_ATTR_NODE_COA_LLH,
IPMIPMN_CLI_API_ATTR_NODE_COA_SPI_MF,
IPMIPMN_CLI_API_ATTR_NODE_COA_SPI_MH,
IPMIPMN_CLI_API_ATTR_NODE_COA_LAST
};
/* States */
enum
{
IPMIPMN_ATTR_STATE_HALTED = 0,
IPMIPMN_ATTR_STATE_BOOTING,
IPMIPMN_ATTR_STATE_ISOLATED,
IPMIPMN_ATTR_STATE_PENDING,
IPMIPMN_ATTR_STATE_REGISTERED,
IPMIPMN_ATTR_STATE_HOME
};
#define IPMIPMN_ATTR_HA_DISCOVERY_NONE 0
#define IPMIPMN_ATTR_HA_DISCOVERY_RFC3344 1
#define IPMIPMN_ATTR_HA_DISCOVERY_RFC4433_NO_PREFERENCE 2
#define IPMIPMN_ATTR_HA_DISCOVERY_RFC4433_HOME_PREFERENCE 3
#define IPMIPMN_ATTR_HA_DISCOVERY_RFC4433_DISABLED 4
enum
{
IPMIPMN_ATTR_PEER_HOME_AGENT = 0,
IPMIPMN_ATTR_PEER_FOREIGN_AGENT
};
/* Current types */
enum
{
IPMIPMN_ATTR_COA_CCOA = 0,
IPMIPMN_ATTR_COA_SCOA_TIA,
IPMIPMN_ATTR_COA_SCOA_PROTECTED,
IPMIPMN_ATTR_COA_FA,
IPMIPMN_ATTR_COA_FA_LLH,
IPMIPMN_ATTR_COA_HA,
IPMIPMN_ATTR_COA_SCOA_DEAD,
IPMIPMN_ATTR_COA_MAX,
IPMIPMN_ATTR_COA_NONE = -1
};
/*
****************************************************************************
* 5 TYPES
****************************************************************************
*/
struct Ipmipmn_api_context;
struct Ipmip_proc;
struct Ipmip_cli_message;
struct Ipmipmn_api_node;
struct Ipmipmn_api_node_conf;
extern IP_CONST char *ipmipmn_api_attr_statename[];
extern IP_CONST char *ipmipmn_api_attr_peername[];
extern IP_CONST char *ipmipmn_api_attr_coaname[];
extern IP_CONST char *ipmipmn_api_attr_dhaa[];
/*
****************************************************************************
* 6 FUNCTIONS
****************************************************************************
*/
IP_GLOBAL void ipmipmn_api_attr_node_coa_dump
(
struct Ipmipmn_api_context *data,
struct Ipmip_proc *proc,
struct Ipmip_cli_message *request,
struct Ipmipmn_api_node *node
);
IP_GLOBAL void ipmipmn_api_attr_node_dump
(
struct Ipmipmn_api_context *data,
struct Ipmip_proc *proc,
struct Ipmip_cli_message *request,
struct Ipmipmn_api_node *node
);
IP_GLOBAL void ipmipmn_api_attr_config_dump
(
struct Ipmipmn_api_context *data,
struct Ipmip_proc *proc,
struct Ipmip_cli_message *request,
struct Ipmipmn_api_node_conf *confp,
const char *pre,
const char *spec
);
#ifdef __cplusplus
}
#endif
#endif
/*
****************************************************************************
* END OF FILE
****************************************************************************
*/