2 * Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC")
3 * Copyright (C) 2000, 2001 Internet Software Consortium.
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 * PERFORMANCE OF THIS SOFTWARE.
18 /* $Id: soa.h,v 1.12 2009/09/10 01:47:09 each Exp $ */
37 #include <isc/types.h>
39 #include <dns/types.h>
43 #define DNS_SOA_BUFFERSIZE ((2 * DNS_NAME_MAXWIRE) + (4 * 5))
46 dns_soa_buildrdata(dns_name_t *origin, dns_name_t *contact,
47 dns_rdataclass_t rdclass,
48 isc_uint32_t serial, isc_uint32_t refresh,
49 isc_uint32_t retry, isc_uint32_t expire,
50 isc_uint32_t minimum, unsigned char *buffer,
53 * Build the rdata of an SOA record.
56 *\li buffer Points to a temporary buffer of at least
57 * DNS_SOA_BUFFERSIZE bytes.
58 *\li rdata Points to an initialized dns_rdata_t.
61 * \li *rdata Contains a valid SOA rdata. The 'data' member
66 dns_soa_getserial(dns_rdata_t *rdata);
68 dns_soa_getrefresh(dns_rdata_t *rdata);
70 dns_soa_getretry(dns_rdata_t *rdata);
72 dns_soa_getexpire(dns_rdata_t *rdata);
74 dns_soa_getminimum(dns_rdata_t *rdata);
76 * Extract an integer field from the rdata of a SOA record.
79 * rdata refers to the rdata of a well-formed SOA record.
83 dns_soa_setserial(isc_uint32_t val, dns_rdata_t *rdata);
85 dns_soa_setrefresh(isc_uint32_t val, dns_rdata_t *rdata);
87 dns_soa_setretry(isc_uint32_t val, dns_rdata_t *rdata);
89 dns_soa_setexpire(isc_uint32_t val, dns_rdata_t *rdata);
91 dns_soa_setminimum(isc_uint32_t val, dns_rdata_t *rdata);
93 * Change an integer field of a SOA record by modifying the
97 * rdata refers to the rdata of a well-formed SOA record.
103 #endif /* DNS_SOA_H */