| Current File : /home/mmdealscpanel/yummmdeals.com/lwres.zip |
PK �
�Zhl��� � string.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_STRING_H
#define LWRES_STRING_H 1
/*! \file lwres/string.h */
#include <stdlib.h>
#include <lwres/lang.h>
#include <lwres/platform.h>
#ifdef LWRES_PLATFORM_NEEDSTRLCPY
#define strlcpy lwres_strlcpy
#endif
LWRES_LANG_BEGINDECLS
size_t lwres_strlcpy(char *dst, const char *src, size_t size);
LWRES_LANG_ENDDECLS
#endif
PK �
�ZK�
� � context.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_CONTEXT_H
#define LWRES_CONTEXT_H 1
/*! \file lwres/context.h */
#include <inttypes.h>
#include <stddef.h>
#include <lwres/lang.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.
*
* _USEIPV4, _USEIPV6
* Use IPv4 and IPv6 transactions with remote servers, respectively.
* For backward compatibility, regard both flags as being set when both
* are cleared.
*/
#define LWRES_CONTEXT_SERVERMODE 0x00000001U
#define LWRES_CONTEXT_USEIPV4 0x00000002U
#define LWRES_CONTEXT_USEIPV6 0x00000004U
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.
*
*\pre contextp != NULL && contextp == NULL.
*
*\return Returns 0 on success, non-zero on failure.
*/
void
lwres_context_destroy(lwres_context_t **contextp);
/**<
* Frees all memory associated with a lwres context.
*
*\pre contextp != NULL && contextp == NULL.
*/
uint32_t
lwres_context_nextserial(lwres_context_t *ctx);
/**<
* XXXMLG Document
*/
void
lwres_context_initserial(lwres_context_t *ctx, 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 */
PK �
�Z�.�jH
H
ipv6.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_IPV6_H
#define LWRES_IPV6_H 1
/*****
***** Module Info
*****/
/*! \file lwres/ipv6.h
* IPv6 definitions for systems which do not support IPv6.
*/
/***
*** Imports.
***/
#include <inttypes.h>
#include <lwres/platform.h>
/***
*** Types.
***/
/*% in6_addr structure */
struct in6_addr {
union {
uint8_t _S6_u8[16];
uint16_t _S6_u16[8];
uint32_t _S6_u32[4];
} _S6_un;
};
/*@{*/
/*% IP v6 types */
#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;
/*% used in getaddrinfo.c and getnameinfo.c */
struct sockaddr_in6 {
#ifdef LWRES_PLATFORM_HAVESALEN
uint8_t sin6_len;
uint8_t sin6_family;
#else
uint16_t sin6_family;
#endif
uint16_t sin6_port;
uint32_t sin6_flowinfo;
struct in6_addr sin6_addr;
uint32_t sin6_scope_id;
};
#ifdef LWRES_PLATFORM_HAVESALEN
#define SIN6_LEN 1
#endif
/*% in6_pktinfo structure */
struct in6_pktinfo {
struct in6_addr ipi6_addr; /*%< src/dst IPv6 address */
unsigned int ipi6_ifindex; /*%< send/recv interface index */
};
/*!
* Unspecified IPv6 address
*/
#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 */
PK �
�ZI,�� int.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_INT_H
#define LWRES_INT_H 1
#include <inttypes.h>
/*! \file lwres/int.h */
typedef lwres_int8_t int8_t;
typedef lwres_uint8_t uint8_t;
typedef lwres_int16_t int16_t;
typedef lwres_uint16_t uint16_t;
typedef lwres_int32_t int32_t;
typedef lwres_uint32_t uint32_t;
typedef lwres_int64_t int64_t;
typedef lwres_uint64_t uint64_t;
#endif /* LWRES_INT_H */
PK �
�Zo �a� �
lwpacket.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_LWPACKET_H
#define LWRES_LWPACKET_H 1
#include <inttypes.h>
#include <lwres/lang.h>
#include <lwres/lwbuffer.h>
#include <lwres/result.h>
/*% lwres_lwpacket_t */
typedef struct lwres_lwpacket lwres_lwpacket_t;
/*% lwres_lwpacket structure */
struct lwres_lwpacket {
/*! The overall packet length, including the
* entire packet header.
* This field is filled in by the
* \link lwres_gabn.c lwres_gabn_*()\endlink
* and \link lwres_gnba.c lwres_gnba_*()\endlink calls.
*/
uint32_t length;
/*! Specifies the header format. Currently,
* there is only one format, #LWRES_LWPACKETVERSION_0.
* This field is filled in by the
* \link lwres_gabn.c lwres_gabn_*()\endlink
* and \link lwres_gnba.c lwres_gnba_*()\endlink calls.
*/
uint16_t version;
/*! Specifies library-defined flags for this packet, such as
* whether the packet is a request or a reply. 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.
* This field is filled in by
* the application wits the exception of the
* #LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library
* in the
* \link lwres_gabn.c lwres_gabn_*()\endlink
* and \link lwres_gnba.c lwres_gnba_*()\endlink calls.
*/
uint16_t pktflags;
/*! 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.)
*/
uint32_t serial;
/*! Opcodes between 0x04000000 and 0xffffffff
* are application defined. Opcodes between
* 0x00000000 and 0x03ffffff are
* reserved for library use.
* This field is filled in by the
* \link lwres_gabn.c lwres_gabn_*()\endlink
* and \link lwres_gnba.c lwres_gnba_*()\endlink calls.
*/
uint32_t opcode;
/*! Only valid for results.
* 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.)
* This field is filled in by the
* \link lwres_gabn.c lwres_gabn_*()\endlink
* and \link lwres_gnba.c lwres_gnba_*()\endlink calls.
*/
uint32_t result;
/*! 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.
* This field is supplied by the application.
*/
uint32_t recvlength;
/*! 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.
*/
uint16_t authtype;
/*! 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.
*/
uint16_t authlength;
};
#define LWRES_LWPACKET_LENGTH (4 * 5 + 2 * 4) /*%< Overall length. */
#define LWRES_LWPACKETFLAG_RESPONSE 0x0001U /*%< If set, pkt is a response. */
#define LWRES_LWPACKETVERSION_0 0 /*%< Header format. */
/*! \file lwres/lwpacket.h
*
*
* The remainder of the packet consists of two regions, one described by
* "authlen" and one of "length - authlen - sizeof(lwres_lwpacket_t)".
*
* That is:
*
* \code
* pkt header
* authlen bytes of auth information
* data bytes
* \endcode
*
* Currently defined opcodes:
*
*\li #LWRES_OPCODE_NOOP. Success is always returned, with the packet contents echoed.
*
*\li #LWRES_OPCODE_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.
*
*\li #LWRES_OPCODE_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 */
PK �
�Z �� � list.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_LIST_H
#define LWRES_LIST_H 1
/*! \file lwres/list.h */
#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 */
PK �
�Zp.b�� � stdlib.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_STDLIB_H
#define LWRES_STDLIB_H 1
/*! \file lwres/stdlib.h */
#include <stdlib.h>
#include <lwres/lang.h>
#include <lwres/platform.h>
#ifdef LWRES_PLATFORM_NEEDSTRTOUL
#define strtoul lwres_strtoul
#endif
LWRES_LANG_BEGINDECLS
unsigned long lwres_strtoul(const char *, char **, int);
LWRES_LANG_ENDDECLS
#endif
PK �
�Z�J�R
net.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_NET_H
#define LWRES_NET_H 1
/*****
***** Module Info
*****/
/*! \file net.h
* This module is responsible for defining the following basic networking
* types:
*
*\li struct in_addr
*\li struct in6_addr
*\li struct sockaddr
*\li struct sockaddr_in
*\li struct sockaddr_in6
*
* It ensures that the AF_ and PF_ macros are defined.
*
* It declares ntoh[sl]() and hton[sl]().
*
* It declares lwres_net_aton(), lwres_net_ntop(), and lwres_net_pton().
*
* It ensures that #INADDR_LOOPBACK, #INADDR_ANY and #IN6ADDR_ANY_INIT
* are defined.
*/
/***
*** Imports.
***/
#include <lwres/platform.h> /* Required for LWRES_PLATFORM_*. */
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h> /* Contractual promise. */
#include <sys/ioctl.h>
#include <sys/time.h>
#include <sys/un.h>
#include <netinet/in.h> /* Contractual promise. */
#include <arpa/inet.h> /* Contractual promise. */
#ifdef LWRES_PLATFORM_NEEDNETINETIN6H
#include <netinet/in6.h> /* Required on UnixWare. */
#endif
#ifdef LWRES_PLATFORM_NEEDNETINET6IN6H
#include <netinet6/in6.h> /* Required on BSD/OS for in6_pktinfo. */
#endif
#include <net/if.h>
#include <lwres/lang.h>
#ifndef LWRES_PLATFORM_HAVEIPV6
#include <lwres/ipv6.h> /* Contractual promise. */
#endif
#ifdef LWRES_PLATFORM_HAVEINADDR6
#define in6_addr in_addr6 /* Required for pre RFC2133 implementations. */
#endif
/*!
* Required for some pre RFC2133 implementations.
* IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT were added in
* draft-ietf-ipngwg-bsd-api-04.txt or draft-ietf-ipngwg-bsd-api-05.txt.
* If 's6_addr' is defined then assume that there is a union and three
* levels otherwise assume two levels required.
*/
#ifndef IN6ADDR_ANY_INIT
#ifdef s6_addr
#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
#else
#define IN6ADDR_ANY_INIT { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }
#endif
#endif
/*!
* Initialize address loopback. See IN6ADDR_ANY_INIT
*/
#ifndef IN6ADDR_LOOPBACK_INIT
#ifdef s6_addr
#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
#else
#define IN6ADDR_LOOPBACK_INIT { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } }
#endif
#endif
/*% Used by AI_ALL */
#ifndef AF_INET6
#define AF_INET6 99
#endif
/*% Used to return IPV6 address types. */
#ifndef PF_INET6
#define PF_INET6 AF_INET6
#endif
/*% inaddr Loopback */
#ifndef INADDR_LOOPBACK
#define INADDR_LOOPBACK 0x7f000001UL
#endif
LWRES_LANG_BEGINDECLS
const char *
lwres_net_ntop(int af, const void *src, char *dst, size_t size);
int
lwres_net_pton(int af, const char *src, void *dst);
int
lwres_net_aton(const char *cp, struct in_addr *addr);
LWRES_LANG_ENDDECLS
#endif /* LWRES_NET_H */
PK �
�ZeY�� � lang.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
#ifndef LWRES_LANG_H
#define LWRES_LANG_H 1
/*! \file lwres/lang.h */
#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 */
PK �
�Z����o o
platform.hnu �[��� /*
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* See the COPYRIGHT file distributed with this work for additional
* information regarding copyright ownership.
*/
/*! \file */
#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 declared.
*/
#undef LWRES_PLATFORM_NEEDSYSSELECTH
/*
* Used to control how extern data is linked; needed for Win32 platforms.
*/
#undef LWRES_PLATFORM_USEDECLSPEC
/*
* Defined this system needs vsnprintf() and snprintf().
*/
#undef LWRES_PLATFORM_NEEDVSNPRINTF
/*
* If this system need a modern sprintf() that returns (int) not (char*).
*/
/*! \brief
* Define if this system needs strtoul.
*/
#undef LWRES_PLATFORM_NEEDSTRTOUL
/*! \brief
* Define if this system needs strlcpy.
*/
#define LWRES_PLATFORM_NEEDSTRLCPY 1
#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
/*
* Tell Emacs to use C mode on this file.
* Local Variables:
* mode: c
* End:
*/
#endif /* LWRES_PLATFORM_H */
PK �
�Z#0�{s"