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