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