naptr_35.c revision 5159c427839689d5070e2f9c6c9a0168dd9f6583
/*
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*/
/* $Id: naptr_35.c,v 1.24 2000/05/05 23:20:03 marka Exp $ */
/* Reviewed: Thu Mar 16 16:52:50 PST 2000 by bwelling */
/* RFC 2168 */
#ifndef RDATA_IN_1_NAPTR_35_C
#define RDATA_IN_1_NAPTR_35_C
#define RRTYPE_NAPTR_ATTRIBUTES (0)
static inline isc_result_t
{
/* order */
/* preference */
/* flags */
/* service */
/* regexp */
/* replacement */
}
static inline isc_result_t
{
char buf[sizeof "64000"];
unsigned short num;
/* order */
/* preference */
/* flags */
/* service */
/* regexp */
/* replacement */
}
static inline isc_result_t
{
/* order, preference */
return (ISC_R_UNEXPECTEDEND);
/* flags */
/* service */
/* regexp */
/* replacement */
}
static inline isc_result_t
/* order, preference */
/* flags */
/* service */
/* regexp */
/* replacement */
}
static inline int
/* order, preference */
if (order != 0)
/* flags */
if (order != 0)
/* service */
if (order != 0)
/* regexp */
if (order != 0)
/* replacement */
}
static inline isc_result_t
{
return (ISC_R_NOTIMPLEMENTED);
}
static inline isc_result_t
isc_region_t r;
dns_rdata_toregion(rdata, &r);
isc_region_consume(&r, 2);
isc_region_consume(&r, 2);
isc_region_consume(&r, 1);
goto cleanup;
}
isc_region_consume(&r, 1);
if (naptr->service_len != 0) {
naptr->service_len);
goto cleanup;
}
isc_region_consume(&r, 1);
if (naptr->regexp_len != 0) {
goto cleanup;
}
if (result != ISC_R_SUCCESS)
goto cleanup;
return (ISC_R_NOTIMPLEMENTED);
return (ISC_R_NOMEMORY);
}
static inline void
freestruct_in_naptr(void *source) {
return;
}
static inline isc_result_t
void *arg)
{
unsigned int i, flagslen;
char *cp;
/* order, preference */
/* flags */
atype = 0;
break;
}
break;
}
}
/* service */
/* regexp */
/* replacement */
if (atype != 0)
return (ISC_R_SUCCESS);
}
static inline isc_result_t
unsigned int length, n;
length = 0;
/* order, preference */
length += 4;
/* flags */
length += n;
isc_region_consume(&r2, n);
/* service */
length += n;
isc_region_consume(&r2, n);
/* regexp */
length += n;
isc_region_consume(&r2, n);
/*
* Digest the RR up to the replacement name.
*/
if (result != ISC_R_SUCCESS)
return (result);
/* replacement */
}
#endif /* RDATA_IN_1_NAPTR_35_C */