ISC DHCP
4.4.2b1
A reference DHCPv4 and DHCPv6 implementation
nameser.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 1983, 1989, 1993
3
* The Regents of the University of California. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 3. Neither the name of the University nor the names of its contributors
14
* may be used to endorse or promote products derived from this software
15
* without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
* SUCH DAMAGE.
28
*/
29
30
/*
31
* Copyright (c) 2004,2009 by Internet Systems Consortium, Inc. ("ISC")
32
* Copyright (c) 1996-2003 by Internet Software Consortium
33
*
34
* Permission to use, copy, modify, and distribute this software for any
35
* purpose with or without fee is hereby granted, provided that the above
36
* copyright notice and this permission notice appear in all copies.
37
*
38
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
39
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
40
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
41
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
42
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
43
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
44
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
45
*
46
* Internet Systems Consortium, Inc.
47
* 950 Charter Street
48
* Redwood City, CA 94063
49
* <info@isc.org>
50
* https://www.isc.org/
51
*/
52
53
/*
54
* $Id: nameser.h,v 1.7 2009/11/24 02:06:56 sar Exp $
55
*/
56
57
#ifndef _ARPA_NAMESER_H_
58
#define _ARPA_NAMESER_H_
59
60
/*
61
* Revision information. This is the release date in YYYYMMDD format.
62
* It can change every day so the right thing to do with it is use it
63
* in preprocessor commands such as "#if (__NAMESER > 19931104)". Do not
64
* compare for equality; rather, use it to determine whether your libbind.a
65
* contains a new enough lib/nameser/ to support the feature you need.
66
*/
67
68
#define __NAMESER 19991006
/* New interface version stamp. */
69
70
/*
71
* Define constants based on RFC 883, RFC 1034, RFC 1035
72
*/
73
#define NS_PACKETSZ 512
/* maximum packet size */
74
#define NS_MAXDNAME 1025
/* maximum domain name */
75
#define NS_MAXCDNAME 255
/* maximum compressed domain name */
76
#define NS_MAXLABEL 63
/* maximum length of domain label */
77
#define NS_HFIXEDSZ 12
/* #/bytes of fixed data in header */
78
#define NS_QFIXEDSZ 4
/* #/bytes of fixed data in query */
79
#define NS_RRFIXEDSZ 10
/* #/bytes of fixed data in r record */
80
#define NS_INT32SZ 4
/* #/bytes of data in a u_int32_t */
81
#define NS_INT16SZ 2
/* #/bytes of data in a u_int16_t */
82
#define NS_INT8SZ 1
/* #/bytes of data in a u_int8_t */
83
#define NS_INADDRSZ 4
/* IPv4 T_A */
84
#define NS_IN6ADDRSZ 16
/* IPv6 T_AAAA */
85
#define NS_CMPRSFLGS 0xc0
/* Flag bits indicating name compression. */
86
#define NS_DEFAULTPORT 53
/* For both TCP and UDP. */
87
88
/*
89
* These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
90
* in synch with it.
91
*/
92
typedef
enum
__ns_sect
{
93
ns_s_qd
= 0,
/* Query: Question. */
94
ns_s_zn
= 0,
/* Update: Zone. */
95
ns_s_an
= 1,
/* Query: Answer. */
96
ns_s_pr
= 1,
/* Update: Prerequisites. */
97
ns_s_ns
= 2,
/* Query: Name servers. */
98
ns_s_ud
= 2,
/* Update: Update. */
99
ns_s_ar
= 3,
/* Query|Update: Additional records. */
100
ns_s_max
= 4
101
}
ns_sect
;
102
103
/*
104
* This is a message handle. It is caller allocated and has no dynamic data.
105
* This structure is intended to be opaque to all but ns_parse.c, thus the
106
* leading _'s on the member names. Use the accessor functions, not the _'s.
107
*/
108
typedef
struct
__ns_msg
{
109
const
u_int8_t *
_msg
, *
_eom
;
110
u_int16_t
_id
,
_flags
,
_counts
[
ns_s_max
];
111
const
u_int8_t *
_sections
[
ns_s_max
];
112
ns_sect
_sect
;
113
int
_rrnum
;
114
const
u_int8_t *
_ptr
;
115
}
ns_msg
;
116
117
/* Private data structure - do not use from outside library. */
118
struct
_ns_flagdata
{
int
mask
,
shift
; };
119
extern
struct
_ns_flagdata
_ns_flagdata
[];
120
121
/* Accessor macros - this is part of the public interface. */
122
#define ns_msg_getflag(handle, flag) ( \
123
((handle)._flags & _ns_flagdata[flag].mask) \
124
>> _ns_flagdata[flag].shift \
125
)
126
#define ns_msg_id(handle) ((handle)._id + 0)
127
#define ns_msg_base(handle) ((handle)._msg + 0)
128
#define ns_msg_end(handle) ((handle)._eom + 0)
129
#define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
130
#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)
131
132
/*
133
* This is a parsed record. It is caller allocated and has no dynamic data.
134
*/
135
typedef
struct
__ns_rr
{
136
char
name
[
NS_MAXDNAME
];
137
u_int16_t
type
;
138
u_int16_t
rr_class
;
139
u_int32_t
ttl
;
140
u_int16_t
rdlength
;
141
const
u_int8_t *
rdata
;
142
}
ns_rr
;
143
144
/* Accessor macros - this is part of the public interface. */
145
#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".")
146
#define ns_rr_type(rr) ((ns_type)((rr).type + 0))
147
#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0))
148
#define ns_rr_ttl(rr) ((rr).ttl + 0)
149
#define ns_rr_rdlen(rr) ((rr).rdlength + 0)
150
#define ns_rr_rdata(rr) ((rr).rdata + 0)
151
152
/*
153
* These don't have to be in the same order as in the packet flags word,
154
* and they can even overlap in some cases, but they will need to be kept
155
* in synch with ns_parse.c:ns_flagdata[].
156
*/
157
typedef
enum
__ns_flag
{
158
ns_f_qr
,
/* Question/Response. */
159
ns_f_opcode
,
/* Operation code. */
160
ns_f_aa
,
/* Authoritative Answer. */
161
ns_f_tc
,
/* Truncation occurred. */
162
ns_f_rd
,
/* Recursion Desired. */
163
ns_f_ra
,
/* Recursion Available. */
164
ns_f_z
,
/* MBZ. */
165
ns_f_ad
,
/* Authentic Data (DNSSEC). */
166
ns_f_cd
,
/* Checking Disabled (DNSSEC). */
167
ns_f_rcode
,
/* Response code. */
168
ns_f_max
169
}
ns_flag
;
170
171
/*
172
* Currently defined opcodes.
173
*/
174
typedef
enum
__ns_opcode
{
175
ns_o_query
= 0,
/* Standard query. */
176
ns_o_iquery
= 1,
/* Inverse query (deprecated/unsupported). */
177
ns_o_status
= 2,
/* Name server status query (unsupported). */
178
/* Opcode 3 is undefined/reserved. */
179
ns_o_notify
= 4,
/* Zone change notification. */
180
ns_o_update
= 5,
/* Zone update message. */
181
ns_o_max
= 6
182
}
ns_opcode
;
183
184
/*
185
* Currently defined response codes.
186
*/
187
typedef
enum
__ns_rcode
{
188
ns_r_noerror
= 0,
/* No error occurred. */
189
ns_r_formerr
= 1,
/* Format error. */
190
ns_r_servfail
= 2,
/* Server failure. */
191
ns_r_nxdomain
= 3,
/* Name error. */
192
ns_r_notimpl
= 4,
/* Unimplemented. */
193
ns_r_refused
= 5,
/* Operation refused. */
194
/* these are for BIND_UPDATE */
195
ns_r_yxdomain
= 6,
/* Name exists */
196
ns_r_yxrrset
= 7,
/* RRset exists */
197
ns_r_nxrrset
= 8,
/* RRset does not exist */
198
ns_r_notauth
= 9,
/* Not authoritative for zone */
199
ns_r_notzone
= 10,
/* Zone of record different from zone section */
200
ns_r_max
= 11,
201
/* The following are TSIG extended errors */
202
ns_r_badsig
= 16,
203
ns_r_badkey
= 17,
204
ns_r_badtime
= 18
205
}
ns_rcode
;
206
207
/* BIND_UPDATE */
208
typedef
enum
__ns_update_operation
{
209
ns_uop_delete
= 0,
210
ns_uop_add
= 1,
211
ns_uop_max
= 2
212
}
ns_update_operation
;
213
214
#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
215
216
/*
217
* Currently defined type values for resources and queries.
218
*/
219
typedef
enum
__ns_type
{
220
ns_t_invalid
= 0,
/* Cookie. */
221
ns_t_a
= 1,
/* Host address. */
222
ns_t_ns
= 2,
/* Authoritative server. */
223
ns_t_md
= 3,
/* Mail destination. */
224
ns_t_mf
= 4,
/* Mail forwarder. */
225
ns_t_cname
= 5,
/* Canonical name. */
226
ns_t_soa
= 6,
/* Start of authority zone. */
227
ns_t_mb
= 7,
/* Mailbox domain name. */
228
ns_t_mg
= 8,
/* Mail group member. */
229
ns_t_mr
= 9,
/* Mail rename name. */
230
ns_t_null
= 10,
/* Null resource record. */
231
ns_t_wks
= 11,
/* Well known service. */
232
ns_t_ptr
= 12,
/* Domain name pointer. */
233
ns_t_hinfo
= 13,
/* Host information. */
234
ns_t_minfo
= 14,
/* Mailbox information. */
235
ns_t_mx
= 15,
/* Mail routing information. */
236
ns_t_txt
= 16,
/* Text strings. */
237
ns_t_rp
= 17,
/* Responsible person. */
238
ns_t_afsdb
= 18,
/* AFS cell database. */
239
ns_t_x25
= 19,
/* X_25 calling address. */
240
ns_t_isdn
= 20,
/* ISDN calling address. */
241
ns_t_rt
= 21,
/* Router. */
242
ns_t_nsap
= 22,
/* NSAP address. */
243
ns_t_nsap_ptr
= 23,
/* Reverse NSAP lookup (deprecated). */
244
ns_t_sig
= 24,
/* Security signature. */
245
ns_t_key
= 25,
/* Security key. */
246
ns_t_px
= 26,
/* X.400 mail mapping. */
247
ns_t_gpos
= 27,
/* Geographical position (withdrawn). */
248
ns_t_aaaa
= 28,
/* Ip6 Address. */
249
ns_t_loc
= 29,
/* Location Information. */
250
ns_t_nxt
= 30,
/* Next domain (security). */
251
ns_t_eid
= 31,
/* Endpoint identifier. */
252
ns_t_nimloc
= 32,
/* Nimrod Locator. */
253
ns_t_srv
= 33,
/* Server Selection. */
254
ns_t_atma
= 34,
/* ATM Address */
255
ns_t_naptr
= 35,
/* Naming Authority PoinTeR */
256
ns_t_kx
= 36,
/* Key Exchange */
257
ns_t_cert
= 37,
/* Certification record */
258
ns_t_a6
= 38,
/* IPv6 address (deprecates AAAA) */
259
ns_t_dname
= 39,
/* Non-terminal DNAME (for IPv6) */
260
ns_t_sink
= 40,
/* Kitchen sink (experimentatl) */
261
ns_t_opt
= 41,
/* EDNS0 option (meta-RR) */
262
ns_t_tsig
= 250,
/* Transaction signature. */
263
ns_t_ixfr
= 251,
/* Incremental zone transfer. */
264
ns_t_axfr
= 252,
/* Transfer zone of authority. */
265
ns_t_mailb
= 253,
/* Transfer mailbox records. */
266
ns_t_maila
= 254,
/* Transfer mail agent records. */
267
ns_t_any
= 255,
/* Wildcard match. */
268
ns_t_zxfr
= 256,
/* BIND-specific, nonstandard. */
269
ns_t_max
= 65536
270
}
ns_type
;
271
272
/* Exclusively a QTYPE? (not also an RTYPE) */
273
#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
274
(t) == ns_t_mailb || (t) == ns_t_maila)
275
/* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */
276
#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
277
/* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */
278
#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
279
#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
280
#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \
281
(t) == ns_t_zxfr)
282
283
/*
284
* Values for class field
285
*/
286
typedef
enum
__ns_class
{
287
ns_c_invalid
= 0,
/* Cookie. */
288
ns_c_in
= 1,
/* Internet. */
289
ns_c_2
= 2,
/* unallocated/unsupported. */
290
ns_c_chaos
= 3,
/* MIT Chaos-net. */
291
ns_c_hs
= 4,
/* MIT Hesiod. */
292
/* Query class values which do not appear in resource records */
293
ns_c_none
= 254,
/* for prereq. sections in update requests */
294
ns_c_any
= 255,
/* Wildcard match. */
295
ns_c_max
= 65536
296
}
ns_class
;
297
298
/* DNSSEC constants. */
299
300
typedef
enum
__ns_key_types
{
301
ns_kt_rsa
= 1,
/* key type RSA/MD5 */
302
ns_kt_dh
= 2,
/* Diffie Hellman */
303
ns_kt_dsa
= 3,
/* Digital Signature Standard (MANDATORY) */
304
ns_kt_private
= 254
/* Private key type starts with OID */
305
}
ns_key_types
;
306
307
typedef
enum
__ns_cert_types
{
308
cert_t_pkix
= 1,
/* PKIX (X.509v3) */
309
cert_t_spki
= 2,
/* SPKI */
310
cert_t_pgp
= 3,
/* PGP */
311
cert_t_url
= 253,
/* URL private type */
312
cert_t_oid
= 254
/* OID private type */
313
}
ns_cert_types
;
314
315
/* Flags field of the KEY RR rdata. */
316
#define NS_KEY_TYPEMASK 0xC000
/* Mask for "type" bits */
317
#define NS_KEY_TYPE_AUTH_CONF 0x0000
/* Key usable for both */
318
#define NS_KEY_TYPE_CONF_ONLY 0x8000
/* Key usable for confidentiality */
319
#define NS_KEY_TYPE_AUTH_ONLY 0x4000
/* Key usable for authentication */
320
#define NS_KEY_TYPE_NO_KEY 0xC000
/* No key usable for either; no key */
321
/* The type bits can also be interpreted independently, as single bits: */
322
#define NS_KEY_NO_AUTH 0x8000
/* Key unusable for authentication */
323
#define NS_KEY_NO_CONF 0x4000
/* Key unusable for confidentiality */
324
#define NS_KEY_RESERVED2 0x2000
/* Security is *mandatory* if bit=0 */
325
#define NS_KEY_EXTENDED_FLAGS 0x1000
/* reserved - must be zero */
326
#define NS_KEY_RESERVED4 0x0800
/* reserved - must be zero */
327
#define NS_KEY_RESERVED5 0x0400
/* reserved - must be zero */
328
#define NS_KEY_NAME_TYPE 0x0300
/* these bits determine the type */
329
#define NS_KEY_NAME_USER 0x0000
/* key is assoc. with user */
330
#define NS_KEY_NAME_ENTITY 0x0200
/* key is assoc. with entity eg host */
331
#define NS_KEY_NAME_ZONE 0x0100
/* key is zone key */
332
#define NS_KEY_NAME_RESERVED 0x0300
/* reserved meaning */
333
#define NS_KEY_RESERVED8 0x0080
/* reserved - must be zero */
334
#define NS_KEY_RESERVED9 0x0040
/* reserved - must be zero */
335
#define NS_KEY_RESERVED10 0x0020
/* reserved - must be zero */
336
#define NS_KEY_RESERVED11 0x0010
/* reserved - must be zero */
337
#define NS_KEY_SIGNATORYMASK 0x000F
/* key can sign RR's of same name */
338
#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \
339
NS_KEY_RESERVED4 | \
340
NS_KEY_RESERVED5 | \
341
NS_KEY_RESERVED8 | \
342
NS_KEY_RESERVED9 | \
343
NS_KEY_RESERVED10 | \
344
NS_KEY_RESERVED11 )
345
#define NS_KEY_RESERVED_BITMASK2 0xFFFF
/* no bits defined here */
346
347
/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
348
#define NS_ALG_MD5RSA 1
/* MD5 with RSA */
349
#define NS_ALG_DH 2
/* Diffie Hellman KEY */
350
#define NS_ALG_DSA 3
/* DSA KEY */
351
#define NS_ALG_DSS NS_ALG_DSA
352
#define NS_ALG_EXPIRE_ONLY 253
/* No alg, no security */
353
#define NS_ALG_PRIVATE_OID 254
/* Key begins with OID giving alg */
354
355
/* Protocol values */
356
/* value 0 is reserved */
357
#define NS_KEY_PROT_TLS 1
358
#define NS_KEY_PROT_EMAIL 2
359
#define NS_KEY_PROT_DNSSEC 3
360
#define NS_KEY_PROT_IPSEC 4
361
#define NS_KEY_PROT_ANY 255
362
363
/* Signatures */
364
#define NS_MD5RSA_MIN_BITS 512
/* Size of a mod or exp in bits */
365
#define NS_MD5RSA_MAX_BITS 2552
366
/* Total of binary mod and exp */
367
#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3)
368
/* Max length of text sig block */
369
#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4)
370
#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8)
371
#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8)
372
373
#define NS_DSA_SIG_SIZE 41
374
#define NS_DSA_MIN_SIZE 213
375
#define NS_DSA_MAX_BYTES 405
376
377
/* Offsets into SIG record rdata to find various values */
378
#define NS_SIG_TYPE 0
/* Type flags */
379
#define NS_SIG_ALG 2
/* Algorithm */
380
#define NS_SIG_LABELS 3
/* How many labels in name */
381
#define NS_SIG_OTTL 4
/* Original TTL */
382
#define NS_SIG_EXPIR 8
/* Expiration time */
383
#define NS_SIG_SIGNED 12
/* Signature time */
384
#define NS_SIG_FOOT 16
/* Key footprint */
385
#define NS_SIG_SIGNER 18
/* Domain name of who signed it */
386
387
/* How RR types are represented as bit-flags in NXT records */
388
#define NS_NXT_BITS 8
389
#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS)))
390
#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS)))
391
#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS)))
392
#define NS_NXT_MAX 127
393
394
/*
395
* Inline versions of get/put short/long. Pointer is advanced.
396
*/
397
#define NS_GET16(s, cp) do { \
398
register u_int8_t *t_cp = (u_int8_t *)(cp); \
399
(s) = ((u_int16_t)t_cp[0] << 8) \
400
| ((u_int16_t)t_cp[1]) \
401
; \
402
(cp) += NS_INT16SZ; \
403
} while (0)
404
405
#define NS_GET32(l, cp) do { \
406
register u_int8_t *t_cp = (u_int8_t *)(cp); \
407
(l) = ((u_int32_t)t_cp[0] << 24) \
408
| ((u_int32_t)t_cp[1] << 16) \
409
| ((u_int32_t)t_cp[2] << 8) \
410
| ((u_int32_t)t_cp[3]) \
411
; \
412
(cp) += NS_INT32SZ; \
413
} while (0)
414
415
#define NS_PUT16(s, cp) do { \
416
register u_int16_t t_s = (u_int16_t)(s); \
417
register u_int8_t *t_cp = (u_int8_t *)(cp); \
418
*t_cp++ = t_s >> 8; \
419
*t_cp = t_s; \
420
(cp) += NS_INT16SZ; \
421
} while (0)
422
423
#define NS_PUT32(l, cp) do { \
424
register u_int32_t t_l = (u_int32_t)(l); \
425
register u_int8_t *t_cp = (u_int8_t *)(cp); \
426
*t_cp++ = t_l >> 24; \
427
*t_cp++ = t_l >> 16; \
428
*t_cp++ = t_l >> 8; \
429
*t_cp = t_l; \
430
(cp) += NS_INT32SZ; \
431
} while (0)
432
433
#include <
arpa/nameser_compat.h
>
434
435
#endif
/* !_ARPA_NAMESER_H_ */
ns_rcode
enum __ns_rcode ns_rcode
ns_t_a6
@ ns_t_a6
Definition:
nameser.h:258
ns_t_x25
@ ns_t_x25
Definition:
nameser.h:239
__ns_msg::_ptr
const u_int8_t * _ptr
Definition:
nameser.h:114
ns_t_key
@ ns_t_key
Definition:
nameser.h:245
ns_f_rcode
@ ns_f_rcode
Definition:
nameser.h:167
__ns_flag
__ns_flag
Definition:
nameser.h:157
ns_f_tc
@ ns_f_tc
Definition:
nameser.h:161
ns_t_mf
@ ns_t_mf
Definition:
nameser.h:224
ns_s_qd
@ ns_s_qd
Definition:
nameser.h:93
ns_t_afsdb
@ ns_t_afsdb
Definition:
nameser.h:238
ns_t_zxfr
@ ns_t_zxfr
Definition:
nameser.h:268
ns_t_dname
@ ns_t_dname
Definition:
nameser.h:259
ns_t_cert
@ ns_t_cert
Definition:
nameser.h:257
ns_s_ns
@ ns_s_ns
Definition:
nameser.h:97
__ns_msg::_id
u_int16_t _id
Definition:
nameser.h:110
ns_r_nxdomain
@ ns_r_nxdomain
Definition:
nameser.h:191
ns_t_opt
@ ns_t_opt
Definition:
nameser.h:261
__ns_rr
Definition:
nameser.h:135
ns_t_ns
@ ns_t_ns
Definition:
nameser.h:222
ns_t_nsap
@ ns_t_nsap
Definition:
nameser.h:242
ns_msg
struct __ns_msg ns_msg
ns_type
enum __ns_type ns_type
__ns_sect
__ns_sect
Definition:
nameser.h:92
ns_t_nxt
@ ns_t_nxt
Definition:
nameser.h:250
ns_t_minfo
@ ns_t_minfo
Definition:
nameser.h:234
ns_flag
enum __ns_flag ns_flag
ns_c_in
@ ns_c_in
Definition:
nameser.h:288
ns_o_max
@ ns_o_max
Definition:
nameser.h:181
ns_t_tsig
@ ns_t_tsig
Definition:
nameser.h:262
ns_t_rt
@ ns_t_rt
Definition:
nameser.h:241
ns_o_iquery
@ ns_o_iquery
Definition:
nameser.h:176
ns_t_isdn
@ ns_t_isdn
Definition:
nameser.h:240
__ns_rcode
__ns_rcode
Definition:
nameser.h:187
ns_t_mb
@ ns_t_mb
Definition:
nameser.h:227
__ns_msg::_counts
u_int16_t _counts[ns_s_max]
Definition:
nameser.h:110
ns_t_axfr
@ ns_t_axfr
Definition:
nameser.h:264
__ns_msg::_flags
u_int16_t _flags
Definition:
nameser.h:110
cert_t_oid
@ cert_t_oid
Definition:
nameser.h:312
ns_t_mx
@ ns_t_mx
Definition:
nameser.h:235
__ns_msg::_eom
const u_int8_t * _eom
Definition:
nameser.h:109
ns_t_invalid
@ ns_t_invalid
Definition:
nameser.h:220
__ns_msg::_sect
ns_sect _sect
Definition:
nameser.h:112
ns_uop_add
@ ns_uop_add
Definition:
nameser.h:210
cert_t_pgp
@ cert_t_pgp
Definition:
nameser.h:310
NS_MAXDNAME
#define NS_MAXDNAME
Definition:
nameser.h:74
_ns_flagdata::shift
int shift
Definition:
nameser.h:118
ns_r_refused
@ ns_r_refused
Definition:
nameser.h:193
ns_t_naptr
@ ns_t_naptr
Definition:
nameser.h:255
ns_t_wks
@ ns_t_wks
Definition:
nameser.h:231
ns_f_cd
@ ns_f_cd
Definition:
nameser.h:166
ns_opcode
enum __ns_opcode ns_opcode
ns_kt_private
@ ns_kt_private
Definition:
nameser.h:304
__ns_update_operation
__ns_update_operation
Definition:
nameser.h:208
__ns_rr::rr_class
u_int16_t rr_class
Definition:
nameser.h:138
ns_f_ad
@ ns_f_ad
Definition:
nameser.h:165
ns_t_hinfo
@ ns_t_hinfo
Definition:
nameser.h:233
ns_r_formerr
@ ns_r_formerr
Definition:
nameser.h:189
ns_r_max
@ ns_r_max
Definition:
nameser.h:200
ns_r_servfail
@ ns_r_servfail
Definition:
nameser.h:190
ns_r_notimpl
@ ns_r_notimpl
Definition:
nameser.h:192
ns_s_an
@ ns_s_an
Definition:
nameser.h:95
ns_t_ixfr
@ ns_t_ixfr
Definition:
nameser.h:263
ns_class
enum __ns_class ns_class
ns_t_sig
@ ns_t_sig
Definition:
nameser.h:244
ns_t_px
@ ns_t_px
Definition:
nameser.h:246
__ns_rr::ttl
u_int32_t ttl
Definition:
nameser.h:139
__ns_msg
Definition:
nameser.h:108
__ns_type
__ns_type
Definition:
nameser.h:219
ns_t_srv
@ ns_t_srv
Definition:
nameser.h:253
ns_t_maila
@ ns_t_maila
Definition:
nameser.h:266
ns_r_noerror
@ ns_r_noerror
Definition:
nameser.h:188
ns_c_max
@ ns_c_max
Definition:
nameser.h:295
ns_kt_rsa
@ ns_kt_rsa
Definition:
nameser.h:301
ns_t_soa
@ ns_t_soa
Definition:
nameser.h:226
__ns_rr::name
char name[NS_MAXDNAME]
Definition:
nameser.h:136
ns_kt_dsa
@ ns_kt_dsa
Definition:
nameser.h:303
ns_c_hs
@ ns_c_hs
Definition:
nameser.h:291
ns_f_z
@ ns_f_z
Definition:
nameser.h:164
ns_f_aa
@ ns_f_aa
Definition:
nameser.h:160
ns_t_ptr
@ ns_t_ptr
Definition:
nameser.h:232
ns_s_ar
@ ns_s_ar
Definition:
nameser.h:99
ns_t_any
@ ns_t_any
Definition:
nameser.h:267
ns_r_notzone
@ ns_r_notzone
Definition:
nameser.h:199
__ns_rr::rdlength
u_int16_t rdlength
Definition:
nameser.h:140
ns_s_ud
@ ns_s_ud
Definition:
nameser.h:98
ns_t_loc
@ ns_t_loc
Definition:
nameser.h:249
cert_t_pkix
@ cert_t_pkix
Definition:
nameser.h:308
ns_r_notauth
@ ns_r_notauth
Definition:
nameser.h:198
_ns_flagdata
Definition:
nameser.h:118
ns_r_nxrrset
@ ns_r_nxrrset
Definition:
nameser.h:197
ns_t_a
@ ns_t_a
Definition:
nameser.h:221
__ns_msg::_rrnum
int _rrnum
Definition:
nameser.h:113
nameser_compat.h
ns_t_sink
@ ns_t_sink
Definition:
nameser.h:260
ns_r_badtime
@ ns_r_badtime
Definition:
nameser.h:204
ns_t_gpos
@ ns_t_gpos
Definition:
nameser.h:247
__ns_rr::rdata
const u_int8_t * rdata
Definition:
nameser.h:141
ns_t_null
@ ns_t_null
Definition:
nameser.h:230
ns_t_txt
@ ns_t_txt
Definition:
nameser.h:236
ns_cert_types
enum __ns_cert_types ns_cert_types
ns_t_cname
@ ns_t_cname
Definition:
nameser.h:225
__ns_opcode
__ns_opcode
Definition:
nameser.h:174
ns_t_mg
@ ns_t_mg
Definition:
nameser.h:228
ns_c_none
@ ns_c_none
Definition:
nameser.h:293
ns_t_atma
@ ns_t_atma
Definition:
nameser.h:254
ns_t_max
@ ns_t_max
Definition:
nameser.h:269
ns_r_yxrrset
@ ns_r_yxrrset
Definition:
nameser.h:196
ns_f_qr
@ ns_f_qr
Definition:
nameser.h:158
ns_t_md
@ ns_t_md
Definition:
nameser.h:223
ns_t_eid
@ ns_t_eid
Definition:
nameser.h:251
cert_t_spki
@ cert_t_spki
Definition:
nameser.h:309
__ns_key_types
__ns_key_types
Definition:
nameser.h:300
ns_c_2
@ ns_c_2
Definition:
nameser.h:289
__ns_msg::_sections
const u_int8_t * _sections[ns_s_max]
Definition:
nameser.h:111
ns_s_pr
@ ns_s_pr
Definition:
nameser.h:96
ns_c_invalid
@ ns_c_invalid
Definition:
nameser.h:287
ns_o_update
@ ns_o_update
Definition:
nameser.h:180
ns_rr
struct __ns_rr ns_rr
ns_t_mr
@ ns_t_mr
Definition:
nameser.h:229
ns_s_max
@ ns_s_max
Definition:
nameser.h:100
ns_o_status
@ ns_o_status
Definition:
nameser.h:177
ns_r_yxdomain
@ ns_r_yxdomain
Definition:
nameser.h:195
__ns_class
__ns_class
Definition:
nameser.h:286
ns_t_nsap_ptr
@ ns_t_nsap_ptr
Definition:
nameser.h:243
ns_uop_max
@ ns_uop_max
Definition:
nameser.h:211
ns_f_max
@ ns_f_max
Definition:
nameser.h:168
ns_o_query
@ ns_o_query
Definition:
nameser.h:175
ns_key_types
enum __ns_key_types ns_key_types
ns_r_badsig
@ ns_r_badsig
Definition:
nameser.h:202
ns_c_any
@ ns_c_any
Definition:
nameser.h:294
ns_t_mailb
@ ns_t_mailb
Definition:
nameser.h:265
ns_kt_dh
@ ns_kt_dh
Definition:
nameser.h:302
ns_t_kx
@ ns_t_kx
Definition:
nameser.h:256
ns_s_zn
@ ns_s_zn
Definition:
nameser.h:94
ns_f_rd
@ ns_f_rd
Definition:
nameser.h:162
ns_update_operation
enum __ns_update_operation ns_update_operation
ns_c_chaos
@ ns_c_chaos
Definition:
nameser.h:290
ns_uop_delete
@ ns_uop_delete
Definition:
nameser.h:209
ns_f_ra
@ ns_f_ra
Definition:
nameser.h:163
cert_t_url
@ cert_t_url
Definition:
nameser.h:311
__ns_cert_types
__ns_cert_types
Definition:
nameser.h:307
ns_r_badkey
@ ns_r_badkey
Definition:
nameser.h:203
ns_f_opcode
@ ns_f_opcode
Definition:
nameser.h:159
_ns_flagdata::mask
int mask
Definition:
nameser.h:118
ns_t_nimloc
@ ns_t_nimloc
Definition:
nameser.h:252
ns_t_rp
@ ns_t_rp
Definition:
nameser.h:237
__ns_msg::_msg
const u_int8_t * _msg
Definition:
nameser.h:109
ns_o_notify
@ ns_o_notify
Definition:
nameser.h:179
ns_sect
enum __ns_sect ns_sect
ns_t_aaaa
@ ns_t_aaaa
Definition:
nameser.h:248
__ns_rr::type
u_int16_t type
Definition:
nameser.h:137
includes
arpa
nameser.h
Generated on Fri Feb 21 2020 00:00:00 for ISC DHCP by
1.8.17