1/*
2 * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
3 * Copyright (C) 2000, 2001  Internet Software Consortium.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 * PERFORMANCE OF THIS SOFTWARE.
16 */
17
18/* $Id: platform.h.in,v 1.21 2007/06/19 23:47:23 tbox Exp $ */
19
20/*! \file */
21
22#ifndef LWRES_PLATFORM_H
23#define LWRES_PLATFORM_H 1
24
25/*****
26 ***** Platform-dependent defines.
27 *****/
28
29/***
30 *** Network.
31 ***/
32
33/*
34 * Define if this system needs the <netinet/in6.h> header file for IPv6.
35 */
36@LWRES_PLATFORM_NEEDNETINETIN6H@
37
38/*
39 * Define if this system needs the <netinet6/in6.h> header file for IPv6.
40 */
41@LWRES_PLATFORM_NEEDNETINET6IN6H@
42
43/*
44 * If sockaddrs on this system have an sa_len field, LWRES_PLATFORM_HAVESALEN
45 * will be defined.
46 */
47@LWRES_PLATFORM_HAVESALEN@
48
49/*
50 * If this system has the IPv6 structure definitions, LWRES_PLATFORM_HAVEIPV6
51 * will be defined.
52 */
53@LWRES_PLATFORM_HAVEIPV6@
54
55/*
56 * If this system is missing in6addr_any, LWRES_PLATFORM_NEEDIN6ADDRANY will
57 * be defined.
58 */
59@LWRES_PLATFORM_NEEDIN6ADDRANY@
60
61/*
62 * If this system is missing in6addr_loopback,
63 * LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK will be defined.
64 */
65@LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK@
66
67/*
68 * If this system has in_addr6, rather than in6_addr,
69 * LWRES_PLATFORM_HAVEINADDR6 will be defined.
70 */
71@LWRES_PLATFORM_HAVEINADDR6@
72
73/*
74 * Defined if unistd.h does not cause fd_set to be delared.
75 */
76@LWRES_PLATFORM_NEEDSYSSELECTH@
77
78/*
79 * Used to control how extern data is linked; needed for Win32 platforms.
80 */
81@LWRES_PLATFORM_USEDECLSPEC@
82
83/*
84 * Defined this system needs vsnprintf() and snprintf().
85 */
86@LWRES_PLATFORM_NEEDVSNPRINTF@
87
88/*
89 * If this system need a modern sprintf() that returns (int) not (char*).
90 */
91@LWRES_PLATFORM_NEEDSPRINTF@
92
93/*
94 * The printf format string modifier to use with lwres_uint64_t values.
95 */
96@LWRES_PLATFORM_QUADFORMAT@
97
98/*! \brief
99 * Define if this system needs strtoul.
100 */
101@LWRES_PLATFORM_NEEDSTRTOUL@
102
103#ifndef LWRES_PLATFORM_USEDECLSPEC
104#define LIBLWRES_EXTERNAL_DATA
105#else
106#ifdef LIBLWRES_EXPORTS
107#define LIBLWRES_EXTERNAL_DATA __declspec(dllexport)
108#else
109#define LIBLWRES_EXTERNAL_DATA __declspec(dllimport)
110#endif
111#endif
112
113/*
114 * Tell Emacs to use C mode on this file.
115 * Local Variables:
116 * mode: c
117 * End:
118 */
119
120#endif /* LWRES_PLATFORM_H */
121