mf_4.c revision 9281e7aa775026dc47c01745fdcc438645146877
7d32c065c7bb56f281651ae3dd2888f32ce4f1d9Bob Halley * Copyright (C) 1998, 1999, 2000 Internet Software Consortium.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * Permission to use, copy, modify, and distribute this software for any
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * purpose with or without fee is hereby granted, provided that the above
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * copyright notice and this permission notice appear in all copies.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
9281e7aa775026dc47c01745fdcc438645146877Mark Andrews/* $Id: mf_4.c,v 1.28 2000/05/05 05:49:53 marka Exp $ */
ce8b84ce64a7f1b3b7b558a4aa14be946846080aJames Brister/* reviewed: Wed Mar 15 17:47:33 PST 2000 by brister */
d981ca645597116d227a48bf37cc5edc061c854dBob Halleyfromtext_mf(dns_rdataclass_t rdclass, dns_rdatatype_t type,
deaaf94332abbfdb3aff53675546acfed16e5eb6Mark Andrews RETERR(gettoken(lexer, &token, isc_tokentype_string, ISC_FALSE));
6e49e91bd08778d7eae45a2229dcf41ed97cc636David Lawrence buffer_fromregion(&buffer, &token.value.as_region);
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews origin = (origin != NULL) ? origin : dns_rootname;
ce8b84ce64a7f1b3b7b558a4aa14be946846080aJames Brister return (dns_name_fromtext(&name, &buffer, origin, downcase, target));
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafssontotext_mf(dns_rdata_t *rdata, dns_rdata_textctx_t *tctx,
5fc7ba3e1ac5d72239e9971e0f469dd5796738f9Andreas Gustafsson sub = name_prefix(&name, tctx->origin, &prefix);
ce8b84ce64a7f1b3b7b558a4aa14be946846080aJames Brister return (dns_name_totext(&prefix, sub, target));
d981ca645597116d227a48bf37cc5edc061c854dBob Halleyfromwire_mf(dns_rdataclass_t rdclass, dns_rdatatype_t type,
94a08e09db3dc844b6ee4841c368a2d7074a9c3fAndreas Gustafsson dns_decompress_setmethods(dctx, DNS_COMPRESS_GLOBAL14);
ce8b84ce64a7f1b3b7b558a4aa14be946846080aJames Brister return (dns_name_fromwire(&name, source, dctx, downcase, target));
ee7cac1c6e1e0b36a7fa622b8c109169f1093b63James Bristertowire_mf(dns_rdata_t *rdata, dns_compress_t *cctx, isc_buffer_t *target)
94a08e09db3dc844b6ee4841c368a2d7074a9c3fAndreas Gustafsson dns_compress_setmethods(cctx, DNS_COMPRESS_GLOBAL14);
ce8b84ce64a7f1b3b7b558a4aa14be946846080aJames Brister return (dns_name_towire(&name, cctx, target));
4529cdaedaf1a0a5f8ff89aeca510b7a4475446cBob Halleystatic inline int
ee7cac1c6e1e0b36a7fa622b8c109169f1093b63James Bristercompare_mf(dns_rdata_t *rdata1, dns_rdata_t *rdata2)
ce8b84ce64a7f1b3b7b558a4aa14be946846080aJames Brister return (dns_name_rdatacompare(&name1, &name2));
d981ca645597116d227a48bf37cc5edc061c854dBob Halleyfromstruct_mf(dns_rdataclass_t rdclass, dns_rdatatype_t type, void *source,
ee7cac1c6e1e0b36a7fa622b8c109169f1093b63James Bristertostruct_mf(dns_rdata_t *rdata, void *target, isc_mem_t *mctx)
4529cdaedaf1a0a5f8ff89aeca510b7a4475446cBob Halleystatic inline void
d981ca645597116d227a48bf37cc5edc061c854dBob Halleyadditionaldata_mf(dns_rdata_t *rdata, dns_additionaldatafunc_t add,
ee7cac1c6e1e0b36a7fa622b8c109169f1093b63James Bristerdigest_mf(dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg)
854d0238dbc2908490197984b3b9d558008a53dfMark Andrews#endif /* RDATA_GENERIC_MF_4_C */