#ifndef GENERIC_URI_256_C
#define GENERIC_URI_256_C 1
static inline isc_result_t
totext_uri(ARGS_TOTEXT) {
isc_region_t region;
unsigned short priority, weight;
char buf[sizeof("65000 ")];
UNUSED(tctx);
REQUIRE(rdata->type == dns_rdatatype_uri);
REQUIRE(rdata->length != 0);
dns_rdata_toregion(rdata, ®ion);
priority = uint16_fromregion(®ion);
isc_region_consume(®ion, 2);
snprintf(buf, sizeof(buf), "%u ", priority);
RETERR(isc_str_tobuffer(buf, target));
weight = uint16_fromregion(®ion);
isc_region_consume(®ion, 2);
snprintf(buf, sizeof(buf), "%u ", weight);
RETERR(isc_str_tobuffer(buf, target));
RETERR(multitxt_totext(®ion, target));
return (ISC_R_SUCCESS);
}
static inline isc_result_t
fromwire_uri(ARGS_FROMWIRE) {
isc_region_t region;
REQUIRE(type == dns_rdatatype_uri);
UNUSED(type);
UNUSED(rdclass);
UNUSED(dctx);
UNUSED(options);
isc_buffer_activeregion(source, ®ion);
if (region.length < 4)
return (ISC_R_UNEXPECTEDEND);
isc_buffer_forward(source, region.length);
return (isc_mem_tobuffer(target, region.base, region.length));
}
static inline isc_result_t
towire_uri(ARGS_TOWIRE) {
isc_region_t region;
REQUIRE(rdata->type == dns_rdatatype_uri);
REQUIRE(rdata->length != 0);
UNUSED(cctx);
dns_rdata_toregion(rdata, ®ion);
return (isc_mem_tobuffer(target, region.base, region.length));
}
#endif