/* ****************************************************************************** * INTERPEAK SOURCE FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmipmn.c,v $ $Revision: 1.123 $ * $Source: /home/interpeak/CVSRoot/ipmipmn/src/ipmipmn.c,v $ * $Author: jhorteli $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Lennart Bang ****************************************************************************** */ /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** * Implementation of Mobile Node for IPNET. */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ #include "ipmipmn_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 "ipmipmn.h" #include "ipmipmn_h.h" #include "ipmipmn_icmp.h" #include "ipmipmn_node.h" #include "ipmipmn_route.h" #include "ipmipmn_pkt.h" #include "ipmipmn_reg.h" #include "ipmipmn_attr_h.h" /* **************************************************************************** * 4 DEFINES **************************************************************************** */ /* **************************************************************************** * 5 TYPES **************************************************************************** */ /* **************************************************************************** * 6 EXTERN PROTOTYPES **************************************************************************** */ #ifdef IPSNMP IP_EXTERN Ip_err ipmipmn_mip_mib_init(void); IP_EXTERN Ip_err ipmip4_mip_mib_init(void); #endif /* **************************************************************************** * 7 LOCAL PROTOTYPES **************************************************************************** */ IP_PUBLIC Ip_err ipmipmn_create(void); IP_PUBLIC Ip_err ipmipmn_start(void); IP_PUBLIC const char *ipmipmn_version(void); IP_PUBLIC IPCOM_PROCESS(ipmipmn_proc); /* **************************************************************************** * 8 DATA **************************************************************************** */ /* **************************************************************************** * 9 STATIC FUNCTIONS **************************************************************************** */ /* **************************************************************************** * 10 GLOBAL FUNCTIONS **************************************************************************** */ /* **************************************************************************** * 11 PUBLIC FUNCTIONS **************************************************************************** */ IP_PUBLIC IPCOM_PROCESS(ipmipmn_proc); /* *=========================================================================== * ipmipmnd *=========================================================================== * Description: * Parameters: * Returns: * */ IP_PUBLIC IPCOM_PROCESS(ipmipmn_proc) { ipmipmn_main(); } /* *=========================================================================== * ipmipmn_create *=========================================================================== * Description: * Parameters: * Returns: * */ IP_PUBLIC Ip_err ipmipmn_create(void) { return IPCOM_SUCCESS; } /* *=========================================================================== * ipmipmn_start *=========================================================================== * Description: * Parameters: * Returns: * */ IP_PUBLIC Ip_err ipmipmn_start(void) { Ip_err ret; Ipcom_proc_attr attr; #ifdef IPSNMP static int mib_once = 0; #endif ipcom_proc_attr_init(&attr); attr.stacksize = IPCOM_PROC_STACK_LARGE; ret = ipcom_proc_acreate("ipmipmnd", ipmipmn_proc, &attr, IP_NULL); ip_assert(ret == IPCOM_SUCCESS); #ifdef IPSNMP if (mib_once == 0) { mib_once = 1; #if 0 if (ipmipmn_mip_mib_init() != IPCOM_SUCCESS) ret = IPCOM_ERR_FAILED; if (ipmip4_mip_mib_init() != IPCOM_SUCCESS) ret = IPCOM_ERR_FAILED; #endif } #endif return ret; } /* *=========================================================================== * ipmipmn_version *=========================================================================== * Description: * Parameters: * Returns: * */ IP_PUBLIC const char * ipmipmn_version(void) { return "@(#) IPMIPMN $Name: VXWORKS_ITER40_2019102207 $ - INTERPEAK_COPYRIGHT_STRING"; } /* **************************************************************************** * END OF FILE **************************************************************************** */