1/*
2 * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
3 * Copyright (C) 2002  Internet Software Consortium.
4 *
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.
8 *
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.
16 */
17
18/* */
19#ifndef IN_1_APL_42_H
20#define IN_1_APL_42_H 1
21
22/* $Id: apl_42.h,v 1.6 2007/06/19 23:47:17 tbox Exp $ */
23
24typedef struct dns_rdata_apl_ent {
25	isc_boolean_t	negative;
26	isc_uint16_t	family;
27	isc_uint8_t	prefix;
28	isc_uint8_t	length;
29	unsigned char	*data;
30} dns_rdata_apl_ent_t;
31
32typedef struct dns_rdata_in_apl {
33	dns_rdatacommon_t	common;
34	isc_mem_t		*mctx;
35	/* type & class specific elements */
36	unsigned char           *apl;
37        isc_uint16_t            apl_len;
38        /* private */
39        isc_uint16_t            offset;
40} dns_rdata_in_apl_t;
41
42/*
43 * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
44 * via rdatastructpre.h and rdatastructsuf.h.
45 */
46
47isc_result_t
48dns_rdata_apl_first(dns_rdata_in_apl_t *);
49
50isc_result_t
51dns_rdata_apl_next(dns_rdata_in_apl_t *);
52
53isc_result_t
54dns_rdata_apl_current(dns_rdata_in_apl_t *, dns_rdata_apl_ent_t *);
55
56#endif /* IN_1_APL_42_H */
57