diff options
Diffstat (limited to 'lib/dns/rdata/generic/tlsa_52.c')
-rw-r--r-- | lib/dns/rdata/generic/tlsa_52.c | 80 |
1 files changed, 64 insertions, 16 deletions
diff --git a/lib/dns/rdata/generic/tlsa_52.c b/lib/dns/rdata/generic/tlsa_52.c index d09a5289a805d..cbb73775ebe27 100644 --- a/lib/dns/rdata/generic/tlsa_52.c +++ b/lib/dns/rdata/generic/tlsa_52.c @@ -14,8 +14,6 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id$ */ - /* rfc6698.txt */ #ifndef RDATA_GENERIC_TLSA_52_C @@ -24,11 +22,9 @@ #define RRTYPE_TLSA_ATTRIBUTES 0 static inline isc_result_t -fromtext_tlsa(ARGS_FROMTEXT) { +generic_fromtext_tlsa(ARGS_FROMTEXT) { isc_token_t token; - REQUIRE(type == dns_rdatatype_tlsa); - UNUSED(type); UNUSED(rdclass); UNUSED(origin); @@ -69,12 +65,11 @@ fromtext_tlsa(ARGS_FROMTEXT) { } static inline isc_result_t -totext_tlsa(ARGS_TOTEXT) { +generic_totext_tlsa(ARGS_TOTEXT) { isc_region_t sr; char buf[sizeof("64000 ")]; unsigned int n; - REQUIRE(rdata->type == dns_rdatatype_tlsa); REQUIRE(rdata->length != 0); UNUSED(tctx); @@ -122,11 +117,9 @@ totext_tlsa(ARGS_TOTEXT) { } static inline isc_result_t -fromwire_tlsa(ARGS_FROMWIRE) { +generic_fromwire_tlsa(ARGS_FROMWIRE) { isc_region_t sr; - REQUIRE(type == dns_rdatatype_tlsa); - UNUSED(type); UNUSED(rdclass); UNUSED(dctx); @@ -142,6 +135,32 @@ fromwire_tlsa(ARGS_FROMWIRE) { } static inline isc_result_t +fromtext_tlsa(ARGS_FROMTEXT) { + + REQUIRE(type == dns_rdatatype_tlsa); + + return (generic_fromtext_tlsa(rdclass, type, lexer, origin, options, + target, callbacks)); +} + +static inline isc_result_t +totext_tlsa(ARGS_TOTEXT) { + + REQUIRE(rdata->type == dns_rdatatype_tlsa); + + return (generic_totext_tlsa(rdata, tctx, target)); +} + +static inline isc_result_t +fromwire_tlsa(ARGS_FROMWIRE) { + + REQUIRE(type == dns_rdatatype_tlsa); + + return (generic_fromwire_tlsa(rdclass, type, source, dctx, options, + target)); +} + +static inline isc_result_t towire_tlsa(ARGS_TOWIRE) { isc_region_t sr; @@ -171,10 +190,9 @@ compare_tlsa(ARGS_COMPARE) { } static inline isc_result_t -fromstruct_tlsa(ARGS_FROMSTRUCT) { +generic_fromstruct_tlsa(ARGS_FROMSTRUCT) { dns_rdata_tlsa_t *tlsa = source; - REQUIRE(type == dns_rdatatype_tlsa); REQUIRE(source != NULL); REQUIRE(tlsa->common.rdtype == type); REQUIRE(tlsa->common.rdclass == rdclass); @@ -190,11 +208,10 @@ fromstruct_tlsa(ARGS_FROMSTRUCT) { } static inline isc_result_t -tostruct_tlsa(ARGS_TOSTRUCT) { +generic_tostruct_tlsa(ARGS_TOSTRUCT) { dns_rdata_tlsa_t *tlsa = target; isc_region_t region; - REQUIRE(rdata->type == dns_rdatatype_tlsa); REQUIRE(target != NULL); REQUIRE(rdata->length != 0); @@ -221,11 +238,10 @@ tostruct_tlsa(ARGS_TOSTRUCT) { } static inline void -freestruct_tlsa(ARGS_FREESTRUCT) { +generic_freestruct_tlsa(ARGS_FREESTRUCT) { dns_rdata_tlsa_t *tlsa = source; REQUIRE(tlsa != NULL); - REQUIRE(tlsa->common.rdtype == dns_rdatatype_tlsa); if (tlsa->mctx == NULL) return; @@ -236,6 +252,38 @@ freestruct_tlsa(ARGS_FREESTRUCT) { } static inline isc_result_t +fromstruct_tlsa(ARGS_FROMSTRUCT) { + + REQUIRE(type == dns_rdatatype_tlsa); + + return (generic_fromstruct_tlsa(rdclass, type, source, target)); +} + +static inline isc_result_t +tostruct_tlsa(ARGS_TOSTRUCT) { + dns_rdata_txt_t *txt = target; + + REQUIRE(rdata->type == dns_rdatatype_tlsa); + REQUIRE(target != NULL); + + txt->common.rdclass = rdata->rdclass; + txt->common.rdtype = rdata->type; + ISC_LINK_INIT(&txt->common, link); + + return (generic_tostruct_tlsa(rdata, target, mctx)); +} + +static inline void +freestruct_tlsa(ARGS_FREESTRUCT) { + dns_rdata_txt_t *txt = source; + + REQUIRE(source != NULL); + REQUIRE(txt->common.rdtype == dns_rdatatype_tlsa); + + generic_freestruct_tlsa(source); +} + +static inline isc_result_t additionaldata_tlsa(ARGS_ADDLDATA) { REQUIRE(rdata->type == dns_rdatatype_tlsa); |