]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bind9/lib/isc/include/isc/platform.h.in
add -n option to suppress clearing the build tree and add -DNO_CLEAN
[FreeBSD/FreeBSD.git] / contrib / bind9 / lib / isc / include / isc / platform.h.in
1 /*
2  * Copyright (C) 2004, 2005, 2007  Internet Systems Consortium, Inc. ("ISC")
3  * Copyright (C) 1999-2003  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.34.18.9 2007/09/13 05:04:01 each Exp $ */
19
20 #ifndef ISC_PLATFORM_H
21 #define ISC_PLATFORM_H 1
22
23 /*! \file */
24
25 /*****
26  ***** Platform-dependent defines.
27  *****/
28
29 /*
30  * Define if the platform has <strings.h>.
31  */
32 @ISC_PLATFORM_HAVESTRINGSH@
33
34 /***
35  *** Network.
36  ***/
37
38 /*! \brief
39  * Define if this system needs the <netinet/in6.h> header file included
40  * for full IPv6 support (pretty much only UnixWare).
41  */
42 @ISC_PLATFORM_NEEDNETINETIN6H@
43
44 /*! \brief
45  * Define if this system needs the <netinet6/in6.h> header file included
46  * to support in6_pkinfo (pretty much only BSD/OS).
47  */
48 @ISC_PLATFORM_NEEDNETINET6IN6H@
49
50 /*! \brief
51  * If sockaddrs on this system have an sa_len field, ISC_PLATFORM_HAVESALEN
52  * will be defined.
53  */
54 @ISC_PLATFORM_HAVESALEN@
55
56 /*! \brief
57  * If this system has the IPv6 structure definitions, ISC_PLATFORM_HAVEIPV6
58  * will be defined.
59  */
60 @ISC_PLATFORM_HAVEIPV6@
61
62 /*! \brief
63  * If this system is missing in6addr_any, ISC_PLATFORM_NEEDIN6ADDRANY will
64  * be defined.
65  */
66 @ISC_PLATFORM_NEEDIN6ADDRANY@
67
68 /*! \brief
69  * If this system is missing in6addr_loopback, ISC_PLATFORM_NEEDIN6ADDRLOOPBACK
70  * will be defined.
71  */
72 @ISC_PLATFORM_NEEDIN6ADDRLOOPBACK@
73
74 /*! \brief
75  * If this system has in6_pktinfo, ISC_PLATFORM_HAVEIN6PKTINFO will be
76  * defined.
77  */
78 @ISC_PLATFORM_HAVEIN6PKTINFO@
79
80 /*! \brief
81  * If this system has in_addr6, rather than in6_addr, ISC_PLATFORM_HAVEINADDR6
82  * will be defined.
83  */
84 @ISC_PLATFORM_HAVEINADDR6@
85
86 /*! \brief
87  * If this system has sin6_scope_id, ISC_PLATFORM_HAVESCOPEID will be defined.
88  */
89 @ISC_PLATFORM_HAVESCOPEID@
90
91 /*! \brief
92  * If this system needs inet_ntop(), ISC_PLATFORM_NEEDNTOP will be defined.
93  */
94 @ISC_PLATFORM_NEEDNTOP@
95
96 /*! \brief
97  * If this system needs inet_pton(), ISC_PLATFORM_NEEDPTON will be defined.
98  */
99 @ISC_PLATFORM_NEEDPTON@
100
101 /*! \brief
102  * If this system needs inet_aton(), ISC_PLATFORM_NEEDATON will be defined.
103  */
104 @ISC_PLATFORM_NEEDATON@
105
106 /*! \brief
107  * If this system needs in_port_t, ISC_PLATFORM_NEEDPORTT will be defined.
108  */
109 @ISC_PLATFORM_NEEDPORTT@
110
111 /*! \brief
112  * If the system needs strsep(), ISC_PLATFORM_NEEDSTRSEP will be defined.
113  */
114 @ISC_PLATFORM_NEEDSTRSEP@
115
116 /*! \brief
117  * If the system needs strlcpy(), ISC_PLATFORM_NEEDSTRLCPY will be defined.
118  */
119 @ISC_PLATFORM_NEEDSTRLCPY@
120
121 /*! \brief
122  * If the system needs strlcat(), ISC_PLATFORM_NEEDSTRLCAT will be defined.
123  */
124 @ISC_PLATFORM_NEEDSTRLCAT@
125
126 /*! \brief
127  * Define either ISC_PLATFORM_BSD44MSGHDR or ISC_PLATFORM_BSD43MSGHDR.
128  */
129 @ISC_PLATFORM_MSGHDRFLAVOR@
130
131 /*! \brief
132  * Define if PTHREAD_ONCE_INIT should be surrounded by braces to
133  * prevent compiler warnings (such as with gcc on Solaris 2.8).
134  */
135 @ISC_PLATFORM_BRACEPTHREADONCEINIT@
136
137 /*! \brief
138  * Define on some UnixWare systems to fix erroneous definitions of various
139  * IN6_IS_ADDR_* macros.
140  */
141 @ISC_PLATFORM_FIXIN6ISADDR@
142
143 /*
144  *** Printing.
145  ***/
146
147 /*! \brief
148  * If this system needs vsnprintf() and snprintf(), ISC_PLATFORM_NEEDVSNPRINTF
149  * will be defined.
150  */
151 @ISC_PLATFORM_NEEDVSNPRINTF@
152
153 /*! \brief
154  * If this system need a modern sprintf() that returns (int) not (char*).
155  */
156 @ISC_PLATFORM_NEEDSPRINTF@
157
158 /*! \brief
159  * The printf format string modifier to use with isc_uint64_t values.
160  */
161 @ISC_PLATFORM_QUADFORMAT@
162
163 /*! \brief
164  * Defined if we are using threads.
165  */
166 @ISC_PLATFORM_USETHREADS@
167
168 /*! \brief
169  * Defined if unistd.h does not cause fd_set to be delared.
170  */
171 @ISC_PLATFORM_NEEDSYSSELECTH@
172
173 /*! \brief
174  * Type used for resource limits.
175  */
176 @ISC_PLATFORM_RLIMITTYPE@
177
178 /*! \brief
179  * Define if your compiler supports "long long int".
180  */
181 @ISC_PLATFORM_HAVELONGLONG@
182
183 /*! \brief
184  * Define if the system has struct lifconf which is a extended struct ifconf
185  * for IPv6.
186  */
187 @ISC_PLATFORM_HAVELIFCONF@
188
189 /*! \brief
190  * Define if the system has struct if_laddrconf which is a extended struct
191  * ifconf for IPv6.
192  */
193 @ISC_PLATFORM_HAVEIF_LADDRCONF@
194
195 /*! \brief
196  * Define if the system has struct if_laddrreq.
197  */
198 @ISC_PLATFORM_HAVEIF_LADDRREQ@
199
200 /*! \brief
201  * Used to control how extern data is linked; needed for Win32 platforms.
202  */
203 @ISC_PLATFORM_USEDECLSPEC@
204
205 /*! \brief
206  * Define if the system supports if_nametoindex.
207  */
208 @ISC_PLATFORM_HAVEIFNAMETOINDEX@
209
210 /*! \brief
211  * Define if this system needs strtoul.
212  */
213 @ISC_PLATFORM_NEEDSTRTOUL@
214
215 /*! \brief
216  * Define if this system needs memmove.
217  */
218 @ISC_PLATFORM_NEEDMEMMOVE@
219
220 /*
221  * Define if the platform has <sys/un.h>.
222  */
223 @ISC_PLATFORM_HAVESYSUNH@
224
225 /*
226  * If the "xadd" operation is available on this architecture,
227  * ISC_PLATFORM_HAVEXADD will be defined. 
228  */
229 @ISC_PLATFORM_HAVEXADD@
230
231 /*
232  * If the "atomic swap" operation is available on this architecture,
233  * ISC_PLATFORM_HAVEATOMICSTORE" will be defined. 
234  */
235 @ISC_PLATFORM_HAVEATOMICSTORE@
236
237 /*
238  * If the "compare-and-exchange" operation is available on this architecture,
239  * ISC_PLATFORM_HAVECMPXCHG will be defined. 
240  */
241 @ISC_PLATFORM_HAVECMPXCHG@
242
243 /*
244  * Define if gcc ASM extension is available
245  */
246 @ISC_PLATFORM_USEGCCASM@
247
248 /*
249  * Define if Tru64 style ASM syntax must be used.
250  */
251 @ISC_PLATFORM_USEOSFASM@
252
253 /*
254  * Define if the standard __asm function must be used.
255  */
256 @ISC_PLATFORM_USESTDASM@
257
258 /*
259  * Define if MacOS style of PPC assembly must be used.
260  * e.g. "r6", not "6", for register six.
261  */
262 @ISC_PLATFORM_USEMACASM@
263
264 #ifndef ISC_PLATFORM_USEDECLSPEC
265 #define LIBISC_EXTERNAL_DATA
266 #define LIBDNS_EXTERNAL_DATA
267 #define LIBISCCC_EXTERNAL_DATA
268 #define LIBISCCFG_EXTERNAL_DATA
269 #define LIBBIND9_EXTERNAL_DATA
270 #else /*! \brief ISC_PLATFORM_USEDECLSPEC */
271 #ifdef LIBISC_EXPORTS
272 #define LIBISC_EXTERNAL_DATA __declspec(dllexport)
273 #else
274 #define LIBISC_EXTERNAL_DATA __declspec(dllimport)
275 #endif
276 #ifdef LIBDNS_EXPORTS
277 #define LIBDNS_EXTERNAL_DATA __declspec(dllexport)
278 #else
279 #define LIBDNS_EXTERNAL_DATA __declspec(dllimport)
280 #endif
281 #ifdef LIBISCCC_EXPORTS
282 #define LIBISCCC_EXTERNAL_DATA __declspec(dllexport)
283 #else
284 #define LIBISCCC_EXTERNAL_DATA __declspec(dllimport)
285 #endif
286 #ifdef LIBISCCFG_EXPORTS
287 #define LIBISCCFG_EXTERNAL_DATA __declspec(dllexport)
288 #else
289 #define LIBISCCFG_EXTERNAL_DATA __declspec(dllimport)
290 #endif
291 #ifdef LIBBIND9_EXPORTS
292 #define LIBBIND9_EXTERNAL_DATA __declspec(dllexport)
293 #else
294 #define LIBBIND9_EXTERNAL_DATA __declspec(dllimport)
295 #endif
296 #endif /*! \brief ISC_PLATFORM_USEDECLSPEC */
297
298 /*
299  * Tell emacs to use C mode for this file.
300  *
301  * Local Variables:
302  * mode: c
303  * End:
304  */
305
306 #endif /* ISC_PLATFORM_H */