apl_42.h revision dafcb997e390efa4423883dafd100c975c4095d6
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/*
7d32c065c7bb56f281651ae3dd2888f32ce4f1d9Bob Halley * Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Copyright (C) 2002 Internet Software Consortium.
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews *
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * Permission to use, copy, modify, and distribute this software for any
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * purpose with or without fee is hereby granted, provided that the above
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * copyright notice and this permission notice appear in all copies.
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence *
ea94d370123a5892f6c47a97f21d1b28d44bb168Tinderbox User * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * PERFORMANCE OF THIS SOFTWARE.
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence#ifndef IN_1_APL_42_H
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence#define IN_1_APL_42_H 1
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* $Id: apl_42.h,v 1.2 2004/03/05 05:10:24 marka Exp $ */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrencetypedef struct dns_rdata_apl_ent {
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence isc_boolean_t negative;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence isc_uint16_t family;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence isc_uint8_t prefix;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence isc_uint8_t length;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence unsigned char *data;
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence} dns_rdata_apl_ent_t;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrencetypedef struct dns_rdata_in_apl {
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence dns_rdatacommon_t common;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence isc_mem_t *mctx;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence /* type & class specific elements */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence unsigned char *apl;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence isc_uint16_t apl_len;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence /* private */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence isc_uint16_t offset;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence} dns_rdata_in_apl_t;
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence/*
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS are already done
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * via rdatastructpre.h and rdatastructsuf.h.
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrenceisc_result_t
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrencedns_rdata_apl_first(dns_rdata_in_apl_t *);
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrenceisc_result_t
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrencedns_rdata_apl_next(dns_rdata_in_apl_t *);
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrenceisc_result_t
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrencedns_rdata_apl_current(dns_rdata_in_apl_t *, dns_rdata_apl_ent_t *);
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence#endif /* IN_1_APL_42_H */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence