📄 ip6.h
字号:
#define GET_ICMP6_MSG_RA_REACHABLE_TIME(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(8))#define SET_ICMP6_MSG_RA_REACHABLE_TIME(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(8), GLUE_CAST32(_V_))#define PTR_ICMP6_MSG_RA_RETRANSMIT_TIME(_P_)\ ((GLUE_CAST_PTR(_P_))+(12))#define GET_ICMP6_MSG_RA_RETRANSMIT_TIME(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(12))#define SET_ICMP6_MSG_RA_RETRANSMIT_TIME(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(12), GLUE_CAST32(_V_))#define PTR_ICMP6_MSG_RA_OPTIONS(_P_)\ ((GLUE_CAST_PTR(_P_))+(16))#define SIZEOF_ICMP6_MSG_RA_OPTIONS (0)#define PTR_ICMP6_MSG_RA_OPTIONS_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(16)+(_X0_))#define GET_ICMP6_MSG_RA_OPTIONS_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(16)+(_X0_))#define SET_ICMP6_MSG_RA_OPTIONS_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(16)+(_X0_), GLUE_CAST08(_V_))#define PTR_ICMP6_MSG_NS(_P_)\ ((GLUE_CAST_PTR(_P_)))#define SIZEOF_ICMP6_MSG_NS (24)#define PTR_ICMP6_MSG_NS_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_ICMP6_MSG_NS_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_ICMP6_MSG_NS_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define ICMP6_MSG_NS_CODE_is_ZERO GLUE_CAST08(0L)#define PTR_ICMP6_MSG_NS_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(8))#define PTR_ICMP6_MSG_NS_OPTIONS(_P_)\ ((GLUE_CAST_PTR(_P_))+(24))#define SIZEOF_ICMP6_MSG_NS_OPTIONS (0)#define PTR_ICMP6_MSG_NS_OPTIONS_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(24)+(_X0_))#define GET_ICMP6_MSG_NS_OPTIONS_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(24)+(_X0_))#define SET_ICMP6_MSG_NS_OPTIONS_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(24)+(_X0_), GLUE_CAST08(_V_))#define PTR_ICMP6_MSG_NA(_P_)\ ((GLUE_CAST_PTR(_P_)))#define SIZEOF_ICMP6_MSG_NA (24)#define PTR_ICMP6_MSG_NA_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_ICMP6_MSG_NA_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_ICMP6_MSG_NA_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define ICMP6_MSG_NA_CODE_is_ZERO GLUE_CAST08(0L)/* Can't define PTR_ICMP6_MSG_NA_ROUTER_P because: Size 1 is not a multiple of 8. */#define GET_ICMP6_MSG_NA_ROUTER_P(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) & GLUE_CAST08(0x80L))#define SET_ICMP6_MSG_NA_ROUTER_P(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(4), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) | GLUE_CAST08(0x80L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) & ~GLUE_CAST08(0x80L)))/* Can't define PTR_ICMP6_MSG_NA_SOLICITED_P because: Size 1 is not a multiple of 8. */#define GET_ICMP6_MSG_NA_SOLICITED_P(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) & GLUE_CAST08(0x40L))#define SET_ICMP6_MSG_NA_SOLICITED_P(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(4), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) | GLUE_CAST08(0x40L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) & ~GLUE_CAST08(0x40L)))/* Can't define PTR_ICMP6_MSG_NA_OVERRIDE_P because: Size 1 is not a multiple of 8. */#define GET_ICMP6_MSG_NA_OVERRIDE_P(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) & GLUE_CAST08(0x20L))#define SET_ICMP6_MSG_NA_OVERRIDE_P(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(4), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) | GLUE_CAST08(0x20L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) & ~GLUE_CAST08(0x20L)))#define PTR_ICMP6_MSG_NA_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(8))#define PTR_ICMP6_MSG_NA_OPTIONS(_P_)\ ((GLUE_CAST_PTR(_P_))+(24))#define SIZEOF_ICMP6_MSG_NA_OPTIONS (0)#define PTR_ICMP6_MSG_NA_OPTIONS_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(24)+(_X0_))#define GET_ICMP6_MSG_NA_OPTIONS_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(24)+(_X0_))#define SET_ICMP6_MSG_NA_OPTIONS_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(24)+(_X0_), GLUE_CAST08(_V_))#define PTR_ICMP6_MSG_RE(_P_)\ ((GLUE_CAST_PTR(_P_)))#define SIZEOF_ICMP6_MSG_RE (40)#define PTR_ICMP6_MSG_RE_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_ICMP6_MSG_RE_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_ICMP6_MSG_RE_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define ICMP6_MSG_RE_CODE_is_ZERO GLUE_CAST08(0L)#define PTR_ICMP6_MSG_RE_TARGET_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(8))#define PTR_ICMP6_MSG_RE_DESTINATION_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(24))#define PTR_ICMP6_MSG_RE_OPTIONS(_P_)\ ((GLUE_CAST_PTR(_P_))+(40))#define SIZEOF_ICMP6_MSG_RE_OPTIONS (0)#define PTR_ICMP6_MSG_RE_OPTIONS_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(40)+(_X0_))#define GET_ICMP6_MSG_RE_OPTIONS_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(40)+(_X0_))#define SET_ICMP6_MSG_RE_OPTIONS_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(40)+(_X0_), GLUE_CAST08(_V_))/* Definitions for IP6_PSEUDO_HEADER */#define SIZEOF_IP6_PSEUDO_HEADER (40)#define PTR_IP6_PSEUDO_HEADER_SOURCE_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_)))#define PTR_IP6_PSEUDO_HEADER_DESTINATION_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(16))#define PTR_IP6_PSEUDO_HEADER_PAYLOAD_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(32))#define GET_IP6_PSEUDO_HEADER_PAYLOAD_LENGTH(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(32))#define SET_IP6_PSEUDO_HEADER_PAYLOAD_LENGTH(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(32), GLUE_CAST32(_V_))#define PTR_IP6_PSEUDO_HEADER_NEXT_HEADER(_P_)\ ((GLUE_CAST_PTR(_P_))+(39))#define GET_IP6_PSEUDO_HEADER_NEXT_HEADER(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(39))#define SET_IP6_PSEUDO_HEADER_NEXT_HEADER(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(39), GLUE_CAST08(_V_))/* Definitions for IP6_FRAGMENT_HEADER */#define SIZEOF_IP6_FRAGMENT_HEADER (8)#define PTR_IP6_FRAGMENT_HEADER_NEXT_HEADER(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_IP6_FRAGMENT_HEADER_NEXT_HEADER(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_)))#define SET_IP6_FRAGMENT_HEADER_NEXT_HEADER(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_))/* Can't define PTR_IP6_FRAGMENT_HEADER_OFFSET because: Size 13 is not a multiple of 8. */#define GET_IP6_FRAGMENT_HEADER_OFFSET(_P_)\ GLUE_CAST16(GLUE_GB16((GLUE_CAST_PTR(_P_))+(2)) >> 3)#define SET_IP6_FRAGMENT_HEADER_OFFSET(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(2), (GLUE_GB16((GLUE_CAST_PTR(_P_))+(2)) & ~GLUE_CAST16(0xFFF8L)) | ((GLUE_CAST16(_V_) << 3) & GLUE_CAST16(0xFFF8L)))/* Can't define PTR_IP6_FRAGMENT_HEADER_MORE_P because: Size 1 is not a multiple of 8. */#define GET_IP6_FRAGMENT_HEADER_MORE_P(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) & GLUE_CAST08(0x1L))#define SET_IP6_FRAGMENT_HEADER_MORE_P(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(3), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) | GLUE_CAST08(0x1L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) & ~GLUE_CAST08(0x1L)))#define PTR_IP6_FRAGMENT_HEADER_IDENTIFICATION(_P_)\ ((GLUE_CAST_PTR(_P_))+(4))#define GET_IP6_FRAGMENT_HEADER_IDENTIFICATION(_P_)\ GLUE_GU32((GLUE_CAST_PTR(_P_))+(4))#define SET_IP6_FRAGMENT_HEADER_IDENTIFICATION(_P_, _V_)\ GLUE_SU32((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST32(_V_))/* Definitions for IP6_ROUTING_HEADER */#define SIZEOF_IP6_ROUTING_HEADER (8)#define PTR_IP6_ROUTING_HEADER_NEXT_HEADER(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_IP6_ROUTING_HEADER_NEXT_HEADER(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_)))#define SET_IP6_ROUTING_HEADER_NEXT_HEADER(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_))#define PTR_IP6_ROUTING_HEADER_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_IP6_ROUTING_HEADER_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_IP6_ROUTING_HEADER_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define PTR_IP6_ROUTING_HEADER_TYPE(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define GET_IP6_ROUTING_HEADER_TYPE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(2))#define SET_IP6_ROUTING_HEADER_TYPE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST08(_V_))#define IP6_ROUTING_HEADER_TYPE_is_TYPE0 GLUE_CAST08(0L)#define PTR_IP6_ROUTING_HEADER_SEGMENTS_LEFT(_P_)\ ((GLUE_CAST_PTR(_P_))+(3))#define GET_IP6_ROUTING_HEADER_SEGMENTS_LEFT(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(3))#define SET_IP6_ROUTING_HEADER_SEGMENTS_LEFT(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(3), GLUE_CAST08(_V_))#define PTR_IP6_ROUTING_HEADER_STRICT(_P_)\ ((GLUE_CAST_PTR(_P_))+(5))#define SIZEOF_IP6_ROUTING_HEADER_STRICT (3)/* Can't define PTR_IP6_ROUTING_HEADER_STRICT_ELT because: Size 1 is not a multiple of 8. *//* Can't define (GET_IP6_ROUTING_HEADER_STRICT_ELT SET_IP6_ROUTING_HEADER_STRICT_ELT) because: Array elements are not aligned on octet boundaries: ((1 0 23)) */#define PTR_IP6_ROUTING_HEADER_HOP(_P_)\ ((GLUE_CAST_PTR(_P_))+(8))#define SIZEOF_IP6_ROUTING_HEADER_HOP (0)#define PTR_IP6_ROUTING_HEADER_HOP_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(8)+(16)*(_X0_))/* Definitions for IP6_OPTION */#define SIZEOF_IP6_OPTION (6)/* Can't define PTR_IP6_OPTION_ACTION because: Size 2 is not a multiple of 8. */#define GET_IP6_OPTION_ACTION(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))) >> 6)#define SET_IP6_OPTION_ACTION(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), (GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0xC0L)) | ((GLUE_CAST08(_V_) << 6) & GLUE_CAST08(0xC0L)))#define IP6_OPTION_ACTION_is_IGNORE GLUE_CAST08(0L)#define IP6_OPTION_ACTION_is_NEVER_COMPLAIN GLUE_CAST08(1L)#define IP6_OPTION_ACTION_is_ALWAYS_COMPLAIN GLUE_CAST08(2L)#define IP6_OPTION_ACTION_is_COMPLAIN GLUE_CAST08(3L)/* Can't define PTR_IP6_OPTION_MAY_CHANGE_P because: Size 1 is not a multiple of 8. */#define GET_IP6_OPTION_MAY_CHANGE_P(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x20L))#define SET_IP6_OPTION_MAY_CHANGE_P(_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)))#define PTR_IP6_OPTION_TYPE(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_IP6_OPTION_TYPE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_)))#define SET_IP6_OPTION_TYPE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_))#define IP6_OPTION_TYPE_is_PAD1 GLUE_CAST08(0L)#define IP6_OPTION_TYPE_is_PADN GLUE_CAST08(1L)#define IP6_OPTION_TYPE_is_JUMBO GLUE_CAST08(194L)#define PTR_IP6_OPTION_DATA_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_IP6_OPTION_DATA_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_IP6_OPTION_DATA_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define PTR_IP6_OPTION_JUMBO_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define GET_IP6_OPTION_JUMBO_LENGTH(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(2))#define SET_IP6_OPTION_JUMBO_LENGTH(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST32(_V_))/* Definitions for IP6_OPTIONS_HEADER */#define SIZEOF_IP6_OPTIONS_HEADER (8)#define PTR_IP6_OPTIONS_HEADER_NEXT_HEADER(_P_)\ ((GLUE_CAST_PTR(_P_)))#define GET_IP6_OPTIONS_HEADER_NEXT_HEADER(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_)))#define SET_IP6_OPTIONS_HEADER_NEXT_HEADER(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_))#define PTR_IP6_OPTIONS_HEADER_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(1))#define GET_IP6_OPTIONS_HEADER_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1))#define SET_IP6_OPTIONS_HEADER_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_))#define PTR_IP6_OPTIONS_HEADER_OPTIONS(_P_)\ ((GLUE_CAST_PTR(_P_))+(2))#define SIZEOF_IP6_OPTIONS_HEADER_OPTIONS (6)#define PTR_IP6_OPTIONS_HEADER_OPTIONS_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(2)+(_X0_))#define GET_IP6_OPTIONS_HEADER_OPTIONS_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)+(_X0_))#define SET_IP6_OPTIONS_HEADER_OPTIONS_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2)+(_X0_), GLUE_CAST08(_V_))/* Definitions for IP6_HEADER */#define SIZEOF_IP6_HEADER (40)/* Can't define PTR_IP6_HEADER_VERSION because: Size 4 is not a multiple of 8. */#define GET_IP6_HEADER_VERSION(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))) >> 4)#define SET_IP6_HEADER_VERSION(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), (GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0xF0L)) | ((GLUE_CAST08(_V_) << 4) & GLUE_CAST08(0xF0L)))#define IP6_HEADER_VERSION_is_IPV4 GLUE_CAST08(4L)#define IP6_HEADER_VERSION_is_IPV6 GLUE_CAST08(6L)/* Can't define PTR_IP6_HEADER_TRAFFIC_CLASS because: Offset 4 is not a multiple of 8. */#define GET_IP6_HEADER_TRAFFIC_CLASS(_P_)\ GLUE_CAST08((GLUE_GB16((GLUE_CAST_PTR(_P_))) & GLUE_CAST16(0xFF0L)) >> 4)#define SET_IP6_HEADER_TRAFFIC_CLASS(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_)), (GLUE_GB16((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST16(0xFF0L)) | ((GLUE_CAST16(_V_) << 4) & GLUE_CAST16(0xFF0L)))/* Can't define PTR_IP6_HEADER_FLOW_LABEL because: Size 20 is not a multiple of 8. */#define GET_IP6_HEADER_FLOW_LABEL(_P_)\ GLUE_CAST32(GLUE_GB32LS24((GLUE_CAST_PTR(_P_))) & GLUE_CAST32(0xFFFFFL))#define SET_IP6_HEADER_FLOW_LABEL(_P_, _V_)\ GLUE_SB32LS24((GLUE_CAST_PTR(_P_)), (GLUE_GB32LS24((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST32(0xFFFFFL)) | (GLUE_CAST32(_V_) & GLUE_CAST32(0xFFFFFL)))#define PTR_IP6_HEADER_PAYLOAD_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(4))#define GET_IP6_HEADER_PAYLOAD_LENGTH(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(4))#define SET_IP6_HEADER_PAYLOAD_LENGTH(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST16(_V_))#define PTR_IP6_HEADER_NEXT_HEADER(_P_)\ ((GLUE_CAST_PTR(_P_))+(6))#define GET_IP6_HEADER_NEXT_HEADER(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(6))#define SET_IP6_HEADER_NEXT_HEADER(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(6), GLUE_CAST08(_V_))#define PTR_IP6_HEADER_HOP_LIMIT(_P_)\ ((GLUE_CAST_PTR(_P_))+(7))#define GET_IP6_HEADER_HOP_LIMIT(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(7))#define SET_IP6_HEADER_HOP_LIMIT(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(7), GLUE_CAST08(_V_))#define PTR_IP6_HEADER_SOURCE_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(8))#define PTR_IP6_HEADER_DESTINATION_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(24))/* Definitions for IP6_ADDRESS */#define SIZEOF_IP6_ADDRESS (16)#define PTR_IP6_ADDRESS_BYTES(_P_)\ ((GLUE_CAST_PTR(_P_)))#define SIZEOF_IP6_ADDRESS_BYTES (16)#define PTR_IP6_ADDRESS_BYTES_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(_X0_))#define GET_IP6_ADDRESS_BYTES_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(_X0_))#define SET_IP6_ADDRESS_BYTES_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(_X0_), GLUE_CAST08(_V_))#endif /* EPILOGUE_LAYOUT_IP6_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -