/* ******************************************************************************* * INTERPEAK SOURCE FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmipha.c,v $ $Revision: 1.102 $ * $Source: /home/interpeak/CVSRoot/ipmipha/src/ipmipha.c,v $ * $Author: jhorteli $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Niklas Lundberg ****************************************************************************** */ /* ******************************************************************************* * 1 DESCRIPTION ******************************************************************************* * * Legend: * HA = Home agent * MN = Mobile node * FA = Foreign agent * CN = Correspondent node (someone on the internet the mobile node talks to * via the HA) * COA = Care-of address * */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ #include "ipmipha_config.h" /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #define IPCOM_USE_CLIB_PROTO #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "ipmipha.h" #include "ipmipha_h.h" #include "ipmipha_attr_h.h" #include "ipmipha_if.h" #include "ipmipha_node.h" #include "ipmipha_reg.h" #include "ipmipha_agent.h" #include "ipmipha_route.h" /* **************************************************************************** * 4 DEFINES **************************************************************************** */ /* **************************************************************************** * 5 TYPES **************************************************************************** */ /* *=========================================================================== * Private Application datatypes *=========================================================================== */ /* *=========================================================================== * Registration request and reply *=========================================================================== */ /* *=========================================================================== * Ipmipha_rtmsg *=========================================================================== */ /* **************************************************************************** * 6 EXTERN PROTOTYPES **************************************************************************** */ IP_PUBLIC Ip_err ipmipha_create(void); IP_PUBLIC Ip_err ipmipha_start(void); IP_PUBLIC Ip_err ipmipha_init(void); IP_PUBLIC Ip_err ipmipha_exit(void); IP_PUBLIC Ip_err ipmipha_configure(void); IP_PUBLIC const char *ipmipha_version(void); #ifdef IPSNMP IP_EXTERN Ip_err ipmipha_mip_mib_init(void); IP_EXTERN Ip_err ipmip4_mip_mib_init(void); #endif /* **************************************************************************** * 7 LOCAL PROTOTYPES **************************************************************************** */ IP_PUBLIC IPCOM_PROCESS(ipmipha_proc); /* **************************************************************************** * 8 DATA **************************************************************************** */ /* *=========================================================================== * ipmiphad *=========================================================================== * Description: * Parameters: * Returns: * */ IP_PUBLIC IPCOM_PROCESS(ipmipha_proc) { /**/ ipmipha_main(); } /* **************************************************************************** * 10 GLOBAL FUNCTIONS **************************************************************************** */ /* **************************************************************************** * 11 PUBLIC FUNCTIONS **************************************************************************** */ /* *=========================================================================== * ipmipha_start *=========================================================================== * Description: * Parameters: * Returns: * */ IP_PUBLIC Ip_err ipmipha_start(void) { Ipcom_proc_attr attr; Ip_err ret; #ifdef IPSNMP static int mib_once = 0; #endif ipcom_proc_attr_init(&attr); attr.stacksize = IPCOM_PROC_STACK_LARGE; ret = ipcom_proc_acreate("ipmiphad", ipmipha_proc, &attr, IP_NULL); ip_assert(ret == IPCOM_SUCCESS); #ifdef IPSNMP if (mib_once == 0) { mib_once = 1; if (ipmipha_mip_mib_init() != IPCOM_SUCCESS) ret = IPCOM_ERR_FAILED; if (ipmip4_mip_mib_init() != IPCOM_SUCCESS) ret = IPCOM_ERR_FAILED; } #endif return ret; } /* *=========================================================================== * ipmipha_version *=========================================================================== * Description: * Parameters: * Returns: * */ IP_PUBLIC const char * ipmipha_version(void) { return "@(#) IPMIPHA $Name: VXWORKS_ITER40_2019102207 $ - INTERPEAK_COPYRIGHT_STRING"; } #if defined (IP_PORT_LAS) IP_PUBLIC Ip_err ipcom_daemon_configure(void); IP_PUBLIC Ip_err ipcom_daemon_create(void); IP_PUBLIC Ip_err ipcom_daemon_configure(void) { return IPCOM_SUCCESS; } IP_PUBLIC Ip_err ipcom_daemon_create(void) { return IPCOM_SUCCESS; } #endif /* **************************************************************************** * END OF FILE **************************************************************************** */