📄 bgp.h
字号:
#define GET_BGP_OPEN_MSG_HOLD_TIME(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(22))#define SET_BGP_OPEN_MSG_HOLD_TIME(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(22), GLUE_CAST16(_V_))#define PTR_BGP_OPEN_MSG_IDENTIFIER(_P_)\ ((GLUE_CAST_PTR(_P_))+(24))#define GET_BGP_OPEN_MSG_IDENTIFIER(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(24))#define SET_BGP_OPEN_MSG_IDENTIFIER(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(24), GLUE_CAST32(_V_))#define PTR_BGP_OPEN_MSG_PARAMETERS_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(28))#define GET_BGP_OPEN_MSG_PARAMETERS_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(28))#define SET_BGP_OPEN_MSG_PARAMETERS_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(28), GLUE_CAST08(_V_))#define PTR_BGP_OPEN_MSG_PARAMETERS(_P_)\ ((GLUE_CAST_PTR(_P_))+(29))#define SIZEOF_BGP_OPEN_MSG_PARAMETERS (0)/* Definitions for BGP_OPEN_PARAM */#define SIZEOF_BGP_OPEN_PARAM (3)#define PTR_BGP_OPEN_PARAM_TYPE(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_BGP_OPEN_PARAM_TYPE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_)))#define SET_BGP_OPEN_PARAM_TYPE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_))#define BGP_OPEN_PARAM_TYPE_is_AUTH GLUE_CAST08(1L)#define PTR_BGP_OPEN_PARAM_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_BGP_OPEN_PARAM_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_BGP_OPEN_PARAM_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define PTR_BGP_OPEN_PARAM_AUTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define SIZEOF_BGP_OPEN_PARAM_AUTH (1)#define PTR_BGP_OPEN_PARAM_AUTH_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define GET_BGP_OPEN_PARAM_AUTH_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(2))#define SET_BGP_OPEN_PARAM_AUTH_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST08(_V_))#define PTR_BGP_OPEN_PARAM_AUTH_DATA(_P_)\ ((GLUE_CAST_PTR(_P_))+(3))#define SIZEOF_BGP_OPEN_PARAM_AUTH_DATA (0)#define PTR_BGP_OPEN_PARAM_AUTH_DATA_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(3)+(_X0_))#define GET_BGP_OPEN_PARAM_AUTH_DATA_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)+(_X0_))#define SET_BGP_OPEN_PARAM_AUTH_DATA_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(3)+(_X0_), GLUE_CAST08(_V_))/* Definitions for BGP_UPDATE_MSG */#define SIZEOF_BGP_UPDATE_MSG (19)#define PTR_BGP_UPDATE_MSG_INFO(_P_)\ ((GLUE_CAST_PTR(_P_))+(19))#define SIZEOF_BGP_UPDATE_MSG_INFO (0)/* Definitions for BGP_ATOMIC_AGGREGATE_ATTRIBUTE */#define SIZEOF_BGP_ATOMIC_AGGREGATE_ATTRIBUTE (0)/* Definitions for BGP_AS_PATH_ATTRIBUTE */#define SIZEOF_BGP_AS_PATH_ATTRIBUTE (0)#define PTR_BGP_AS_PATH_ATTRIBUTE_SEGMENTS(_P_)\ ((GLUE_CAST_PTR(_P_)))#define SIZEOF_BGP_AS_PATH_ATTRIBUTE_SEGMENTS (0)/* Definitions for BGP_MULTI_EXIT_DISC_ATTRIBUTE */#define SIZEOF_BGP_MULTI_EXIT_DISC_ATTRIBUTE (4)#define PTR_BGP_MULTI_EXIT_DISC_ATTRIBUTE_METRIC(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_BGP_MULTI_EXIT_DISC_ATTRIBUTE_METRIC(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_)))#define SET_BGP_MULTI_EXIT_DISC_ATTRIBUTE_METRIC(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_)), GLUE_CAST32(_V_))/* Definitions for BGP_ORIGIN_ATTRIBUTE */#define SIZEOF_BGP_ORIGIN_ATTRIBUTE (1)#define GET_BGP_ORIGIN_ATTRIBUTE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_)))#define SET_BGP_ORIGIN_ATTRIBUTE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_))#define BGP_ORIGIN_ATTRIBUTE_is_IGP GLUE_CAST08(0L)#define BGP_ORIGIN_ATTRIBUTE_is_EGP GLUE_CAST08(1L)#define BGP_ORIGIN_ATTRIBUTE_is_INCOMPLETE GLUE_CAST08(2L)/* Definitions for BGP_ATTRIBUTE */#define SIZEOF_BGP_ATTRIBUTE (4)/* Can't define PTR_BGP_ATTRIBUTE_OPTIONAL because: Size 1 is not a multiple of 8. */#define GET_BGP_ATTRIBUTE_OPTIONAL(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x80L))#define SET_BGP_ATTRIBUTE_OPTIONAL(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))) | GLUE_CAST08(0x80L) : GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0x80L)))/* Can't define PTR_BGP_ATTRIBUTE_TRANSITIVE because: Size 1 is not a multiple of 8. */#define GET_BGP_ATTRIBUTE_TRANSITIVE(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x40L))#define SET_BGP_ATTRIBUTE_TRANSITIVE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))) | GLUE_CAST08(0x40L) : GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0x40L)))/* Can't define PTR_BGP_ATTRIBUTE_PARTIAL because: Size 1 is not a multiple of 8. */#define GET_BGP_ATTRIBUTE_PARTIAL(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x20L))#define SET_BGP_ATTRIBUTE_PARTIAL(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))) | GLUE_CAST08(0x20L) : GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0x20L)))/* Can't define PTR_BGP_ATTRIBUTE_EXTENDED because: Size 1 is not a multiple of 8. */#define GET_BGP_ATTRIBUTE_EXTENDED(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x10L))#define SET_BGP_ATTRIBUTE_EXTENDED(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))) | GLUE_CAST08(0x10L) : GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0x10L)))#define PTR_BGP_ATTRIBUTE_TYPE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_BGP_ATTRIBUTE_TYPE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_BGP_ATTRIBUTE_TYPE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define BGP_ATTRIBUTE_TYPE_is_ORIGIN GLUE_CAST08(1L)#define BGP_ATTRIBUTE_TYPE_is_AS_PATH GLUE_CAST08(2L)#define BGP_ATTRIBUTE_TYPE_is_NEXT_HOP GLUE_CAST08(3L)#define BGP_ATTRIBUTE_TYPE_is_MULTI_EXIT_DISC GLUE_CAST08(4L)#define BGP_ATTRIBUTE_TYPE_is_LOCAL_PREF GLUE_CAST08(5L)#define BGP_ATTRIBUTE_TYPE_is_ATOMIC_AGGREGATE GLUE_CAST08(6L)#define BGP_ATTRIBUTE_TYPE_is_AGGREGATOR GLUE_CAST08(7L)#define PTR_BGP_ATTRIBUTE_SHORT(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define SIZEOF_BGP_ATTRIBUTE_SHORT (1)#define PTR_BGP_ATTRIBUTE_SHORT_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define GET_BGP_ATTRIBUTE_SHORT_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(2))#define SET_BGP_ATTRIBUTE_SHORT_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST08(_V_))#define PTR_BGP_ATTRIBUTE_SHORT_DATA(_P_)\ ((GLUE_CAST_PTR(_P_))+(3))#define SIZEOF_BGP_ATTRIBUTE_SHORT_DATA (0)#define PTR_BGP_ATTRIBUTE_LONG(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define SIZEOF_BGP_ATTRIBUTE_LONG (2)#define PTR_BGP_ATTRIBUTE_LONG_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define GET_BGP_ATTRIBUTE_LONG_LENGTH(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(2))#define SET_BGP_ATTRIBUTE_LONG_LENGTH(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST16(_V_))#define PTR_BGP_ATTRIBUTE_LONG_DATA(_P_)\ ((GLUE_CAST_PTR(_P_))+(4))#define SIZEOF_BGP_ATTRIBUTE_LONG_DATA (0)/* Definitions for BGP_NEXT_HOP_ATTRIBUTE */#define SIZEOF_BGP_NEXT_HOP_ATTRIBUTE (4)#define PTR_BGP_NEXT_HOP_ATTRIBUTE_ROUTER(_P_)\ ((GLUE_CAST_PTR(_P_)))/* Definitions for BGP_PATH_SEGMENT */#define SIZEOF_BGP_PATH_SEGMENT (2)#define PTR_BGP_PATH_SEGMENT_TYPE(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_BGP_PATH_SEGMENT_TYPE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_)))#define SET_BGP_PATH_SEGMENT_TYPE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_))#define BGP_PATH_SEGMENT_TYPE_is_AS_SET GLUE_CAST08(1L)#define BGP_PATH_SEGMENT_TYPE_is_AS_SEQUENCE GLUE_CAST08(2L)#define PTR_BGP_PATH_SEGMENT_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_BGP_PATH_SEGMENT_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_BGP_PATH_SEGMENT_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define PTR_BGP_PATH_SEGMENT_AS(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define SIZEOF_BGP_PATH_SEGMENT_AS (0)#define PTR_BGP_PATH_SEGMENT_AS_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(2)+(2)*(_X0_))#define GET_BGP_PATH_SEGMENT_AS_ELT(_P_, _X0_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(2)+(2)*(_X0_))#define SET_BGP_PATH_SEGMENT_AS_ELT(_P_, _X0_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(2)+(2)*(_X0_), GLUE_CAST16(_V_))/* Definitions for BGP_AGGREGATOR_ATTRIBUTE */#define SIZEOF_BGP_AGGREGATOR_ATTRIBUTE (6)#define PTR_BGP_AGGREGATOR_ATTRIBUTE_AS(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_BGP_AGGREGATOR_ATTRIBUTE_AS(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_)))#define SET_BGP_AGGREGATOR_ATTRIBUTE_AS(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_)), GLUE_CAST16(_V_))#define PTR_BGP_AGGREGATOR_ATTRIBUTE_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#endif /* EPILOGUE_LAYOUT_BGP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -