a134177ed9f82189504191d90f3ed9e97c2b47cbTinderbox User * Copyright (C) 2015-2017 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* meaning */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_number,
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(uint8_tobuffer(token.value.as_ulong, target));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* coding */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_number,
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(uint8_tobuffer(token.value.as_ulong, target));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* subcoding */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(isc_lex_getmastertoken(lexer, &token, isc_tokentype_number,
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(uint8_tobuffer(token.value.as_ulong, target));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews return(isc_base64_tobuffer(lexer, target, -1));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* Meaning, Coding and Subcoding */
ad1317338af79edad878c9c3e4361798503310baMark Andrews snprintf(buf, sizeof(buf), "%u %u %u", meaning, coding, subcoding);
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(isc_base64_totext(&sr, 60, "", target));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews if ((tctx->flags & DNS_STYLEFLAG_MULTILINE) != 0)
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(mem_tobuffer(target, sr.base, sr.length));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews return (mem_tobuffer(target, rdata->data, rdata->length));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrewsstatic inline int
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* Meaning */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* Coding */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* Subcoding */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews RETERR(uint8_tobuffer(sink->subcoding, target));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews return (mem_tobuffer(target, sink->data, sink->datalen));
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* Meaning */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* Coding */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews /* Subcoding */
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews sink->data = mem_maybedup(mctx, sr.base, sink->datalen);
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrewsstatic inline void
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews dns_rdata_sink_t *sink = (dns_rdata_sink_t *) source;
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews REQUIRE(sink->common.rdtype == dns_rdatatype_sink);
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrewsstatic inline int
5a49f61ca968283d59c97e583fd6fb02ecaeb773Mark Andrews#endif /* RDATA_GENERIC_SINK_40_C */