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@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