static inline isc_result_t totext_naptr(ARGS_TOTEXT) { isc_region_t region; dns_name_t name; dns_name_t prefix; isc_boolean_t sub; char buf[sizeof("64000")]; unsigned short num; REQUIRE(rdata->type == dns_rdatatype_naptr); REQUIRE(rdata->length != 0); dns_name_init(&name, NULL); dns_name_init(&prefix, NULL); dns_rdata_toregion(rdata, ®ion); /* * Order. */ num = uint16_fromregion(®ion); isc_region_consume(®ion, 2); sprintf(buf, "%u", num); RETERR(str_totext(buf, target)); RETERR(str_totext(" ", target)); /* * Preference. */ num = uint16_fromregion(®ion); isc_region_consume(®ion, 2); sprintf(buf, "%u", num); RETERR(str_totext(buf, target)); RETERR(str_totext(" ", target)); /* * Flags. */ RETERR(txt_totext(®ion, ISC_TRUE, target)); RETERR(str_totext(" ", target)); /* * Service. */ RETERR(txt_totext(®ion, ISC_TRUE, target)); RETERR(str_totext(" ", target)); /* * Regexp. */ RETERR(txt_totext(®ion, ISC_TRUE, target)); RETERR(str_totext(" ", target)); /* * Replacement. */ dns_name_fromregion(&name, ®ion); sub = name_prefix(&name, tctx->origin, &prefix); return (dns_name_totext(&prefix, sub, target)); }
static inline isc_result_t totext_hinfo(ARGS_TOTEXT) { isc_region_t region; UNUSED(tctx); REQUIRE(rdata->type == 13); REQUIRE(rdata->length != 0); dns_rdata_toregion(rdata, ®ion); RETERR(txt_totext(®ion, ISC_TRUE, target)); RETERR(str_totext(" ", target)); return (txt_totext(®ion, ISC_TRUE, target)); }
static inline isc_result_t totext_caa(ARGS_TOTEXT) { isc_region_t region; isc_uint8_t flags; char buf[256]; UNUSED(tctx); REQUIRE(rdata->type == 257); REQUIRE(rdata->length >= 3U); REQUIRE(rdata->data != NULL); dns_rdata_toregion(rdata, ®ion); /* * Flags */ flags = uint8_consume_fromregion(®ion); sprintf(buf, "%u ", flags); RETERR(str_totext(buf, target)); /* * Tag */ RETERR(txt_totext(®ion, ISC_FALSE, target)); RETERR(str_totext(" ", target)); /* * Value */ RETERR(multitxt_totext(®ion, target)); return (ISC_R_SUCCESS); }
static inline isc_result_t totext_isdn(ARGS_TOTEXT) { isc_region_t region; REQUIRE(rdata->type == 20); REQUIRE(rdata->length != 0); UNUSED(tctx); dns_rdata_toregion(rdata, ®ion); RETERR(txt_totext(®ion, target)); if (region.length == 0) return (ISC_R_SUCCESS); RETERR(str_totext(" ", target)); return (txt_totext(®ion, target)); }
static inline isc_result_t totext_x25(ARGS_TOTEXT) { isc_region_t region; UNUSED(tctx); REQUIRE(rdata->type == dns_rdatatype_x25); REQUIRE(rdata->length != 0); dns_rdata_toregion(rdata, ®ion); return (txt_totext(®ion, ISC_TRUE, target)); }
static inline isc_result_t generic_totext_txt(ARGS_TOTEXT) { isc_region_t region; UNUSED(tctx); dns_rdata_toregion(rdata, ®ion); while (region.length > 0) { RETERR(txt_totext(®ion, ISC_TRUE, target)); if (region.length > 0) RETERR(str_totext(" ", target)); } return (ISC_R_SUCCESS); }
static inline isc_result_t totext_spf(ARGS_TOTEXT) { isc_region_t region; UNUSED(tctx); REQUIRE(rdata->type == 99); dns_rdata_toregion(rdata, ®ion); while (region.length > 0) { RETERR(txt_totext(®ion, target)); if (region.length > 0) RETERR(str_totext(" ", target)); } return (ISC_R_SUCCESS); }
static inline isc_result_t totext_gpos(ARGS_TOTEXT) { isc_region_t region; int i; REQUIRE(rdata->type == dns_rdatatype_gpos); REQUIRE(rdata->length != 0); UNUSED(tctx); dns_rdata_toregion(rdata, ®ion); for (i = 0; i < 3; i++) { RETERR(txt_totext(®ion, ISC_TRUE, target)); if (i != 2) RETERR(str_totext(" ", target)); } return (ISC_R_SUCCESS); }