/* ****************************************************************************** * HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipmip4_vendor_ext.h,v $ $Revision: 1.3 $ * $Source: /home/interpeak/CVSRoot/ipmip4/config/ipmip4_vendor_ext.h,v $ * $Author: jhorteli $ $Date: 2009-03-02 17:34:49 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Joel Hortelius ****************************************************************************** */ #ifndef IPMIP4_VENDOR_EXT_H #define IPMIP4_VENDOR_EXT_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF 14 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_REQ 0 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_PREFIXLEN 1 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DNS_SERVER 2 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DHCP_SERVER 3 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DHCP_CID 4 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DEFAULT_GW 5 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_DNS_SUFFIX 6 #define IPMIP4_VENDOR_EXT_MSGEXT_CISCO_HOSTCONF_CONFIG_URL 7 /* Testing purposes */ #ifdef IPTESTENGINE #define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_MN 0 /* Understood by Mobile Node */ #define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_FA 1 /* Understood by Foreign Agent */ #define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_HA 2 /* Understood by Home Agent */ #define IPMIP4_VENDOR_EXT_MSGEXT_WINDRIVER_NOOP_ALL 3 /* Understood by ALL */ #endif /* **************************************************************************** * 5 TYPES **************************************************************************** */ union Ipmip4_msgext_uhdr; #ifdef IPTESTENGINE typedef struct Ipmip4_vendor_ext_msgext_wr { union Ipmip4_msgext_uhdr *nvse_noop_mn; union Ipmip4_msgext_uhdr *nvse_noop_fa; union Ipmip4_msgext_uhdr *nvse_noop_ha; union Ipmip4_msgext_uhdr *nvse_noop_all; union Ipmip4_msgext_uhdr *cvse_noop_mn; union Ipmip4_msgext_uhdr *cvse_noop_fa; union Ipmip4_msgext_uhdr *cvse_noop_ha; union Ipmip4_msgext_uhdr *cvse_noop_all; } Ipmip4_vendor_ext_msgext_wr_t; #endif /* Cisco vendor extensions; RFC 4332 */ typedef struct Ipmip4_vendor_ext_msgext_cisco { union Ipmip4_msgext_uhdr *cfg_req; union Ipmip4_msgext_uhdr *prefixlen; union Ipmip4_msgext_uhdr *dns_server; union Ipmip4_msgext_uhdr *dhcp_server; union Ipmip4_msgext_uhdr *dhcp_cid; union Ipmip4_msgext_uhdr *default_gw; union Ipmip4_msgext_uhdr *dns_suffix; union Ipmip4_msgext_uhdr *config_url; } Ipmip4_vendor_ext_msgext_cisco_t; typedef struct Ipmip4_vendor_ext_msgext { #ifdef IPTESTENGINE Ipmip4_vendor_ext_msgext_wr_t wr; #endif /**/ Ipmip4_vendor_ext_msgext_cisco_t cisco; } Ipmip4_vendor_ext_msgext_t; /* **************************************************************************** * 5 TYPES **************************************************************************** */ struct Ipmip4_msgext_mobile; union Ipmip4_msgext_uhdr; /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ /* *=========================================================================== * ipmip4_vendor_ext_parse_cisco *=========================================================================== * Description: Parse a cisco extension. * Parameters: mobile - The mobile structure to store the result in. * uhdr - The UHDR * Returns: IPMIP4_REG_EXT_SUCCESS on succes, IPMIP4_REG_EXT_UNKNOWN if * not known; other error code if failed. * */ IP_GLOBAL int ipmip4_vendor_ext_parse_cisco(struct Ipmip4_msgext_mobile *mobile, union Ipmip4_msgext_uhdr *uhdr); #ifdef __cplusplus } #endif #endif /* **************************************************************************** * END OF FILE **************************************************************************** */