]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - lib/bind/dns/dns/rdatastruct.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / lib / bind / dns / dns / rdatastruct.h
1 /* $FreeBSD$ */
2
3 /*
4  * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
5  * Copyright (C) 1998-2003 Internet Software Consortium.
6  *
7  * Permission to use, copy, modify, and distribute this software for any
8  * purpose with or without fee is hereby granted, provided that the above
9  * copyright notice and this permission notice appear in all copies.
10  *
11  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
12  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
14  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
16  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19
20 /***************
21  ***************
22  ***************   THIS FILE IS AUTOMATICALLY GENERATED BY gen.c.
23  ***************   DO NOT EDIT!
24  ***************
25  ***************/
26
27 /*! \file */
28
29 /*
30  * Copyright (C) 2004, 2007  Internet Systems Consortium, Inc. ("ISC")
31  * Copyright (C) 1999-2001  Internet Software Consortium.
32  *
33  * Permission to use, copy, modify, and/or distribute this software for any
34  * purpose with or without fee is hereby granted, provided that the above
35  * copyright notice and this permission notice appear in all copies.
36  *
37  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
38  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
39  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
40  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
41  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
42  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
43  * PERFORMANCE OF THIS SOFTWARE.
44  */
45
46 /* $Id: rdatastructpre.h,v 1.16 2007/06/19 23:47:17 tbox Exp $ */
47
48 #ifndef DNS_RDATASTRUCT_H
49 #define DNS_RDATASTRUCT_H 1
50
51 #include <isc/lang.h>
52 #include <isc/sockaddr.h>
53
54 #include <dns/name.h>
55 #include <dns/types.h>
56
57 ISC_LANG_BEGINDECLS
58
59 typedef struct dns_rdatacommon {
60         dns_rdataclass_t                        rdclass;
61         dns_rdatatype_t                         rdtype;
62         ISC_LINK(struct dns_rdatacommon)        link;
63 } dns_rdatacommon_t;
64
65 #define DNS_RDATACOMMON_INIT(_data, _rdtype, _rdclass) \
66         do { \
67                 (_data)->common.rdtype = (_rdtype); \
68                 (_data)->common.rdclass = (_rdclass); \
69                 ISC_LINK_INIT(&(_data)->common, link); \
70         } while (0)
71 /*
72  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
73  * Copyright (C) 1998-2001  Internet Software Consortium.
74  *
75  * Permission to use, copy, modify, and/or distribute this software for any
76  * purpose with or without fee is hereby granted, provided that the above
77  * copyright notice and this permission notice appear in all copies.
78  *
79  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
80  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
81  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
82  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
83  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
84  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
85  * PERFORMANCE OF THIS SOFTWARE.
86  */
87
88 /* */
89 #ifndef IN_1_A_1_H
90 #define IN_1_A_1_H 1
91
92 /* $Id: a_1.h,v 1.28 2007/06/19 23:47:17 tbox Exp $ */
93
94 typedef struct dns_rdata_in_a {
95         dns_rdatacommon_t       common;
96         struct in_addr          in_addr;
97 } dns_rdata_in_a_t;
98
99 #endif /* IN_1_A_1_H */
100 /*
101  * Copyright (C) 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
102  *
103  * Permission to use, copy, modify, and/or distribute this software for any
104  * purpose with or without fee is hereby granted, provided that the above
105  * copyright notice and this permission notice appear in all copies.
106  *
107  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
108  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
109  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
110  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
111  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
112  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
113  * PERFORMANCE OF THIS SOFTWARE.
114  */
115
116 /* $Id: a_1.h,v 1.5 2007/06/19 23:47:17 tbox Exp $ */
117
118 /* by Bjorn.Victor@it.uu.se, 2005-05-07 */
119 /* Based on generic/mx_15.h */
120
121 #ifndef CH_3_A_1_H
122 #define CH_3_A_1_H 1
123
124 typedef isc_uint16_t ch_addr_t;
125
126 typedef struct dns_rdata_ch_a {
127         dns_rdatacommon_t       common;
128         isc_mem_t               *mctx;
129         dns_name_t              ch_addr_dom; /* ch-addr domain for back mapping */
130         ch_addr_t               ch_addr; /* chaos address (16 bit) network order */
131 } dns_rdata_ch_a_t;
132
133 #endif /* CH_3_A_1_H */
134 /*
135  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
136  * Copyright (C) 1999-2001  Internet Software Consortium.
137  *
138  * Permission to use, copy, modify, and/or distribute this software for any
139  * purpose with or without fee is hereby granted, provided that the above
140  * copyright notice and this permission notice appear in all copies.
141  *
142  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
143  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
144  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
145  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
146  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
147  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
148  * PERFORMANCE OF THIS SOFTWARE.
149  */
150
151 /* */
152 #ifndef HS_4_A_1_H
153 #define HS_4_A_1_H 1
154
155 /* $Id: a_1.h,v 1.12 2007/06/19 23:47:17 tbox Exp $ */
156
157 typedef struct dns_rdata_hs_a {
158         dns_rdatacommon_t       common;
159         struct in_addr          in_addr;
160 } dns_rdata_hs_a_t;
161
162 #endif /* HS_4_A_1_H */
163 /*
164  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
165  * Copyright (C) 1998-2001  Internet Software Consortium.
166  *
167  * Permission to use, copy, modify, and/or distribute this software for any
168  * purpose with or without fee is hereby granted, provided that the above
169  * copyright notice and this permission notice appear in all copies.
170  *
171  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
172  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
173  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
174  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
175  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
176  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
177  * PERFORMANCE OF THIS SOFTWARE.
178  */
179
180 /* */
181 #ifndef GENERIC_NS_2_H
182 #define GENERIC_NS_2_H 1
183
184 /* $Id: ns_2.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */
185
186 typedef struct dns_rdata_ns {
187         dns_rdatacommon_t       common;
188         isc_mem_t               *mctx;
189         dns_name_t              name;
190 } dns_rdata_ns_t;
191
192
193 #endif /* GENERIC_NS_2_H */
194 /*
195  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
196  * Copyright (C) 1998-2001  Internet Software Consortium.
197  *
198  * Permission to use, copy, modify, and/or distribute this software for any
199  * purpose with or without fee is hereby granted, provided that the above
200  * copyright notice and this permission notice appear in all copies.
201  *
202  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
203  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
204  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
205  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
206  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
207  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
208  * PERFORMANCE OF THIS SOFTWARE.
209  */
210
211 /* */
212 #ifndef GENERIC_MD_3_H
213 #define GENERIC_MD_3_H 1
214
215 /* $Id: md_3.h,v 1.28 2007/06/19 23:47:17 tbox Exp $ */
216
217 typedef struct dns_rdata_md {
218         dns_rdatacommon_t       common;
219         isc_mem_t               *mctx;
220         dns_name_t              md;
221 } dns_rdata_md_t;
222
223
224 #endif /* GENERIC_MD_3_H */
225 /*
226  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
227  * Copyright (C) 1998-2001  Internet Software Consortium.
228  *
229  * Permission to use, copy, modify, and/or distribute this software for any
230  * purpose with or without fee is hereby granted, provided that the above
231  * copyright notice and this permission notice appear in all copies.
232  *
233  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
234  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
235  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
236  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
237  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
238  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
239  * PERFORMANCE OF THIS SOFTWARE.
240  */
241
242 /* */
243 #ifndef GENERIC_MF_4_H
244 #define GENERIC_MF_4_H 1
245
246 /* $Id: mf_4.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */
247
248 typedef struct dns_rdata_mf {
249         dns_rdatacommon_t       common;
250         isc_mem_t               *mctx;
251         dns_name_t              mf;
252 } dns_rdata_mf_t;
253
254 #endif /* GENERIC_MF_4_H */
255 /*
256  * Copyright (C) 2004, 2007  Internet Systems Consortium, Inc. ("ISC")
257  * Copyright (C) 1998-2001  Internet Software Consortium.
258  *
259  * Permission to use, copy, modify, and/or distribute this software for any
260  * purpose with or without fee is hereby granted, provided that the above
261  * copyright notice and this permission notice appear in all copies.
262  *
263  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
264  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
265  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
266  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
267  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
268  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
269  * PERFORMANCE OF THIS SOFTWARE.
270  */
271
272 /* $Id: cname_5.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */
273
274 #ifndef GENERIC_CNAME_5_H
275 #define GENERIC_CNAME_5_H 1
276
277 typedef struct dns_rdata_cname {
278         dns_rdatacommon_t       common;
279         isc_mem_t               *mctx;
280         dns_name_t              cname;
281 } dns_rdata_cname_t;
282
283 #endif /* GENERIC_CNAME_5_H */
284 /*
285  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
286  * Copyright (C) 1998-2001  Internet Software Consortium.
287  *
288  * Permission to use, copy, modify, and/or distribute this software for any
289  * purpose with or without fee is hereby granted, provided that the above
290  * copyright notice and this permission notice appear in all copies.
291  *
292  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
293  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
294  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
295  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
296  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
297  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
298  * PERFORMANCE OF THIS SOFTWARE.
299  */
300
301 /* */
302 #ifndef GENERIC_SOA_6_H
303 #define GENERIC_SOA_6_H 1
304
305 /* $Id: soa_6.h,v 1.32 2007/06/19 23:47:17 tbox Exp $ */
306
307 typedef struct dns_rdata_soa {
308         dns_rdatacommon_t       common;
309         isc_mem_t               *mctx;
310         dns_name_t              origin;
311         dns_name_t              contact;
312         isc_uint32_t            serial;         /*%< host order */
313         isc_uint32_t            refresh;        /*%< host order */
314         isc_uint32_t            retry;          /*%< host order */
315         isc_uint32_t            expire;         /*%< host order */
316         isc_uint32_t            minimum;        /*%< host order */
317 } dns_rdata_soa_t;
318
319
320 #endif /* GENERIC_SOA_6_H */
321 /*
322  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
323  * Copyright (C) 1998-2001  Internet Software Consortium.
324  *
325  * Permission to use, copy, modify, and/or distribute this software for any
326  * purpose with or without fee is hereby granted, provided that the above
327  * copyright notice and this permission notice appear in all copies.
328  *
329  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
330  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
331  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
332  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
333  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
334  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
335  * PERFORMANCE OF THIS SOFTWARE.
336  */
337
338 /* */
339 #ifndef GENERIC_MB_7_H
340 #define GENERIC_MB_7_H 1
341
342 /* $Id: mb_7.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */
343
344 typedef struct dns_rdata_mb {
345         dns_rdatacommon_t       common;
346         isc_mem_t               *mctx;
347         dns_name_t              mb;
348 } dns_rdata_mb_t;
349
350 #endif /* GENERIC_MB_7_H */
351 /*
352  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
353  * Copyright (C) 1998-2001  Internet Software Consortium.
354  *
355  * Permission to use, copy, modify, and/or distribute this software for any
356  * purpose with or without fee is hereby granted, provided that the above
357  * copyright notice and this permission notice appear in all copies.
358  *
359  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
360  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
361  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
362  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
363  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
364  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
365  * PERFORMANCE OF THIS SOFTWARE.
366  */
367
368 /* */
369 #ifndef GENERIC_MG_8_H
370 #define GENERIC_MG_8_H 1
371
372 /* $Id: mg_8.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */
373
374 typedef struct dns_rdata_mg {
375         dns_rdatacommon_t       common;
376         isc_mem_t               *mctx;
377         dns_name_t              mg;
378 } dns_rdata_mg_t;
379
380 #endif /* GENERIC_MG_8_H */
381 /*
382  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
383  * Copyright (C) 1998-2001  Internet Software Consortium.
384  *
385  * Permission to use, copy, modify, and/or distribute this software for any
386  * purpose with or without fee is hereby granted, provided that the above
387  * copyright notice and this permission notice appear in all copies.
388  *
389  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
390  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
391  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
392  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
393  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
394  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
395  * PERFORMANCE OF THIS SOFTWARE.
396  */
397
398 /* */
399 #ifndef GENERIC_MR_9_H
400 #define GENERIC_MR_9_H 1
401
402 /* $Id: mr_9.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */
403
404 typedef struct dns_rdata_mr {
405         dns_rdatacommon_t       common;
406         isc_mem_t               *mctx;
407         dns_name_t              mr;
408 } dns_rdata_mr_t;
409
410 #endif /* GENERIC_MR_9_H */
411 /*
412  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
413  * Copyright (C) 1998-2001  Internet Software Consortium.
414  *
415  * Permission to use, copy, modify, and/or distribute this software for any
416  * purpose with or without fee is hereby granted, provided that the above
417  * copyright notice and this permission notice appear in all copies.
418  *
419  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
420  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
421  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
422  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
423  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
424  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
425  * PERFORMANCE OF THIS SOFTWARE.
426  */
427
428 /* */
429 #ifndef GENERIC_NULL_10_H
430 #define GENERIC_NULL_10_H 1
431
432 /* $Id: null_10.h,v 1.25 2007/06/19 23:47:17 tbox Exp $ */
433
434 typedef struct dns_rdata_null {
435         dns_rdatacommon_t       common;
436         isc_mem_t               *mctx;
437         isc_uint16_t            length;
438         unsigned char           *data;
439 } dns_rdata_null_t;
440
441
442 #endif /* GENERIC_NULL_10_H */
443 /*
444  * Copyright (C) 2004, 2007  Internet Systems Consortium, Inc. ("ISC")
445  * Copyright (C) 1999-2001  Internet Software Consortium.
446  *
447  * Permission to use, copy, modify, and/or distribute this software for any
448  * purpose with or without fee is hereby granted, provided that the above
449  * copyright notice and this permission notice appear in all copies.
450  *
451  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
452  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
453  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
454  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
455  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
456  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
457  * PERFORMANCE OF THIS SOFTWARE.
458  */
459
460 #ifndef IN_1_WKS_11_H
461 #define IN_1_WKS_11_H 1
462
463 /* $Id: wks_11.h,v 1.22 2007/06/19 23:47:17 tbox Exp $ */
464
465 typedef struct dns_rdata_in_wks {
466         dns_rdatacommon_t       common;
467         isc_mem_t               *mctx;
468         struct in_addr          in_addr;
469         isc_uint16_t            protocol;
470         unsigned char           *map;
471         isc_uint16_t            map_len;
472 } dns_rdata_in_wks_t;
473
474 #endif /* IN_1_WKS_11_H */
475 /*
476  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
477  * Copyright (C) 1998-2001  Internet Software Consortium.
478  *
479  * Permission to use, copy, modify, and/or distribute this software for any
480  * purpose with or without fee is hereby granted, provided that the above
481  * copyright notice and this permission notice appear in all copies.
482  *
483  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
484  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
485  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
486  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
487  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
488  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
489  * PERFORMANCE OF THIS SOFTWARE.
490  */
491
492 /* */
493 #ifndef GENERIC_PTR_12_H
494 #define GENERIC_PTR_12_H 1
495
496 /* $Id: ptr_12.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */
497
498 typedef struct dns_rdata_ptr {
499         dns_rdatacommon_t       common;
500         isc_mem_t               *mctx;
501         dns_name_t              ptr;
502 } dns_rdata_ptr_t;
503
504 #endif /* GENERIC_PTR_12_H */
505 /*
506  * Copyright (C) 2004, 2007  Internet Systems Consortium, Inc. ("ISC")
507  * Copyright (C) 1998-2001  Internet Software Consortium.
508  *
509  * Permission to use, copy, modify, and/or distribute this software for any
510  * purpose with or without fee is hereby granted, provided that the above
511  * copyright notice and this permission notice appear in all copies.
512  *
513  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
514  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
515  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
516  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
517  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
518  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
519  * PERFORMANCE OF THIS SOFTWARE.
520  */
521
522 #ifndef GENERIC_HINFO_13_H
523 #define GENERIC_HINFO_13_H 1
524
525 /* $Id: hinfo_13.h,v 1.25 2007/06/19 23:47:17 tbox Exp $ */
526
527 typedef struct dns_rdata_hinfo {
528         dns_rdatacommon_t       common;
529         isc_mem_t               *mctx;
530         char                    *cpu;
531         char                    *os;
532         isc_uint8_t             cpu_len;
533         isc_uint8_t             os_len;
534 } dns_rdata_hinfo_t;
535
536 #endif /* GENERIC_HINFO_13_H */
537 /*
538  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
539  * Copyright (C) 1998-2001  Internet Software Consortium.
540  *
541  * Permission to use, copy, modify, and/or distribute this software for any
542  * purpose with or without fee is hereby granted, provided that the above
543  * copyright notice and this permission notice appear in all copies.
544  *
545  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
546  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
547  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
548  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
549  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
550  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
551  * PERFORMANCE OF THIS SOFTWARE.
552  */
553
554 /* */
555 #ifndef GENERIC_MINFO_14_H
556 #define GENERIC_MINFO_14_H 1
557
558 /* $Id: minfo_14.h,v 1.27 2007/06/19 23:47:17 tbox Exp $ */
559
560 typedef struct dns_rdata_minfo {
561         dns_rdatacommon_t       common;
562         isc_mem_t               *mctx;
563         dns_name_t              rmailbox;
564         dns_name_t              emailbox;
565 } dns_rdata_minfo_t;
566
567 #endif /* GENERIC_MINFO_14_H */
568 /*
569  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
570  * Copyright (C) 1998-2001  Internet Software Consortium.
571  *
572  * Permission to use, copy, modify, and/or distribute this software for any
573  * purpose with or without fee is hereby granted, provided that the above
574  * copyright notice and this permission notice appear in all copies.
575  *
576  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
577  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
578  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
579  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
580  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
581  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
582  * PERFORMANCE OF THIS SOFTWARE.
583  */
584
585 /* */
586 #ifndef GENERIC_MX_15_H
587 #define GENERIC_MX_15_H 1
588
589 /* $Id: mx_15.h,v 1.29 2007/06/19 23:47:17 tbox Exp $ */
590
591 typedef struct dns_rdata_mx {
592         dns_rdatacommon_t       common;
593         isc_mem_t               *mctx;
594         isc_uint16_t            pref;
595         dns_name_t              mx;
596 } dns_rdata_mx_t;
597
598 #endif /* GENERIC_MX_15_H */
599 /*
600  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
601  * Copyright (C) 1998-2001  Internet Software Consortium.
602  *
603  * Permission to use, copy, modify, and/or distribute this software for any
604  * purpose with or without fee is hereby granted, provided that the above
605  * copyright notice and this permission notice appear in all copies.
606  *
607  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
608  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
609  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
610  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
611  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
612  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
613  * PERFORMANCE OF THIS SOFTWARE.
614  */
615
616 /* */
617 #ifndef GENERIC_TXT_16_H
618 #define GENERIC_TXT_16_H 1
619
620 /* $Id: txt_16.h,v 1.28 2007/06/19 23:47:17 tbox Exp $ */
621
622 typedef struct dns_rdata_txt_string {
623                 isc_uint8_t    length;
624                 unsigned char   *data;
625 } dns_rdata_txt_string_t;
626
627 typedef struct dns_rdata_txt {
628         dns_rdatacommon_t       common;
629         isc_mem_t               *mctx;
630         unsigned char           *txt;
631         isc_uint16_t            txt_len;
632         /* private */
633         isc_uint16_t            offset;
634 } dns_rdata_txt_t;
635
636 /*
637  * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
638  * via rdatastructpre.h and rdatastructsuf.h.
639  */
640
641 isc_result_t
642 dns_rdata_txt_first(dns_rdata_txt_t *);
643
644 isc_result_t
645 dns_rdata_txt_next(dns_rdata_txt_t *);
646
647 isc_result_t
648 dns_rdata_txt_current(dns_rdata_txt_t *, dns_rdata_txt_string_t *);
649
650 #endif /* GENERIC_TXT_16_H */
651 /*
652  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
653  * Copyright (C) 1999-2001  Internet Software Consortium.
654  *
655  * Permission to use, copy, modify, and/or distribute this software for any
656  * purpose with or without fee is hereby granted, provided that the above
657  * copyright notice and this permission notice appear in all copies.
658  *
659  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
660  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
661  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
662  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
663  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
664  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
665  * PERFORMANCE OF THIS SOFTWARE.
666  */
667
668 #ifndef GENERIC_RP_17_H
669 #define GENERIC_RP_17_H 1
670
671 /* $Id: rp_17.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */
672
673 /*!
674  *  \brief Per RFC1183 */
675
676 typedef struct dns_rdata_rp {
677         dns_rdatacommon_t       common;
678         isc_mem_t               *mctx;
679         dns_name_t              mail;
680         dns_name_t              text;
681 } dns_rdata_rp_t;
682
683
684 #endif /* GENERIC_RP_17_H */
685 /*
686  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
687  * Copyright (C) 1999-2001  Internet Software Consortium.
688  *
689  * Permission to use, copy, modify, and/or distribute this software for any
690  * purpose with or without fee is hereby granted, provided that the above
691  * copyright notice and this permission notice appear in all copies.
692  *
693  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
694  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
695  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
696  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
697  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
698  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
699  * PERFORMANCE OF THIS SOFTWARE.
700  */
701
702 #ifndef GENERIC_AFSDB_18_H
703 #define GENERIC_AFSDB_18_H 1
704
705 /* $Id: afsdb_18.h,v 1.20 2007/06/19 23:47:17 tbox Exp $ */
706
707 /*!
708  *  \brief Per RFC1183 */
709
710 typedef struct dns_rdata_afsdb {
711         dns_rdatacommon_t       common;
712         isc_mem_t               *mctx;
713         isc_uint16_t            subtype;
714         dns_name_t              server;
715 } dns_rdata_afsdb_t;
716
717 #endif /* GENERIC_AFSDB_18_H */
718
719 /*
720  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
721  * Copyright (C) 1999-2001  Internet Software Consortium.
722  *
723  * Permission to use, copy, modify, and/or distribute this software for any
724  * purpose with or without fee is hereby granted, provided that the above
725  * copyright notice and this permission notice appear in all copies.
726  *
727  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
728  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
729  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
730  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
731  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
732  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
733  * PERFORMANCE OF THIS SOFTWARE.
734  */
735
736 #ifndef GENERIC_X25_19_H
737 #define GENERIC_X25_19_H 1
738
739 /* $Id: x25_19.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */
740
741 /*!
742  *  \brief Per RFC1183 */
743
744 typedef struct dns_rdata_x25 {
745         dns_rdatacommon_t       common;
746         isc_mem_t               *mctx;
747         unsigned char           *x25;
748         isc_uint8_t             x25_len;
749 } dns_rdata_x25_t;
750
751 #endif /* GENERIC_X25_19_H */
752 /*
753  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
754  * Copyright (C) 1999-2001  Internet Software Consortium.
755  *
756  * Permission to use, copy, modify, and/or distribute this software for any
757  * purpose with or without fee is hereby granted, provided that the above
758  * copyright notice and this permission notice appear in all copies.
759  *
760  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
761  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
762  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
763  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
764  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
765  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
766  * PERFORMANCE OF THIS SOFTWARE.
767  */
768
769 #ifndef GENERIC_ISDN_20_H
770 #define GENERIC_ISDN_20_H 1
771
772 /* $Id: isdn_20.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */
773
774 /*!
775  * \brief Per RFC1183 */
776
777 typedef struct dns_rdata_isdn {
778         dns_rdatacommon_t       common;
779         isc_mem_t               *mctx;
780         char                    *isdn;
781         char                    *subaddress;
782         isc_uint8_t             isdn_len;
783         isc_uint8_t             subaddress_len;
784 } dns_rdata_isdn_t;
785
786 #endif /* GENERIC_ISDN_20_H */
787 /*
788  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
789  * Copyright (C) 1999-2001  Internet Software Consortium.
790  *
791  * Permission to use, copy, modify, and/or distribute this software for any
792  * purpose with or without fee is hereby granted, provided that the above
793  * copyright notice and this permission notice appear in all copies.
794  *
795  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
796  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
797  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
798  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
799  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
800  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
801  * PERFORMANCE OF THIS SOFTWARE.
802  */
803
804 #ifndef GENERIC_RT_21_H
805 #define GENERIC_RT_21_H 1
806
807 /* $Id: rt_21.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */
808
809 /*!
810  *  \brief Per RFC1183 */
811
812 typedef struct dns_rdata_rt {
813         dns_rdatacommon_t       common;
814         isc_mem_t               *mctx;
815         isc_uint16_t            preference;
816         dns_name_t              host;
817 } dns_rdata_rt_t;
818
819 #endif /* GENERIC_RT_21_H */
820 /*
821  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
822  * Copyright (C) 1999-2001  Internet Software Consortium.
823  *
824  * Permission to use, copy, modify, and/or distribute this software for any
825  * purpose with or without fee is hereby granted, provided that the above
826  * copyright notice and this permission notice appear in all copies.
827  *
828  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
829  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
830  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
831  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
832  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
833  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
834  * PERFORMANCE OF THIS SOFTWARE.
835  */
836
837 #ifndef IN_1_NSAP_22_H
838 #define IN_1_NSAP_22_H 1
839
840 /* $Id: nsap_22.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */
841
842 /*! 
843  *  \brief Per RFC1706 */
844
845 typedef struct dns_rdata_in_nsap {
846         dns_rdatacommon_t       common;
847         isc_mem_t               *mctx;
848         unsigned char           *nsap;
849         isc_uint16_t            nsap_len;
850 } dns_rdata_in_nsap_t;
851
852 #endif /* IN_1_NSAP_22_H */
853 /*
854  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
855  * Copyright (C) 1999-2001  Internet Software Consortium.
856  *
857  * Permission to use, copy, modify, and/or distribute this software for any
858  * purpose with or without fee is hereby granted, provided that the above
859  * copyright notice and this permission notice appear in all copies.
860  *
861  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
862  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
863  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
864  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
865  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
866  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
867  * PERFORMANCE OF THIS SOFTWARE.
868  */
869
870 #ifndef IN_1_NSAP_PTR_23_H
871 #define IN_1_NSAP_PTR_23_H 1
872
873 /* $Id: nsap-ptr_23.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */
874
875 /*! 
876  *  \brief Per RFC1348.  Obsoleted in RFC 1706 - use PTR instead. */
877
878 typedef struct dns_rdata_in_nsap_ptr {
879         dns_rdatacommon_t       common;
880         isc_mem_t               *mctx;
881         dns_name_t              owner;
882 } dns_rdata_in_nsap_ptr_t;
883
884 #endif /* IN_1_NSAP_PTR_23_H */
885 /*
886  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
887  * Copyright (C) 1999-2001  Internet Software Consortium.
888  *
889  * Permission to use, copy, modify, and/or distribute this software for any
890  * purpose with or without fee is hereby granted, provided that the above
891  * copyright notice and this permission notice appear in all copies.
892  *
893  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
894  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
895  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
896  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
897  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
898  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
899  * PERFORMANCE OF THIS SOFTWARE.
900  */
901
902 #ifndef GENERIC_SIG_24_H
903 #define GENERIC_SIG_24_H 1
904
905 /* $Id: sig_24.h,v 1.26 2007/06/19 23:47:17 tbox Exp $ */
906
907 /*!
908  *  \brief Per RFC2535 */
909
910 typedef struct dns_rdata_sig_t {
911         dns_rdatacommon_t       common;
912         isc_mem_t *             mctx;
913         dns_rdatatype_t         covered;
914         dns_secalg_t            algorithm;
915         isc_uint8_t             labels;
916         isc_uint32_t            originalttl;
917         isc_uint32_t            timeexpire;
918         isc_uint32_t            timesigned;
919         isc_uint16_t            keyid;
920         dns_name_t              signer;
921         isc_uint16_t            siglen;
922         unsigned char *         signature;
923 } dns_rdata_sig_t;
924
925
926 #endif /* GENERIC_SIG_24_H */
927 /*
928  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
929  * Copyright (C) 1999-2001  Internet Software Consortium.
930  *
931  * Permission to use, copy, modify, and/or distribute this software for any
932  * purpose with or without fee is hereby granted, provided that the above
933  * copyright notice and this permission notice appear in all copies.
934  *
935  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
936  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
937  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
938  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
939  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
940  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
941  * PERFORMANCE OF THIS SOFTWARE.
942  */
943
944 #ifndef GENERIC_KEY_25_H
945 #define GENERIC_KEY_25_H 1
946
947 /* $Id: key_25.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */
948
949 /*!
950  * \brief Per RFC2535 */
951
952 typedef struct dns_rdata_key_t {
953         dns_rdatacommon_t       common;
954         isc_mem_t *             mctx;
955         isc_uint16_t            flags;
956         isc_uint8_t             protocol;
957         isc_uint8_t             algorithm;
958         isc_uint16_t            datalen;
959         unsigned char *         data;
960 } dns_rdata_key_t;
961
962
963 #endif /* GENERIC_KEY_25_H */
964 /*
965  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
966  * Copyright (C) 1999-2001  Internet Software Consortium.
967  *
968  * Permission to use, copy, modify, and/or distribute this software for any
969  * purpose with or without fee is hereby granted, provided that the above
970  * copyright notice and this permission notice appear in all copies.
971  *
972  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
973  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
974  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
975  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
976  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
977  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
978  * PERFORMANCE OF THIS SOFTWARE.
979  */
980
981 #ifndef IN_1_PX_26_H
982 #define IN_1_PX_26_H 1
983
984 /* $Id: px_26.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */
985
986 /*! 
987  *  \brief Per RFC2163 */
988
989 typedef struct dns_rdata_in_px {
990         dns_rdatacommon_t       common;
991         isc_mem_t               *mctx;
992         isc_uint16_t            preference;
993         dns_name_t              map822;
994         dns_name_t              mapx400;
995 } dns_rdata_in_px_t;
996
997 #endif /* IN_1_PX_26_H */
998 /*
999  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1000  * Copyright (C) 1999-2001  Internet Software Consortium.
1001  *
1002  * Permission to use, copy, modify, and/or distribute this software for any
1003  * purpose with or without fee is hereby granted, provided that the above
1004  * copyright notice and this permission notice appear in all copies.
1005  *
1006  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1007  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1008  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1009  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1010  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1011  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1012  * PERFORMANCE OF THIS SOFTWARE.
1013  */
1014
1015 #ifndef GENERIC_GPOS_27_H
1016 #define GENERIC_GPOS_27_H 1
1017
1018 /* $Id: gpos_27.h,v 1.17 2007/06/19 23:47:17 tbox Exp $ */
1019
1020 /*!
1021  *  \brief per RFC1712 */
1022
1023 typedef struct dns_rdata_gpos {
1024         dns_rdatacommon_t       common;
1025         isc_mem_t               *mctx;
1026         char                    *longitude;
1027         char                    *latitude;
1028         char                    *altitude;
1029         isc_uint8_t             long_len;
1030         isc_uint8_t             lat_len;
1031         isc_uint8_t             alt_len;
1032 } dns_rdata_gpos_t;
1033
1034 #endif /* GENERIC_GPOS_27_H */
1035 /*
1036  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1037  * Copyright (C) 1999-2001  Internet Software Consortium.
1038  *
1039  * Permission to use, copy, modify, and/or distribute this software for any
1040  * purpose with or without fee is hereby granted, provided that the above
1041  * copyright notice and this permission notice appear in all copies.
1042  *
1043  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1044  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1045  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1046  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1047  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1048  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1049  * PERFORMANCE OF THIS SOFTWARE.
1050  */
1051
1052 #ifndef IN_1_AAAA_28_H
1053 #define IN_1_AAAA_28_H 1
1054
1055 /* $Id: aaaa_28.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */
1056
1057 /*! 
1058  *  \brief Per RFC1886 */
1059
1060 typedef struct dns_rdata_in_aaaa {
1061         dns_rdatacommon_t       common;
1062         struct in6_addr         in6_addr;
1063 } dns_rdata_in_aaaa_t;
1064
1065 #endif /* IN_1_AAAA_28_H */
1066 /*
1067  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1068  * Copyright (C) 1999-2001  Internet Software Consortium.
1069  *
1070  * Permission to use, copy, modify, and/or distribute this software for any
1071  * purpose with or without fee is hereby granted, provided that the above
1072  * copyright notice and this permission notice appear in all copies.
1073  *
1074  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1075  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1076  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1077  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1078  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1079  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1080  * PERFORMANCE OF THIS SOFTWARE.
1081  */
1082
1083 #ifndef GENERIC_LOC_29_H
1084 #define GENERIC_LOC_29_H 1
1085
1086 /* $Id: loc_29.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */
1087
1088 /*!
1089  * \brief Per RFC1876 */
1090
1091 typedef struct dns_rdata_loc_0 {
1092         isc_uint8_t     version;        /* must be first and zero */
1093         isc_uint8_t     size;
1094         isc_uint8_t     horizontal;
1095         isc_uint8_t     vertical;
1096         isc_uint32_t    latitude;
1097         isc_uint32_t    longitude;
1098         isc_uint32_t    altitude;
1099 } dns_rdata_loc_0_t;
1100
1101 typedef struct dns_rdata_loc {
1102         dns_rdatacommon_t       common;
1103         union {
1104                 dns_rdata_loc_0_t v0;
1105         } v;
1106 } dns_rdata_loc_t;
1107
1108 #endif /* GENERIC_LOC_29_H */
1109 /*
1110  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1111  * Copyright (C) 1999-2002  Internet Software Consortium.
1112  *
1113  * Permission to use, copy, modify, and/or distribute this software for any
1114  * purpose with or without fee is hereby granted, provided that the above
1115  * copyright notice and this permission notice appear in all copies.
1116  *
1117  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1118  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1119  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1120  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1121  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1122  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1123  * PERFORMANCE OF THIS SOFTWARE.
1124  */
1125
1126 #ifndef GENERIC_NXT_30_H
1127 #define GENERIC_NXT_30_H 1
1128
1129 /* $Id: nxt_30.h,v 1.25 2007/06/19 23:47:17 tbox Exp $ */
1130
1131 /*!
1132  *  \brief RFC2535 */
1133
1134 typedef struct dns_rdata_nxt {
1135         dns_rdatacommon_t       common;
1136         isc_mem_t               *mctx;
1137         dns_name_t              next;
1138         unsigned char           *typebits;
1139         isc_uint16_t            len;
1140 } dns_rdata_nxt_t;
1141
1142 #endif /* GENERIC_NXT_30_H */
1143 /*
1144  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1145  * Copyright (C) 1999-2001  Internet Software Consortium.
1146  *
1147  * Permission to use, copy, modify, and/or distribute this software for any
1148  * purpose with or without fee is hereby granted, provided that the above
1149  * copyright notice and this permission notice appear in all copies.
1150  *
1151  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1152  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1153  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1154  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1155  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1156  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1157  * PERFORMANCE OF THIS SOFTWARE.
1158  */
1159
1160 #ifndef IN_1_SRV_33_H
1161 #define IN_1_SRV_33_H 1
1162
1163 /* $Id: srv_33.h,v 1.19 2007/06/19 23:47:17 tbox Exp $ */
1164
1165 /* Reviewed: Fri Mar 17 13:01:00 PST 2000 by bwelling */
1166
1167 /*! 
1168  *  \brief Per RFC2782 */
1169
1170 typedef struct dns_rdata_in_srv {
1171         dns_rdatacommon_t       common;
1172         isc_mem_t               *mctx;
1173         isc_uint16_t            priority;
1174         isc_uint16_t            weight;
1175         isc_uint16_t            port;
1176         dns_name_t              target;
1177 } dns_rdata_in_srv_t;
1178
1179 #endif /* IN_1_SRV_33_H */
1180 /*
1181  * Copyright (C) 2004, 2005, 2007, 2012  Internet Systems Consortium, Inc. ("ISC")
1182  * Copyright (C) 1999-2001  Internet Software Consortium.
1183  *
1184  * Permission to use, copy, modify, and/or distribute this software for any
1185  * purpose with or without fee is hereby granted, provided that the above
1186  * copyright notice and this permission notice appear in all copies.
1187  *
1188  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1189  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1190  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1191  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1192  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1193  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1194  * PERFORMANCE OF THIS SOFTWARE.
1195  */
1196
1197 #ifndef IN_1_NAPTR_35_H
1198 #define IN_1_NAPTR_35_H 1
1199
1200 /* $Id$ */
1201
1202 /*!
1203  *  \brief Per RFC2915 */
1204
1205 typedef struct dns_rdata_in_naptr {
1206         dns_rdatacommon_t       common;
1207         isc_mem_t               *mctx;
1208         isc_uint16_t            order;
1209         isc_uint16_t            preference;
1210         char                    *flags;
1211         isc_uint8_t             flags_len;
1212         char                    *service;
1213         isc_uint8_t             service_len;
1214         char                    *regexp;
1215         isc_uint8_t             regexp_len;
1216         dns_name_t              replacement;
1217 } dns_rdata_in_naptr_t;
1218
1219 #endif /* IN_1_NAPTR_35_H */
1220 /*
1221  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1222  * Copyright (C) 1999-2001  Internet Software Consortium.
1223  *
1224  * Permission to use, copy, modify, and/or distribute this software for any
1225  * purpose with or without fee is hereby granted, provided that the above
1226  * copyright notice and this permission notice appear in all copies.
1227  *
1228  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1229  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1230  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1231  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1232  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1233  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1234  * PERFORMANCE OF THIS SOFTWARE.
1235  */
1236
1237 #ifndef IN_1_KX_36_H
1238 #define IN_1_KX_36_H 1
1239
1240 /* $Id: kx_36.h,v 1.20 2007/06/19 23:47:17 tbox Exp $ */
1241
1242 /*! 
1243  *  \brief Per RFC2230 */
1244
1245 typedef struct dns_rdata_in_kx {
1246         dns_rdatacommon_t       common;
1247         isc_mem_t               *mctx;
1248         isc_uint16_t            preference;
1249         dns_name_t              exchange;
1250 } dns_rdata_in_kx_t;
1251
1252 #endif /* IN_1_KX_36_H */
1253 /*
1254  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1255  * Copyright (C) 1999-2001  Internet Software Consortium.
1256  *
1257  * Permission to use, copy, modify, and/or distribute this software for any
1258  * purpose with or without fee is hereby granted, provided that the above
1259  * copyright notice and this permission notice appear in all copies.
1260  *
1261  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1262  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1263  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1264  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1265  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1266  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1267  * PERFORMANCE OF THIS SOFTWARE.
1268  */
1269
1270 /* $Id: cert_37.h,v 1.20 2007/06/19 23:47:17 tbox Exp $ */
1271
1272 #ifndef GENERIC_CERT_37_H
1273 #define GENERIC_CERT_37_H 1
1274
1275 /*% RFC2538 */
1276 typedef struct dns_rdata_cert {
1277         dns_rdatacommon_t       common;
1278         isc_mem_t               *mctx;
1279         isc_uint16_t            type;
1280         isc_uint16_t            key_tag;
1281         isc_uint8_t             algorithm;
1282         isc_uint16_t            length;
1283         unsigned char           *certificate;
1284 } dns_rdata_cert_t;
1285
1286 #endif /* GENERIC_CERT_37_H */
1287 /*
1288  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1289  * Copyright (C) 1999-2001  Internet Software Consortium.
1290  *
1291  * Permission to use, copy, modify, and/or distribute this software for any
1292  * purpose with or without fee is hereby granted, provided that the above
1293  * copyright notice and this permission notice appear in all copies.
1294  *
1295  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1296  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1297  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1298  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1299  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1300  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1301  * PERFORMANCE OF THIS SOFTWARE.
1302  */
1303
1304 #ifndef IN_1_A6_38_H
1305 #define IN_1_A6_38_H 1
1306
1307 /* $Id: a6_38.h,v 1.24 2007/06/19 23:47:17 tbox Exp $ */
1308
1309 /*! 
1310  *  \brief Per RFC2874 */
1311
1312 typedef struct dns_rdata_in_a6 {
1313         dns_rdatacommon_t       common;
1314         isc_mem_t               *mctx;
1315         dns_name_t              prefix;
1316         isc_uint8_t             prefixlen;
1317         struct in6_addr         in6_addr;
1318 } dns_rdata_in_a6_t;
1319
1320 #endif /* IN_1_A6_38_H */
1321 /*
1322  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1323  * Copyright (C) 1999-2001  Internet Software Consortium.
1324  *
1325  * Permission to use, copy, modify, and/or distribute this software for any
1326  * purpose with or without fee is hereby granted, provided that the above
1327  * copyright notice and this permission notice appear in all copies.
1328  *
1329  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1330  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1331  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1332  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1333  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1334  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1335  * PERFORMANCE OF THIS SOFTWARE.
1336  */
1337
1338 #ifndef GENERIC_DNAME_39_H
1339 #define GENERIC_DNAME_39_H 1
1340
1341 /* $Id: dname_39.h,v 1.21 2007/06/19 23:47:17 tbox Exp $ */
1342
1343 /*! 
1344  *  \brief per RFC2672 */
1345
1346 typedef struct dns_rdata_dname {
1347         dns_rdatacommon_t       common;
1348         isc_mem_t               *mctx;
1349         dns_name_t              dname;
1350 } dns_rdata_dname_t;
1351
1352 #endif /* GENERIC_DNAME_39_H */
1353 /*
1354  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1355  * Copyright (C) 1998-2001  Internet Software Consortium.
1356  *
1357  * Permission to use, copy, modify, and/or distribute this software for any
1358  * purpose with or without fee is hereby granted, provided that the above
1359  * copyright notice and this permission notice appear in all copies.
1360  *
1361  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1362  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1363  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1364  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1365  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1366  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1367  * PERFORMANCE OF THIS SOFTWARE.
1368  */
1369
1370 #ifndef GENERIC_OPT_41_H
1371 #define GENERIC_OPT_41_H 1
1372
1373 /* $Id: opt_41.h,v 1.18 2007/06/19 23:47:17 tbox Exp $ */
1374
1375 /*!
1376  *  \brief Per RFC2671 */
1377
1378 typedef struct dns_rdata_opt_opcode {
1379                 isc_uint16_t    opcode;
1380                 isc_uint16_t    length;
1381                 unsigned char   *data;
1382 } dns_rdata_opt_opcode_t;
1383
1384 typedef struct dns_rdata_opt {
1385         dns_rdatacommon_t       common;
1386         isc_mem_t               *mctx;
1387         unsigned char           *options;
1388         isc_uint16_t            length;
1389         /* private */
1390         isc_uint16_t            offset;
1391 } dns_rdata_opt_t;
1392
1393 /*
1394  * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
1395  * via rdatastructpre.h and rdatastructsuf.h.
1396  */
1397
1398 isc_result_t
1399 dns_rdata_opt_first(dns_rdata_opt_t *);
1400
1401 isc_result_t
1402 dns_rdata_opt_next(dns_rdata_opt_t *);
1403
1404 isc_result_t
1405 dns_rdata_opt_current(dns_rdata_opt_t *, dns_rdata_opt_opcode_t *);
1406
1407 #endif /* GENERIC_OPT_41_H */
1408 /*
1409  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1410  * Copyright (C) 2002  Internet Software Consortium.
1411  *
1412  * Permission to use, copy, modify, and/or distribute this software for any
1413  * purpose with or without fee is hereby granted, provided that the above
1414  * copyright notice and this permission notice appear in all copies.
1415  *
1416  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1417  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1418  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1419  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1420  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1421  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1422  * PERFORMANCE OF THIS SOFTWARE.
1423  */
1424
1425 /* */
1426 #ifndef IN_1_APL_42_H
1427 #define IN_1_APL_42_H 1
1428
1429 /* $Id: apl_42.h,v 1.6 2007/06/19 23:47:17 tbox Exp $ */
1430
1431 typedef struct dns_rdata_apl_ent {
1432         isc_boolean_t   negative;
1433         isc_uint16_t    family;
1434         isc_uint8_t     prefix;
1435         isc_uint8_t     length;
1436         unsigned char   *data;
1437 } dns_rdata_apl_ent_t;
1438
1439 typedef struct dns_rdata_in_apl {
1440         dns_rdatacommon_t       common;
1441         isc_mem_t               *mctx;
1442         /* type & class specific elements */
1443         unsigned char           *apl;
1444         isc_uint16_t            apl_len;
1445         /* private */
1446         isc_uint16_t            offset;
1447 } dns_rdata_in_apl_t;
1448
1449 /*
1450  * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
1451  * via rdatastructpre.h and rdatastructsuf.h.
1452  */
1453
1454 isc_result_t
1455 dns_rdata_apl_first(dns_rdata_in_apl_t *);
1456
1457 isc_result_t
1458 dns_rdata_apl_next(dns_rdata_in_apl_t *);
1459
1460 isc_result_t
1461 dns_rdata_apl_current(dns_rdata_in_apl_t *, dns_rdata_apl_ent_t *);
1462
1463 #endif /* IN_1_APL_42_H */
1464 /*
1465  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1466  * Copyright (C) 2002  Internet Software Consortium.
1467  *
1468  * Permission to use, copy, modify, and/or distribute this software for any
1469  * purpose with or without fee is hereby granted, provided that the above
1470  * copyright notice and this permission notice appear in all copies.
1471  *
1472  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1473  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1474  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1475  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1476  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1477  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1478  * PERFORMANCE OF THIS SOFTWARE.
1479  */
1480
1481 /* $Id: ds_43.h,v 1.7 2007/06/19 23:47:17 tbox Exp $ */
1482
1483 #ifndef GENERIC_DS_43_H
1484 #define GENERIC_DS_43_H 1
1485
1486 /*!
1487  *  \brief per draft-ietf-dnsext-delegation-signer-05.txt */
1488 typedef struct dns_rdata_ds {
1489         dns_rdatacommon_t       common;
1490         isc_mem_t               *mctx;
1491         isc_uint16_t            key_tag;
1492         isc_uint8_t             algorithm;
1493         isc_uint8_t             digest_type;
1494         isc_uint16_t            length;
1495         unsigned char           *digest;
1496 } dns_rdata_ds_t;
1497
1498 #endif /* GENERIC_DS_43_H */
1499 /*
1500  * Copyright (C) 2004-2007  Internet Systems Consortium, Inc. ("ISC")
1501  * Copyright (C) 2003  Internet Software Consortium.
1502  *
1503  * Permission to use, copy, modify, and/or distribute this software for any
1504  * purpose with or without fee is hereby granted, provided that the above
1505  * copyright notice and this permission notice appear in all copies.
1506  *
1507  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1508  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1509  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1510  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1511  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1512  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1513  * PERFORMANCE OF THIS SOFTWARE.
1514  */
1515
1516 /* $Id: sshfp_44.h,v 1.8 2007/06/19 23:47:17 tbox Exp $ */
1517
1518 /*!
1519  *  \brief Per RFC 4255 */
1520
1521 #ifndef GENERIC_SSHFP_44_H
1522 #define GENERIC_SSHFP_44_H 1
1523
1524 typedef struct dns_rdata_sshfp {
1525         dns_rdatacommon_t       common;
1526         isc_mem_t               *mctx;
1527         isc_uint8_t             algorithm;
1528         isc_uint8_t             digest_type;
1529         isc_uint16_t            length;
1530         unsigned char           *digest;
1531 } dns_rdata_sshfp_t;
1532
1533 #endif /* GENERIC_SSHFP_44_H */
1534 /*
1535  * Copyright (C) 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1536  *
1537  * Permission to use, copy, modify, and/or distribute this software for any
1538  * purpose with or without fee is hereby granted, provided that the above
1539  * copyright notice and this permission notice appear in all copies.
1540  *
1541  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1542  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1543  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1544  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1545  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1546  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1547  * PERFORMANCE OF THIS SOFTWARE.
1548  */
1549
1550 /* $Id: ipseckey_45.h,v 1.4 2007/06/19 23:47:17 tbox Exp $ */
1551
1552 #ifndef GENERIC_IPSECKEY_45_H
1553 #define GENERIC_IPSECKEY_45_H 1
1554
1555 typedef struct dns_rdata_ipseckey {
1556         dns_rdatacommon_t       common;
1557         isc_mem_t               *mctx;
1558         isc_uint8_t             precedence;
1559         isc_uint8_t             gateway_type;
1560         isc_uint8_t             algorithm;
1561         struct in_addr          in_addr;        /* gateway type 1 */
1562         struct in6_addr         in6_addr;       /* gateway type 2 */
1563         dns_name_t              gateway;        /* gateway type 3 */
1564         unsigned char           *key;
1565         isc_uint16_t            keylength;
1566 } dns_rdata_ipseckey_t;
1567
1568 #endif /* GENERIC_IPSECKEY_45_H */
1569 /*
1570  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1571  * Copyright (C) 2003  Internet Software Consortium.
1572  *
1573  * Permission to use, copy, modify, and/or distribute this software for any
1574  * purpose with or without fee is hereby granted, provided that the above
1575  * copyright notice and this permission notice appear in all copies.
1576  *
1577  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1578  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1579  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1580  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1581  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1582  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1583  * PERFORMANCE OF THIS SOFTWARE.
1584  */
1585
1586 #ifndef GENERIC_DNSSIG_46_H
1587 #define GENERIC_DNSSIG_46_H 1
1588
1589 /* $Id: rrsig_46.h,v 1.7 2007/06/19 23:47:17 tbox Exp $ */
1590
1591 /*!
1592  *  \brief Per RFC2535 */
1593 typedef struct dns_rdata_rrsig {
1594         dns_rdatacommon_t       common;
1595         isc_mem_t *             mctx;
1596         dns_rdatatype_t         covered;
1597         dns_secalg_t            algorithm;
1598         isc_uint8_t             labels;
1599         isc_uint32_t            originalttl;
1600         isc_uint32_t            timeexpire;
1601         isc_uint32_t            timesigned;
1602         isc_uint16_t            keyid;
1603         dns_name_t              signer;
1604         isc_uint16_t            siglen;
1605         unsigned char *         signature;
1606 } dns_rdata_rrsig_t;
1607
1608
1609 #endif /* GENERIC_DNSSIG_46_H */
1610 /*
1611  * Copyright (C) 2004, 2005, 2007, 2008  Internet Systems Consortium, Inc. ("ISC")
1612  * Copyright (C) 2003  Internet Software Consortium.
1613  *
1614  * Permission to use, copy, modify, and/or distribute this software for any
1615  * purpose with or without fee is hereby granted, provided that the above
1616  * copyright notice and this permission notice appear in all copies.
1617  *
1618  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1619  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1620  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1621  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1622  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1623  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1624  * PERFORMANCE OF THIS SOFTWARE.
1625  */
1626
1627 #ifndef GENERIC_NSEC_47_H
1628 #define GENERIC_NSEC_47_H 1
1629
1630 /* $Id: nsec_47.h,v 1.10 2008/07/15 23:47:21 tbox Exp $ */
1631
1632 /*!
1633  * \brief Per RFC 3845 */
1634
1635 typedef struct dns_rdata_nsec {
1636         dns_rdatacommon_t       common;
1637         isc_mem_t               *mctx;
1638         dns_name_t              next;
1639         unsigned char           *typebits;
1640         isc_uint16_t            len;
1641 } dns_rdata_nsec_t;
1642
1643 #endif /* GENERIC_NSEC_47_H */
1644 /*
1645  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1646  * Copyright (C) 2003  Internet Software Consortium.
1647  *
1648  * Permission to use, copy, modify, and/or distribute this software for any
1649  * purpose with or without fee is hereby granted, provided that the above
1650  * copyright notice and this permission notice appear in all copies.
1651  *
1652  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1653  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1654  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1655  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1656  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1657  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1658  * PERFORMANCE OF THIS SOFTWARE.
1659  */
1660
1661 #ifndef GENERIC_DNSKEY_48_H
1662 #define GENERIC_DNSKEY_48_H 1
1663
1664 /* $Id: dnskey_48.h,v 1.7 2007/06/19 23:47:17 tbox Exp $ */
1665
1666 /*!
1667  *  \brief per RFC2535 */
1668
1669 typedef struct dns_rdata_dnskey {
1670         dns_rdatacommon_t       common;
1671         isc_mem_t *             mctx;
1672         isc_uint16_t            flags;
1673         isc_uint8_t             protocol;
1674         isc_uint8_t             algorithm;
1675         isc_uint16_t            datalen;
1676         unsigned char *         data;
1677 } dns_rdata_dnskey_t;
1678
1679
1680 #endif /* GENERIC_DNSKEY_48_H */
1681 /*
1682  * Copyright (C) 2006, 2007  Internet Systems Consortium, Inc. ("ISC")
1683  *
1684  * Permission to use, copy, modify, and/or distribute this software for any
1685  * purpose with or without fee is hereby granted, provided that the above
1686  * copyright notice and this permission notice appear in all copies.
1687  *
1688  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1689  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1690  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1691  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1692  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1693  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1694  * PERFORMANCE OF THIS SOFTWARE.
1695  */
1696
1697 /* */
1698 #ifndef IN_1_DHCID_49_H
1699 #define IN_1_DHCID_49_H 1
1700
1701 /* $Id: dhcid_49.h,v 1.5 2007/06/19 23:47:17 tbox Exp $ */
1702
1703 typedef struct dns_rdata_in_dhcid {
1704         dns_rdatacommon_t       common;
1705         isc_mem_t               *mctx;
1706         unsigned char           *dhcid;
1707         unsigned int            length;
1708 } dns_rdata_in_dhcid_t;
1709
1710 #endif /* IN_1_DHCID_49_H */
1711 /*
1712  * Copyright (C) 2008, 2012  Internet Systems Consortium, Inc. ("ISC")
1713  *
1714  * Permission to use, copy, modify, and/or distribute this software for any
1715  * purpose with or without fee is hereby granted, provided that the above
1716  * copyright notice and this permission notice appear in all copies.
1717  *
1718  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1719  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1720  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1721  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1722  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1723  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1724  * PERFORMANCE OF THIS SOFTWARE.
1725  */
1726
1727
1728 #ifndef GENERIC_NSEC3_50_H
1729 #define GENERIC_NSEC3_50_H 1
1730
1731 /* $Id$ */
1732
1733 /*!
1734  * \brief Per RFC 5155 */
1735
1736 #include <isc/iterated_hash.h>
1737
1738 typedef struct dns_rdata_nsec3 {
1739         dns_rdatacommon_t       common;
1740         isc_mem_t               *mctx;
1741         dns_hash_t              hash;
1742         unsigned char           flags;
1743         dns_iterations_t        iterations;
1744         unsigned char           salt_length;
1745         unsigned char           next_length;
1746         isc_uint16_t            len;
1747         unsigned char           *salt;
1748         unsigned char           *next;
1749         unsigned char           *typebits;
1750 } dns_rdata_nsec3_t;
1751
1752 /*
1753  * The corresponding NSEC3 interval is OPTOUT indicating possible
1754  * insecure delegations.
1755  */
1756 #define DNS_NSEC3FLAG_OPTOUT 0x01U
1757
1758 /*%
1759  * Non-standard, NSEC3PARAM only.
1760  *
1761  * Create a corresponding NSEC3 chain.
1762  * Once the NSEC3 chain is complete this flag will be removed to signal
1763  * that there is a complete chain.
1764  *
1765  * This flag is automatically set when a NSEC3PARAM record is added to
1766  * the zone via UPDATE.
1767  *
1768  * NSEC3PARAM records with this flag set are supposed to be ignored by
1769  * RFC 5155 compliant nameservers.
1770  */
1771 #define DNS_NSEC3FLAG_CREATE 0x80U
1772
1773 /*%
1774  * Non-standard, NSEC3PARAM only.
1775  *
1776  * The corresponding NSEC3 set is to be removed once the NSEC chain
1777  * has been generated.
1778  *
1779  * This flag is automatically set when the last active NSEC3PARAM record
1780  * is removed from the zone via UPDATE.
1781  *
1782  * NSEC3PARAM records with this flag set are supposed to be ignored by
1783  * RFC 5155 compliant nameservers.
1784  */
1785 #define DNS_NSEC3FLAG_REMOVE 0x40U
1786
1787 /*%
1788  * Non-standard, NSEC3PARAM only.
1789  *
1790  * Used to identify NSEC3PARAM records added in this UPDATE request.
1791  */
1792 #define DNS_NSEC3FLAG_UPDATE 0x20U
1793
1794 /*%
1795  * Non-standard, NSEC3PARAM only.
1796  *
1797  * Prevent the creation of a NSEC chain before the last NSEC3 chain
1798  * is removed.  This will normally only be set when the zone is
1799  * transitioning from secure with NSEC3 chains to insecure.
1800  */
1801 #define DNS_NSEC3FLAG_NONSEC 0x10U
1802
1803 #endif /* GENERIC_NSEC3_50_H */
1804 /*
1805  * Copyright (C) 2008  Internet Systems Consortium, Inc. ("ISC")
1806  *
1807  * Permission to use, copy, modify, and/or distribute this software for any
1808  * purpose with or without fee is hereby granted, provided that the above
1809  * copyright notice and this permission notice appear in all copies.
1810  *
1811  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1812  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1813  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1814  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1815  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1816  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1817  * PERFORMANCE OF THIS SOFTWARE.
1818  */
1819
1820
1821 #ifndef GENERIC_NSEC3PARAM_51_H
1822 #define GENERIC_NSEC3PARAM_51_H 1
1823
1824 /* $Id: nsec3param_51.h,v 1.4 2008/09/25 04:02:39 tbox Exp $ */
1825
1826 /*!
1827  * \brief Per RFC 5155 */
1828
1829 #include <isc/iterated_hash.h>
1830
1831 typedef struct dns_rdata_nsec3param {
1832         dns_rdatacommon_t       common;
1833         isc_mem_t               *mctx;
1834         dns_hash_t              hash;
1835         unsigned char           flags;          /* DNS_NSEC3FLAG_* */
1836         dns_iterations_t        iterations;
1837         unsigned char           salt_length;
1838         unsigned char           *salt;
1839 } dns_rdata_nsec3param_t;
1840
1841 #endif /* GENERIC_NSEC3PARAM_51_H */
1842 /*
1843  * Copyright (C) 2012  Internet Systems Consortium, Inc. ("ISC")
1844  *
1845  * Permission to use, copy, modify, and/or distribute this software for any
1846  * purpose with or without fee is hereby granted, provided that the above
1847  * copyright notice and this permission notice appear in all copies.
1848  *
1849  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1850  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1851  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1852  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1853  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1854  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1855  * PERFORMANCE OF THIS SOFTWARE.
1856  */
1857
1858 /* $Id$ */
1859
1860 #ifndef GENERIC_TLSA_52_H
1861 #define GENERIC_TLSA_52_H 1
1862
1863 /*!
1864  *  \brief per draft-ietf-dane-protocol-19.txt
1865  */
1866 typedef struct dns_rdata_tlsa {
1867         dns_rdatacommon_t       common;
1868         isc_mem_t               *mctx;
1869         isc_uint8_t             usage;
1870         isc_uint8_t             selector;
1871         isc_uint8_t             match;
1872         isc_uint16_t            length;
1873         unsigned char           *data;
1874 } dns_rdata_tlsa_t;
1875
1876 #endif /* GENERIC_TLSA_52_H */
1877 /*
1878  * Copyright (C) 2009  Internet Systems Consortium, Inc. ("ISC")
1879  *
1880  * Permission to use, copy, modify, and/or distribute this software for any
1881  * purpose with or without fee is hereby granted, provided that the above
1882  * copyright notice and this permission notice appear in all copies.
1883  *
1884  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1885  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1886  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1887  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1888  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1889  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1890  * PERFORMANCE OF THIS SOFTWARE.
1891  */
1892
1893 /* $Id: hip_55.h,v 1.2 2009/02/26 06:09:19 marka Exp $ */
1894
1895 #ifndef GENERIC_HIP_5_H
1896 #define GENERIC_HIP_5_H 1
1897
1898 /* RFC 5205 */
1899
1900 typedef struct dns_rdata_hip {
1901         dns_rdatacommon_t       common;
1902         isc_mem_t *             mctx;
1903         unsigned char *         hit;
1904         unsigned char *         key;
1905         unsigned char *         servers;
1906         isc_uint8_t             algorithm;
1907         isc_uint8_t             hit_len;
1908         isc_uint16_t            key_len;
1909         isc_uint16_t            servers_len;
1910         /* Private */
1911         isc_uint16_t            offset;
1912 } dns_rdata_hip_t;
1913
1914 isc_result_t
1915 dns_rdata_hip_first(dns_rdata_hip_t *);
1916
1917 isc_result_t
1918 dns_rdata_hip_next(dns_rdata_hip_t *);
1919
1920 void
1921 dns_rdata_hip_current(dns_rdata_hip_t *, dns_name_t *);
1922
1923 #endif /* GENERIC_HIP_5_H */
1924 /*
1925  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1926  * Copyright (C) 1998-2001  Internet Software Consortium.
1927  *
1928  * Permission to use, copy, modify, and/or distribute this software for any
1929  * purpose with or without fee is hereby granted, provided that the above
1930  * copyright notice and this permission notice appear in all copies.
1931  *
1932  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1933  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1934  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1935  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1936  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1937  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1938  * PERFORMANCE OF THIS SOFTWARE.
1939  */
1940
1941 #ifndef GENERIC_SPF_99_H
1942 #define GENERIC_SPF_99_H 1
1943
1944 /* $Id: spf_99.h,v 1.4 2007/06/19 23:47:17 tbox Exp $ */
1945
1946 typedef struct dns_rdata_spf_string {
1947                 isc_uint8_t    length;
1948                 unsigned char   *data;
1949 } dns_rdata_spf_string_t;
1950
1951 typedef struct dns_rdata_spf {
1952         dns_rdatacommon_t       common;
1953         isc_mem_t               *mctx;
1954         unsigned char           *txt;
1955         isc_uint16_t            txt_len;
1956         /* private */
1957         isc_uint16_t            offset;
1958 } dns_rdata_spf_t;
1959
1960 /*
1961  * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
1962  * via rdatastructpre.h and rdatastructsuf.h.
1963  */
1964
1965 isc_result_t
1966 dns_rdata_spf_first(dns_rdata_spf_t *);
1967
1968 isc_result_t
1969 dns_rdata_spf_next(dns_rdata_spf_t *);
1970
1971 isc_result_t
1972 dns_rdata_spf_current(dns_rdata_spf_t *, dns_rdata_spf_string_t *);
1973
1974 #endif /* GENERIC_SPF_99_H */
1975 /*
1976  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
1977  * Copyright (C) 1999-2001  Internet Software Consortium.
1978  *
1979  * Permission to use, copy, modify, and/or distribute this software for any
1980  * purpose with or without fee is hereby granted, provided that the above
1981  * copyright notice and this permission notice appear in all copies.
1982  *
1983  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
1984  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1985  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
1986  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1987  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
1988  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1989  * PERFORMANCE OF THIS SOFTWARE.
1990  */
1991
1992 /* */
1993 #ifndef GENERIC_UNSPEC_103_H
1994 #define GENERIC_UNSPEC_103_H 1
1995
1996 /* $Id: unspec_103.h,v 1.17 2007/06/19 23:47:17 tbox Exp $ */
1997
1998 typedef struct dns_rdata_unspec_t {
1999         dns_rdatacommon_t       common;
2000         isc_mem_t               *mctx;
2001         unsigned char           *data;
2002         isc_uint16_t            datalen;
2003 } dns_rdata_unspec_t;
2004
2005 #endif /* GENERIC_UNSPEC_103_H */
2006 /*
2007  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
2008  * Copyright (C) 1999-2001, 2003  Internet Software Consortium.
2009  *
2010  * Permission to use, copy, modify, and/or distribute this software for any
2011  * purpose with or without fee is hereby granted, provided that the above
2012  * copyright notice and this permission notice appear in all copies.
2013  *
2014  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
2015  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2016  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
2017  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2018  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
2019  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2020  * PERFORMANCE OF THIS SOFTWARE.
2021  */
2022
2023 #ifndef GENERIC_TKEY_249_H
2024 #define GENERIC_TKEY_249_H 1
2025
2026 /* $Id: tkey_249.h,v 1.24 2007/06/19 23:47:17 tbox Exp $ */
2027
2028 /*!
2029  *  \brief Per draft-ietf-dnsind-tkey-00.txt */
2030
2031 typedef struct dns_rdata_tkey {
2032         dns_rdatacommon_t       common;
2033         isc_mem_t *             mctx;
2034         dns_name_t              algorithm;
2035         isc_uint32_t            inception;
2036         isc_uint32_t            expire;
2037         isc_uint16_t            mode;
2038         isc_uint16_t            error;
2039         isc_uint16_t            keylen;
2040         unsigned char *         key;
2041         isc_uint16_t            otherlen;
2042         unsigned char *         other;
2043 } dns_rdata_tkey_t;
2044
2045
2046 #endif /* GENERIC_TKEY_249_H */
2047 /*
2048  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
2049  * Copyright (C) 1999-2001  Internet Software Consortium.
2050  *
2051  * Permission to use, copy, modify, and/or distribute this software for any
2052  * purpose with or without fee is hereby granted, provided that the above
2053  * copyright notice and this permission notice appear in all copies.
2054  *
2055  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
2056  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2057  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
2058  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2059  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
2060  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2061  * PERFORMANCE OF THIS SOFTWARE.
2062  */
2063
2064 /* $Id: tsig_250.h,v 1.25 2007/06/19 23:47:17 tbox Exp $ */
2065
2066 #ifndef ANY_255_TSIG_250_H
2067 #define ANY_255_TSIG_250_H 1
2068
2069 /*% RFC2845 */
2070 typedef struct dns_rdata_any_tsig {
2071         dns_rdatacommon_t       common;
2072         isc_mem_t *             mctx;
2073         dns_name_t              algorithm;
2074         isc_uint64_t            timesigned;
2075         isc_uint16_t            fudge;
2076         isc_uint16_t            siglen;
2077         unsigned char *         signature;
2078         isc_uint16_t            originalid;
2079         isc_uint16_t            error;
2080         isc_uint16_t            otherlen;
2081         unsigned char *         other;
2082 } dns_rdata_any_tsig_t;
2083
2084 #endif /* ANY_255_TSIG_250_H */
2085 /*
2086  * Copyright (C) 2004, 2006, 2007  Internet Systems Consortium, Inc. ("ISC")
2087  *
2088  * Permission to use, copy, modify, and/or distribute this software for any
2089  * purpose with or without fee is hereby granted, provided that the above
2090  * copyright notice and this permission notice appear in all copies.
2091  *
2092  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
2093  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2094  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
2095  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2096  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
2097  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2098  * PERFORMANCE OF THIS SOFTWARE.
2099  */
2100
2101 /* $Id: dlv_32769.h,v 1.5 2007/06/19 23:47:17 tbox Exp $ */
2102
2103 /* draft-ietf-dnsext-delegation-signer-05.txt */
2104 #ifndef GENERIC_DLV_32769_H
2105 #define GENERIC_DLV_32769_H 1
2106
2107 typedef struct dns_rdata_dlv {
2108         dns_rdatacommon_t       common;
2109         isc_mem_t               *mctx;
2110         isc_uint16_t            key_tag;
2111         isc_uint8_t             algorithm;
2112         isc_uint8_t             digest_type;
2113         isc_uint16_t            length;
2114         unsigned char           *digest;
2115 } dns_rdata_dlv_t;
2116
2117 #endif /* GENERIC_DLV_32769_H */
2118 /*
2119  * Copyright (C) 2009  Internet Systems Consortium, Inc. ("ISC")
2120  *
2121  * Permission to use, copy, modify, and/or distribute this software for any
2122  * purpose with or without fee is hereby granted, provided that the above
2123  * copyright notice and this permission notice appear in all copies.
2124  *
2125  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
2126  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2127  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
2128  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2129  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
2130  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2131  * PERFORMANCE OF THIS SOFTWARE.
2132  */
2133
2134 #ifndef GENERIC_KEYDATA_65533_H
2135 #define GENERIC_KEYDATA_65533_H 1
2136
2137 /* $Id: keydata_65533.h,v 1.2 2009/06/30 02:52:32 each Exp $ */
2138
2139 typedef struct dns_rdata_keydata {
2140         dns_rdatacommon_t       common;
2141         isc_mem_t *             mctx;
2142         isc_uint32_t            refresh;      /* Timer for refreshing data */
2143         isc_uint32_t            addhd;        /* Hold-down timer for adding */
2144         isc_uint32_t            removehd;     /* Hold-down timer for removing */
2145         isc_uint16_t            flags;        /* Copy of DNSKEY_48 */
2146         isc_uint8_t             protocol;
2147         isc_uint8_t             algorithm;
2148         isc_uint16_t            datalen;
2149         unsigned char *         data;
2150 } dns_rdata_keydata_t;
2151
2152 #endif /* GENERIC_KEYDATA_65533_H */
2153 /*
2154  * Copyright (C) 2004, 2007  Internet Systems Consortium, Inc. ("ISC")
2155  * Copyright (C) 1999-2001  Internet Software Consortium.
2156  *
2157  * Permission to use, copy, modify, and/or distribute this software for any
2158  * purpose with or without fee is hereby granted, provided that the above
2159  * copyright notice and this permission notice appear in all copies.
2160  *
2161  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
2162  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2163  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
2164  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2165  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
2166  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2167  * PERFORMANCE OF THIS SOFTWARE.
2168  */
2169
2170 /* $Id: rdatastructsuf.h,v 1.10 2007/06/19 23:47:17 tbox Exp $ */
2171
2172 ISC_LANG_ENDDECLS
2173
2174 #endif /* DNS_RDATASTRUCT_H */