/* This file was automatically generated by Epilogue Technology's * network datastructure layout tool. * * DO NOT MODIFY THIS FILE BY HAND. * * Source file information: * Id: dns.ldb,v 1.7 1998/02/25 15:21:40 sra Exp */ #ifndef EPILOGUE_LAYOUT_DNS_H #define EPILOGUE_LAYOUT_DNS_H #ifndef EPILOGUE_INSTALL_H #include #endif #ifndef EPILOGUE_TYPES_H #include #endif #ifndef EPILOGUE_LAYOUT_LDBGLUE_H #include #endif /* Definitions for DNS_SOA */ #define SIZEOF_DNS_SOA (20) #define PTR_DNS_SOA_SERIAL(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_DNS_SOA_SERIAL(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))) #define SET_DNS_SOA_SERIAL(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_)), GLUE_CAST32(_V_)) #define PTR_DNS_SOA_REFRESH(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_DNS_SOA_REFRESH(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(4)) #define SET_DNS_SOA_REFRESH(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST32(_V_)) #define PTR_DNS_SOA_RETRY(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define GET_DNS_SOA_RETRY(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(8)) #define SET_DNS_SOA_RETRY(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(8), GLUE_CAST32(_V_)) #define PTR_DNS_SOA_EXPIRE(_P_)\ ((GLUE_CAST_PTR(_P_))+(12)) #define GET_DNS_SOA_EXPIRE(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(12)) #define SET_DNS_SOA_EXPIRE(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(12), GLUE_CAST32(_V_)) #define PTR_DNS_SOA_MINIMUM(_P_)\ ((GLUE_CAST_PTR(_P_))+(16)) #define GET_DNS_SOA_MINIMUM(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(16)) #define SET_DNS_SOA_MINIMUM(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(16), GLUE_CAST32(_V_)) /* Definitions for DNS_RR */ #define SIZEOF_DNS_RR (10) #define PTR_DNS_RR_TYPE(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_DNS_RR_TYPE(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))) #define SET_DNS_RR_TYPE(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_)), GLUE_CAST16(_V_)) #define PTR_DNS_RR_CLASS(_P_)\ ((GLUE_CAST_PTR(_P_))+(2)) #define GET_DNS_RR_CLASS(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))+(2)) #define SET_DNS_RR_CLASS(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_))+(2), GLUE_CAST16(_V_)) #define PTR_DNS_RR_TTL(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_DNS_RR_TTL(_P_)\ GLUE_GB32((GLUE_CAST_PTR(_P_))+(4)) #define SET_DNS_RR_TTL(_P_, _V_)\ GLUE_SB32((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST32(_V_)) #define PTR_DNS_RR_RDLENGTH(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define GET_DNS_RR_RDLENGTH(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(8)) #define SET_DNS_RR_RDLENGTH(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(8), GLUE_CAST16(_V_)) #define PTR_DNS_RR_RDATA(_P_)\ ((GLUE_CAST_PTR(_P_))+(10)) #define SIZEOF_DNS_RR_RDATA (0) #define PTR_DNS_RR_RDATA_ELT(_P_, _X0_)\ ((GLUE_CAST_PTR(_P_))+(10)+(_X0_)) #define GET_DNS_RR_RDATA_ELT(_P_, _X0_)\ GLUE_GB08((GLUE_CAST_PTR(_P_))+(10)+(_X0_)) #define SET_DNS_RR_RDATA_ELT(_P_, _X0_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(10)+(_X0_), GLUE_CAST08(_V_)) /* Definitions for DNS_HEADER */ #define SIZEOF_DNS_HEADER (12) #define PTR_DNS_HEADER_ID(_P_)\ ((GLUE_CAST_PTR(_P_))) #define GET_DNS_HEADER_ID(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))) #define SET_DNS_HEADER_ID(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_)), GLUE_CAST16(_V_)) /* Can't define PTR_DNS_HEADER_QR because: Size 1 is not a multiple of 8. */ #define GET_DNS_HEADER_QR(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & GLUE_CAST08(0x80L)) #define SET_DNS_HEADER_QR(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) | GLUE_CAST08(0x80L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & ~GLUE_CAST08(0x80L))) /* Can't define PTR_DNS_HEADER_OPCODE because: Size 4 is not a multiple of 8. */ #define GET_DNS_HEADER_OPCODE(_P_)\ GLUE_CAST08((GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & GLUE_CAST08(0x78L)) >> 3) #define SET_DNS_HEADER_OPCODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), (GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & ~GLUE_CAST08(0x78L)) | ((GLUE_CAST08(_V_) << 3) & GLUE_CAST08(0x78L))) #define DNS_HEADER_OPCODE_is_QUERY GLUE_CAST08(0L) #define DNS_HEADER_OPCODE_is_IQUERY GLUE_CAST08(1L) #define DNS_HEADER_OPCODE_is_STATUS GLUE_CAST08(2L) /* Can't define PTR_DNS_HEADER_AA because: Size 1 is not a multiple of 8. */ #define GET_DNS_HEADER_AA(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & GLUE_CAST08(0x4L)) #define SET_DNS_HEADER_AA(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) | GLUE_CAST08(0x4L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & ~GLUE_CAST08(0x4L))) /* Can't define PTR_DNS_HEADER_TC because: Size 1 is not a multiple of 8. */ #define GET_DNS_HEADER_TC(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & GLUE_CAST08(0x2L)) #define SET_DNS_HEADER_TC(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) | GLUE_CAST08(0x2L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & ~GLUE_CAST08(0x2L))) /* Can't define PTR_DNS_HEADER_RD because: Size 1 is not a multiple of 8. */ #define GET_DNS_HEADER_RD(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & GLUE_CAST08(0x1L)) #define SET_DNS_HEADER_RD(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(2), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) | GLUE_CAST08(0x1L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(2)) & ~GLUE_CAST08(0x1L))) /* Can't define PTR_DNS_HEADER_RA because: Size 1 is not a multiple of 8. */ #define GET_DNS_HEADER_RA(_P_)\ (GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) & GLUE_CAST08(0x80L)) #define SET_DNS_HEADER_RA(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(3), ((_V_) ? GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) | GLUE_CAST08(0x80L) : GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) & ~GLUE_CAST08(0x80L))) /* Can't define PTR_DNS_HEADER_RCODE because: Size 4 is not a multiple of 8. */ #define GET_DNS_HEADER_RCODE(_P_)\ GLUE_CAST08(GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) & GLUE_CAST08(0xFL)) #define SET_DNS_HEADER_RCODE(_P_, _V_)\ GLUE_SB08((GLUE_CAST_PTR(_P_))+(3), (GLUE_GB08((GLUE_CAST_PTR(_P_))+(3)) & ~GLUE_CAST08(0xFL)) | (GLUE_CAST08(_V_) & GLUE_CAST08(0xFL))) #define DNS_HEADER_RCODE_is_NO_ERROR GLUE_CAST08(0L) #define DNS_HEADER_RCODE_is_FORMAT_ERROR GLUE_CAST08(1L) #define DNS_HEADER_RCODE_is_SERVER_FAILURE GLUE_CAST08(2L) #define DNS_HEADER_RCODE_is_NAME_ERROR GLUE_CAST08(3L) #define DNS_HEADER_RCODE_is_NOT_IMPLEMENTED GLUE_CAST08(4L) #define DNS_HEADER_RCODE_is_REFUSED GLUE_CAST08(5L) #define PTR_DNS_HEADER_QDCOUNT(_P_)\ ((GLUE_CAST_PTR(_P_))+(4)) #define GET_DNS_HEADER_QDCOUNT(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(4)) #define SET_DNS_HEADER_QDCOUNT(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(4), GLUE_CAST16(_V_)) #define PTR_DNS_HEADER_ANCOUNT(_P_)\ ((GLUE_CAST_PTR(_P_))+(6)) #define GET_DNS_HEADER_ANCOUNT(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(6)) #define SET_DNS_HEADER_ANCOUNT(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(6), GLUE_CAST16(_V_)) #define PTR_DNS_HEADER_NSCOUNT(_P_)\ ((GLUE_CAST_PTR(_P_))+(8)) #define GET_DNS_HEADER_NSCOUNT(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(8)) #define SET_DNS_HEADER_NSCOUNT(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(8), GLUE_CAST16(_V_)) #define PTR_DNS_HEADER_ARCOUNT(_P_)\ ((GLUE_CAST_PTR(_P_))+(10)) #define GET_DNS_HEADER_ARCOUNT(_P_)\ GLUE_GB16((GLUE_CAST_PTR(_P_))+(10)) #define SET_DNS_HEADER_ARCOUNT(_P_, _V_)\ GLUE_SB16((GLUE_CAST_PTR(_P_))+(10), GLUE_CAST16(_V_)) /* Definitions for DNS_CLASS */ #define SIZEOF_DNS_CLASS (2) #define GET_DNS_CLASS(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))) #define SET_DNS_CLASS(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_)), GLUE_CAST16(_V_)) #define DNS_CLASS_is_IN GLUE_OPAQUE16(GLUE_CAST16(1L)) #define DNS_CLASS_is_CS GLUE_OPAQUE16(GLUE_CAST16(2L)) #define DNS_CLASS_is_CH GLUE_OPAQUE16(GLUE_CAST16(3L)) #define DNS_CLASS_is_HS GLUE_OPAQUE16(GLUE_CAST16(4L)) #define DNS_CLASS_is_WILD GLUE_OPAQUE16(GLUE_CAST16(255L)) /* Definitions for DNS_TYPE */ #define SIZEOF_DNS_TYPE (2) #define GET_DNS_TYPE(_P_)\ GLUE_GU16((GLUE_CAST_PTR(_P_))) #define SET_DNS_TYPE(_P_, _V_)\ GLUE_SU16((GLUE_CAST_PTR(_P_)), GLUE_CAST16(_V_)) #define DNS_TYPE_is_A GLUE_OPAQUE16(GLUE_CAST16(1L)) #define DNS_TYPE_is_NS GLUE_OPAQUE16(GLUE_CAST16(2L)) #define DNS_TYPE_is_MD GLUE_OPAQUE16(GLUE_CAST16(3L)) #define DNS_TYPE_is_MF GLUE_OPAQUE16(GLUE_CAST16(4L)) #define DNS_TYPE_is_CNAME GLUE_OPAQUE16(GLUE_CAST16(5L)) #define DNS_TYPE_is_SOA GLUE_OPAQUE16(GLUE_CAST16(6L)) #define DNS_TYPE_is_MB GLUE_OPAQUE16(GLUE_CAST16(7L)) #define DNS_TYPE_is_MG GLUE_OPAQUE16(GLUE_CAST16(8L)) #define DNS_TYPE_is_MR GLUE_OPAQUE16(GLUE_CAST16(9L)) #define DNS_TYPE_is_NULL GLUE_OPAQUE16(GLUE_CAST16(10L)) #define DNS_TYPE_is_WKS GLUE_OPAQUE16(GLUE_CAST16(11L)) #define DNS_TYPE_is_PTR GLUE_OPAQUE16(GLUE_CAST16(12L)) #define DNS_TYPE_is_HINFO GLUE_OPAQUE16(GLUE_CAST16(13L)) #define DNS_TYPE_is_MINFO GLUE_OPAQUE16(GLUE_CAST16(14L)) #define DNS_TYPE_is_MX GLUE_OPAQUE16(GLUE_CAST16(15L)) #define DNS_TYPE_is_TXT GLUE_OPAQUE16(GLUE_CAST16(16L)) #define DNS_TYPE_is_AAAA GLUE_OPAQUE16(GLUE_CAST16(28L)) #define DNS_TYPE_is_AXFR GLUE_OPAQUE16(GLUE_CAST16(252L)) #define DNS_TYPE_is_MAILB GLUE_OPAQUE16(GLUE_CAST16(253L)) #define DNS_TYPE_is_MAILA GLUE_OPAQUE16(GLUE_CAST16(254L)) #define DNS_TYPE_is_WILD GLUE_OPAQUE16(GLUE_CAST16(255L)) #endif /* EPILOGUE_LAYOUT_DNS_H */