/* This file was automatically generated by Epilogue Technology's * network datastructure layout tool. * * DO NOT MODIFY THIS FILE BY HAND. * * Source file information: * Id: ip.ldb,v 1.18 1999/10/19 20:12:43 sar Exp */ #ifndef EPILOGUE_LAYOUT_IP_H #define EPILOGUE_LAYOUT_IP_H #ifndef EPILOGUE_INSTALL_H #include #endif #ifndef EPILOGUE_TYPES_H #include #endif #ifndef EPILOGUE_LAYOUT_LDBGLUE_H #include #endif /* Definitions for TCP_OPTION_MSS */ #define SIZEOF_TCP_OPTION_MSS (4) #define PTR_TCP_OPTION_MSS_SIZE(_P_)\ ((GLUE_CAST_PTR(_P_))+(2)) #define GET_TCP_OPTION_MSS_SIZE(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(2)) #define SET_TCP_OPTION_MSS_SIZE(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST16(_V_)) /* Definitions for TCP_OPTION_HEADER */ #define SIZEOF_TCP_OPTION_HEADER (2) #define PTR_TCP_OPTION_HEADER_KIND(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_TCP_OPTION_HEADER_KIND(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))) #define SET_TCP_OPTION_HEADER_KIND(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_)) #define TCP_OPTION_HEADER_KIND_is_END GLUE_CAST08(0L) #define TCP_OPTION_HEADER_KIND_is_NOOP GLUE_CAST08(1L) #define TCP_OPTION_HEADER_KIND_is_MSS GLUE_CAST08(2L) #define PTR_TCP_OPTION_HEADER_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_TCP_OPTION_HEADER_LENGTH(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_TCP_OPTION_HEADER_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) /* Definitions for TCP_HEADER */ #define SIZEOF_TCP_HEADER (20) #define PTR_TCP_HEADER_SOURCE_PORT(_P_)\ ((GLUE_CAST_PTR(_P_))) #define PTR_TCP_HEADER_DESTINATION_PORT(_P_)\ ((GLUE_CAST_PTR(_P_))+(2)) #define PTR_TCP_HEADER_SEQUENCE_NUMBER(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_TCP_HEADER_SEQUENCE_NUMBER(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(4)) #define SET_TCP_HEADER_SEQUENCE_NUMBER(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST32(_V_)) #define PTR_TCP_HEADER_ACKNOWLEDGE_NUMBER(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define GET_TCP_HEADER_ACKNOWLEDGE_NUMBER(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(8)) #define SET_TCP_HEADER_ACKNOWLEDGE_NUMBER(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(8), GLUE_CAST32(_V_)) /* Can't define PTR_TCP_HEADER_DATA_OFFSET because: Size 4 is not a multiple of 8. */ #define GET_TCP_HEADER_DATA_OFFSET(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))+(12)) >> 4) #define SET_TCP_HEADER_DATA_OFFSET(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(12), (GLUE_GB08((GLUE_CAST_PTR(_P_))+(12)) & ~GLUE_CAST08(0xF0L)) | ((GLUE_CAST08(_V_) << 4) & GLUE_CAST08(0xF0L))) /* Can't define PTR_TCP_HEADER_URG because: Size 1 is not a multiple of 8. */ #define GET_TCP_HEADER_URG(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & GLUE_CAST08(0x20L)) #define SET_TCP_HEADER_URG(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(13), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) | GLUE_CAST08(0x20L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & ~GLUE_CAST08(0x20L))) /* Can't define PTR_TCP_HEADER_ACK because: Size 1 is not a multiple of 8. */ #define GET_TCP_HEADER_ACK(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & GLUE_CAST08(0x10L)) #define SET_TCP_HEADER_ACK(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(13), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) | GLUE_CAST08(0x10L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & ~GLUE_CAST08(0x10L))) /* Can't define PTR_TCP_HEADER_PSH because: Size 1 is not a multiple of 8. */ #define GET_TCP_HEADER_PSH(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & GLUE_CAST08(0x8L)) #define SET_TCP_HEADER_PSH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(13), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) | GLUE_CAST08(0x8L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & ~GLUE_CAST08(0x8L))) /* Can't define PTR_TCP_HEADER_RST because: Size 1 is not a multiple of 8. */ #define GET_TCP_HEADER_RST(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & GLUE_CAST08(0x4L)) #define SET_TCP_HEADER_RST(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(13), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) | GLUE_CAST08(0x4L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & ~GLUE_CAST08(0x4L))) /* Can't define PTR_TCP_HEADER_SYN because: Size 1 is not a multiple of 8. */ #define GET_TCP_HEADER_SYN(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & GLUE_CAST08(0x2L)) #define SET_TCP_HEADER_SYN(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(13), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) | GLUE_CAST08(0x2L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & ~GLUE_CAST08(0x2L))) /* Can't define PTR_TCP_HEADER_FIN because: Size 1 is not a multiple of 8. */ #define GET_TCP_HEADER_FIN(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & GLUE_CAST08(0x1L)) #define SET_TCP_HEADER_FIN(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(13), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) | GLUE_CAST08(0x1L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(13)) & ~GLUE_CAST08(0x1L))) #define PTR_TCP_HEADER_WINDOW(_P_)\ ((GLUE_CAST_PTR(_P_))+(14)) #define GET_TCP_HEADER_WINDOW(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(14)) #define SET_TCP_HEADER_WINDOW(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(14), GLUE_CAST16(_V_)) #define PTR_TCP_HEADER_CHECKSUM(_P_)\ ((GLUE_CAST_PTR(_P_))+(16)) #define GET_TCP_HEADER_CHECKSUM(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(16)) #define SET_TCP_HEADER_CHECKSUM(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(16), GLUE_CAST16(_V_)) #define PTR_TCP_HEADER_URGENT_POINTER(_P_)\ ((GLUE_CAST_PTR(_P_))+(18)) #define GET_TCP_HEADER_URGENT_POINTER(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(18)) #define SET_TCP_HEADER_URGENT_POINTER(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(18), GLUE_CAST16(_V_)) #define PTR_TCP_HEADER_OPTIONS(_P_)\ ((GLUE_CAST_PTR(_P_))+(20)) #define SIZEOF_TCP_HEADER_OPTIONS (0) /* Definitions for UDP_HEADER */ #define SIZEOF_UDP_HEADER (8) #define PTR_UDP_HEADER_SOURCE_PORT(_P_)\ ((GLUE_CAST_PTR(_P_))) #define PTR_UDP_HEADER_DESTINATION_PORT(_P_)\ ((GLUE_CAST_PTR(_P_))+(2)) #define PTR_UDP_HEADER_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_UDP_HEADER_LENGTH(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(4)) #define SET_UDP_HEADER_LENGTH(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST16(_V_)) #define PTR_UDP_HEADER_CHECKSUM(_P_)\ ((GLUE_CAST_PTR(_P_))+(6)) #define GET_UDP_HEADER_CHECKSUM(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(6)) #define SET_UDP_HEADER_CHECKSUM(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(6), GLUE_CAST16(_V_)) /* Definitions for ICMP_MESSAGE */ #define SIZEOF_ICMP_MESSAGE (28) #define PTR_ICMP_MESSAGE_TYPE(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_ICMP_MESSAGE_TYPE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))) #define SET_ICMP_MESSAGE_TYPE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_TYPE_is_ECHO_REPLY GLUE_CAST08(0L) #define ICMP_MESSAGE_TYPE_is_DESTINATION_UNREACHABLE GLUE_CAST08(3L) #define ICMP_MESSAGE_TYPE_is_SOURCE_QUENCH GLUE_CAST08(4L) #define ICMP_MESSAGE_TYPE_is_REDIRECT GLUE_CAST08(5L) #define ICMP_MESSAGE_TYPE_is_ECHO GLUE_CAST08(8L) #define ICMP_MESSAGE_TYPE_is_ROUTER_ADVERTISEMENT GLUE_CAST08(9L) #define ICMP_MESSAGE_TYPE_is_ROUTER_SOLICITATION GLUE_CAST08(10L) #define ICMP_MESSAGE_TYPE_is_TIME_EXCEEDED GLUE_CAST08(11L) #define ICMP_MESSAGE_TYPE_is_PARAMETER_PROBLEM GLUE_CAST08(12L) #define ICMP_MESSAGE_TYPE_is_TIMESTAMP GLUE_CAST08(13L) #define ICMP_MESSAGE_TYPE_is_TIMESTAMP_REPLY GLUE_CAST08(14L) #define ICMP_MESSAGE_TYPE_is_INFO_REQUEST GLUE_CAST08(15L) #define ICMP_MESSAGE_TYPE_is_INFO_REPLY GLUE_CAST08(16L) #define PTR_ICMP_MESSAGE_CHECKSUM(_P_)\ ((GLUE_CAST_PTR(_P_))+(2)) #define GET_ICMP_MESSAGE_CHECKSUM(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(2)) #define SET_ICMP_MESSAGE_CHECKSUM(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST16(_V_)) #define PTR_ICMP_MESSAGE_IDENTIFICATION(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_ICMP_MESSAGE_IDENTIFICATION(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))+(4)) #define SET_ICMP_MESSAGE_IDENTIFICATION(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST16(_V_)) #define PTR_ICMP_MESSAGE_SEQUENCE_NUMBER(_P_)\ ((GLUE_CAST_PTR(_P_))+(6)) #define GET_ICMP_MESSAGE_SEQUENCE_NUMBER(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(6)) #define SET_ICMP_MESSAGE_SEQUENCE_NUMBER(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(6), GLUE_CAST16(_V_)) #define PTR_ICMP_MESSAGE_HEADER(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define PTR_ICMP_MESSAGE_MINIMUM_HEADER(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_MINIMUM_HEADER (8) #define PTR_ICMP_MESSAGE_DU(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_DU (2) #define PTR_ICMP_MESSAGE_DU_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_DU_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_DU_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_DU_CODE_is_NET GLUE_CAST08(0L) #define ICMP_MESSAGE_DU_CODE_is_HOST GLUE_CAST08(1L) #define ICMP_MESSAGE_DU_CODE_is_PROTOCOL GLUE_CAST08(2L) #define ICMP_MESSAGE_DU_CODE_is_PORT GLUE_CAST08(3L) #define ICMP_MESSAGE_DU_CODE_is_CANT_FRAGMENT GLUE_CAST08(4L) #define ICMP_MESSAGE_DU_CODE_is_ROUTE_FAILED GLUE_CAST08(5L) #define PTR_ICMP_MESSAGE_SQ(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_SQ (2) #define PTR_ICMP_MESSAGE_SQ_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_SQ_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_SQ_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_SQ_CODE_is_ZERO GLUE_CAST08(0L) #define PTR_ICMP_MESSAGE_RD(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_RD (8) #define PTR_ICMP_MESSAGE_RD_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_RD_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_RD_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_RD_CODE_is_NET GLUE_CAST08(0L) #define ICMP_MESSAGE_RD_CODE_is_HOST GLUE_CAST08(1L) #define ICMP_MESSAGE_RD_CODE_is_TOS_NET GLUE_CAST08(2L) #define ICMP_MESSAGE_RD_CODE_is_TOS_HOST GLUE_CAST08(3L) #define PTR_ICMP_MESSAGE_RD_GATEWAY(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define PTR_ICMP_MESSAGE_TE(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_TE (2) #define PTR_ICMP_MESSAGE_TE_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_TE_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_TE_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_TE_CODE_is_TTL GLUE_CAST08(0L) #define ICMP_MESSAGE_TE_CODE_is_REASSEMBLY GLUE_CAST08(1L) #define PTR_ICMP_MESSAGE_PP(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_PP (5) #define PTR_ICMP_MESSAGE_PP_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_PP_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_PP_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_PP_CODE_is_ZERO GLUE_CAST08(0L) #define PTR_ICMP_MESSAGE_PP_POINTER(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_ICMP_MESSAGE_PP_POINTER(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) #define SET_ICMP_MESSAGE_PP_POINTER(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST08(_V_)) #define PTR_ICMP_MESSAGE_ECHO(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_ECHO (8) #define PTR_ICMP_MESSAGE_ECHO_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_ECHO_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_ECHO_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_ECHO_CODE_is_ZERO GLUE_CAST08(0L) #define PTR_ICMP_MESSAGE_ECHO_DATA(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define SIZEOF_ICMP_MESSAGE_ECHO_DATA (0) #define PTR_ICMP_MESSAGE_ECHO_DATA_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(8)+(_X0_)) #define GET_ICMP_MESSAGE_ECHO_DATA_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(8)+(_X0_)) #define SET_ICMP_MESSAGE_ECHO_DATA_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(8)+(_X0_), GLUE_CAST08(_V_)) #define PTR_ICMP_MESSAGE_TIMESTAMP(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_TIMESTAMP (20) #define PTR_ICMP_MESSAGE_TIMESTAMP_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_TIMESTAMP_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_TIMESTAMP_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_TIMESTAMP_CODE_is_ZERO GLUE_CAST08(0L) #define PTR_ICMP_MESSAGE_TIMESTAMP_ORIGINATE(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define GET_ICMP_MESSAGE_TIMESTAMP_ORIGINATE(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(8)) #define SET_ICMP_MESSAGE_TIMESTAMP_ORIGINATE(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(8), GLUE_CAST32(_V_)) #define PTR_ICMP_MESSAGE_TIMESTAMP_RECEIVE(_P_)\ ((GLUE_CAST_PTR(_P_))+(12)) #define GET_ICMP_MESSAGE_TIMESTAMP_RECEIVE(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(12)) #define SET_ICMP_MESSAGE_TIMESTAMP_RECEIVE(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(12), GLUE_CAST32(_V_)) #define PTR_ICMP_MESSAGE_TIMESTAMP_TRANSMIT(_P_)\ ((GLUE_CAST_PTR(_P_))+(16)) #define GET_ICMP_MESSAGE_TIMESTAMP_TRANSMIT(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(16)) #define SET_ICMP_MESSAGE_TIMESTAMP_TRANSMIT(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(16), GLUE_CAST32(_V_)) #define PTR_ICMP_MESSAGE_INFO(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_INFO (8) #define PTR_ICMP_MESSAGE_INFO_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_INFO_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_INFO_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_INFO_CODE_is_ZERO GLUE_CAST08(0L) #define PTR_ICMP_MESSAGE_RS(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_RS (8) #define PTR_ICMP_MESSAGE_RS_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_RS_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_RS_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_RS_CODE_is_ZERO GLUE_CAST08(0L) #define PTR_ICMP_MESSAGE_RS_RESERVED(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_ICMP_MESSAGE_RS_RESERVED(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(4)) #define SET_ICMP_MESSAGE_RS_RESERVED(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST32(_V_)) #define PTR_ICMP_MESSAGE_RA(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_ICMP_MESSAGE_RA (8) #define PTR_ICMP_MESSAGE_RA_CODE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_ICMP_MESSAGE_RA_CODE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_ICMP_MESSAGE_RA_CODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define ICMP_MESSAGE_RA_CODE_is_ZERO GLUE_CAST08(0L) #define PTR_ICMP_MESSAGE_RA_NUM_ADDRS(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_ICMP_MESSAGE_RA_NUM_ADDRS(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(4)) #define SET_ICMP_MESSAGE_RA_NUM_ADDRS(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST08(_V_)) #define PTR_ICMP_MESSAGE_RA_ADDR_ENTRY_SIZE(_P_)\ ((GLUE_CAST_PTR(_P_))+(5)) #define GET_ICMP_MESSAGE_RA_ADDR_ENTRY_SIZE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(5)) #define SET_ICMP_MESSAGE_RA_ADDR_ENTRY_SIZE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(5), GLUE_CAST08(_V_)) #define PTR_ICMP_MESSAGE_RA_LIFETIME(_P_)\ ((GLUE_CAST_PTR(_P_))+(6)) #define GET_ICMP_MESSAGE_RA_LIFETIME(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(6)) #define SET_ICMP_MESSAGE_RA_LIFETIME(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(6), GLUE_CAST16(_V_)) #define PTR_ICMP_MESSAGE_RA_ENTRY(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define SIZEOF_ICMP_MESSAGE_RA_ENTRY (0) #define PTR_ICMP_MESSAGE_RA_ENTRY_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(8)+(8)*(_X0_)) #define SIZEOF_ICMP_MESSAGE_RA_ENTRY_ELT (8) #define PTR_ICMP_MESSAGE_RA_ENTRY_ELT_ADDRESS(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(8)+(8)*(_X0_)) #define PTR_ICMP_MESSAGE_RA_ENTRY_ELT_PREFERENCE(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(12)+(8)*(_X0_)) #define GET_ICMP_MESSAGE_RA_ENTRY_ELT_PREFERENCE(_P_, _X0_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(12)+(8)*(_X0_)) #define SET_ICMP_MESSAGE_RA_ENTRY_ELT_PREFERENCE(_P_, _X0_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(12)+(8)*(_X0_), GLUE_CAST32(_V_)) /* Definitions for IGMP_MESSAGE */ #define SIZEOF_IGMP_MESSAGE (8) /* Can't define PTR_IGMP_MESSAGE_VERSION because: Size 4 is not a multiple of 8. */ #define GET_IGMP_MESSAGE_VERSION(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))) >> 4) #define SET_IGMP_MESSAGE_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))) /* Can't define PTR_IGMP_MESSAGE_TYPE because: Size 4 is not a multiple of 8. */ #define GET_IGMP_MESSAGE_TYPE(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0xFL)) #define SET_IGMP_MESSAGE_TYPE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), (GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0xFL)) | (GLUE_CAST08(_V_) & GLUE_CAST08(0xFL))) #define IGMP_MESSAGE_TYPE_is_QUERY GLUE_CAST08(1L) #define IGMP_MESSAGE_TYPE_is_REPORT GLUE_CAST08(2L) #define PTR_IGMP_MESSAGE_CHECKSUM(_P_)\ ((GLUE_CAST_PTR(_P_))+(2)) #define GET_IGMP_MESSAGE_CHECKSUM(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(2)) #define SET_IGMP_MESSAGE_CHECKSUM(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST16(_V_)) #define PTR_IGMP_MESSAGE_GROUP_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) /* Definitions for IP_PSEUDO_HEADER */ #define SIZEOF_IP_PSEUDO_HEADER (12) #define PTR_IP_PSEUDO_HEADER_SOURCE_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))) #define PTR_IP_PSEUDO_HEADER_DESTINATION_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define PTR_IP_PSEUDO_HEADER_PROTOCOL(_P_)\ ((GLUE_CAST_PTR(_P_))+(9)) #define GET_IP_PSEUDO_HEADER_PROTOCOL(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(9)) #define SET_IP_PSEUDO_HEADER_PROTOCOL(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(9), GLUE_CAST08(_V_)) #define PTR_IP_PSEUDO_HEADER_PAYLOAD_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(10)) #define GET_IP_PSEUDO_HEADER_PAYLOAD_LENGTH(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(10)) #define SET_IP_PSEUDO_HEADER_PAYLOAD_LENGTH(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(10), GLUE_CAST16(_V_)) /* Definitions for IP_HEADER */ #define SIZEOF_IP_HEADER (20) /* Can't define PTR_IP_HEADER_VERSION because: Size 4 is not a multiple of 8. */ #define GET_IP_HEADER_VERSION(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))) >> 4) #define SET_IP_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 IP_HEADER_VERSION_is_IPV4 GLUE_CAST08(4L) #define IP_HEADER_VERSION_is_IPV6 GLUE_CAST08(6L) /* Can't define PTR_IP_HEADER_HEADER_LENGTH because: Size 4 is not a multiple of 8. */ #define GET_IP_HEADER_HEADER_LENGTH(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0xFL)) #define SET_IP_HEADER_HEADER_LENGTH(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), (GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0xFL)) | (GLUE_CAST08(_V_) & GLUE_CAST08(0xFL))) #define PTR_IP_HEADER_TYPE_OF_SERVICE(_P_)\ ((GLUE_CAST_PTR(_P_))+(1)) #define GET_IP_HEADER_TYPE_OF_SERVICE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(1)) #define SET_IP_HEADER_TYPE_OF_SERVICE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(1), GLUE_CAST08(_V_)) #define PTR_IP_HEADER_TOTAL_LENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(2)) #define GET_IP_HEADER_TOTAL_LENGTH(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(2)) #define SET_IP_HEADER_TOTAL_LENGTH(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST16(_V_)) #define PTR_IP_HEADER_IDENTIFICATION(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_IP_HEADER_IDENTIFICATION(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))+(4)) #define SET_IP_HEADER_IDENTIFICATION(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST16(_V_)) #define PTR_IP_HEADER_FRAGMENT(_P_)\ ((GLUE_CAST_PTR(_P_))+(6)) #define SIZEOF_IP_HEADER_FRAGMENT (2) /* Can't define PTR_IP_HEADER_FRAGMENT_DONT because: Size 1 is not a multiple of 8. */ #define GET_IP_HEADER_FRAGMENT_DONT(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(6)) & GLUE_CAST08(0x40L)) #define SET_IP_HEADER_FRAGMENT_DONT(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(6), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(6)) | GLUE_CAST08(0x40L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(6)) & ~GLUE_CAST08(0x40L))) /* Can't define PTR_IP_HEADER_FRAGMENT_MORE because: Size 1 is not a multiple of 8. */ #define GET_IP_HEADER_FRAGMENT_MORE(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(6)) & GLUE_CAST08(0x20L)) #define SET_IP_HEADER_FRAGMENT_MORE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(6), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(6)) | GLUE_CAST08(0x20L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(6)) & ~GLUE_CAST08(0x20L))) /* Can't define PTR_IP_HEADER_FRAGMENT_OFFSET because: Size 13 is not a multiple of 8. */ #define GET_IP_HEADER_FRAGMENT_OFFSET(_P_)\ GLUE_CAST16(GLUE_GB16((GLUE_CAST_PTR(_P_))+(6)) & GLUE_CAST16(0x1FFFL)) #define SET_IP_HEADER_FRAGMENT_OFFSET(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(6), (GLUE_GB16((GLUE_CAST_PTR(_P_))+(6)) & ~GLUE_CAST16(0x1FFFL)) | (GLUE_CAST16(_V_) & GLUE_CAST16(0x1FFFL))) #define PTR_IP_HEADER_TIME_TO_LIVE(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define GET_IP_HEADER_TIME_TO_LIVE(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(8)) #define SET_IP_HEADER_TIME_TO_LIVE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(8), GLUE_CAST08(_V_)) #define PTR_IP_HEADER_PROTOCOL(_P_)\ ((GLUE_CAST_PTR(_P_))+(9)) #define GET_IP_HEADER_PROTOCOL(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(9)) #define SET_IP_HEADER_PROTOCOL(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(9), GLUE_CAST08(_V_)) #define PTR_IP_HEADER_HEADER_CHECKSUM(_P_)\ ((GLUE_CAST_PTR(_P_))+(10)) #define GET_IP_HEADER_HEADER_CHECKSUM(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(10)) #define SET_IP_HEADER_HEADER_CHECKSUM(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(10), GLUE_CAST16(_V_)) #define PTR_IP_HEADER_SOURCE_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(12)) #define PTR_IP_HEADER_DESTINATION_ADDRESS(_P_)\ ((GLUE_CAST_PTR(_P_))+(16)) #define PTR_IP_HEADER_OPTIONS(_P_)\ ((GLUE_CAST_PTR(_P_))+(20)) #define SIZEOF_IP_HEADER_OPTIONS (0) #define PTR_IP_HEADER_OPTIONS_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(20)+(_X0_)) #define GET_IP_HEADER_OPTIONS_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(20)+(_X0_)) #define SET_IP_HEADER_OPTIONS_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(20)+(_X0_), GLUE_CAST08(_V_)) #define IP_HEADER_OPTIONS_ELT_is_END GLUE_CAST08(0L) #define IP_HEADER_OPTIONS_ELT_is_NOOP GLUE_CAST08(1L) #define IP_HEADER_OPTIONS_ELT_is_RECORD_ROUTE GLUE_CAST08(7L) #define IP_HEADER_OPTIONS_ELT_is_TIMESTAMP GLUE_CAST08(68L) #define IP_HEADER_OPTIONS_ELT_is_SECURITY GLUE_CAST08(130L) #define IP_HEADER_OPTIONS_ELT_is_LSRR GLUE_CAST08(131L) #define IP_HEADER_OPTIONS_ELT_is_STREAM_ID GLUE_CAST08(136L) #define IP_HEADER_OPTIONS_ELT_is_SSRR GLUE_CAST08(137L) /* Definitions for IP4_TYPE_OF_SERVICE */ #define SIZEOF_IP4_TYPE_OF_SERVICE (1) /* Can't define PTR_IP4_TYPE_OF_SERVICE_PRECEDENCE because: Size 3 is not a multiple of 8. */ #define GET_IP4_TYPE_OF_SERVICE_PRECEDENCE(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))) >> 5) #define SET_IP4_TYPE_OF_SERVICE_PRECEDENCE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), (GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0xE0L)) | ((GLUE_CAST08(_V_) << 5) & GLUE_CAST08(0xE0L))) /* Can't define PTR_IP4_TYPE_OF_SERVICE_LOW_DELAY because: Size 1 is not a multiple of 8. */ #define GET_IP4_TYPE_OF_SERVICE_LOW_DELAY(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x10L)) #define SET_IP4_TYPE_OF_SERVICE_LOW_DELAY(_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))) /* Can't define PTR_IP4_TYPE_OF_SERVICE_HIGH_THROUGHPUT because: Size 1 is not a multiple of 8. */ #define GET_IP4_TYPE_OF_SERVICE_HIGH_THROUGHPUT(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x8L)) #define SET_IP4_TYPE_OF_SERVICE_HIGH_THROUGHPUT(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))) | GLUE_CAST08(0x8L) : GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0x8L))) /* Can't define PTR_IP4_TYPE_OF_SERVICE_HIGH_RELIABILITY because: Size 1 is not a multiple of 8. */ #define GET_IP4_TYPE_OF_SERVICE_HIGH_RELIABILITY(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))) & GLUE_CAST08(0x4L)) #define SET_IP4_TYPE_OF_SERVICE_HIGH_RELIABILITY(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))) | GLUE_CAST08(0x4L) : GLUE_GB08((GLUE_CAST_PTR(_P_))) & ~GLUE_CAST08(0x4L))) /* Definitions for IP_PORT */ #define SIZEOF_IP_PORT (2) #define PTR_IP_PORT_NUMBER(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_IP_PORT_NUMBER(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))) #define SET_IP_PORT_NUMBER(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_)), GLUE_CAST16(_V_)) #define PTR_IP_PORT_OPAQUE(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_IP_PORT_OPAQUE(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))) #define SET_IP_PORT_OPAQUE(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_)), GLUE_CAST16(_V_)) #define IP_PORT_OPAQUE_is_ECHO GLUE_OPAQUE16(GLUE_CAST16(7L)) #define IP_PORT_OPAQUE_is_DISCARD GLUE_OPAQUE16(GLUE_CAST16(9L)) #define IP_PORT_OPAQUE_is_USERS GLUE_OPAQUE16(GLUE_CAST16(11L)) #define IP_PORT_OPAQUE_is_DAYTIME GLUE_OPAQUE16(GLUE_CAST16(13L)) #define IP_PORT_OPAQUE_is_QUOTE GLUE_OPAQUE16(GLUE_CAST16(17L)) #define IP_PORT_OPAQUE_is_FTP GLUE_OPAQUE16(GLUE_CAST16(21L)) #define IP_PORT_OPAQUE_is_SSH GLUE_OPAQUE16(GLUE_CAST16(22L)) #define IP_PORT_OPAQUE_is_TELNET GLUE_OPAQUE16(GLUE_CAST16(23L)) #define IP_PORT_OPAQUE_is_SMTP GLUE_OPAQUE16(GLUE_CAST16(25L)) #define IP_PORT_OPAQUE_is_TIME GLUE_OPAQUE16(GLUE_CAST16(37L)) #define IP_PORT_OPAQUE_is_DOMAIN GLUE_OPAQUE16(GLUE_CAST16(53L)) #define IP_PORT_OPAQUE_is_TFTP GLUE_OPAQUE16(GLUE_CAST16(69L)) #define IP_PORT_OPAQUE_is_GOPHER GLUE_OPAQUE16(GLUE_CAST16(70L)) #define IP_PORT_OPAQUE_is_FINGER GLUE_OPAQUE16(GLUE_CAST16(79L)) #define IP_PORT_OPAQUE_is_WWW GLUE_OPAQUE16(GLUE_CAST16(80L)) #define IP_PORT_OPAQUE_is_SUPDUP GLUE_OPAQUE16(GLUE_CAST16(95L)) #define IP_PORT_OPAQUE_is_SUNRPC GLUE_OPAQUE16(GLUE_CAST16(111L)) #define IP_PORT_OPAQUE_is_NNTP GLUE_OPAQUE16(GLUE_CAST16(119L)) #define IP_PORT_OPAQUE_is_NTP GLUE_OPAQUE16(GLUE_CAST16(123L)) #define IP_PORT_OPAQUE_is_IMAP2 GLUE_OPAQUE16(GLUE_CAST16(143L)) #define IP_PORT_OPAQUE_is_PCMAIL GLUE_OPAQUE16(GLUE_CAST16(158L)) #define IP_PORT_OPAQUE_is_SNMP GLUE_OPAQUE16(GLUE_CAST16(161L)) #define IP_PORT_OPAQUE_is_SNMP_TRAP GLUE_OPAQUE16(GLUE_CAST16(162L)) #define IP_PORT_OPAQUE_is_BGP GLUE_OPAQUE16(GLUE_CAST16(179L)) #define IP_PORT_OPAQUE_is_SMUX GLUE_OPAQUE16(GLUE_CAST16(199L)) #define IP_PORT_OPAQUE_is_IMAP3 GLUE_OPAQUE16(GLUE_CAST16(220L)) #define IP_PORT_OPAQUE_is_BSD_TCP_EXEC GLUE_OPAQUE16(GLUE_CAST16(512L)) #define IP_PORT_OPAQUE_is_BSD_UDP_BIFF GLUE_OPAQUE16(GLUE_CAST16(512L)) #define IP_PORT_OPAQUE_is_BSD_TCP_LOGIN GLUE_OPAQUE16(GLUE_CAST16(513L)) #define IP_PORT_OPAQUE_is_BSD_UDP_WHO GLUE_OPAQUE16(GLUE_CAST16(513L)) #define IP_PORT_OPAQUE_is_BSD_TCP_SHELL GLUE_OPAQUE16(GLUE_CAST16(514L)) #define IP_PORT_OPAQUE_is_BSD_UDP_SYSLOG GLUE_OPAQUE16(GLUE_CAST16(514L)) #define IP_PORT_OPAQUE_is_BSD_PRINTER GLUE_OPAQUE16(GLUE_CAST16(515L)) #define IP_PORT_OPAQUE_is_BSD_TALK GLUE_OPAQUE16(GLUE_CAST16(517L)) #define IP_PORT_OPAQUE_is_BSD_NTALK GLUE_OPAQUE16(GLUE_CAST16(518L)) #define IP_PORT_OPAQUE_is_RIP GLUE_OPAQUE16(GLUE_CAST16(520L)) #define IP_PORT_OPAQUE_is_BSD_TIMED GLUE_OPAQUE16(GLUE_CAST16(525L)) #define IP_PORT_OPAQUE_is_BSD_TEMPO GLUE_OPAQUE16(GLUE_CAST16(526L)) #define IP_PORT_OPAQUE_is_BSD_COURIER GLUE_OPAQUE16(GLUE_CAST16(530L)) #define IP_PORT_OPAQUE_is_BSD_CONFERENCE GLUE_OPAQUE16(GLUE_CAST16(531L)) #define IP_PORT_OPAQUE_is_BSD_NETNEWS GLUE_OPAQUE16(GLUE_CAST16(532L)) #define IP_PORT_OPAQUE_is_BSD_NETWALL GLUE_OPAQUE16(GLUE_CAST16(533L)) #define IP_PORT_OPAQUE_is_BSD_UUCP GLUE_OPAQUE16(GLUE_CAST16(540L)) #define IP_PORT_OPAQUE_is_KLOGIN GLUE_OPAQUE16(GLUE_CAST16(543L)) #define IP_PORT_OPAQUE_is_KSHELL GLUE_OPAQUE16(GLUE_CAST16(544L)) #define IP_PORT_OPAQUE_is_BSD_REMOTEFS GLUE_OPAQUE16(GLUE_CAST16(556L)) #define IP_PORT_OPAQUE_is_KERBEROS_ADM GLUE_OPAQUE16(GLUE_CAST16(749L)) #define IP_PORT_OPAQUE_is_WEBSTER GLUE_OPAQUE16(GLUE_CAST16(765L)) /* Definitions for IP_ADDRESS */ #define SIZEOF_IP_ADDRESS (4) #define PTR_IP_ADDRESS_BYTES(_P_)\ ((GLUE_CAST_PTR(_P_))) #define SIZEOF_IP_ADDRESS_BYTES (4) #define PTR_IP_ADDRESS_BYTES_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(_X0_)) #define GET_IP_ADDRESS_BYTES_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(_X0_)) #define SET_IP_ADDRESS_BYTES_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(_X0_), GLUE_CAST08(_V_)) #define PTR_IP_ADDRESS_NUMBER(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_IP_ADDRESS_NUMBER(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))) #define SET_IP_ADDRESS_NUMBER(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_)), GLUE_CAST32(_V_)) #define PTR_IP_ADDRESS_OPAQUE(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_IP_ADDRESS_OPAQUE(_P_)\ GLUE_GU32((GLUE_CAST_PTR(_P_))) #define SET_IP_ADDRESS_OPAQUE(_P_, _V_)\ GLUE_SU32((GLUE_CAST_PTR(_P_)), GLUE_CAST32(_V_)) /* Definitions for IP_PROTOCOL */ #define SIZEOF_IP_PROTOCOL (1) #define GET_IP_PROTOCOL(_P_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))) #define SET_IP_PROTOCOL(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_)), GLUE_CAST08(_V_)) #define IP_PROTOCOL_is_HOP_BY_HOP_OPTIONS GLUE_CAST08(0L) #define IP_PROTOCOL_is_ICMP GLUE_CAST08(1L) #define IP_PROTOCOL_is_IGMP GLUE_CAST08(2L) #define IP_PROTOCOL_is_IPV4 GLUE_CAST08(4L) #define IP_PROTOCOL_is_TCP GLUE_CAST08(6L) #define IP_PROTOCOL_is_UDP GLUE_CAST08(17L) #define IP_PROTOCOL_is_IPV6 GLUE_CAST08(41L) #define IP_PROTOCOL_is_ROUTING GLUE_CAST08(43L) #define IP_PROTOCOL_is_FRAGMENT GLUE_CAST08(44L) #define IP_PROTOCOL_is_ESP GLUE_CAST08(50L) #define IP_PROTOCOL_is_AUTHENTICATION GLUE_CAST08(51L) #define IP_PROTOCOL_is_ICMPV6 GLUE_CAST08(58L) #define IP_PROTOCOL_is_NO_NEXT GLUE_CAST08(59L) #define IP_PROTOCOL_is_DESTINATION_OPTIONS GLUE_CAST08(60L) #define IP_PROTOCOL_is_OSPF GLUE_CAST08(89L) #endif /* EPILOGUE_LAYOUT_IP_H */