1/*	$NetBSD$	*/
2
3/*
4 * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
5 * Copyright (C) 2002  Internet Software Consortium.
6 *
7 * Permission to use, copy, modify, and/or distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies.
10 *
11 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
12 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13 * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
14 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
16 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17 * PERFORMANCE OF THIS SOFTWARE.
18 */
19
20/* */
21#ifndef IN_1_APL_42_H
22#define IN_1_APL_42_H 1
23
24/* Id: apl_42.h,v 1.6 2007/06/19 23:47:17 tbox Exp  */
25
26typedef struct dns_rdata_apl_ent {
27	isc_boolean_t	negative;
28	isc_uint16_t	family;
29	isc_uint8_t	prefix;
30	isc_uint8_t	length;
31	unsigned char	*data;
32} dns_rdata_apl_ent_t;
33
34typedef struct dns_rdata_in_apl {
35	dns_rdatacommon_t	common;
36	isc_mem_t		*mctx;
37	/* type & class specific elements */
38	unsigned char           *apl;
39        isc_uint16_t            apl_len;
40        /* private */
41        isc_uint16_t            offset;
42} dns_rdata_in_apl_t;
43
44/*
45 * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
46 * via rdatastructpre.h and rdatastructsuf.h.
47 */
48
49isc_result_t
50dns_rdata_apl_first(dns_rdata_in_apl_t *);
51
52isc_result_t
53dns_rdata_apl_next(dns_rdata_in_apl_t *);
54
55isc_result_t
56dns_rdata_apl_current(dns_rdata_in_apl_t *, dns_rdata_apl_ent_t *);
57
58#endif /* IN_1_APL_42_H */
59