static inline isc_result_t fromstruct_sig(ARGS_FROMSTRUCT) { dns_rdata_sig_t *sig = source; REQUIRE(type == dns_rdatatype_sig); REQUIRE(source != NULL); REQUIRE(sig->common.rdtype == type); REQUIRE(sig->common.rdclass == rdclass); REQUIRE(sig->signature != NULL || sig->siglen == 0); UNUSED(type); UNUSED(rdclass); /* * Type covered. */ RETERR(uint16_tobuffer(sig->covered, target)); /* * Algorithm. */ RETERR(uint8_tobuffer(sig->algorithm, target)); /* * Labels. */ RETERR(uint8_tobuffer(sig->labels, target)); /* * Original TTL. */ RETERR(uint32_tobuffer(sig->originalttl, target)); /* * Expire time. */ RETERR(uint32_tobuffer(sig->timeexpire, target)); /* * Time signed. */ RETERR(uint32_tobuffer(sig->timesigned, target)); /* * Key ID. */ RETERR(uint16_tobuffer(sig->keyid, target)); /* * Signer name. */ RETERR(name_tobuffer(&sig->signer, target)); /* * Signature. */ return (mem_tobuffer(target, sig->signature, sig->siglen)); }
static inline isc_result_t fromstruct_tkey(ARGS_FROMSTRUCT) { dns_rdata_tkey_t *tkey = source; REQUIRE(type == 249); REQUIRE(source != NULL); REQUIRE(tkey->common.rdtype == type); REQUIRE(tkey->common.rdclass == rdclass); UNUSED(type); UNUSED(rdclass); /* * Algorithm Name. */ RETERR(name_tobuffer(&tkey->algorithm, target)); /* * Inception: 32 bits. */ RETERR(uint32_tobuffer(tkey->inception, target)); /* * Expire: 32 bits. */ RETERR(uint32_tobuffer(tkey->expire, target)); /* * Mode: 16 bits. */ RETERR(uint16_tobuffer(tkey->mode, target)); /* * Error: 16 bits. */ RETERR(uint16_tobuffer(tkey->error, target)); /* * Key size: 16 bits. */ RETERR(uint16_tobuffer(tkey->keylen, target)); /* * Key. */ RETERR(mem_tobuffer(target, tkey->key, tkey->keylen)); /* * Other size: 16 bits. */ RETERR(uint16_tobuffer(tkey->otherlen, target)); /* * Other data. */ return (mem_tobuffer(target, tkey->other, tkey->otherlen)); }