nameser_compat.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034: #ifndef _ARPA_NAMESER_COMPAT_
035: #define _ARPA_NAMESER_COMPAT_
036:
037: #define __BIND 19950621
038:
039: #include <endian.h>
040:
041:
042:
043:
044:
045:
046:
047:
048: typedef struct {
049: unsigned id :16;
050: #if BYTE_ORDER == BIG_ENDIAN
051:
052: unsigned qr: 1;
053: unsigned opcode: 4;
054: unsigned aa: 1;
055: unsigned tc: 1;
056: unsigned rd: 1;
057:
058: unsigned ra: 1;
059: unsigned unused :1;
060: unsigned ad: 1;
061: unsigned cd: 1;
062: unsigned rcode :4;
063: #endif
064: #if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN
065:
066: unsigned rd :1;
067: unsigned tc :1;
068: unsigned aa :1;
069: unsigned opcode :4;
070: unsigned qr :1;
071:
072: unsigned rcode :4;
073: unsigned cd: 1;
074: unsigned ad: 1;
075: unsigned unused :1;
076: unsigned ra :1;
077: #endif
078:
079: unsigned qdcount :16;
080: unsigned ancount :16;
081: unsigned nscount :16;
082: unsigned arcount :16;
083: } HEADER;
084:
085: #define PACKETSZ NS_PACKETSZ
086: #define MAXDNAME NS_MAXDNAME
087: #define MAXCDNAME NS_MAXCDNAME
088: #define MAXLABEL NS_MAXLABEL
089: #define HFIXEDSZ NS_HFIXEDSZ
090: #define QFIXEDSZ NS_QFIXEDSZ
091: #define RRFIXEDSZ NS_RRFIXEDSZ
092: #define INT32SZ NS_INT32SZ
093: #define INT16SZ NS_INT16SZ
094: #define INT8SZ NS_INT8SZ
095: #define INADDRSZ NS_INADDRSZ
096: #define IN6ADDRSZ NS_IN6ADDRSZ
097: #define INDIR_MASK NS_CMPRSFLGS
098: #define NAMESERVER_PORT NS_DEFAULTPORT
099:
100: #define S_ZONE ns_s_zn
101: #define S_PREREQ ns_s_pr
102: #define S_UPDATE ns_s_ud
103: #define S_ADDT ns_s_ar
104:
105: #define QUERY ns_o_query
106: #define IQUERY ns_o_iquery
107: #define STATUS ns_o_status
108: #define NS_NOTIFY_OP ns_o_notify
109: #define NS_UPDATE_OP ns_o_update
110:
111: #define NOERROR ns_r_noerror
112: #define FORMERR ns_r_formerr
113: #define SERVFAIL ns_r_servfail
114: #define NXDOMAIN ns_r_nxdomain
115: #define NOTIMP ns_r_notimpl
116: #define REFUSED ns_r_refused
117: #define YXDOMAIN ns_r_yxdomain
118: #define YXRRSET ns_r_yxrrset
119: #define NXRRSET ns_r_nxrrset
120: #define NOTAUTH ns_r_notauth
121: #define NOTZONE ns_r_notzone
122:
123:
124:
125:
126:
127: #define DELETE ns_uop_delete
128: #define ADD ns_uop_add
129:
130: #define T_A ns_t_a
131: #define T_NS ns_t_ns
132: #define T_MD ns_t_md
133: #define T_MF ns_t_mf
134: #define T_CNAME ns_t_cname
135: #define T_SOA ns_t_soa
136: #define T_MB ns_t_mb
137: #define T_MG ns_t_mg
138: #define T_MR ns_t_mr
139: #define T_NULL ns_t_null
140: #define T_WKS ns_t_wks
141: #define T_PTR ns_t_ptr
142: #define T_HINFO ns_t_hinfo
143: #define T_MINFO ns_t_minfo
144: #define T_MX ns_t_mx
145: #define T_TXT ns_t_txt
146: #define T_RP ns_t_rp
147: #define T_AFSDB ns_t_afsdb
148: #define T_X25 ns_t_x25
149: #define T_ISDN ns_t_isdn
150: #define T_RT ns_t_rt
151: #define T_NSAP ns_t_nsap
152: #define T_NSAP_PTR ns_t_nsap_ptr
153: #define T_SIG ns_t_sig
154: #define T_KEY ns_t_key
155: #define T_PX ns_t_px
156: #define T_GPOS ns_t_gpos
157: #define T_AAAA ns_t_aaaa
158: #define T_LOC ns_t_loc
159: #define T_NXT ns_t_nxt
160: #define T_EID ns_t_eid
161: #define T_NIMLOC ns_t_nimloc
162: #define T_SRV ns_t_srv
163: #define T_ATMA ns_t_atma
164: #define T_NAPTR ns_t_naptr
165: #define T_A6 ns_t_a6
166: #define T_DNAME ns_t_dname
167: #define T_TSIG ns_t_tsig
168: #define T_IXFR ns_t_ixfr
169: #define T_AXFR ns_t_axfr
170: #define T_MAILB ns_t_mailb
171: #define T_MAILA ns_t_maila
172: #define T_ANY ns_t_any
173:
174: #define C_IN ns_c_in
175: #define C_CHAOS ns_c_chaos
176: #define C_HS ns_c_hs
177:
178: #define C_NONE ns_c_none
179: #define C_ANY ns_c_any
180:
181: #define GETSHORT NS_GET16
182: #define GETLONG NS_GET32
183: #define PUTSHORT NS_PUT16
184: #define PUTLONG NS_PUT32
185:
186: #endif
187:
188:
© Andrew Scott 2006 -
2025,
All Rights Reserved