00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef _ARPA_NAMESER_COMPAT_
00040 #define _ARPA_NAMESER_COMPAT_
00041
00042 #define __BIND 19950621
00043
00044 #include <machine/endian.h>
00045
00046 #if !defined(_BYTE_ORDER) || \
00047 (_BYTE_ORDER != _BIG_ENDIAN && _BYTE_ORDER != _LITTLE_ENDIAN && \
00048 _BYTE_ORDER != _PDP_ENDIAN)
00049
00050
00051
00052
00053
00054 #error "Undefined or invalid _BYTE_ORDER";
00055 #endif
00056
00057
00058
00059
00060
00061
00062
00063
00064 typedef struct {
00065 unsigned id :16;
00066 #if _BYTE_ORDER == _BIG_ENDIAN
00067
00068 unsigned qr: 1;
00069 unsigned opcode: 4;
00070 unsigned aa: 1;
00071 unsigned tc: 1;
00072 unsigned rd: 1;
00073
00074 unsigned ra: 1;
00075 unsigned unused :1;
00076 unsigned ad: 1;
00077 unsigned cd: 1;
00078 unsigned rcode :4;
00079 #endif
00080 #if _BYTE_ORDER == _LITTLE_ENDIAN || _BYTE_ORDER == _PDP_ENDIAN
00081
00082 unsigned rd :1;
00083 unsigned tc :1;
00084 unsigned aa :1;
00085 unsigned opcode :4;
00086 unsigned qr :1;
00087
00088 unsigned rcode :4;
00089 unsigned cd: 1;
00090 unsigned ad: 1;
00091 unsigned unused :1;
00092 unsigned ra :1;
00093 #endif
00094
00095 unsigned qdcount :16;
00096 unsigned ancount :16;
00097 unsigned nscount :16;
00098 unsigned arcount :16;
00099 } HEADER;
00100
00101 #define PACKETSZ NS_PACKETSZ
00102 #define MAXDNAME NS_MAXDNAME
00103 #define MAXCDNAME NS_MAXCDNAME
00104 #define MAXLABEL NS_MAXLABEL
00105 #define HFIXEDSZ NS_HFIXEDSZ
00106 #define QFIXEDSZ NS_QFIXEDSZ
00107 #define RRFIXEDSZ NS_RRFIXEDSZ
00108 #define INT32SZ NS_INT32SZ
00109 #define INT16SZ NS_INT16SZ
00110 #define INADDRSZ NS_INADDRSZ
00111 #define IN6ADDRSZ NS_IN6ADDRSZ
00112 #define INDIR_MASK NS_CMPRSFLGS
00113 #define NAMESERVER_PORT NS_DEFAULTPORT
00114
00115 #define S_ZONE ns_s_zn
00116 #define S_PREREQ ns_s_pr
00117 #define S_UPDATE ns_s_ud
00118 #define S_ADDT ns_s_ar
00119
00120 #define QUERY ns_o_query
00121 #define IQUERY ns_o_iquery
00122 #define STATUS ns_o_status
00123 #define NS_NOTIFY_OP ns_o_notify
00124 #define NS_UPDATE_OP ns_o_update
00125
00126 #define NOERROR ns_r_noerror
00127 #define FORMERR ns_r_formerr
00128 #define SERVFAIL ns_r_servfail
00129 #define NXDOMAIN ns_r_nxdomain
00130 #define NOTIMP ns_r_notimpl
00131 #define REFUSED ns_r_refused
00132 #define YXDOMAIN ns_r_yxdomain
00133 #define YXRRSET ns_r_yxrrset
00134 #define NXRRSET ns_r_nxrrset
00135 #define NOTAUTH ns_r_notauth
00136 #define NOTZONE ns_r_notzone
00137
00138 #define DELETE ns_uop_delete
00139 #define ADD ns_uop_add
00140
00141 #define T_A ns_t_a
00142 #define T_NS ns_t_ns
00143 #define T_MD ns_t_md
00144 #define T_MF ns_t_mf
00145 #define T_CNAME ns_t_cname
00146 #define T_SOA ns_t_soa
00147 #define T_MB ns_t_mb
00148 #define T_MG ns_t_mg
00149 #define T_MR ns_t_mr
00150 #define T_NULL ns_t_null
00151 #define T_WKS ns_t_wks
00152 #define T_PTR ns_t_ptr
00153 #define T_HINFO ns_t_hinfo
00154 #define T_MINFO ns_t_minfo
00155 #define T_MX ns_t_mx
00156 #define T_TXT ns_t_txt
00157 #define T_RP ns_t_rp
00158 #define T_AFSDB ns_t_afsdb
00159 #define T_X25 ns_t_x25
00160 #define T_ISDN ns_t_isdn
00161 #define T_RT ns_t_rt
00162 #define T_NSAP ns_t_nsap
00163 #define T_NSAP_PTR ns_t_nsap_ptr
00164 #define T_SIG ns_t_sig
00165 #define T_KEY ns_t_key
00166 #define T_PX ns_t_px
00167 #define T_GPOS ns_t_gpos
00168 #define T_AAAA ns_t_aaaa
00169 #define T_LOC ns_t_loc
00170 #define T_NXT ns_t_nxt
00171 #define T_EID ns_t_eid
00172 #define T_NIMLOC ns_t_nimloc
00173 #define T_SRV ns_t_srv
00174 #define T_ATMA ns_t_atma
00175 #define T_NAPTR ns_t_naptr
00176 #define T_OPT ns_t_opt
00177 #define T_IXFR ns_t_ixfr
00178 #define T_AXFR ns_t_axfr
00179 #define T_MAILB ns_t_mailb
00180 #define T_MAILA ns_t_maila
00181 #define T_ANY ns_t_any
00182
00183 #define C_IN ns_c_in
00184 #define C_CHAOS ns_c_chaos
00185 #define C_HS ns_c_hs
00186
00187 #define C_NONE ns_c_none
00188 #define C_ANY ns_c_any
00189
00190 #define GETSHORT NS_GET16
00191 #define GETLONG NS_GET32
00192 #define PUTSHORT NS_PUT16
00193 #define PUTLONG NS_PUT32
00194
00195 #endif