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