diff options
Diffstat (limited to 'lib/liblwres/include/lwres')
-rw-r--r-- | lib/liblwres/include/lwres/async.h | 78 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/context.h | 133 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/int.h | 32 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/ipv6.h | 118 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/lang.h | 31 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/list.h | 119 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/lwbuffer.h | 402 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/lwpacket.h | 124 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/lwres.h | 584 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/netdb.h | 522 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/netdb.h.in | 518 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/platform.h | 91 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/platform.h.in | 91 | ||||
-rw-r--r-- | lib/liblwres/include/lwres/result.h | 40 |
14 files changed, 0 insertions, 2883 deletions
diff --git a/lib/liblwres/include/lwres/async.h b/lib/liblwres/include/lwres/async.h deleted file mode 100644 index 6715afaed..000000000 --- a/lib/liblwres/include/lwres/async.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2003 Michael Richardson - * Contributed by Michael Richardson <mcr@freeswan.org> while working - * on the Linux FreeS/WAN project in 2003. - * - * 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: async.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_ASYNC_H -#define LWRES_ASYNC_H 1 - -#include <lwres/lwres.h> - -/* - * support for asynchronous requests to lwres port - */ -struct lwres_async_state { - struct lwres_async_state *next; - - lwres_buffer_t b_in, b_out; - lwres_uint32_t serial; - int opcode; - - int (*callback)(void *uctx, struct rrsetinfo *res); - void *uctx; -}; - - - -/* - * The calls for asynchronous requests. - */ - -int lwres_async_init(lwres_context_t **pctx); - -int lwres_getrrsetbyname_init(const char *hostname, unsigned int rdclass, - unsigned int rdtype, unsigned int flags, - lwres_context_t *ctx, - struct lwres_async_state *las); - -int lwres_getrrsetbyname_xmit(lwres_context_t *ctx, - struct lwres_async_state *las); - -unsigned long lwres_async_timeout(lwres_context_t *ctx); - -int lwres_async_fd(lwres_context_t *ctx); - -int lwres_getrrsetbyname_read(struct lwres_async_state **plas, - lwres_context_t *ctx, - struct rrsetinfo **res); - -int lwres_getrrsetbyname_async(const char *hostname, unsigned int rdclass, - unsigned int rdtype, unsigned int flags, - struct rrsetinfo **res); - -#endif /* LWRES_ASYNC_H */ - - - - - - - - - diff --git a/lib/liblwres/include/lwres/context.h b/lib/liblwres/include/lwres/context.h deleted file mode 100644 index 55ca3c7fb..000000000 --- a/lib/liblwres/include/lwres/context.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: context.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_CONTEXT_H -#define LWRES_CONTEXT_H 1 - -#include <stddef.h> - -#include <lwres/lang.h> -#include <lwres/int.h> -#include <lwres/result.h> - -/* - * Used to set various options such as timeout, authentication, etc - */ -typedef struct lwres_context lwres_context_t; - -LWRES_LANG_BEGINDECLS - -typedef void *(*lwres_malloc_t)(void *arg, size_t length); -typedef void (*lwres_free_t)(void *arg, void *mem, size_t length); - -/* - * XXXMLG - * - * Make the server reload /etc/resolv.conf periodically. - * - * Make the server do sortlist/searchlist. - * - * Client side can disable the search/sortlist processing. - * - * Use an array of addresses/masks and searchlist for client-side, and - * if added to the client disable the processing on the server. - * - * Share /etc/resolv.conf data between contexts. - */ - -/* - * _SERVERMODE - * Don't allocate and connect a socket to the server, since the - * caller _is_ a server. - */ -#define LWRES_CONTEXT_SERVERMODE 0x00000001U - -lwres_result_t -lwres_context_create(lwres_context_t **contextp, void *arg, - lwres_malloc_t malloc_function, - lwres_free_t free_function, - unsigned int flags); -/* - * Allocate a lwres context. This is used in all lwres calls. - * - * Memory management can be replaced here by passing in two functions. - * If one is non-NULL, they must both be non-NULL. "arg" is passed to - * these functions. - * - * Contexts are not thread safe. Document at the top of the file. - * XXXMLG - * - * If they are NULL, the standard malloc() and free() will be used. - * - * Requires: - * - * contextp != NULL && contextp == NULL. - * - * Returns: - * - * Returns 0 on success, non-zero on failure. - */ - -void -lwres_context_destroy(lwres_context_t **contextp); -/* - * Frees all memory associated with a lwres context. - * - * Requires: - * - * contextp != NULL && contextp == NULL. - */ - -lwres_uint32_t -lwres_context_nextserial(lwres_context_t *ctx); -/* - * XXXMLG Document - */ - -void -lwres_context_initserial(lwres_context_t *ctx, lwres_uint32_t serial); - -void -lwres_context_freemem(lwres_context_t *ctx, void *mem, size_t len); - -void * -lwres_context_allocmem(lwres_context_t *ctx, size_t len); - -int -lwres_context_getsocket(lwres_context_t *ctx); - -lwres_result_t -lwres_context_send(lwres_context_t *ctx, - void *sendbase, int sendlen); - -lwres_result_t -lwres_context_recv(lwres_context_t *ctx, - void *recvbase, int recvlen, - int *recvd_len); - -lwres_result_t -lwres_context_sendrecv(lwres_context_t *ctx, - void *sendbase, int sendlen, - void *recvbase, int recvlen, - int *recvd_len); - -LWRES_LANG_ENDDECLS - -#endif /* LWRES_CONTEXT_H */ - diff --git a/lib/liblwres/include/lwres/int.h b/lib/liblwres/include/lwres/int.h deleted file mode 100644 index 470372e77..000000000 --- a/lib/liblwres/include/lwres/int.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: int.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_INT_H -#define LWRES_INT_H 1 - -typedef char lwres_int8_t; -typedef unsigned char lwres_uint8_t; -typedef short lwres_int16_t; -typedef unsigned short lwres_uint16_t; -typedef int lwres_int32_t; -typedef unsigned int lwres_uint32_t; -typedef long long lwres_int64_t; -typedef unsigned long long lwres_uint64_t; - -#endif /* LWRES_INT_H */ diff --git a/lib/liblwres/include/lwres/ipv6.h b/lib/liblwres/include/lwres/ipv6.h deleted file mode 100644 index ee7bc0743..000000000 --- a/lib/liblwres/include/lwres/ipv6.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: ipv6.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_IPV6_H -#define LWRES_IPV6_H 1 - -/***** - ***** Module Info - *****/ - -/* - * IPv6 definitions for systems which do not support IPv6. - */ - -/*** - *** Imports. - ***/ - -#include <lwres/int.h> -#include <lwres/platform.h> - -/*** - *** Types. - ***/ - -struct in6_addr { - union { - lwres_uint8_t _S6_u8[16]; - lwres_uint16_t _S6_u16[8]; - lwres_uint32_t _S6_u32[4]; - } _S6_un; -}; -#define s6_addr _S6_un._S6_u8 -#define s6_addr8 _S6_un._S6_u8 -#define s6_addr16 _S6_un._S6_u16 -#define s6_addr32 _S6_un._S6_u32 - -#define IN6ADDR_ANY_INIT {{{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }}} -#define IN6ADDR_LOOPBACK_INIT {{{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }}} - -LIBLWRES_EXTERNAL_DATA extern const struct in6_addr in6addr_any; -LIBLWRES_EXTERNAL_DATA extern const struct in6_addr in6addr_loopback; - -struct sockaddr_in6 { -#ifdef LWRES_PLATFORM_HAVESALEN - lwres_uint8_t sin6_len; - lwres_uint8_t sin6_family; -#else - lwres_uint16_t sin6_family; -#endif - lwres_uint16_t sin6_port; - lwres_uint32_t sin6_flowinfo; - struct in6_addr sin6_addr; - lwres_uint32_t sin6_scope_id; -}; - -#ifdef LWRES_PLATFORM_HAVESALEN -#define SIN6_LEN 1 -#endif - -struct in6_pktinfo { - struct in6_addr ipi6_addr; /* src/dst IPv6 address */ - unsigned int ipi6_ifindex; /* send/recv interface index */ -}; - -/* - * Unspecified - */ -#define IN6_IS_ADDR_UNSPECIFIED(a) \ - (((a)->s6_addr32[0] == 0) && \ - ((a)->s6_addr32[1] == 0) && \ - ((a)->s6_addr32[2] == 0) && \ - ((a)->s6_addr32[3] == 0)) - -/* - * Loopback - */ -#define IN6_IS_ADDR_LOOPBACK(a) \ - (((a)->s6_addr32[0] == 0) && \ - ((a)->s6_addr32[1] == 0) && \ - ((a)->s6_addr32[2] == 0) && \ - ((a)->s6_addr32[3] == htonl(1))) - -/* - * IPv4 compatible - */ -#define IN6_IS_ADDR_V4COMPAT(a) \ - (((a)->s6_addr32[0] == 0) && \ - ((a)->s6_addr32[1] == 0) && \ - ((a)->s6_addr32[2] == 0) && \ - ((a)->s6_addr32[3] != 0) && \ - ((a)->s6_addr32[3] != htonl(1))) - -/* - * Mapped - */ -#define IN6_IS_ADDR_V4MAPPED(a) \ - (((a)->s6_addr32[0] == 0) && \ - ((a)->s6_addr32[1] == 0) && \ - ((a)->s6_addr32[2] == htonl(0x0000ffff))) - -#endif /* LWRES_IPV6_H */ diff --git a/lib/liblwres/include/lwres/lang.h b/lib/liblwres/include/lwres/lang.h deleted file mode 100644 index 1de35fd91..000000000 --- a/lib/liblwres/include/lwres/lang.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: lang.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_LANG_H -#define LWRES_LANG_H 1 - -#ifdef __cplusplus -#define LWRES_LANG_BEGINDECLS extern "C" { -#define LWRES_LANG_ENDDECLS } -#else -#define LWRES_LANG_BEGINDECLS -#define LWRES_LANG_ENDDECLS -#endif - -#endif /* LWRES_LANG_H */ diff --git a/lib/liblwres/include/lwres/list.h b/lib/liblwres/include/lwres/list.h deleted file mode 100644 index e90a1b55a..000000000 --- a/lib/liblwres/include/lwres/list.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 1997-2001 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: list.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_LIST_H -#define LWRES_LIST_H 1 - -#define LWRES_LIST(type) struct { type *head, *tail; } -#define LWRES_LIST_INIT(list) \ - do { (list).head = NULL; (list).tail = NULL; } while (0) - -#define LWRES_LINK(type) struct { type *prev, *next; } -#define LWRES_LINK_INIT(elt, link) \ - do { \ - (elt)->link.prev = (void *)(-1); \ - (elt)->link.next = (void *)(-1); \ - } while (0) -#define LWRES_LINK_LINKED(elt, link) \ - ((void *)((elt)->link.prev) != (void *)(-1)) - -#define LWRES_LIST_HEAD(list) ((list).head) -#define LWRES_LIST_TAIL(list) ((list).tail) -#define LWRES_LIST_EMPTY(list) LWRES_TF((list).head == NULL) - -#define LWRES_LIST_PREPEND(list, elt, link) \ - do { \ - if ((list).head != NULL) \ - (list).head->link.prev = (elt); \ - else \ - (list).tail = (elt); \ - (elt)->link.prev = NULL; \ - (elt)->link.next = (list).head; \ - (list).head = (elt); \ - } while (0) - -#define LWRES_LIST_APPEND(list, elt, link) \ - do { \ - if ((list).tail != NULL) \ - (list).tail->link.next = (elt); \ - else \ - (list).head = (elt); \ - (elt)->link.prev = (list).tail; \ - (elt)->link.next = NULL; \ - (list).tail = (elt); \ - } while (0) - -#define LWRES_LIST_UNLINK(list, elt, link) \ - do { \ - if ((elt)->link.next != NULL) \ - (elt)->link.next->link.prev = (elt)->link.prev; \ - else \ - (list).tail = (elt)->link.prev; \ - if ((elt)->link.prev != NULL) \ - (elt)->link.prev->link.next = (elt)->link.next; \ - else \ - (list).head = (elt)->link.next; \ - (elt)->link.prev = (void *)(-1); \ - (elt)->link.next = (void *)(-1); \ - } while (0) - -#define LWRES_LIST_PREV(elt, link) ((elt)->link.prev) -#define LWRES_LIST_NEXT(elt, link) ((elt)->link.next) - -#define LWRES_LIST_INSERTBEFORE(list, before, elt, link) \ - do { \ - if ((before)->link.prev == NULL) \ - LWRES_LIST_PREPEND(list, elt, link); \ - else { \ - (elt)->link.prev = (before)->link.prev; \ - (before)->link.prev = (elt); \ - (elt)->link.prev->link.next = (elt); \ - (elt)->link.next = (before); \ - } \ - } while (0) - -#define LWRES_LIST_INSERTAFTER(list, after, elt, link) \ - do { \ - if ((after)->link.next == NULL) \ - LWRES_LIST_APPEND(list, elt, link); \ - else { \ - (elt)->link.next = (after)->link.next; \ - (after)->link.next = (elt); \ - (elt)->link.next->link.prev = (elt); \ - (elt)->link.prev = (after); \ - } \ - } while (0) - -#define LWRES_LIST_APPENDLIST(list1, list2, link) \ - do { \ - if (LWRES_LIST_EMPTY(list1)) \ - (list1) = (list2); \ - else if (!LWRES_LIST_EMPTY(list2)) { \ - (list1).tail->link.next = (list2).head; \ - (list2).head->link.prev = (list1).tail; \ - (list1).tail = (list2).tail; \ - } \ - (list2).head = NULL; \ - (list2).tail = NULL; \ - } while (0) - -#define LWRES_LIST_ENQUEUE(list, elt, link) LWRES_LIST_APPEND(list, elt, link) -#define LWRES_LIST_DEQUEUE(list, elt, link) LWRES_LIST_UNLINK(list, elt, link) - -#endif /* LWRES_LIST_H */ diff --git a/lib/liblwres/include/lwres/lwbuffer.h b/lib/liblwres/include/lwres/lwbuffer.h deleted file mode 100644 index 7486e8bc3..000000000 --- a/lib/liblwres/include/lwres/lwbuffer.h +++ /dev/null @@ -1,402 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: lwbuffer.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_LWBUFFER_H -#define LWRES_LWBUFFER_H 1 - -/***** - ***** Module Info - *****/ - -/* - * Buffers - * - * A buffer is a region of memory, together with a set of related subregions. - * Buffers are used for parsing and I/O operations. - * - * The 'used region' and the 'available' region are disjoint, and their - * union is the buffer's region. The used region extends from the beginning - * of the buffer region to the last used byte. The available region - * extends from one byte greater than the last used byte to the end of the - * buffer's region. The size of the used region can be changed using various - * buffer commands. Initially, the used region is empty. - * - * The used region is further subdivided into two disjoint regions: the - * 'consumed region' and the 'remaining region'. The union of these two - * regions is the used region. The consumed region extends from the beginning - * of the used region to the byte before the 'current' offset (if any). The - * 'remaining' region the current pointer to the end of the used - * region. The size of the consumed region can be changed using various - * buffer commands. Initially, the consumed region is empty. - * - * The 'active region' is an (optional) subregion of the remaining region. - * It extends from the current offset to an offset in the remaining region - * that is selected with lwres_buffer_setactive(). Initially, the active - * region is empty. If the current offset advances beyond the chosen offset, - * the active region will also be empty. - * - * /----- used region -----\/-- available --\ - * +----------------------------------------+ - * | consumed | remaining | | - * +----------------------------------------+ - * a b c d e - * - * a == base of buffer. - * b == current pointer. Can be anywhere between a and d. - * c == active pointer. Meaningful between b and d. - * d == used pointer. - * e == length of buffer. - * - * a-e == entire (length) of buffer. - * a-d == used region. - * a-b == consumed region. - * b-d == remaining region. - * b-c == optional active region. - * - * The following invariants are maintained by all routines: - * - * length > 0 - * - * base is a valid pointer to length bytes of memory - * - * 0 <= used <= length - * - * 0 <= current <= used - * - * 0 <= active <= used - * (although active < current implies empty active region) - * - * MP: - * Buffers have no synchronization. Clients must ensure exclusive - * access. - * - * Reliability: - * No anticipated impact. - * - * Resources: - * Memory: 1 pointer + 6 unsigned integers per buffer. - * - * Security: - * No anticipated impact. - * - * Standards: - * None. - */ - -/*** - *** Imports - ***/ - -#include <lwres/lang.h> -#include <lwres/int.h> - -LWRES_LANG_BEGINDECLS - -/*** - *** Magic numbers - ***/ -#define LWRES_BUFFER_MAGIC 0x4275663fU /* Buf?. */ - -#define LWRES_BUFFER_VALID(b) ((b) != NULL && \ - (b)->magic == LWRES_BUFFER_MAGIC) - -/* - * The following macros MUST be used only on valid buffers. It is the - * caller's responsibility to ensure this by using the LWRES_BUFFER_VALID - * check above, or by calling another lwres_buffer_*() function (rather than - * another macro.) - */ - -/* - * Get the length of the used region of buffer "b" - */ -#define LWRES_BUFFER_USEDCOUNT(b) ((b)->used) - -/* - * Get the length of the available region of buffer "b" - */ -#define LWRES_BUFFER_AVAILABLECOUNT(b) ((b)->length - (b)->used) - -#define LWRES_BUFFER_REMAINING(b) ((b)->used - (b)->current) - -/* - * Note that the buffer structure is public. This is principally so buffer - * operations can be implemented using macros. Applications are strongly - * discouraged from directly manipulating the structure. - */ - -typedef struct lwres_buffer lwres_buffer_t; -struct lwres_buffer { - unsigned int magic; - unsigned char *base; - /* The following integers are byte offsets from 'base'. */ - unsigned int length; - unsigned int used; - unsigned int current; - unsigned int active; -}; - -/*** - *** Functions - ***/ - -void -lwres_buffer_init(lwres_buffer_t *b, void *base, unsigned int length); -/* - * Make 'b' refer to the 'length'-byte region starting at base. - * - * Requires: - * - * 'length' > 0 - * - * 'base' is a pointer to a sequence of 'length' bytes. - * - */ - -void -lwres_buffer_invalidate(lwres_buffer_t *b); -/* - * Make 'b' an invalid buffer. - * - * Requires: - * 'b' is a valid buffer. - * - * Ensures: - * If assertion checking is enabled, future attempts to use 'b' without - * calling lwres_buffer_init() on it will cause an assertion failure. - */ - -void -lwres_buffer_add(lwres_buffer_t *b, unsigned int n); -/* - * Increase the 'used' region of 'b' by 'n' bytes. - * - * Requires: - * - * 'b' is a valid buffer - * - * used + n <= length - * - */ - -void -lwres_buffer_subtract(lwres_buffer_t *b, unsigned int n); -/* - * Decrease the 'used' region of 'b' by 'n' bytes. - * - * Requires: - * - * 'b' is a valid buffer - * - * used >= n - * - */ - -void -lwres_buffer_clear(lwres_buffer_t *b); -/* - * Make the used region empty. - * - * Requires: - * - * 'b' is a valid buffer - * - * Ensures: - * - * used = 0 - * - */ - -void -lwres_buffer_first(lwres_buffer_t *b); -/* - * Make the consumed region empty. - * - * Requires: - * - * 'b' is a valid buffer - * - * Ensures: - * - * current == 0 - * - */ - -void -lwres_buffer_forward(lwres_buffer_t *b, unsigned int n); -/* - * Increase the 'consumed' region of 'b' by 'n' bytes. - * - * Requires: - * - * 'b' is a valid buffer - * - * current + n <= used - * - */ - -void -lwres_buffer_back(lwres_buffer_t *b, unsigned int n); -/* - * Decrease the 'consumed' region of 'b' by 'n' bytes. - * - * Requires: - * - * 'b' is a valid buffer - * - * n <= current - * - */ - -lwres_uint8_t -lwres_buffer_getuint8(lwres_buffer_t *b); -/* - * Read an unsigned 8-bit integer from 'b' and return it. - * - * Requires: - * - * 'b' is a valid buffer. - * - * The length of the available region of 'b' is at least 1. - * - * Ensures: - * - * The current pointer in 'b' is advanced by 1. - * - * Returns: - * - * A 8-bit unsigned integer. - */ - -void -lwres_buffer_putuint8(lwres_buffer_t *b, lwres_uint8_t val); -/* - * Store an unsigned 8-bit integer from 'val' into 'b'. - * - * Requires: - * 'b' is a valid buffer. - * - * The length of the unused region of 'b' is at least 1. - * - * Ensures: - * The used pointer in 'b' is advanced by 1. - */ - -lwres_uint16_t -lwres_buffer_getuint16(lwres_buffer_t *b); -/* - * Read an unsigned 16-bit integer in network byte order from 'b', convert - * it to host byte order, and return it. - * - * Requires: - * - * 'b' is a valid buffer. - * - * The length of the available region of 'b' is at least 2. - * - * Ensures: - * - * The current pointer in 'b' is advanced by 2. - * - * Returns: - * - * A 16-bit unsigned integer. - */ - -void -lwres_buffer_putuint16(lwres_buffer_t *b, lwres_uint16_t val); -/* - * Store an unsigned 16-bit integer in host byte order from 'val' - * into 'b' in network byte order. - * - * Requires: - * 'b' is a valid buffer. - * - * The length of the unused region of 'b' is at least 2. - * - * Ensures: - * The used pointer in 'b' is advanced by 2. - */ - -lwres_uint32_t -lwres_buffer_getuint32(lwres_buffer_t *b); -/* - * Read an unsigned 32-bit integer in network byte order from 'b', convert - * it to host byte order, and return it. - * - * Requires: - * - * 'b' is a valid buffer. - * - * The length of the available region of 'b' is at least 2. - * - * Ensures: - * - * The current pointer in 'b' is advanced by 2. - * - * Returns: - * - * A 32-bit unsigned integer. - */ - -void -lwres_buffer_putuint32(lwres_buffer_t *b, lwres_uint32_t val); -/* - * Store an unsigned 32-bit integer in host byte order from 'val' - * into 'b' in network byte order. - * - * Requires: - * 'b' is a valid buffer. - * - * The length of the unused region of 'b' is at least 4. - * - * Ensures: - * The used pointer in 'b' is advanced by 4. - */ - -void -lwres_buffer_putmem(lwres_buffer_t *b, const unsigned char *base, - unsigned int length); -/* - * Copy 'length' bytes of memory at 'base' into 'b'. - * - * Requires: - * 'b' is a valid buffer. - * - * 'base' points to 'length' bytes of valid memory. - * - */ - -void -lwres_buffer_getmem(lwres_buffer_t *b, unsigned char *base, - unsigned int length); -/* - * Copy 'length' bytes of memory from 'b' into 'base'. - * - * Requires: - * 'b' is a valid buffer. - * - * 'base' points to at least 'length' bytes of valid memory. - * - * 'b' have at least 'length' bytes remaining. - */ - -LWRES_LANG_ENDDECLS - -#endif /* LWRES_LWBUFFER_H */ diff --git a/lib/liblwres/include/lwres/lwpacket.h b/lib/liblwres/include/lwres/lwpacket.h deleted file mode 100644 index a0d216e57..000000000 --- a/lib/liblwres/include/lwres/lwpacket.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (C) 1999-2001 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: lwpacket.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_LWPACKET_H -#define LWRES_LWPACKET_H 1 - -#include <lwres/lang.h> -#include <lwres/lwbuffer.h> -#include <lwres/result.h> - -typedef struct lwres_lwpacket lwres_lwpacket_t; - -struct lwres_lwpacket { - lwres_uint32_t length; - lwres_uint16_t version; - lwres_uint16_t pktflags; - lwres_uint32_t serial; - lwres_uint32_t opcode; - lwres_uint32_t result; - lwres_uint32_t recvlength; - lwres_uint16_t authtype; - lwres_uint16_t authlength; -}; - -#define LWRES_LWPACKET_LENGTH (4 * 5 + 2 * 4) - -#define LWRES_LWPACKETFLAG_RESPONSE 0x0001U /* if set, pkt is a response */ - - -#define LWRES_LWPACKETVERSION_0 0 - -/* - * "length" is the overall packet length, including the entire packet header. - * - * "version" specifies the header format. Currently, there is only one - * format, LWRES_LWPACKETVERSION_0. - * - * "flags" specifies library-defined flags for this packet. None of these - * are definable by the caller, but library-defined values can be set by - * the caller. For example, one bit in this field indicates if the packet - * is a request or a response. - * - * "serial" is set by the requestor and is returned in all replies. If two - * packets from the same source have the same serial number and are from - * the same source, they are assumed to be duplicates and the latter ones - * may be dropped. (The library does not do this by default on replies, but - * does so on requests.) - * - * "opcode" is application defined. Opcodes between 0x04000000 and 0xffffffff - * are application defined. Opcodes between 0x00000000 and 0x03ffffff are - * reserved for library use. - * - * "result" is application defined, and valid only on replies. - * Results between 0x04000000 and 0xffffffff are application defined. - * Results between 0x00000000 and 0x03ffffff are reserved for library use. - * (This is the same reserved range defined in <isc/resultclass.h>, so it - * would be trivial to map ISC_R_* result codes into packet result codes - * when appropriate.) - * - * "recvlength" is set to the maximum buffer size that the receiver can - * handle on requests, and the size of the buffer needed to satisfy a request - * when the buffer is too large for replies. - * - * "authtype" is the packet level auth type used. - * Authtypes between 0x1000 and 0xffff are application defined. Authtypes - * between 0x0000 and 0x0fff are reserved for library use. This is currently - * unused and MUST be set to zero. - * - * "authlen" is the length of the authentication data. See the specific - * authtypes for more information on what is contained in this field. This - * is currently unused, and MUST be set to zero. - * - * The remainder of the packet consists of two regions, one described by - * "authlen" and one of "length - authlen - sizeof(lwres_lwpacket_t)". - * - * That is: - * - * pkt header - * authlen bytes of auth information - * data bytes - */ - -/* - * Currently defined opcodes: - * - * NOOP. Success is always returned, with the packet contents echoed. - * - * GETADDRSBYNAME. Return all known addresses for a given name. - * This may return NIS or /etc/hosts info as well as DNS - * information. Flags will be provided to indicate ip4/ip6 - * addresses are desired. - * - * GETNAMEBYADDR. Return the hostname for the given address. Once - * again, it will return data from multiple sources. - */ - -LWRES_LANG_BEGINDECLS - -/* XXXMLG document */ -lwres_result_t -lwres_lwpacket_renderheader(lwres_buffer_t *b, lwres_lwpacket_t *pkt); - -lwres_result_t -lwres_lwpacket_parseheader(lwres_buffer_t *b, lwres_lwpacket_t *pkt); - -LWRES_LANG_ENDDECLS - -#endif /* LWRES_LWPACKET_H */ diff --git a/lib/liblwres/include/lwres/lwres.h b/lib/liblwres/include/lwres/lwres.h deleted file mode 100644 index e819c8b68..000000000 --- a/lib/liblwres/include/lwres/lwres.h +++ /dev/null @@ -1,584 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: lwres.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_LWRES_H -#define LWRES_LWRES_H 1 - -#include <stdio.h> - -#include <lwres/context.h> -#include <lwres/lang.h> -#include <lwres/list.h> -#include <lwres/lwpacket.h> - -/* - * Design notes: - * - * Each opcode has two structures and three functions which operate on each - * structure. For example, using the "no operation/ping" opcode as an - * example: - * - * lwres_nooprequest_t: - * - * lwres_nooprequest_render() takes a lwres_nooprequest_t and - * and renders it into wire format, storing the allocated - * buffer information in a passed-in buffer. When this buffer - * is no longer needed, it must be freed by - * lwres_context_freemem(). All other memory used by the - * caller must be freed manually, including the - * lwres_nooprequest_t passed in. - * - * lwres_nooprequest_parse() takes a wire format message and - * breaks it out into a lwres_nooprequest_t. The structure - * must be freed via lwres_nooprequest_free() when it is no longer - * needed. - * - * lwres_nooprequest_free() releases into the lwres_context_t - * any space allocated during parsing. - * - * lwres_noopresponse_t: - * - * The functions used are similar to the three used for - * requests, just with different names. - * - * Typically, the client will use request_render, response_parse, and - * response_free, while the daemon will use request_parse, response_render, - * and request_free. - * - * The basic flow of a typical client is: - * - * fill in a request_t, and call the render function. - * - * Transmit the buffer returned to the daemon. - * - * Wait for a response. - * - * When a response is received, parse it into a response_t. - * - * free the request buffer using lwres_context_freemem(). - * - * free the response structure and its associated buffer using - * response_free(). - */ - -#define LWRES_UDP_PORT 921 -#define LWRES_RECVLENGTH 16384 -#define LWRES_ADDR_MAXLEN 16 /* changing this breaks ABI */ -#define LWRES_RESOLV_CONF "/etc/resolv.conf" - -/* - * Flags. - * - * These flags are only relevant to rrset queries. - * - * TRUSTNOTREQUIRED: DNSSEC is not required (input) - * SECUREDATA: The data was crypto-verified with DNSSEC (output) - * - */ -#define LWRES_FLAG_TRUSTNOTREQUIRED 0x00000001U -#define LWRES_FLAG_SECUREDATA 0x00000002U - -/* - * no-op - */ -#define LWRES_OPCODE_NOOP 0x00000000U - -typedef struct { - /* public */ - lwres_uint16_t datalength; - unsigned char *data; -} lwres_nooprequest_t; - -typedef struct { - /* public */ - lwres_uint16_t datalength; - unsigned char *data; -} lwres_noopresponse_t; - -/* - * get addresses by name - */ -#define LWRES_OPCODE_GETADDRSBYNAME 0x00010001U - -typedef struct lwres_addr lwres_addr_t; -typedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t; - -struct lwres_addr { - lwres_uint32_t family; - lwres_uint16_t length; - unsigned char address[LWRES_ADDR_MAXLEN]; - LWRES_LINK(lwres_addr_t) link; -}; - -typedef struct { - /* public */ - lwres_uint32_t flags; - lwres_uint32_t addrtypes; - lwres_uint16_t namelen; - char *name; -} lwres_gabnrequest_t; - -typedef struct { - /* public */ - lwres_uint32_t flags; - lwres_uint16_t naliases; - lwres_uint16_t naddrs; - char *realname; - char **aliases; - lwres_uint16_t realnamelen; - lwres_uint16_t *aliaslen; - lwres_addrlist_t addrs; - /* if base != NULL, it will be freed when this structure is freed. */ - void *base; - size_t baselen; -} lwres_gabnresponse_t; - -/* - * get name by address - */ -#define LWRES_OPCODE_GETNAMEBYADDR 0x00010002U -typedef struct { - /* public */ - lwres_uint32_t flags; - lwres_addr_t addr; -} lwres_gnbarequest_t; - -typedef struct { - /* public */ - lwres_uint32_t flags; - lwres_uint16_t naliases; - char *realname; - char **aliases; - lwres_uint16_t realnamelen; - lwres_uint16_t *aliaslen; - /* if base != NULL, it will be freed when this structure is freed. */ - void *base; - size_t baselen; -} lwres_gnbaresponse_t; - -/* - * get rdata by name - */ -#define LWRES_OPCODE_GETRDATABYNAME 0x00010003U - -typedef struct { - /* public */ - lwres_uint32_t flags; - lwres_uint16_t rdclass; - lwres_uint16_t rdtype; - lwres_uint16_t namelen; - char *name; -} lwres_grbnrequest_t; - -typedef struct { - /* public */ - lwres_uint32_t flags; - lwres_uint16_t rdclass; - lwres_uint16_t rdtype; - lwres_uint32_t ttl; - lwres_uint16_t nrdatas; - lwres_uint16_t nsigs; - char *realname; - lwres_uint16_t realnamelen; - unsigned char **rdatas; - lwres_uint16_t *rdatalen; - unsigned char **sigs; - lwres_uint16_t *siglen; - /* if base != NULL, it will be freed when this structure is freed. */ - void *base; - size_t baselen; -} lwres_grbnresponse_t; - -#define LWRDATA_VALIDATED 0x00000001 - -/* - * resolv.conf data - */ - -#define LWRES_CONFMAXNAMESERVERS 3 /* max 3 "nameserver" entries */ -#define LWRES_CONFMAXLWSERVERS 1 /* max 1 "lwserver" entry */ -#define LWRES_CONFMAXSEARCH 8 /* max 8 domains in "search" entry */ -#define LWRES_CONFMAXLINELEN 256 /* max size of a line */ -#define LWRES_CONFMAXSORTLIST 10 -typedef struct { - lwres_context_t *lwctx; - lwres_addr_t nameservers[LWRES_CONFMAXNAMESERVERS]; - lwres_uint8_t nsnext; /* index for next free slot */ - - lwres_addr_t lwservers[LWRES_CONFMAXLWSERVERS]; - lwres_uint8_t lwnext; /* index for next free slot */ - - char *domainname; - - char *search[LWRES_CONFMAXSEARCH]; - lwres_uint8_t searchnxt; /* index for next free slot */ - - struct { - lwres_addr_t addr; - /* mask has a non-zero 'family' and 'length' if set */ - lwres_addr_t mask; - } sortlist[LWRES_CONFMAXSORTLIST]; - lwres_uint8_t sortlistnxt; - - lwres_uint8_t resdebug; /* non-zero if 'options debug' set */ - lwres_uint8_t ndots; /* set to n in 'options ndots:n' */ - lwres_uint8_t no_tld_query; /* non-zero if 'options no_tld_query' */ -} lwres_conf_t; - -#define LWRES_ADDRTYPE_V4 0x00000001U /* ipv4 */ -#define LWRES_ADDRTYPE_V6 0x00000002U /* ipv6 */ - -#define LWRES_MAX_ALIASES 16 /* max # of aliases */ -#define LWRES_MAX_ADDRS 64 /* max # of addrs */ - -LWRES_LANG_BEGINDECLS - -/* - * This is in host byte order. - */ -extern lwres_uint16_t lwres_udp_port; - -extern const char *lwres_resolv_conf; - -lwres_result_t -lwres_gabnrequest_render(lwres_context_t *ctx, lwres_gabnrequest_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); - -lwres_result_t -lwres_gabnresponse_render(lwres_context_t *ctx, lwres_gabnresponse_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); - -lwres_result_t -lwres_gabnrequest_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, lwres_gabnrequest_t **structp); - -lwres_result_t -lwres_gabnresponse_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, - lwres_gabnresponse_t **structp); - -void -lwres_gabnrequest_free(lwres_context_t *ctx, lwres_gabnrequest_t **structp); -/* - * Frees any dynamically allocated memory for this structure. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * structp != NULL && *structp != NULL. - * - * Ensures: - * - * *structp == NULL. - * - * All memory allocated by this structure will be returned to the - * system via the context's free function. - */ - -void -lwres_gabnresponse_free(lwres_context_t *ctx, lwres_gabnresponse_t **structp); -/* - * Frees any dynamically allocated memory for this structure. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * structp != NULL && *structp != NULL. - * - * Ensures: - * - * *structp == NULL. - * - * All memory allocated by this structure will be returned to the - * system via the context's free function. - */ - - -lwres_result_t -lwres_gnbarequest_render(lwres_context_t *ctx, lwres_gnbarequest_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); - -lwres_result_t -lwres_gnbaresponse_render(lwres_context_t *ctx, lwres_gnbaresponse_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); - -lwres_result_t -lwres_gnbarequest_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, lwres_gnbarequest_t **structp); - -lwres_result_t -lwres_gnbaresponse_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, - lwres_gnbaresponse_t **structp); - -void -lwres_gnbarequest_free(lwres_context_t *ctx, lwres_gnbarequest_t **structp); -/* - * Frees any dynamically allocated memory for this structure. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * structp != NULL && *structp != NULL. - * - * Ensures: - * - * *structp == NULL. - * - * All memory allocated by this structure will be returned to the - * system via the context's free function. - */ - -void -lwres_gnbaresponse_free(lwres_context_t *ctx, lwres_gnbaresponse_t **structp); -/* - * Frees any dynamically allocated memory for this structure. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * structp != NULL && *structp != NULL. - * - * Ensures: - * - * *structp == NULL. - * - * All memory allocated by this structure will be returned to the - * system via the context's free function. - */ - -lwres_result_t -lwres_grbnrequest_render(lwres_context_t *ctx, lwres_grbnrequest_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); - -lwres_result_t -lwres_grbnresponse_render(lwres_context_t *ctx, lwres_grbnresponse_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); - -lwres_result_t -lwres_grbnrequest_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, lwres_grbnrequest_t **structp); - -lwres_result_t -lwres_grbnresponse_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, - lwres_grbnresponse_t **structp); - -void -lwres_grbnrequest_free(lwres_context_t *ctx, lwres_grbnrequest_t **structp); -/* - * Frees any dynamically allocated memory for this structure. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * structp != NULL && *structp != NULL. - * - * Ensures: - * - * *structp == NULL. - * - * All memory allocated by this structure will be returned to the - * system via the context's free function. - */ - -void -lwres_grbnresponse_free(lwres_context_t *ctx, lwres_grbnresponse_t **structp); -/* - * Frees any dynamically allocated memory for this structure. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * structp != NULL && *structp != NULL. - * - * Ensures: - * - * *structp == NULL. - * - * All memory allocated by this structure will be returned to the - * system via the context's free function. - */ - -lwres_result_t -lwres_nooprequest_render(lwres_context_t *ctx, lwres_nooprequest_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); -/* - * Allocate space and render into wire format a noop request packet. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * b != NULL, and points to a lwres_buffer_t. The contents of the - * buffer structure will be initialized to contain the wire-format - * noop request packet. - * - * Caller needs to fill in parts of "pkt" before calling: - * serial, maxrecv, result. - * - * Returns: - * - * Returns 0 on success, non-zero on failure. - * - * On successful return, *b will contain data about the wire-format - * packet. It can be transmitted in any way, including lwres_sendblock(). - */ - -lwres_result_t -lwres_noopresponse_render(lwres_context_t *ctx, lwres_noopresponse_t *req, - lwres_lwpacket_t *pkt, lwres_buffer_t *b); - -lwres_result_t -lwres_nooprequest_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, lwres_nooprequest_t **structp); -/* - * Parse a noop request. Note that to get here, the lwpacket must have - * already been parsed and removed by the caller, otherwise it would be - * pretty hard for it to know this is the right function to call. - * - * The function verifies bits of the header, but does not modify it. - */ - -lwres_result_t -lwres_noopresponse_parse(lwres_context_t *ctx, lwres_buffer_t *b, - lwres_lwpacket_t *pkt, - lwres_noopresponse_t **structp); - -void -lwres_nooprequest_free(lwres_context_t *ctx, lwres_nooprequest_t **structp); - -void -lwres_noopresponse_free(lwres_context_t *ctx, lwres_noopresponse_t **structp); - -/* - * Frees any dynamically allocated memory for this structure. - * - * Requires: - * - * ctx != NULL, and be a context returned via lwres_contextcreate(). - * - * structp != NULL && *structp != NULL. - * - * Ensures: - * - * *structp == NULL. - * - * All memory allocated by this structure will be returned to the - * system via the context's free function. - */ - -lwres_result_t -lwres_conf_parse(lwres_context_t *ctx, const char *filename); -/* - * parses a resolv.conf-format file and stores the results in the structure - * pointed to by *ctx. - * - * Requires: - * ctx != NULL - * filename != NULL && strlen(filename) > 0 - * - * Returns: - * LWRES_R_SUCCESS on a successful parse. - * Anything else on error, although the structure may be partially filled - * in. - */ - -lwres_result_t -lwres_conf_print(lwres_context_t *ctx, FILE *fp); -/* - * Prints a resolv.conf-format of confdata output to fp. - * - * Requires: - * ctx != NULL - */ - -void -lwres_conf_init(lwres_context_t *ctx); -/* - * sets all internal fields to a default state. Used to initialize a new - * lwres_conf_t structure (not reset a used on). - * - * Requires: - * ctx != NULL - */ - -void -lwres_conf_clear(lwres_context_t *ctx); -/* - * frees all internally allocated memory in confdata. Uses the memory - * routines supplied by ctx. - * - * Requires: - * ctx != NULL - */ - -lwres_conf_t * -lwres_conf_get(lwres_context_t *ctx); -/* - * returns a pointer to the current config structure. - * Be extremely cautions in modifying the contents of this structure; it - * needs an API to return the various bits of data, walk lists, etc. - * - * Requires: - * ctx != NULL - */ - -/* - * Helper functions - */ - -lwres_result_t -lwres_data_parse(lwres_buffer_t *b, unsigned char **p, lwres_uint16_t *len); - -lwres_result_t -lwres_string_parse(lwres_buffer_t *b, char **c, lwres_uint16_t *len); - -lwres_result_t -lwres_addr_parse(lwres_buffer_t *b, lwres_addr_t *addr); - -lwres_result_t -lwres_getaddrsbyname(lwres_context_t *ctx, const char *name, - lwres_uint32_t addrtypes, lwres_gabnresponse_t **structp); - -lwres_result_t -lwres_getnamebyaddr(lwres_context_t *ctx, lwres_uint32_t addrtype, - lwres_uint16_t addrlen, const unsigned char *addr, - lwres_gnbaresponse_t **structp); - -lwres_result_t -lwres_getrdatabyname(lwres_context_t *ctx, const char *name, - lwres_uint16_t rdclass, lwres_uint16_t rdtype, - lwres_uint32_t flags, lwres_grbnresponse_t **structp); - -lwres_result_t -lwres_getaddrsbyname_setup(lwres_context_t *ctx, const char *name, - lwres_uint32_t addrtypes, lwres_gabnresponse_t **structp); - - - -LWRES_LANG_ENDDECLS - -#endif /* LWRES_LWRES_H */ diff --git a/lib/liblwres/include/lwres/netdb.h b/lib/liblwres/include/lwres/netdb.h deleted file mode 100644 index 2391d31fb..000000000 --- a/lib/liblwres/include/lwres/netdb.h +++ /dev/null @@ -1,522 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: netdb.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_NETDB_H -#define LWRES_NETDB_H 1 - -#include <stddef.h> /* Required on FreeBSD (and others?) for size_t. */ -#include <netdb.h> /* Contractual provision. */ - -#include <lwres/lang.h> - -/* - * Define if <netdb.h> does not declare struct addrinfo. - */ -#undef ISC_LWRES_NEEDADDRINFO - -#ifdef ISC_LWRES_NEEDADDRINFO -struct addrinfo { - int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ - int ai_family; /* PF_xxx */ - int ai_socktype; /* SOCK_xxx */ - int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ - size_t ai_addrlen; /* Length of ai_addr */ - char *ai_canonname; /* Canonical name for hostname */ - struct sockaddr *ai_addr; /* Binary address */ - struct addrinfo *ai_next; /* Next structure in linked list */ -}; -#endif - -/* - * Undefine all #defines we are interested in as <netdb.h> may or may not have - * defined them. - */ - -/* - * Error return codes from gethostbyname() and gethostbyaddr() - * (left in extern int h_errno). - */ - -#undef NETDB_INTERNAL -#undef NETDB_SUCCESS -#undef HOST_NOT_FOUND -#undef TRY_AGAIN -#undef NO_RECOVERY -#undef NO_DATA -#undef NO_ADDRESS - -#define NETDB_INTERNAL -1 /* see errno */ -#define NETDB_SUCCESS 0 /* no problem */ -#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ -#define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */ -#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ -#define NO_DATA 4 /* Valid name, no data record of requested type */ -#define NO_ADDRESS NO_DATA /* no address, look for MX record */ - -/* - * Error return codes from getaddrinfo() - */ - -#undef EAI_ADDRFAMILY -#undef EAI_AGAIN -#undef EAI_BADFLAGS -#undef EAI_FAIL -#undef EAI_FAMILY -#undef EAI_MEMORY -#undef EAI_NODATA -#undef EAI_NONAME -#undef EAI_SERVICE -#undef EAI_SOCKTYPE -#undef EAI_SYSTEM -#undef EAI_BADHINTS -#undef EAI_PROTOCOL -#undef EAI_MAX - -#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ -#define EAI_AGAIN 2 /* temporary failure in name resolution */ -#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ -#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ -#define EAI_FAMILY 5 /* ai_family not supported */ -#define EAI_MEMORY 6 /* memory allocation failure */ -#define EAI_NODATA 7 /* no address associated with hostname */ -#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ -#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ -#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ -#define EAI_SYSTEM 11 /* system error returned in errno */ -#define EAI_BADHINTS 12 -#define EAI_PROTOCOL 13 -#define EAI_MAX 14 - -/* - * Flag values for getaddrinfo() - */ -#undef AI_PASSIVE -#undef AI_CANONNAME -#undef AI_NUMERICHOST - -#define AI_PASSIVE 0x00000001 -#define AI_CANONNAME 0x00000002 -#define AI_NUMERICHOST 0x00000004 - -/* - * Flag values for getipnodebyname() - */ -#undef AI_V4MAPPED -#undef AI_ALL -#undef AI_ADDRCONFIG -#undef AI_DEFAULT - -#define AI_V4MAPPED 0x00000008 -#define AI_ALL 0x00000010 -#define AI_ADDRCONFIG 0x00000020 -#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG) - -/* - * Constants for lwres_getnameinfo() - */ -#undef NI_MAXHOST -#undef NI_MAXSERV - -#define NI_MAXHOST 1025 -#define NI_MAXSERV 32 - -/* - * Flag values for lwres_getnameinfo() - */ -#undef NI_NOFQDN -#undef NI_NUMERICHOST -#undef NI_NAMEREQD -#undef NI_NUMERICSERV -#undef NI_DGRAM -#undef NI_NUMERICSCOPE - -#define NI_NOFQDN 0x00000001 -#define NI_NUMERICHOST 0x00000002 -#define NI_NAMEREQD 0x00000004 -#define NI_NUMERICSERV 0x00000008 -#define NI_DGRAM 0x00000010 -#define NI_NUMERICSCOPE 0x00000020 /*2553bis-00*/ - -/* - * Define if <netdb.h> does not declare struct rrsetinfo. - */ -#define ISC_LWRES_NEEDRRSETINFO 1 - -#ifdef ISC_LWRES_NEEDRRSETINFO -/* - * Structures for getrrsetbyname() - */ -struct rdatainfo { - unsigned int rdi_length; - unsigned char *rdi_data; -}; - -struct rrsetinfo { - unsigned int rri_flags; - int rri_rdclass; - int rri_rdtype; - unsigned int rri_ttl; - unsigned int rri_nrdatas; - unsigned int rri_nsigs; - char *rri_name; - struct rdatainfo *rri_rdatas; - struct rdatainfo *rri_sigs; -}; - -/* - * Flags for getrrsetbyname() - */ -#define RRSET_VALIDATED 0x00000001 - /* Set was dnssec validated */ - -/* - * Return codes for getrrsetbyname() - */ -#define ERRSET_SUCCESS 0 -#define ERRSET_NOMEMORY 1 -#define ERRSET_FAIL 2 -#define ERRSET_INVAL 3 -#define ERRSET_NONAME 4 -#define ERRSET_NODATA 5 -#define ERRSET_RETRY 6 -#endif - -/* - * Define to map into lwres_ namespace. - */ - -#define LWRES_NAMESPACE - -#ifdef LWRES_NAMESPACE - -/* - * Use our versions not the ones from the C library. - */ - -#ifdef getnameinfo -#undef getnameinfo -#endif -#define getnameinfo lwres_getnameinfo - -#ifdef getaddrinfo -#undef getaddrinfo -#endif -#define getaddrinfo lwres_getaddrinfo - -#ifdef freeaddrinfo -#undef freeaddrinfo -#endif -#define freeaddrinfo lwres_freeaddrinfo - -#ifdef gai_strerror -#undef gai_strerror -#endif -#define gai_strerror lwres_gai_strerror - -#ifdef herror -#undef herror -#endif -#define herror lwres_herror - -#ifdef hstrerror -#undef hstrerror -#endif -#define hstrerror lwres_hstrerror - -#ifdef getipnodebyname -#undef getipnodebyname -#endif -#define getipnodebyname lwres_getipnodebyname - -#ifdef getipnodebyaddr -#undef getipnodebyaddr -#endif -#define getipnodebyaddr lwres_getipnodebyaddr - -#ifdef freehostent -#undef freehostent -#endif -#define freehostent lwres_freehostent - -#ifdef gethostbyname -#undef gethostbyname -#endif -#define gethostbyname lwres_gethostbyname - -#ifdef gethostbyname2 -#undef gethostbyname2 -#endif -#define gethostbyname2 lwres_gethostbyname2 - -#ifdef gethostbyaddr -#undef gethostbyaddr -#endif -#define gethostbyaddr lwres_gethostbyaddr - -#ifdef gethostent -#undef gethostent -#endif -#define gethostent lwres_gethostent - -#ifdef sethostent -#undef sethostent -#endif -#define sethostent lwres_sethostent - -#ifdef endhostent -#undef endhostent -#endif -#define endhostent lwres_endhostent - -/* #define sethostfile lwres_sethostfile */ - -#ifdef gethostbyname_r -#undef gethostbyname_r -#endif -#define gethostbyname_r lwres_gethostbyname_r - -#ifdef gethostbyaddr_r -#undef gethostbyaddr_r -#endif -#define gethostbyaddr_r lwres_gethostbyaddr_r - -#ifdef gethostent_r -#undef gethostent_r -#endif -#define gethostent_r lwres_gethostent_r - -#ifdef sethostent_r -#undef sethostent_r -#endif -#define sethostent_r lwres_sethostent_r - -#ifdef endhostent_r -#undef endhostent_r -#endif -#define endhostent_r lwres_endhostent_r - -#ifdef getrrsetbyname -#undef getrrsetbyname -#endif -#define getrrsetbyname lwres_getrrsetbyname - -#ifdef freerrset -#undef freerrset -#endif -#define freerrset lwres_freerrset - -#ifdef notyet -#define getservbyname lwres_getservbyname -#define getservbyport lwres_getservbyport -#define getservent lwres_getservent -#define setservent lwres_setservent -#define endservent lwres_endservent - -#define getservbyname_r lwres_getservbyname_r -#define getservbyport_r lwres_getservbyport_r -#define getservent_r lwres_getservent_r -#define setservent_r lwres_setservent_r -#define endservent_r lwres_endservent_r - -#define getprotobyname lwres_getprotobyname -#define getprotobynumber lwres_getprotobynumber -#define getprotoent lwres_getprotoent -#define setprotoent lwres_setprotoent -#define endprotoent lwres_endprotoent - -#define getprotobyname_r lwres_getprotobyname_r -#define getprotobynumber_r lwres_getprotobynumber_r -#define getprotoent_r lwres_getprotoent_r -#define setprotoent_r lwres_setprotoent_r -#define endprotoent_r lwres_endprotoent_r - -#ifdef getnetbyname -#undef getnetbyname -#endif -#define getnetbyname lwres_getnetbyname - -#ifdef getnetbyaddr -#undef getnetbyaddr -#endif -#define getnetbyaddr lwres_getnetbyaddr - -#ifdef getnetent -#undef getnetent -#endif -#define getnetent lwres_getnetent - -#ifdef setnetent -#undef setnetent -#endif -#define setnetent lwres_setnetent - -#ifdef endnetent -#undef endnetent -#endif -#define endnetent lwres_endnetent - - -#ifdef getnetbyname_r -#undef getnetbyname_r -#endif -#define getnetbyname_r lwres_getnetbyname_r - -#ifdef getnetbyaddr_r -#undef getnetbyaddr_r -#endif -#define getnetbyaddr_r lwres_getnetbyaddr_r - -#ifdef getnetent_r -#undef getnetent_r -#endif -#define getnetent_r lwres_getnetent_r - -#ifdef setnetent_r -#undef setnetent_r -#endif -#define setnetent_r lwres_setnetent_r - -#ifdef endnetent_r -#undef endnetent_r -#endif -#define endnetent_r lwres_endnetent_r -#endif /* notyet */ - -#ifdef h_errno -#undef h_errno -#endif -#define h_errno lwres_h_errno - -#endif /* LWRES_NAMESPACE */ - -LWRES_LANG_BEGINDECLS - -extern int lwres_h_errno; - -int lwres_getaddrinfo(const char *, const char *, - const struct addrinfo *, struct addrinfo **); -int lwres_getnameinfo(const struct sockaddr *, size_t, char *, - size_t, char *, size_t, int); -void lwres_freeaddrinfo(struct addrinfo *); -char *lwres_gai_strerror(int); - -struct hostent *lwres_gethostbyaddr(const char *, int, int); -struct hostent *lwres_gethostbyname(const char *); -struct hostent *lwres_gethostbyname2(const char *, int); -struct hostent *lwres_gethostent(void); -struct hostent *lwres_getipnodebyname(const char *, int, int, int *); -struct hostent *lwres_getipnodebyaddr(const void *, size_t, int, int *); -void lwres_endhostent(void); -void lwres_sethostent(int); -/* void lwres_sethostfile(const char *); */ -void lwres_freehostent(struct hostent *); - -int lwres_getrrsetbyname(const char *, unsigned int, unsigned int, - unsigned int, struct rrsetinfo **); -int lwres_getrrsetbyname_all(const char *, unsigned int, - unsigned int, - unsigned int, struct rrsetinfo **); -void lwres_freerrset(struct rrsetinfo *); - -#ifdef notyet -struct netent *lwres_getnetbyaddr(unsigned long, int); -struct netent *lwres_getnetbyname(const char *); -struct netent *lwres_getnetent(void); -void lwres_endnetent(void); -void lwres_setnetent(int); - -struct protoent *lwres_getprotobyname(const char *); -struct protoent *lwres_getprotobynumber(int); -struct protoent *lwres_getprotoent(void); -void lwres_endprotoent(void); -void lwres_setprotoent(int); - -struct servent *lwres_getservbyname(const char *, const char *); -struct servent *lwres_getservbyport(int, const char *); -struct servent *lwres_getservent(void); -void lwres_endservent(void); -void lwres_setservent(int); -#endif /* notyet */ - -void lwres_herror(const char *); -const char *lwres_hstrerror(int); - - -struct hostent *lwres_gethostbyaddr_r(const char *, int, int, struct hostent *, - char *, int, int *); -struct hostent *lwres_gethostbyname_r(const char *, struct hostent *, - char *, int, int *); -struct hostent *lwres_gethostent_r(struct hostent *, char *, int, int *); -void lwres_sethostent_r(int); -void lwres_endhostent_r(void); - -#ifdef notyet -struct netent *lwres_getnetbyname_r(const char *, struct netent *, - char *, int); -struct netent *lwres_getnetbyaddr_r(long, int, struct netent *, - char *, int); -struct netent *lwres_getnetent_r(struct netent *, char *, int); -void lwres_setnetent_r(int); -void lwres_endnetent_r(void); - -struct protoent *lwres_getprotobyname_r(const char *, - struct protoent *, char *, int); -struct protoent *lwres_getprotobynumber_r(int, - struct protoent *, char *, int); -struct protoent *lwres_getprotoent_r(struct protoent *, char *, int); -void lwres_setprotoent_r(int); -void lwres_endprotoent_r(void); - -struct servent *lwres_getservbyname_r(const char *name, const char *, - struct servent *, char *, int); -struct servent *lwres_getservbyport_r(int port, const char *, - struct servent *, char *, int); -struct servent *lwres_getservent_r(struct servent *, char *, int); -void lwres_setservent_r(int); -void lwres_endservent_r(void); -#endif /* notyet */ - -LWRES_LANG_ENDDECLS - -#ifdef notyet -/* This is nec'y to make this include file properly replace the sun version. */ -#ifdef sun -#ifdef __GNU_LIBRARY__ -#include <rpc/netdb.h> /* Required. */ -#else /* !__GNU_LIBRARY__ */ -struct rpcent { - char *r_name; /* name of server for this rpc program */ - char **r_aliases; /* alias list */ - int r_number; /* rpc program number */ -}; -struct rpcent *lwres_getrpcbyname(); -struct rpcent *lwres_getrpcbynumber(), -struct rpcent *lwres_getrpcent(); -#endif /* __GNU_LIBRARY__ */ -#endif /* sun */ -#endif /* notyet */ - -/* - * Tell Emacs to use C mode on this file. - * Local variables: - * mode: c - * End: - */ - -#endif /* LWRES_NETDB_H */ diff --git a/lib/liblwres/include/lwres/netdb.h.in b/lib/liblwres/include/lwres/netdb.h.in deleted file mode 100644 index 75446e8f8..000000000 --- a/lib/liblwres/include/lwres/netdb.h.in +++ /dev/null @@ -1,518 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: netdb.h.in,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_NETDB_H -#define LWRES_NETDB_H 1 - -#include <stddef.h> /* Required on FreeBSD (and others?) for size_t. */ -#include <netdb.h> /* Contractual provision. */ - -#include <lwres/lang.h> - -/* - * Define if <netdb.h> does not declare struct addrinfo. - */ -@ISC_LWRES_NEEDADDRINFO@ - -#ifdef ISC_LWRES_NEEDADDRINFO -struct addrinfo { - int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ - int ai_family; /* PF_xxx */ - int ai_socktype; /* SOCK_xxx */ - int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ - size_t ai_addrlen; /* Length of ai_addr */ - char *ai_canonname; /* Canonical name for hostname */ - struct sockaddr *ai_addr; /* Binary address */ - struct addrinfo *ai_next; /* Next structure in linked list */ -}; -#endif - -/* - * Undefine all #defines we are interested in as <netdb.h> may or may not have - * defined them. - */ - -/* - * Error return codes from gethostbyname() and gethostbyaddr() - * (left in extern int h_errno). - */ - -#undef NETDB_INTERNAL -#undef NETDB_SUCCESS -#undef HOST_NOT_FOUND -#undef TRY_AGAIN -#undef NO_RECOVERY -#undef NO_DATA -#undef NO_ADDRESS - -#define NETDB_INTERNAL -1 /* see errno */ -#define NETDB_SUCCESS 0 /* no problem */ -#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ -#define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */ -#define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */ -#define NO_DATA 4 /* Valid name, no data record of requested type */ -#define NO_ADDRESS NO_DATA /* no address, look for MX record */ - -/* - * Error return codes from getaddrinfo() - */ - -#undef EAI_ADDRFAMILY -#undef EAI_AGAIN -#undef EAI_BADFLAGS -#undef EAI_FAIL -#undef EAI_FAMILY -#undef EAI_MEMORY -#undef EAI_NODATA -#undef EAI_NONAME -#undef EAI_SERVICE -#undef EAI_SOCKTYPE -#undef EAI_SYSTEM -#undef EAI_BADHINTS -#undef EAI_PROTOCOL -#undef EAI_MAX - -#define EAI_ADDRFAMILY 1 /* address family for hostname not supported */ -#define EAI_AGAIN 2 /* temporary failure in name resolution */ -#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ -#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ -#define EAI_FAMILY 5 /* ai_family not supported */ -#define EAI_MEMORY 6 /* memory allocation failure */ -#define EAI_NODATA 7 /* no address associated with hostname */ -#define EAI_NONAME 8 /* hostname nor servname provided, or not known */ -#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ -#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ -#define EAI_SYSTEM 11 /* system error returned in errno */ -#define EAI_BADHINTS 12 -#define EAI_PROTOCOL 13 -#define EAI_MAX 14 - -/* - * Flag values for getaddrinfo() - */ -#undef AI_PASSIVE -#undef AI_CANONNAME -#undef AI_NUMERICHOST - -#define AI_PASSIVE 0x00000001 -#define AI_CANONNAME 0x00000002 -#define AI_NUMERICHOST 0x00000004 - -/* - * Flag values for getipnodebyname() - */ -#undef AI_V4MAPPED -#undef AI_ALL -#undef AI_ADDRCONFIG -#undef AI_DEFAULT - -#define AI_V4MAPPED 0x00000008 -#define AI_ALL 0x00000010 -#define AI_ADDRCONFIG 0x00000020 -#define AI_DEFAULT (AI_V4MAPPED|AI_ADDRCONFIG) - -/* - * Constants for lwres_getnameinfo() - */ -#undef NI_MAXHOST -#undef NI_MAXSERV - -#define NI_MAXHOST 1025 -#define NI_MAXSERV 32 - -/* - * Flag values for lwres_getnameinfo() - */ -#undef NI_NOFQDN -#undef NI_NUMERICHOST -#undef NI_NAMEREQD -#undef NI_NUMERICSERV -#undef NI_DGRAM -#undef NI_NUMERICSCOPE - -#define NI_NOFQDN 0x00000001 -#define NI_NUMERICHOST 0x00000002 -#define NI_NAMEREQD 0x00000004 -#define NI_NUMERICSERV 0x00000008 -#define NI_DGRAM 0x00000010 -#define NI_NUMERICSCOPE 0x00000020 /*2553bis-00*/ - -/* - * Define if <netdb.h> does not declare struct rrsetinfo. - */ -@ISC_LWRES_NEEDRRSETINFO@ - -#ifdef ISC_LWRES_NEEDRRSETINFO -/* - * Structures for getrrsetbyname() - */ -struct rdatainfo { - unsigned int rdi_length; - unsigned char *rdi_data; -}; - -struct rrsetinfo { - unsigned int rri_flags; - int rri_rdclass; - int rri_rdtype; - unsigned int rri_ttl; - unsigned int rri_nrdatas; - unsigned int rri_nsigs; - char *rri_name; - struct rdatainfo *rri_rdatas; - struct rdatainfo *rri_sigs; -}; - -/* - * Flags for getrrsetbyname() - */ -#define RRSET_VALIDATED 0x00000001 - /* Set was dnssec validated */ - -/* - * Return codes for getrrsetbyname() - */ -#define ERRSET_SUCCESS 0 -#define ERRSET_NOMEMORY 1 -#define ERRSET_FAIL 2 -#define ERRSET_INVAL 3 -#define ERRSET_NONAME 4 -#define ERRSET_NODATA 5 -#endif - -/* - * Define to map into lwres_ namespace. - */ - -#define LWRES_NAMESPACE - -#ifdef LWRES_NAMESPACE - -/* - * Use our versions not the ones from the C library. - */ - -#ifdef getnameinfo -#undef getnameinfo -#endif -#define getnameinfo lwres_getnameinfo - -#ifdef getaddrinfo -#undef getaddrinfo -#endif -#define getaddrinfo lwres_getaddrinfo - -#ifdef freeaddrinfo -#undef freeaddrinfo -#endif -#define freeaddrinfo lwres_freeaddrinfo - -#ifdef gai_strerror -#undef gai_strerror -#endif -#define gai_strerror lwres_gai_strerror - -#ifdef herror -#undef herror -#endif -#define herror lwres_herror - -#ifdef hstrerror -#undef hstrerror -#endif -#define hstrerror lwres_hstrerror - -#ifdef getipnodebyname -#undef getipnodebyname -#endif -#define getipnodebyname lwres_getipnodebyname - -#ifdef getipnodebyaddr -#undef getipnodebyaddr -#endif -#define getipnodebyaddr lwres_getipnodebyaddr - -#ifdef freehostent -#undef freehostent -#endif -#define freehostent lwres_freehostent - -#ifdef gethostbyname -#undef gethostbyname -#endif -#define gethostbyname lwres_gethostbyname - -#ifdef gethostbyname2 -#undef gethostbyname2 -#endif -#define gethostbyname2 lwres_gethostbyname2 - -#ifdef gethostbyaddr -#undef gethostbyaddr -#endif -#define gethostbyaddr lwres_gethostbyaddr - -#ifdef gethostent -#undef gethostent -#endif -#define gethostent lwres_gethostent - -#ifdef sethostent -#undef sethostent -#endif -#define sethostent lwres_sethostent - -#ifdef endhostent -#undef endhostent -#endif -#define endhostent lwres_endhostent - -/* #define sethostfile lwres_sethostfile */ - -#ifdef gethostbyname_r -#undef gethostbyname_r -#endif -#define gethostbyname_r lwres_gethostbyname_r - -#ifdef gethostbyaddr_r -#undef gethostbyaddr_r -#endif -#define gethostbyaddr_r lwres_gethostbyaddr_r - -#ifdef gethostent_r -#undef gethostent_r -#endif -#define gethostent_r lwres_gethostent_r - -#ifdef sethostent_r -#undef sethostent_r -#endif -#define sethostent_r lwres_sethostent_r - -#ifdef endhostent_r -#undef endhostent_r -#endif -#define endhostent_r lwres_endhostent_r - -#ifdef getrrsetbyname -#undef getrrsetbyname -#endif -#define getrrsetbyname lwres_getrrsetbyname - -#ifdef freerrset -#undef freerrset -#endif -#define freerrset lwres_freerrset - -#ifdef notyet -#define getservbyname lwres_getservbyname -#define getservbyport lwres_getservbyport -#define getservent lwres_getservent -#define setservent lwres_setservent -#define endservent lwres_endservent - -#define getservbyname_r lwres_getservbyname_r -#define getservbyport_r lwres_getservbyport_r -#define getservent_r lwres_getservent_r -#define setservent_r lwres_setservent_r -#define endservent_r lwres_endservent_r - -#define getprotobyname lwres_getprotobyname -#define getprotobynumber lwres_getprotobynumber -#define getprotoent lwres_getprotoent -#define setprotoent lwres_setprotoent -#define endprotoent lwres_endprotoent - -#define getprotobyname_r lwres_getprotobyname_r -#define getprotobynumber_r lwres_getprotobynumber_r -#define getprotoent_r lwres_getprotoent_r -#define setprotoent_r lwres_setprotoent_r -#define endprotoent_r lwres_endprotoent_r - -#ifdef getnetbyname -#undef getnetbyname -#endif -#define getnetbyname lwres_getnetbyname - -#ifdef getnetbyaddr -#undef getnetbyaddr -#endif -#define getnetbyaddr lwres_getnetbyaddr - -#ifdef getnetent -#undef getnetent -#endif -#define getnetent lwres_getnetent - -#ifdef setnetent -#undef setnetent -#endif -#define setnetent lwres_setnetent - -#ifdef endnetent -#undef endnetent -#endif -#define endnetent lwres_endnetent - - -#ifdef getnetbyname_r -#undef getnetbyname_r -#endif -#define getnetbyname_r lwres_getnetbyname_r - -#ifdef getnetbyaddr_r -#undef getnetbyaddr_r -#endif -#define getnetbyaddr_r lwres_getnetbyaddr_r - -#ifdef getnetent_r -#undef getnetent_r -#endif -#define getnetent_r lwres_getnetent_r - -#ifdef setnetent_r -#undef setnetent_r -#endif -#define setnetent_r lwres_setnetent_r - -#ifdef endnetent_r -#undef endnetent_r -#endif -#define endnetent_r lwres_endnetent_r -#endif /* notyet */ - -#ifdef h_errno -#undef h_errno -#endif -#define h_errno lwres_h_errno - -#endif /* LWRES_NAMESPACE */ - -LWRES_LANG_BEGINDECLS - -extern int lwres_h_errno; - -int lwres_getaddrinfo(const char *, const char *, - const struct addrinfo *, struct addrinfo **); -int lwres_getnameinfo(const struct sockaddr *, size_t, char *, - size_t, char *, size_t, int); -void lwres_freeaddrinfo(struct addrinfo *); -char *lwres_gai_strerror(int); - -struct hostent *lwres_gethostbyaddr(const char *, int, int); -struct hostent *lwres_gethostbyname(const char *); -struct hostent *lwres_gethostbyname2(const char *, int); -struct hostent *lwres_gethostent(void); -struct hostent *lwres_getipnodebyname(const char *, int, int, int *); -struct hostent *lwres_getipnodebyaddr(const void *, size_t, int, int *); -void lwres_endhostent(void); -void lwres_sethostent(int); -/* void lwres_sethostfile(const char *); */ -void lwres_freehostent(struct hostent *); - -int lwres_getrrsetbyname(const char *, unsigned int, unsigned int, - unsigned int, struct rrsetinfo **); -void lwres_freerrset(struct rrsetinfo *); - -#ifdef notyet -struct netent *lwres_getnetbyaddr(unsigned long, int); -struct netent *lwres_getnetbyname(const char *); -struct netent *lwres_getnetent(void); -void lwres_endnetent(void); -void lwres_setnetent(int); - -struct protoent *lwres_getprotobyname(const char *); -struct protoent *lwres_getprotobynumber(int); -struct protoent *lwres_getprotoent(void); -void lwres_endprotoent(void); -void lwres_setprotoent(int); - -struct servent *lwres_getservbyname(const char *, const char *); -struct servent *lwres_getservbyport(int, const char *); -struct servent *lwres_getservent(void); -void lwres_endservent(void); -void lwres_setservent(int); -#endif /* notyet */ - -void lwres_herror(const char *); -const char *lwres_hstrerror(int); - - -struct hostent *lwres_gethostbyaddr_r(const char *, int, int, struct hostent *, - char *, int, int *); -struct hostent *lwres_gethostbyname_r(const char *, struct hostent *, - char *, int, int *); -struct hostent *lwres_gethostent_r(struct hostent *, char *, int, int *); -void lwres_sethostent_r(int); -void lwres_endhostent_r(void); - -#ifdef notyet -struct netent *lwres_getnetbyname_r(const char *, struct netent *, - char *, int); -struct netent *lwres_getnetbyaddr_r(long, int, struct netent *, - char *, int); -struct netent *lwres_getnetent_r(struct netent *, char *, int); -void lwres_setnetent_r(int); -void lwres_endnetent_r(void); - -struct protoent *lwres_getprotobyname_r(const char *, - struct protoent *, char *, int); -struct protoent *lwres_getprotobynumber_r(int, - struct protoent *, char *, int); -struct protoent *lwres_getprotoent_r(struct protoent *, char *, int); -void lwres_setprotoent_r(int); -void lwres_endprotoent_r(void); - -struct servent *lwres_getservbyname_r(const char *name, const char *, - struct servent *, char *, int); -struct servent *lwres_getservbyport_r(int port, const char *, - struct servent *, char *, int); -struct servent *lwres_getservent_r(struct servent *, char *, int); -void lwres_setservent_r(int); -void lwres_endservent_r(void); -#endif /* notyet */ - -LWRES_LANG_ENDDECLS - -#ifdef notyet -/* This is nec'y to make this include file properly replace the sun version. */ -#ifdef sun -#ifdef __GNU_LIBRARY__ -#include <rpc/netdb.h> /* Required. */ -#else /* !__GNU_LIBRARY__ */ -struct rpcent { - char *r_name; /* name of server for this rpc program */ - char **r_aliases; /* alias list */ - int r_number; /* rpc program number */ -}; -struct rpcent *lwres_getrpcbyname(); -struct rpcent *lwres_getrpcbynumber(), -struct rpcent *lwres_getrpcent(); -#endif /* __GNU_LIBRARY__ */ -#endif /* sun */ -#endif /* notyet */ - -/* - * Tell Emacs to use C mode on this file. - * Local variables: - * mode: c - * End: - */ - -#endif /* LWRES_NETDB_H */ diff --git a/lib/liblwres/include/lwres/platform.h b/lib/liblwres/include/lwres/platform.h deleted file mode 100644 index af4c615d9..000000000 --- a/lib/liblwres/include/lwres/platform.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: platform.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_PLATFORM_H -#define LWRES_PLATFORM_H 1 - -/***** - ***** Platform-dependent defines. - *****/ - -/*** - *** Network. - ***/ - -/* - * Define if this system needs the <netinet/in6.h> header file for IPv6. - */ -#undef LWRES_PLATFORM_NEEDNETINETIN6H - -/* - * Define if this system needs the <netinet6/in6.h> header file for IPv6. - */ -#undef LWRES_PLATFORM_NEEDNETINET6IN6H - -/* - * If sockaddrs on this system have an sa_len field, LWRES_PLATFORM_HAVESALEN - * will be defined. - */ -#undef LWRES_PLATFORM_HAVESALEN - -/* - * If this system has the IPv6 structure definitions, LWRES_PLATFORM_HAVEIPV6 - * will be defined. - */ -#define LWRES_PLATFORM_HAVEIPV6 1 - -/* - * If this system is missing in6addr_any, LWRES_PLATFORM_NEEDIN6ADDRANY will - * be defined. - */ -#undef LWRES_PLATFORM_NEEDIN6ADDRANY - -/* - * If this system is missing in6addr_loopback, - * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined. - */ -#undef LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK - -/* - * If this system has in_addr6, rather than in6_addr, - * LWRES_PLATFORM_HAVEINADDR6 will be defined. - */ -#undef LWRES_PLATFORM_HAVEINADDR6 - -/* - * Defined if unistd.h does not cause fd_set to be delared. - */ -#define LWRES_PLATFORM_NEEDSYSSELECTH 1 - -/* - * Used to control how extern data is linked; needed for Win32 platforms. - */ -#undef LWRES_PLATFORM_USEDECLSPEC - -#ifndef LWRES_PLATFORM_USEDECLSPEC -#define LIBLWRES_EXTERNAL_DATA -#else -#ifdef LIBLWRES_EXPORTS -#define LIBLWRES_EXTERNAL_DATA __declspec(dllexport) -#else -#define LIBLWRES_EXTERNAL_DATA __declspec(dllimport) -#endif -#endif - -#endif /* LWRES_PLATFORM_H */ diff --git a/lib/liblwres/include/lwres/platform.h.in b/lib/liblwres/include/lwres/platform.h.in deleted file mode 100644 index c679d8fae..000000000 --- a/lib/liblwres/include/lwres/platform.h.in +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: platform.h.in,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_PLATFORM_H -#define LWRES_PLATFORM_H 1 - -/***** - ***** Platform-dependent defines. - *****/ - -/*** - *** Network. - ***/ - -/* - * Define if this system needs the <netinet/in6.h> header file for IPv6. - */ -@LWRES_PLATFORM_NEEDNETINETIN6H@ - -/* - * Define if this system needs the <netinet6/in6.h> header file for IPv6. - */ -@LWRES_PLATFORM_NEEDNETINET6IN6H@ - -/* - * If sockaddrs on this system have an sa_len field, LWRES_PLATFORM_HAVESALEN - * will be defined. - */ -@LWRES_PLATFORM_HAVESALEN@ - -/* - * If this system has the IPv6 structure definitions, LWRES_PLATFORM_HAVEIPV6 - * will be defined. - */ -@LWRES_PLATFORM_HAVEIPV6@ - -/* - * If this system is missing in6addr_any, LWRES_PLATFORM_NEEDIN6ADDRANY will - * be defined. - */ -@LWRES_PLATFORM_NEEDIN6ADDRANY@ - -/* - * If this system is missing in6addr_loopback, - * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined. - */ -@LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK@ - -/* - * If this system has in_addr6, rather than in6_addr, - * LWRES_PLATFORM_HAVEINADDR6 will be defined. - */ -@LWRES_PLATFORM_HAVEINADDR6@ - -/* - * Defined if unistd.h does not cause fd_set to be delared. - */ -@LWRES_PLATFORM_NEEDSYSSELECTH@ - -/* - * Used to control how extern data is linked; needed for Win32 platforms. - */ -@LWRES_PLATFORM_USEDECLSPEC@ - -#ifndef LWRES_PLATFORM_USEDECLSPEC -#define LIBLWRES_EXTERNAL_DATA -#else -#ifdef LIBLWRES_EXPORTS -#define LIBLWRES_EXTERNAL_DATA __declspec(dllexport) -#else -#define LIBLWRES_EXTERNAL_DATA __declspec(dllimport) -#endif -#endif - -#endif /* LWRES_PLATFORM_H */ diff --git a/lib/liblwres/include/lwres/result.h b/lib/liblwres/include/lwres/result.h deleted file mode 100644 index 42e1bccea..000000000 --- a/lib/liblwres/include/lwres/result.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2000, 2001 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: result.h,v 1.1 2004/03/15 20:35:25 as Exp $ */ - -#ifndef LWRES_RESULT_H -#define LWRES_RESULT_H 1 - -typedef unsigned int lwres_result_t; - -#define LWRES_R_SUCCESS 0 -#define LWRES_R_NOMEMORY 1 -#define LWRES_R_TIMEOUT 2 -#define LWRES_R_NOTFOUND 3 -#define LWRES_R_UNEXPECTEDEND 4 /* unexpected end of input */ -#define LWRES_R_FAILURE 5 /* generic failure */ -#define LWRES_R_IOERROR 6 -#define LWRES_R_NOTIMPLEMENTED 7 -#define LWRES_R_UNEXPECTED 8 -#define LWRES_R_TRAILINGDATA 9 -#define LWRES_R_INCOMPLETE 10 -#define LWRES_R_RETRY 11 -#define LWRES_R_TYPENOTFOUND 12 -#define LWRES_R_TOOLARGE 13 - -#endif /* LWRES_RESULT_H */ |