void (*getownercase)(const dns_rdataset_t *rdataset, dns_name_t *name);
isc_result_t (*addglue)(dns_rdataset_t *rdataset,
dns_dbversion_t *version, dns_message_t *msg);
- bool (*equals)(const dns_rdataset_t *rdataset1,
- const dns_rdataset_t *rdataset2);
} dns_rdatasetmethods_t;
#define DNS_RDATASET_MAGIC ISC_MAGIC('D', 'N', 'S', 'R')
* Display trust in textual form.
*/
-bool
-dns_rdataset_equals(const dns_rdataset_t *rdataset1,
- const dns_rdataset_t *rdataset2);
-/*%<
- * Returns true if the rdata in the rdataset is equal.
- *
- * Requires:
- * \li 'rdataset1' is a valid rdataset.
- * \li 'rdataset2' is a valid rdataset.
- */
ISC_LANG_ENDDECLS
NULL,
NULL,
NULL, /* addglue */
- NULL, /* equals */
};
static void
NULL, /* setownercase */
NULL, /* getownercase */
NULL, /* addglue */
- NULL, /* equals */
};
isc_result_t
static isc_result_t
rdataset_addglue(dns_rdataset_t *rdataset, dns_dbversion_t *version,
dns_message_t *msg);
-static bool
-rdataset_equals(const dns_rdataset_t *rdataset1,
- const dns_rdataset_t *rdataset2);
static void
free_gluetable(rbtdb_version_t *version);
static isc_result_t
rdataset_clearprefetch,
rdataset_setownercase,
rdataset_getownercase,
- rdataset_addglue,
- rdataset_equals };
+ rdataset_addglue };
static dns_rdatasetmethods_t slab_methods = {
rdataset_disassociate,
NULL, /* setownercase */
NULL, /* getownercase */
NULL, /* addglue */
- NULL, /* equals */
};
static void
/* UNREACHABLE */
}
-static bool
-rdataset_equals(const dns_rdataset_t *rdataset1,
- const dns_rdataset_t *rdataset2) {
- if (rdataset1->rdclass != rdataset2->rdclass ||
- rdataset1->type != rdataset2->type)
- {
- return false;
- }
-
- uint8_t *header1 = (uint8_t *)rdataset1->private3 -
- sizeof(rdatasetheader_t);
- uint8_t *header2 = (uint8_t *)rdataset2->private3 -
- sizeof(rdatasetheader_t);
- return dns_rdataslab_equalx(header1, header2, sizeof(rdatasetheader_t),
- rdataset1->rdclass, rdataset2->type);
-}
-
/*%
* Routines for LRU-based cache management.
*/
isc__rdatalist_setownercase,
isc__rdatalist_getownercase,
NULL, /* addglue */
- NULL, /* equals */
};
void
NULL, /* setownercase */
NULL, /* getownercase */
NULL, /* addglue */
- NULL, /* equals */
};
void
return (rdataset->methods->addglue)(rdataset, version, msg);
}
-
-bool
-dns_rdataset_equals(const dns_rdataset_t *rdataset1,
- const dns_rdataset_t *rdataset2) {
- REQUIRE(DNS_RDATASET_VALID(rdataset1));
- REQUIRE(DNS_RDATASET_VALID(rdataset2));
-
- if (rdataset1->methods->equals != NULL &&
- rdataset1->methods->equals == rdataset2->methods->equals)
- {
- return (rdataset1->methods->equals)(rdataset1, rdataset2);
- }
-
- return false;
-}
NULL, /* setownercase */
NULL, /* getownercase */
NULL, /* addglue */
- NULL, /* equals */
};
static void
NULL, /* setownercase */
NULL, /* getownercase */
NULL, /* addglue */
- NULL, /* equals */
};
static void