config-win32.h
Go to the documentation of this file.
1 #ifndef HEADER_CARES_CONFIG_WIN32_H
2 #define HEADER_CARES_CONFIG_WIN32_H
3 
4 /* Copyright (C) 2004 - 2011 by Daniel Stenberg et al
5  *
6  * Permission to use, copy, modify, and distribute this software and its
7  * documentation for any purpose and without fee is hereby granted, provided
8  * that the above copyright notice appear in all copies and that both that
9  * copyright notice and this permission notice appear in supporting
10  * documentation, and that the name of M.I.T. not be used in advertising or
11  * publicity pertaining to distribution of the software without specific,
12  * written prior permission. M.I.T. makes no representations about the
13  * suitability of this software for any purpose. It is provided "as is"
14  * without express or implied warranty.
15  */
16 
17 /* ================================================================ */
18 /* c-ares/config-win32.h - Hand crafted config file for Windows */
19 /* ================================================================ */
20 
21 /* ---------------------------------------------------------------- */
22 /* HEADER FILES */
23 /* ---------------------------------------------------------------- */
24 
25 /* Define if you have the <assert.h> header file. */
26 #define HAVE_ASSERT_H 1
27 
28 /* Define if you have the <errno.h> header file. */
29 #define HAVE_ERRNO_H 1
30 
31 /* Define if you have the <getopt.h> header file. */
32 #if defined(__MINGW32__) || defined(__POCC__)
33 #define HAVE_GETOPT_H 1
34 #endif
35 
36 /* Define if you have the <limits.h> header file. */
37 #define HAVE_LIMITS_H 1
38 
39 /* Define if you have the <process.h> header file. */
40 #ifndef __SALFORDC__
41 #define HAVE_PROCESS_H 1
42 #endif
43 
44 /* Define if you have the <signal.h> header file. */
45 #define HAVE_SIGNAL_H 1
46 
47 /* Define if you have the <sys/time.h> header file */
48 /* #define HAVE_SYS_TIME_H 1 */
49 
50 /* Define if you have the <time.h> header file. */
51 #define HAVE_TIME_H 1
52 
53 /* Define if you have the <unistd.h> header file. */
54 #if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
55  defined(__POCC__)
56 #define HAVE_UNISTD_H 1
57 #endif
58 
59 /* Define if you have the <windows.h> header file. */
60 #define HAVE_WINDOWS_H 1
61 
62 /* Define if you have the <winsock.h> header file. */
63 #define HAVE_WINSOCK_H 1
64 
65 /* Define if you have the <winsock2.h> header file. */
66 #ifndef __SALFORDC__
67 #define HAVE_WINSOCK2_H 1
68 #endif
69 
70 /* Define if you have the <ws2tcpip.h> header file. */
71 #ifndef __SALFORDC__
72 #define HAVE_WS2TCPIP_H 1
73 #endif
74 
75 /* ---------------------------------------------------------------- */
76 /* OTHER HEADER INFO */
77 /* ---------------------------------------------------------------- */
78 
79 /* Define if sig_atomic_t is an available typedef. */
80 #define HAVE_SIG_ATOMIC_T 1
81 
82 /* Define if you have the ANSI C header files. */
83 #define STDC_HEADERS 1
84 
85 /* Define if you can safely include both <sys/time.h> and <time.h>. */
86 /* #define TIME_WITH_SYS_TIME 1 */
87 
88 /* ---------------------------------------------------------------- */
89 /* FUNCTIONS */
90 /* ---------------------------------------------------------------- */
91 
92 /* Define if you have the closesocket function. */
93 #define HAVE_CLOSESOCKET 1
94 
95 /* Define if you have the getenv function. */
96 #define HAVE_GETENV 1
97 
98 /* Define if you have the gethostname function. */
99 #define HAVE_GETHOSTNAME 1
100 
101 /* Define if you have the ioctlsocket function. */
102 #define HAVE_IOCTLSOCKET 1
103 
104 /* Define if you have a working ioctlsocket FIONBIO function. */
105 #define HAVE_IOCTLSOCKET_FIONBIO 1
106 
107 /* Define if you have the strcasecmp function. */
108 /* #define HAVE_STRCASECMP 1 */
109 
110 /* Define if you have the strdup function. */
111 #define HAVE_STRDUP 1
112 
113 /* Define if you have the stricmp function. */
114 #define HAVE_STRICMP 1
115 
116 /* Define if you have the strncasecmp function. */
117 /* #define HAVE_STRNCASECMP 1 */
118 
119 /* Define if you have the strnicmp function. */
120 #define HAVE_STRNICMP 1
121 
122 /* Define if you have the recv function. */
123 #define HAVE_RECV 1
124 
125 /* Define to the type of arg 1 for recv. */
126 #define RECV_TYPE_ARG1 SOCKET
127 
128 /* Define to the type of arg 2 for recv. */
129 #define RECV_TYPE_ARG2 char *
130 
131 /* Define to the type of arg 3 for recv. */
132 #define RECV_TYPE_ARG3 int
133 
134 /* Define to the type of arg 4 for recv. */
135 #define RECV_TYPE_ARG4 int
136 
137 /* Define to the function return type for recv. */
138 #define RECV_TYPE_RETV int
139 
140 /* Define if you have the recvfrom function. */
141 #define HAVE_RECVFROM 1
142 
143 /* Define to the type of arg 1 for recvfrom. */
144 #define RECVFROM_TYPE_ARG1 SOCKET
145 
146 /* Define to the type pointed by arg 2 for recvfrom. */
147 #define RECVFROM_TYPE_ARG2 char
148 
149 /* Define to the type of arg 3 for recvfrom. */
150 #define RECVFROM_TYPE_ARG3 int
151 
152 /* Define to the type of arg 4 for recvfrom. */
153 #define RECVFROM_TYPE_ARG4 int
154 
155 /* Define to the type pointed by arg 5 for recvfrom. */
156 #define RECVFROM_TYPE_ARG5 struct sockaddr
157 
158 /* Define to the type pointed by arg 6 for recvfrom. */
159 #define RECVFROM_TYPE_ARG6 int
160 
161 /* Define to the function return type for recvfrom. */
162 #define RECVFROM_TYPE_RETV int
163 
164 /* Define if you have the send function. */
165 #define HAVE_SEND 1
166 
167 /* Define to the type of arg 1 for send. */
168 #define SEND_TYPE_ARG1 SOCKET
169 
170 /* Define to the type qualifier of arg 2 for send. */
171 #define SEND_QUAL_ARG2 const
172 
173 /* Define to the type of arg 2 for send. */
174 #define SEND_TYPE_ARG2 char *
175 
176 /* Define to the type of arg 3 for send. */
177 #define SEND_TYPE_ARG3 int
178 
179 /* Define to the type of arg 4 for send. */
180 #define SEND_TYPE_ARG4 int
181 
182 /* Define to the function return type for send. */
183 #define SEND_TYPE_RETV int
184 
185 /* Specifics for the Watt-32 tcp/ip stack. */
186 #ifdef WATT32
187  #define SOCKET int
188  #define NS_INADDRSZ 4
189  #define HAVE_ARPA_NAMESER_H 1
190  #define HAVE_ARPA_INET_H 1
191  #define HAVE_NETDB_H 1
192  #define HAVE_NETINET_IN_H 1
193  #define HAVE_SYS_SOCKET_H 1
194  #define HAVE_NETINET_TCP_H 1
195  #define HAVE_AF_INET6 1
196  #define HAVE_PF_INET6 1
197  #define HAVE_STRUCT_IN6_ADDR 1
198  #define HAVE_STRUCT_SOCKADDR_IN6 1
199  #undef HAVE_WINSOCK_H
200  #undef HAVE_WINSOCK2_H
201  #undef HAVE_WS2TCPIP_H
202 #endif
203 
204 /* ---------------------------------------------------------------- */
205 /* TYPEDEF REPLACEMENTS */
206 /* ---------------------------------------------------------------- */
207 
208 /* Define if in_addr_t is not an available 'typedefed' type. */
209 #define in_addr_t unsigned long
210 
211 /* Define to the return type of signal handlers (int or void). */
212 #define RETSIGTYPE void
213 
214 #ifdef __cplusplus
215 /* Compiling headers in C++ mode means bool is available */
216 #define HAVE_BOOL_T
217 #endif
218 
219 /* ---------------------------------------------------------------- */
220 /* TYPE SIZES */
221 /* ---------------------------------------------------------------- */
222 
223 /* ---------------------------------------------------------------- */
224 /* STRUCT RELATED */
225 /* ---------------------------------------------------------------- */
226 
227 /* Define if you have struct addrinfo. */
228 #define HAVE_STRUCT_ADDRINFO 1
229 
230 /* Define if you have struct sockaddr_storage. */
231 #if !defined(__SALFORDC__) && !defined(__BORLANDC__)
232 #define HAVE_STRUCT_SOCKADDR_STORAGE 1
233 #endif
234 
235 /* Define if you have struct timeval. */
236 #define HAVE_STRUCT_TIMEVAL 1
237 
238 /* ---------------------------------------------------------------- */
239 /* COMPILER SPECIFIC */
240 /* ---------------------------------------------------------------- */
241 
242 /* Define to avoid VS2005 complaining about portable C functions. */
243 #if defined(_MSC_VER) && (_MSC_VER >= 1400)
244 # define _CRT_SECURE_NO_DEPRECATE 1
245 # define _CRT_NONSTDC_NO_DEPRECATE 1
246 #endif
247 
248 /* Set the Target to Vista. However, any symbols required above Win2000
249  * should be loaded via LoadLibrary() */
250 #if defined(_MSC_VER) && (_MSC_VER >= 1500)
251 # define VS2008_MIN_TARGET 0x0600
252 #endif
253 
254 /* VS2008 default target settings and minimum build target check. */
255 #if defined(_MSC_VER) && (_MSC_VER >= 1500)
256 # ifndef _WIN32_WINNT
257 # define _WIN32_WINNT VS2008_MIN_TARGET
258 # endif
259 # ifndef WINVER
260 # define WINVER VS2008_MIN_TARGET
261 # endif
262 # if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET)
263 # error VS2008 does not support Windows build targets prior to Windows 2000
264 # endif
265 #endif
266 
267 /* When no build target is specified Pelles C 5.00 and later default build
268  target is Windows Vista. */
269 #if defined(__POCC__) && (__POCC__ >= 500)
270 # ifndef _WIN32_WINNT
271 # define _WIN32_WINNT 0x0600
272 # endif
273 # ifndef WINVER
274 # define WINVER 0x0600
275 # endif
276 #endif
277 
278 /* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is
279  quite convoluted, compiler dependent and even build target dependent. */
280 #if defined(HAVE_WS2TCPIP_H)
281 # if defined(__POCC__)
282 # define HAVE_FREEADDRINFO 1
283 # define HAVE_GETADDRINFO 1
284 # define HAVE_GETNAMEINFO 1
285 # elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
286 # define HAVE_FREEADDRINFO 1
287 # define HAVE_GETADDRINFO 1
288 # define HAVE_GETNAMEINFO 1
289 # elif defined(_MSC_VER) && (_MSC_VER >= 1200)
290 # define HAVE_FREEADDRINFO 1
291 # define HAVE_GETADDRINFO 1
292 # define HAVE_GETNAMEINFO 1
293 # endif
294 #endif
295 
296 #if defined(__POCC__)
297 # ifndef _MSC_VER
298 # error Microsoft extensions /Ze compiler option is required
299 # endif
300 # ifndef __POCC__OLDNAMES
301 # error Compatibility names /Go compiler option is required
302 # endif
303 #endif
304 
305 /* ---------------------------------------------------------------- */
306 /* IPV6 COMPATIBILITY */
307 /* ---------------------------------------------------------------- */
308 
309 /* Define if you have address family AF_INET6. */
310 #ifdef HAVE_WINSOCK2_H
311 #define HAVE_AF_INET6 1
312 #endif
313 
314 /* Define if you have protocol family PF_INET6. */
315 #ifdef HAVE_WINSOCK2_H
316 #define HAVE_PF_INET6 1
317 #endif
318 
319 /* Define if you have struct in6_addr. */
320 #ifdef HAVE_WS2TCPIP_H
321 #define HAVE_STRUCT_IN6_ADDR 1
322 #endif
323 
324 /* Define if you have struct sockaddr_in6. */
325 #ifdef HAVE_WS2TCPIP_H
326 #define HAVE_STRUCT_SOCKADDR_IN6 1
327 #endif
328 
329 /* Define if you have sockaddr_in6 with scopeid. */
330 #ifdef HAVE_WS2TCPIP_H
331 #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
332 #endif
333 
334 /* ---------------------------------------------------------------- */
335 /* Win CE */
336 /* ---------------------------------------------------------------- */
337 
338 /* FIXME: A proper config-win32ce.h should be created to hold these */
339 
340 /*
341  * System error codes for Windows CE
342  */
343 
344 #if defined(_WIN32_WCE) && !defined(HAVE_ERRNO_H)
345 # define ENOENT ERROR_FILE_NOT_FOUND
346 # define ESRCH ERROR_PATH_NOT_FOUND
347 # define ENOMEM ERROR_NOT_ENOUGH_MEMORY
348 # define ENOSPC ERROR_INVALID_PARAMETER
349 #endif
350 
351 #endif /* HEADER_CARES_CONFIG_WIN32_H */


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:52