Differences From Artifact [b98f4297c1]:
- File
src/OFDNSResourceRecord.h
— part of check-in
[ee592cf603]
at
2019-10-07 00:07:55
on branch trunk
— OFDNSResolver: Major refactor
This temporarily doesn't use the search domains anymore and makes CNAMEs
slightly more inefficient. The next commits will fix both. (user: js, size: 19069) [annotate] [blame] [check-ins using]
To Artifact [b9392a37ff]:
- File src/OFDNSResourceRecord.h — part of check-in [7fa337b8a4] at 2019-10-20 01:13:36 on branch trunk — Rename of_dns{_resource -> }_record_type_t (user: js, size: 18776) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
37 38 39 40 41 42 43 | } of_dns_class_t; /*! * @brief The type of a DNS resource record. */ typedef enum { /*! A */ | | | | | | | | | | | | | | | | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | } of_dns_class_t; /*! * @brief The type of a DNS resource record. */ typedef enum { /*! A */ OF_DNS_RECORD_TYPE_A = 1, /*! NS */ OF_DNS_RECORD_TYPE_NS = 2, /*! CNAME */ OF_DNS_RECORD_TYPE_CNAME = 5, /*! SOA */ OF_DNS_RECORD_TYPE_SOA = 6, /*! PTR */ OF_DNS_RECORD_TYPE_PTR = 12, /*! HINFO */ OF_DNS_RECORD_TYPE_HINFO = 13, /*! MX */ OF_DNS_RECORD_TYPE_MX = 15, /*! TXT */ OF_DNS_RECORD_TYPE_TXT = 16, /*! RP */ OF_DNS_RECORD_TYPE_RP = 17, /*! AAAA */ OF_DNS_RECORD_TYPE_AAAA = 28, /*! SRV */ OF_DNS_RECORD_TYPE_SRV = 33, /*! All types. Only for queries. */ OF_DNS_RECORD_TYPE_ALL = 255, } of_dns_record_type_t; /*! * @class OFDNSResourceRecord OFDNSResourceRecord.h ObjFW/OFDNSResourceRecord.h * * @brief A class representing a DNS resource record. */ @interface OFDNSResourceRecord: OFObject <OFCopying> { OFString *_name; of_dns_class_t _DNSClass; of_dns_record_type_t _recordType; uint32_t _TTL; OF_RESERVE_IVARS(4) } /** * @brief The domain name to which the resource record belongs. */ @property (readonly, nonatomic) OFString *name; /*! * @brief The DNS class. */ @property (readonly, nonatomic) of_dns_class_t DNSClass; /*! * @brief The resource record type code. */ @property (readonly, nonatomic) of_dns_record_type_t recordType; /*! * @brief The number of seconds after which the resource record should be * discarded from the cache. */ @property (readonly, nonatomic) uint32_t TTL; /*! * @brief Initializes an already allocated OFDNSResourceRecord with the * specified name, class, type, data and time to live. * * @param name The name for the resource record * @param DNSClass The class code for the resource record * @param recordType The type code for the resource record * @param TTL The time to live for the resource record * @return An initialized OFDNSResourceRecord */ - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_DESIGNATED_INITIALIZER; @end /*! * @class OFADNSResourceRecord OFDNSResourceRecord.h ObjFW/OFDNSResourceRecord.h * * @brief A class representing an A DNS resource record. |
︙ | ︙ | |||
131 132 133 134 135 136 137 | /*! * @brief The IPv4 address of the resource record. */ @property (readonly, nonatomic) const of_socket_address_t *address; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | /*! * @brief The IPv4 address of the resource record. */ @property (readonly, nonatomic) const of_socket_address_t *address; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFADNSResourceRecord with the * specified name, class, address and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
167 168 169 170 171 172 173 | /*! * @brief The IPv6 address of the resource record. */ @property (readonly, nonatomic) const of_socket_address_t *address; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | /*! * @brief The IPv6 address of the resource record. */ @property (readonly, nonatomic) const of_socket_address_t *address; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFAAAADNSResourceRecord with the * specified name, class, address and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
203 204 205 206 207 208 209 | /*! * @brief The alias of the resource record. */ @property (readonly, nonatomic) OFString *alias; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | /*! * @brief The alias of the resource record. */ @property (readonly, nonatomic) OFString *alias; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFCNAMEDNSResourceRecord with the * specified name, class, alias and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
246 247 248 249 250 251 252 | /*! * @brief The OS of the host info of the resource record. */ @property (readonly, nonatomic) OFString *OS; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | /*! * @brief The OS of the host info of the resource record. */ @property (readonly, nonatomic) OFString *OS; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFHINFODNSResourceRecord with the * specified name, class, domain name and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
292 293 294 295 296 297 298 | /*! * @brief The mail exchange of the resource record. */ @property (readonly, nonatomic) OFString *mailExchange; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 | /*! * @brief The mail exchange of the resource record. */ @property (readonly, nonatomic) OFString *mailExchange; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFMXDNSResourceRecord with the * specified name, class, preference, mail exchange and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
332 333 334 335 336 337 338 | /*! * @brief The authoritative host of the resource record. */ @property (readonly, nonatomic) OFString *authoritativeHost; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 | /*! * @brief The authoritative host of the resource record. */ @property (readonly, nonatomic) OFString *authoritativeHost; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFNSDNSResourceRecord with the * specified name, class, authoritative host and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
370 371 372 373 374 375 376 | /*! * @brief The domain name of the resource record. */ @property (readonly, nonatomic) OFString *domainName; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 | /*! * @brief The domain name of the resource record. */ @property (readonly, nonatomic) OFString *domainName; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFPTRDNSResourceRecord with the * specified name, class, domain name and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
414 415 416 417 418 419 420 | * @brief A domain name that contains a TXT resource record for the responsible * person of the resource record. */ @property (readonly, nonatomic) OFString *TXTDomainName; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 | * @brief A domain name that contains a TXT resource record for the responsible * person of the resource record. */ @property (readonly, nonatomic) OFString *TXTDomainName; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFRPDNSResourceRecord with the * specified name, class, alias and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
487 488 489 490 491 492 493 | /*! * @brief The minimum TTL of the zone. */ @property (readonly, nonatomic) uint32_t minTTL; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 | /*! * @brief The minimum TTL of the zone. */ @property (readonly, nonatomic) uint32_t minTTL; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFSOADNSResourceRecord with the * specified name, class, text data and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
554 555 556 557 558 559 560 | /*! * @brief The port on the target of the resource record. */ @property (readonly, nonatomic) uint16_t port; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 | /*! * @brief The port on the target of the resource record. */ @property (readonly, nonatomic) uint16_t port; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFSRVDNSResourceRecord with the * specified name, class, preference, mail exchange and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
596 597 598 599 600 601 602 | /*! * @brief The text of the resource record. */ @property (readonly, nonatomic) OFData *textData; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass | | | 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 | /*! * @brief The text of the resource record. */ @property (readonly, nonatomic) OFData *textData; - (instancetype)initWithName: (OFString *)name DNSClass: (of_dns_class_t)DNSClass recordType: (of_dns_record_type_t)recordType TTL: (uint32_t)TTL OF_UNAVAILABLE; /*! * @brief Initializes an already allocated OFTXTDNSResourceRecord with the * specified name, class, text data and time to live. * * @param name The name for the resource record |
︙ | ︙ | |||
619 620 621 622 623 624 625 | TTL: (uint32_t)TTL OF_DESIGNATED_INITIALIZER; @end #ifdef __cplusplus extern "C" { #endif extern OFString *_Nonnull of_dns_class_to_string(of_dns_class_t DNSClass); | | | < | | 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 | TTL: (uint32_t)TTL OF_DESIGNATED_INITIALIZER; @end #ifdef __cplusplus extern "C" { #endif extern OFString *_Nonnull of_dns_class_to_string(of_dns_class_t DNSClass); extern OFString *_Nonnull of_dns_record_type_to_string( of_dns_record_type_t recordType); extern of_dns_class_t of_dns_class_parse(OFString *_Nonnull string); extern of_dns_record_type_t of_dns_record_type_parse(OFString *_Nonnull string); #ifdef __cplusplus } #endif OF_ASSUME_NONNULL_END |