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