2 * Copyright (C) 1999-2001 Internet Software Consortium.
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
9 * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
10 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
11 * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
13 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
14 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
15 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 /* $Id: platform.h.in,v 1.24.2.1 2001/11/02 00:20:07 marka Exp $ */
19 /* $DragonFly: src/usr.sbin/named/include/isc/platform.h,v 1.1 2004/05/27 18:15:42 dillon Exp $ */
21 #ifndef ISC_PLATFORM_H
22 #define ISC_PLATFORM_H 1
25 ***** Platform-dependent defines.
33 * Define if this system needs the <netinet/in6.h> header file included
34 * for full IPv6 support (pretty much only UnixWare).
36 #undef ISC_PLATFORM_NEEDNETINETIN6H
39 * Define if this system needs the <netinet6/in6.h> header file included
40 * to support in6_pkinfo (pretty much only BSD/OS).
42 #undef ISC_PLATFORM_NEEDNETINET6IN6H
45 * If sockaddrs on this system have an sa_len field, ISC_PLATFORM_HAVESALEN
48 #define ISC_PLATFORM_HAVESALEN 1
51 * If this system has the IPv6 structure definitions, ISC_PLATFORM_HAVEIPV6
54 #define ISC_PLATFORM_HAVEIPV6 1
57 * If this system is missing in6addr_any, ISC_PLATFORM_NEEDIN6ADDRANY will
60 #undef ISC_PLATFORM_NEEDIN6ADDRANY
63 * If this system is missing in6addr_loopback, ISC_PLATFORM_NEEDIN6ADDRLOOPBACK
66 #undef ISC_PLATFORM_NEEDIN6ADDRLOOPBACK
69 * If this system has in6_pktinfo, ISC_PLATFORM_HAVEIN6PKTINFO will be
72 #define ISC_PLATFORM_HAVEIN6PKTINFO 1
75 * If this system has in_addr6, rather than in6_addr, ISC_PLATFORM_HAVEINADDR6
78 #undef ISC_PLATFORM_HAVEINADDR6
81 * If this system needs inet_ntop(), ISC_PLATFORM_NEEDNTOP will be defined.
83 #undef ISC_PLATFORM_NEEDNTOP
86 * If this system needs inet_pton(), ISC_PLATFORM_NEEDPTON will be defined.
88 #define ISC_PLATFORM_NEEDPTON 1
91 * If this system needs inet_aton(), ISC_PLATFORM_NEEDATON will be defined.
93 #undef ISC_PLATFORM_NEEDATON
96 * If this system needs in_port_t, ISC_PLATFORM_NEEDPORTT will be defined.
98 #undef ISC_PLATFORM_NEEDPORTT
101 * If the system needs strsep(), ISC_PLATFORM_NEEDSTRSEP will be defined.
103 #undef ISC_PLATFORM_NEEDSTRSEP
106 * Define either ISC_PLATFORM_BSD44MSGHDR or ISC_PLATFORM_BSD43MSGHDR.
108 #define ISC_NET_BSD44MSGHDR 1
111 * Define if PTHREAD_ONCE_INIT should be surrounded by braces to
112 * prevent compiler warnings (such as with gcc on Solaris 2.8).
114 #undef ISC_PLATFORM_BRACEPTHREADONCEINIT
117 * Define on some UnixWare systems to fix erroneous definitions of various
118 * IN6_IS_ADDR_* macros.
120 #undef ISC_PLATFORM_FIXIN6ISADDR
127 * If this system needs vsnprintf() and snprintf(), ISC_PLATFORM_NEEDVSNPRINTF
130 #undef ISC_PLATFORM_NEEDVSNPRINTF
133 * The printf format string modifier to use with isc_uint64_t values.
135 #define ISC_PLATFORM_QUADFORMAT "ll"
138 * Defined if we are using threads.
140 #undef ISC_PLATFORM_USETHREADS
143 * Defined if unistd.h does not cause fd_set to be delared.
145 #undef ISC_PLATFORM_NEEDSYSSELECTH
148 * Type used for resource limits.
150 #define ISC_PLATFORM_RLIMITTYPE rlim_t
153 * Define if your compiler supports "long long int".
155 #define ISC_PLATFORM_HAVELONGLONG 1
158 * Used to control how extern data is linked; needed for Win32 platforms.
160 #undef ISC_PLATFORM_USEDECLSPEC
162 #ifndef ISC_PLATFORM_USEDECLSPEC
163 #define LIBISC_EXTERNAL_DATA
164 #define LIBDNS_EXTERNAL_DATA
165 #define LIBISCCC_EXTERNAL_DATA
166 #define LIBISCCFG_EXTERNAL_DATA
167 #else /* ISC_PLATFORM_USEDECLSPEC */
168 #ifdef LIBISC_EXPORTS
169 #define LIBISC_EXTERNAL_DATA __declspec(dllexport)
171 #define LIBISC_EXTERNAL_DATA __declspec(dllimport)
173 #ifdef LIBDNS_EXPORTS
174 #define LIBDNS_EXTERNAL_DATA __declspec(dllexport)
176 #define LIBDNS_EXTERNAL_DATA __declspec(dllimport)
178 #ifdef LIBISCCC_EXPORTS
179 #define LIBISCCC_EXTERNAL_DATA __declspec(dllexport)
181 #define LIBISCCC_EXTERNAL_DATA __declspec(dllimport)
183 #ifdef LIBISCCFG_EXPORTS
184 #define LIBISCCFG_EXTERNAL_DATA __declspec(dllexport)
186 #define LIBISCCFG_EXTERNAL_DATA __declspec(dllimport)
188 #endif /* ISC_PLATFORM_USEDECLSPEC */
191 * Tell emacs to use C mode for this file.
198 #endif /* ISC_PLATFORM_H */