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