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