⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_enums.h

📁 vxworks下ospf协议栈
💻 H
字号:
/* ospf_enums.h - OSPF enums *//* Copyright 2000-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02e,18aug03,agi    removed OSPF_MD_ALGORITHM, OSPF now uses common code                   added copyright02d,29may03,agi    added OSPF_MD_ALGORITHM02c,27may03,agi    removed the SPF task, added code inspection changes02b,09may03,agi    added OSPF tasks related enums02a,22apr03,ram	   SPR#76812 Modifications for OSPF performance enhancements01v,19nov02,mwv    Merge TMS code SPR 8428401u,09apr02,jkw    Sequence number wrap.01t,23jul01,jkw    Added in routine to delete items in a container and the container.01s,26sep00,reshma Added WindRiver CopyRight01r,25sep00,reshma RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL.01q,20jul00,reshma Unix compatibility related changes.01p,06jul00,reshma Removed unnecessary header files and defines.01o,04apr00,reshma Added some MIB support (Read only).                   Passed all important ANVL OSPF tests.01n,23dec99,reshma Compatibility with VxWorks-IP and VxWorks RTM-interface01m,19may99,jack   redefined OSPF_PATRICIA_32_BITS_KEY_MAX_BIT_POSITION as per fixes in                   patricia01l,28dec98,jack   Compiled and added some comments01k,11nov98,jack   Config changes, linted and big endian changes01j,30oct98,jack   Incorporate changes for compilation on Vxworks01i,23aug98,jack   ANVL tested OSPF with PATRICIA tree route table and no recursion01h,10aug98,jack   PATRICIA Route Table Based OSPF Code Base01g,04aug98,jack   Enum types added in the definition of OSPF_LS_TYPE to facilitate                   processing of flags in LS_ROUTER - Added OSPF_LS_ROUTER_ABR                   and OSPF_LS_ROUTER_ASBR01f,08jul98,jack   Patricia RT table related changes - need to be tested01e,04jun98,jack   Integration with RTM and BGP01d,10jul97,cindy  Pre-release v1.52b01c,10feb97,cindy  Release Version 1.5201b,22oct97,cindy  Release Version 1.5001a,05jun96,cindy  First Beta Release*/ #if !defined (_OSPF_ENUMS_H_)#define _OSPF_ENUMS_H_enum OSPF_RETURN_FLAGS{	OSPF_NO_PROBLEM = 0x0,	OSPF_NO_BUFFERS = 0x1,	OSPF_BAD_REQUEST = 0x2};enum	OSPF_UNION_PACKET_TYPES{	OSPF_HELLO_PACKET	= 0x01,	OSPF_DATABASE_DESCRIPTION_PACKET	= 0x02,	OSPF_LINK_STATE_REQUEST_PACKET = 0x03,	OSPF_LINK_STATE_UPDATE_PACKET = 0x04,	OSPF_LINK_STATE_ACKNOWLEDGEMENT_PACKET = 0x05};enum	OSPF_PACKET_STATE{	GOOD_RECEIVE = 0x00,	OSPF_ERROR_ACKNOWLEDGEMENT_BAD = 0x01,	OSPF_ERROR_ACKNOWLEDGEMENT_DUPLICATE = 0x02,	OSPF_ERROR_ACKNOWLEDGEMENT_STATE = 0x03,	OSPF_ERROR_ACKNOWLEDGEMENT_TYPE = 0x04,	OSPF_ERROR_DATABASE_DESCRIPTION_E_BIT = 0x05,	OSPF_ERROR_DATABASE_DESCRIPTION_ROUTER_ID = 0x06,	OSPF_ERROR_DATABASE_DESCRIPTION_STATE = 0x07,	OSPF_ERROR_DATABASE_DESCRIPTION_TYPE = 0x08,	OSPF_ERROR_HELLO_E_BIT = 0x09,	OSPF_ERROR_HELLO_ID = 0x0a,	OSPF_ERROR_HELLO_MASK = 0x0b,	OSPF_ERROR_HELLO_ROUTER_DEAD_INTERVAL = 0x0c,	OSPF_ERROR_HELLO_TIMER = 0x0d,	OSPF_ERROR_HELLO_VIRTUAL = 0x0e,	OSPF_ERROR_OSPF_AUTHENTICATION_KEY = 0x0f,	OSPF_ERROR_OSPF_AUTHENTICATION_TYPE = 0x10,	OSPF_ERROR_OSPF_INTERFACE_DOWN = 0x11,	OSPF_ERROR_OSPF_PACKET_TYPE = 0x12,	OSPF_ERROR_REQUEST_BOGUS = 0x13,	OSPF_ERROR_REQUEST_EMPTY = 0x14,	OSPF_ERROR_UPDATE_STATE = 0x15,	STOP_PROCESSING_PACKET = 0x16,	/* nssa bit */	OSPF_ERROR_HELLO_N_BIT = 0x17,	OSPF_ERROR_DATABASE_DESCRIPTION_N_BIT = 0x18,    /*opaque lsa error option jkw*/	OSPF_ERROR_OPAQUE_OPTION = 0x19,	OSPF_ERROR_DATABASE_DESCRIPTION_MTU_MISMATCH = 0x1a};enum	OSPF_NEIGHBOR_EVENT{	OSPF_HELLO_RECEIVED = 0x0000,	OSPF_START = 0x01,	OSPF_TWO_WAY_RECEIVED = 0x02,	OSPF_NEGOTIATION_DONE = 0x03,	OSPF_EXCHANGE_DONE = 0x04,	OSPF_BAD_LINK_STATE_REQUEST = 0x05,	OSPF_LOADING_DONE = 0x06,	OSPF_ADJACENCY_OK = 0x07,	OSPF_SEQUENCE_NUMBER_MISMATCH = 0x08,	OSPF_ONE_WAY = 0x09,	OSPF_KILL_NEIGHBOR = 0x0a,	OSPF_INACTIVITY_TIMER = 0x0b,	OSPF_DOWN_INDICATION_FROM_LOWER_LEVEL_PROTOCOLS_RECEIVED = 0x0c};enum	OSPF_NEIGHBOR_MODE{	OSPF_CLEAR_MODE = 0x00,	OSPF_SLAVE = 0x01,	OSPF_MASTER = 0x02,	OSPF_SLAVE_HOLD = 0x04		/* holding the last database summary delay */};enum	OSPF_NEIGHBOR_STATE{	OSPF_NEIGHBOR_DOWN = 0x00,	OSPF_NEIGHBOR_ATTEMPT = 0x01,	OSPF_NEIGHBOR_INITIALIZING = 0x02,	OSPF_NEIGHBOR_2_WAY = 0x03,	OSPF_NEIGHBOR_EXCHANGE_START = 0x04,	OSPF_NEIGHBOR_EXCHANGE = 0x05,	OSPF_NEIGHBOR_LOADING = 0x06,	OSPF_NEIGHBOR_FULL = 0x07};enum	OSPF_INTERFACE_EVENT{	OSPF_INTERFACE_UP = 0x00,	OSPF_WAIT_TIMER = 0x01,	OSPF_BACKUP_SEEN = 0x02,	OSPF_NEIGHBOR_CHANGE = 0x03,	OSPF_LOOP_INDICATION = 0x04,	OSPF_UNLOOP_INDICATION = 0x05,	OSPF_INTERFACE_DOWN = 0x06};enum	OSPF_INTERFACE_STATE{	OSPF_INTERFACE_IS_DOWN	= 0x00,	OSPF_INTERFACE_LOOPBACK = 0x01,	OSPF_INTERFACE_WAITING = 0x02,	OSPF_INTERFACE_POINT_TO_POINT = 0x03,	OSPF_INTERFACE_DESIGNATED_ROUTER_OTHER = 0x04,	OSPF_INTERFACE_BACKUP_DESIGNATED_ROUTER = 0x05,	OSPF_INTERFACE_DESIGNATED_ROUTER = 0x06};enum	OSPF_INTERFACE_TYPE{	OSPF_POINT_TO_POINT = 0x01,	OSPF_BROADCAST = 0x02,	OSPF_NBMA = 0x03,	OSPF_POINT_TO_MULTIPOINT = 0x04,	OSPF_VIRTUAL_LINK = 0x05};enum	OSPF_SEQUENCE_STATE{	OSPF_NORMAL = 0x00,	OSPF_WAITING_FOR_MAXIMUM_SEQUENCE_INSTANCE_TO_BE_FLUSHED = 0x01,	OSPF_DONE_FLUSHING_MAXIMUM_SEQUENCE_INSTANCE = 0x02};/* Link State Types */enum OSPF_LS_TYPE{	OSPF_LS_ROUTER = 0x01,	OSPF_LS_NETWORK = 0x02,	OSPF_LS_SUMMARY_NETWORK = 0x03,	OSPF_LS_SUMMARY_AS_BOUNDARY_ROUTER = 0x04,	OSPF_LS_AS_EXTERNAL = 0x05,	/* Interpretation flags in LS_ROUTER for Routers convenience */#if defined (__NSSA__)	OSPF_LS_MULTICAST = 0x06,	OSPF_LS_TYPE_7 = 0x07,#endif /* __NSSA__ */    /*opaque lsa new lsa types jkw*/#if defined (__OPAQUE_LSA__)    OSPF_LS_TYPE_9 = 0x09,    OSPF_LS_TYPE_10 = 0x0a,    OSPF_LS_TYPE_11 = 0x0b,	OSPF_LS_MAX = 0x0c,#else /* __OPAQUE_LSA__ */	OSPF_LS_MAX = 0x08,#endif /* __OPAQUE_LSA__ */    OSPF_LS_ROUTER_ABR = 0x0d,    OSPF_LS_ROUTER_ASBR = 0x0e};enum OSPF_ROUTER_LINK_TYPE{	OSPF_ROUTER_LINK_TYPE_PPP = 0x1,	OSPF_ROUTER_LINK_TYPE_TRANSIT_NETWORK = 0x2,	OSPF_ROUTER_LINK_TYPE_STUB_NETWORK = 0x3,	OSPF_ROUTER_LINK_TYPE_VIRTUAL = 0x4};enum OSPF_ACKNOWLEDGEMENT_RETURN_TYPE{	OSPF_NO_ACKNOWLEDGEMENTS_LEFT = 0x00,	OSPF_ACKNOWLEDGEMENTS_LEFT = 0x01};enum OSPF_ROUTING_TABLE_UPDATE_ACTION{	OSPF_NO_ACTION = 0x00,	OSPF_REPLACE_PATH = 0x01,	OSPF_ADD_PATH = 0x02,	OSPF_DELETE_PATH = 0x03 /* RTM ### changes */};enum OSPF_ROUTE_STATUS{	/* No new data under a routing table node or next_hop_block */	OSPF_ROUTE_IS_NOT_NEW = 0x00,	/*	 * New data under a routing table node or next_hop_block.	 * can be a new next hop block under a routing table node or a new routing table node.	 * or an old next hop block is not available any more.	 */	OSPF_ROUTE_IS_NEW = 0x01,	/*	 * This routing table node or next block is no longer available	 */	OSPF_ROUTE_IS_NOT_AVAILABLE_NOW = 0x02,	/*	 * doesn't matter	 */	OSPF_ROUTE_STATUS_DONT_CARE = 0x03};enum OSPF_ROUTE_DESTINATION_TYPE{	OSPF_DESTINATION_TYPE_NETWORK = 0x00,	OSPF_DESTINATION_TYPE_ASBR = 0x01,           /* autonomous system border router */	OSPF_DESTINATION_TYPE_ABR = 0x02,            /* area border router */	OSPF_DESTINATION_TYPE_VIRTUAL = 0x03,	OSPF_DESTINATION_TYPE_ASE = 0x04,            /* external to the autonomous system */	OSPF_DESTINATION_TYPE_WILDCARD = 0xFF};enum OSPF_ROUTE_PATH_TYPE{	OSPF_ROUTE_PATH_TYPE_INTRA = 0x00,	OSPF_ROUTE_PATH_TYPE_INTER = 0x01,	OSPF_ROUTE_PATH_TYPE_1_EXTERNAL = 0x02,	OSPF_ROUTE_PATH_TYPE_2_EXTERNAL = 0x03,	OSPF_ROUTE_PATH_TYPE_WILDCARD = 0xFF};enum OSPF_COUNTER_ACTION_TYPE{	OSPF_INCREMENT_COUNTERS = 0x0,	OSPF_DECREMENT_COUNTERS = 0x1};enum OSPF_PRINTF_GROUPS{	OSPF_INTERFACE_PRINTF = 0x0,	OSPF_NEIGHBOR_PRINTF = 0x1,	OSPF_MEMORY_PRINTF = 0x2,	OSPF_ALARM_PRINTF = 0x3,	OSPF_SNMP_PRINTF = 0x4,	OSPF_PACKET_PRINTF = 0x5,	OSPF_ROUTING_TABLE_PRINTF = 0x6,	OSPF_DEBUG_PRINTF = 0x7,	OSPF_RTM_PRINTF = 0x08,	OSPF_PATRICIA_DEBUG_PRINTF = 0x09,	OSPF_DB_OVERFLOW_PRINTF = 0x0A,	OSPF_SEARCH_PRINTF = 0x0B,	OSPF_PROLOGUE_PRINTF = 0x0C};enum OSPF_SEARCH_TYPE{	OSPF_SEARCH_LSA_TYPE = 0x01,	OSPF_SEARCH_LSA_ID = 0x02,	OSPF_SEARCH_ADVERTISING_ROUTER = 0x03};enum OSPF_MODE{	PASSIVE = 0x00,	ACTIVE = 0x01};typedef signed long seq_t;	/* signed 32 bit number */typedef enum {	OSPFINVALDLSSEQ	= 0x80000000L,	/* Invalid LS sequence number (reserved or unused) */	OSPFINITLSSEQ = 0x80000001L,	/* Initial LS Sequence value */	OSPFMAXLSSEQ = 0x7fffffffL,		/* Maximum LS Sequence value */	OSPFLSINVALID = 0x80000000L	/* Invalid LS Sequence value */} SEQNO_T;/* SPR#76812 *//* used for routing table indexing*/enum OSPF_ROUTE_TABLE_TYPE{	OSPF_ROUTE_TABLE_NETWORK = 0x00,	OSPF_ROUTE_TABLE_ROUTER = 0x01,	OSPF_ROUTE_TABLE_MAX = 0x02};typedef enum {    OSPF_TASK_STATE_NOT_CREATED = 0,    OSPF_TASK_STATE_CREATED,    OSPF_TASK_STATE_INIT_COMPLETE,    OSPF_TASK_STATE_RUNNING} OSPF_TASK_STATES;typedef enum{    OSPF_TASK_TIMER,    OSPF_TASK_HELLO_TIMER,    OSPF_TASK_INPUT,    OSPF_TASK_RTM,    OSPF_NUM_TASKS} OSPF_TASKS;#endif /* _OSPF_ENUMS_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -