Lines Matching defs:rdataset
27 #include <dns/rdataset.h>
64 dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, dns_rdataset_t *rdataset) {
66 * Make 'rdataset' refer to the rdata in 'rdatalist'.
70 REQUIRE(DNS_RDATASET_VALID(rdataset));
71 REQUIRE(!dns_rdataset_isassociated(rdataset));
76 *rdataset = (dns_rdataset_t){
84 .link = rdataset->link,
85 .count = rdataset->count,
86 .attributes = rdataset->attributes,
87 .magic = rdataset->magic,
92 dns_rdatalist_fromrdataset(dns_rdataset_t *rdataset,
94 REQUIRE(rdatalist != NULL && rdataset != NULL);
95 REQUIRE(rdataset->methods == &methods);
97 *rdatalist = rdataset->rdlist.list;
101 dns_rdatalist_disassociate(dns_rdataset_t *rdataset DNS__DB_FLARG) {
102 UNUSED(rdataset);
106 dns_rdatalist_first(dns_rdataset_t *rdataset) {
109 rdatalist = rdataset->rdlist.list;
110 rdataset->rdlist.iter = ISC_LIST_HEAD(rdatalist->rdata);
112 if (rdataset->rdlist.iter == NULL) {
120 dns_rdatalist_next(dns_rdataset_t *rdataset) {
123 rdata = rdataset->rdlist.iter;
128 rdataset->rdlist.iter = ISC_LIST_NEXT(rdata, link);
130 if (rdataset->rdlist.iter == NULL) {
138 dns_rdatalist_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata) {
141 list_rdata = rdataset->rdlist.iter;
159 dns_rdatalist_count(dns_rdataset_t *rdataset) {
164 REQUIRE(rdataset != NULL);
166 rdatalist = rdataset->rdlist.list;
179 dns_rdatalist_addnoqname(dns_rdataset_t *rdataset, const dns_name_t *name) {
185 REQUIRE(rdataset != NULL);
190 if (rdset->rdclass != rdataset->rdclass) {
219 ttl = rdataset->ttl;
226 rdataset->ttl = neg->ttl = negsig->ttl = ttl;
227 rdataset->attributes |= DNS_RDATASETATTR_NOQNAME;
228 rdataset->rdlist.noqname = name;
233 dns_rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name,
241 REQUIRE(rdataset != NULL);
242 REQUIRE((rdataset->attributes & DNS_RDATASETATTR_NOQNAME) != 0);
244 rdclass = rdataset->rdclass;
245 noqname = rdataset->rdlist.noqname;
249 for (rdataset = ISC_LIST_HEAD(noqname->list); rdataset != NULL;
250 rdataset = ISC_LIST_NEXT(rdataset, link))
252 if (rdataset->rdclass != rdclass) {
255 if (rdataset->type == dns_rdatatype_nsec ||
256 rdataset->type == dns_rdatatype_nsec3)
258 tneg = rdataset;
265 for (rdataset = ISC_LIST_HEAD(noqname->list); rdataset != NULL;
266 rdataset = ISC_LIST_NEXT(rdataset, link))
268 if (rdataset->type == dns_rdatatype_rrsig &&
269 rdataset->covers == tneg->type)
271 tnegsig = rdataset;
285 dns_rdatalist_addclosest(dns_rdataset_t *rdataset, const dns_name_t *name) {
291 REQUIRE(rdataset != NULL);
296 if (rdset->rdclass != rdataset->rdclass) {
325 ttl = rdataset->ttl;
332 rdataset->ttl = neg->ttl = negsig->ttl = ttl;
333 rdataset->attributes |= DNS_RDATASETATTR_CLOSEST;
334 rdataset->rdlist.closest = name;
339 dns_rdatalist_getclosest(dns_rdataset_t *rdataset, dns_name_t *name,
347 REQUIRE(rdataset != NULL);
348 REQUIRE((rdataset->attributes & DNS_RDATASETATTR_CLOSEST) != 0);
350 rdclass = rdataset->rdclass;
351 closest = rdataset->rdlist.closest;
355 for (rdataset = ISC_LIST_HEAD(closest->list); rdataset != NULL;
356 rdataset = ISC_LIST_NEXT(rdataset, link))
358 if (rdataset->rdclass != rdclass) {
361 if (rdataset->type == dns_rdatatype_nsec ||
362 rdataset->type == dns_rdatatype_nsec3)
364 tneg = rdataset;
371 for (rdataset = ISC_LIST_HEAD(closest->list); rdataset != NULL;
372 rdataset = ISC_LIST_NEXT(rdataset, link))
374 if (rdataset->type == dns_rdatatype_rrsig &&
375 rdataset->covers == tneg->type)
377 tnegsig = rdataset;
391 dns_rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name) {
399 rdatalist = rdataset->rdlist.list;
413 dns_rdatalist_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name) {
417 rdatalist = rdataset->rdlist.list;