1 #ifndef __LIB_CONFIG_WIN32_H
2 #define __LIB_CONFIG_WIN32_H
4 /* ================================================================ */
5 /* lib/config-win32.h - Hand crafted config file for Windows */
6 /* ================================================================ */
8 /* ---------------------------------------------------------------- */
10 /* ---------------------------------------------------------------- */
12 /* Define if you have the <arpa/inet.h> header file. */
13 /* #define HAVE_ARPA_INET_H 1 */
15 /* Define if you have the <assert.h> header file. */
16 #define HAVE_ASSERT_H 1
18 /* Define if you have the <crypto.h> header file. */
19 /* #define HAVE_CRYPTO_H 1 */
21 /* Define if you have the <err.h> header file. */
22 /* #define HAVE_ERR_H 1 */
24 /* Define if you have the <fcntl.h> header file. */
25 #define HAVE_FCNTL_H 1
27 /* Define if you have the <getopt.h> header file. */
28 /* #define HAVE_GETOPT_H 1 */
30 /* Define if you have the <io.h> header file. */
33 /* Define if you need the malloc.h header file even with stdlib.h */
35 #define NEED_MALLOC_H 1
38 /* Define if you have the <netdb.h> header file. */
39 /* #define HAVE_NETDB_H 1 */
41 /* Define if you have the <netinet/in.h> header file. */
42 /* #define HAVE_NETINET_IN_H 1 */
44 /* Define if you have the <process.h> header file. */
46 #define HAVE_PROCESS_H 1
49 /* Define if you have the <signal.h> header file. */
50 #define HAVE_SIGNAL_H 1
52 /* Define if you have the <sgtty.h> header file. */
53 /* #define HAVE_SGTTY_H 1 */
55 /* Define if you have the <ssl.h> header file. */
56 /* #define HAVE_SSL_H 1 */
58 /* Define if you have the <stdlib.h> header file. */
59 #define HAVE_STDLIB_H 1
61 /* Define if you have the <sys/param.h> header file. */
62 /* #define HAVE_SYS_PARAM_H 1 */
64 /* Define if you have the <sys/select.h> header file. */
65 /* #define HAVE_SYS_SELECT_H 1 */
67 /* Define if you have the <sys/socket.h> header file. */
68 /* #define HAVE_SYS_SOCKET_H 1 */
70 /* Define if you have the <sys/sockio.h> header file. */
71 /* #define HAVE_SYS_SOCKIO_H 1 */
73 /* Define if you have the <sys/stat.h> header file. */
74 #define HAVE_SYS_STAT_H 1
76 /* Define if you have the <sys/time.h> header file */
77 /* #define HAVE_SYS_TIME_H 1 */
79 /* Define if you have the <sys/types.h> header file. */
80 #define HAVE_SYS_TYPES_H 1
82 /* Define if you have the <sys/utime.h> header file */
84 #define HAVE_SYS_UTIME_H 1
87 /* Define if you have the <termio.h> header file. */
88 /* #define HAVE_TERMIO_H 1 */
90 /* Define if you have the <termios.h> header file. */
91 /* #define HAVE_TERMIOS_H 1 */
93 /* Define if you have the <time.h> header file. */
96 /* Define if you have the <unistd.h> header file. */
97 #if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
99 #define HAVE_UNISTD_H 1
102 /* Define if you have the <windows.h> header file. */
103 #define HAVE_WINDOWS_H 1
105 /* Define if you have the <winsock.h> header file. */
106 #define HAVE_WINSOCK_H 1
109 /* Define if you have the <winsock2.h> header file. */
110 #define HAVE_WINSOCK2_H 1
112 /* Define if you have the <ws2tcpip.h> header file. */
113 #define HAVE_WS2TCPIP_H 1
116 /* ---------------------------------------------------------------- */
117 /* OTHER HEADER INFO */
118 /* ---------------------------------------------------------------- */
120 /* Define if sig_atomic_t is an available typedef. */
121 #define HAVE_SIG_ATOMIC_T 1
123 /* Define if you have the ANSI C header files. */
124 #define STDC_HEADERS 1
126 /* Define if you can safely include both <sys/time.h> and <time.h>. */
127 /* #define TIME_WITH_SYS_TIME 1 */
129 /* ---------------------------------------------------------------- */
131 /* ---------------------------------------------------------------- */
133 /* Define if you have the closesocket function. */
134 #define HAVE_CLOSESOCKET 1
136 /* Define if you don't have vprintf but do have _doprnt. */
137 /* #define HAVE_DOPRNT 1 */
139 /* Define if you have the gethostbyaddr function. */
140 #define HAVE_GETHOSTBYADDR 1
142 /* Define if you have the gethostname function. */
143 #define HAVE_GETHOSTNAME 1
145 /* Define if you have the getpass function. */
146 /* #define HAVE_GETPASS 1 */
148 /* Define if you have the getservbyname function. */
149 #define HAVE_GETSERVBYNAME 1
151 /* Define if you have the getprotobyname function. */
152 #define HAVE_GETPROTOBYNAME
154 /* Define if you have the gettimeofday function. */
155 /* #define HAVE_GETTIMEOFDAY 1 */
157 /* Define if you have the inet_addr function. */
158 #define HAVE_INET_ADDR 1
160 /* Define if you have the inet_ntoa function. */
161 #define HAVE_INET_NTOA 1
163 /* Define if you have the ioctlsocket function. */
164 #define HAVE_IOCTLSOCKET 1
166 /* Define if you have the perror function. */
167 #define HAVE_PERROR 1
169 /* Define if you have the RAND_screen function when using SSL */
170 #define HAVE_RAND_SCREEN 1
172 /* Define if you have the `RAND_status' function when using SSL. */
173 #define HAVE_RAND_STATUS 1
175 /* Define if you have the select function. */
176 #define HAVE_SELECT 1
178 /* Define if you have the setvbuf function. */
179 #define HAVE_SETVBUF 1
181 /* Define if you have the socket function. */
182 #define HAVE_SOCKET 1
184 /* Define if you have the strcasecmp function. */
185 /* #define HAVE_STRCASECMP 1 */
187 /* Define if you have the stricmp function. */
188 #define HAVE_STRICMP 1
190 /* Define if you have the strdup function. */
191 #define HAVE_STRDUP 1
193 /* Define if you have the strftime function. */
194 #define HAVE_STRFTIME 1
196 /* Define if you have the strstr function. */
197 #define HAVE_STRSTR 1
199 /* Define if you have the strtoll function. */
200 #if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__POCC__)
201 #define HAVE_STRTOLL 1
204 /* Define if you have the tcgetattr function. */
205 /* #define HAVE_TCGETATTR 1 */
207 /* Define if you have the tcsetattr function. */
208 /* #define HAVE_TCSETATTR 1 */
210 /* Define if you have the utime function */
215 /* Define if you have the getnameinfo function. */
216 #define HAVE_GETNAMEINFO 1
218 /* Define to the type qualifier of arg 1 for getnameinfo. */
219 #define GETNAMEINFO_QUAL_ARG1 const
221 /* Define to the type of arg 1 for getnameinfo. */
222 #define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
224 /* Define to the type of arg 2 for getnameinfo. */
225 #define GETNAMEINFO_TYPE_ARG2 socklen_t
227 /* Define to the type of args 4 and 6 for getnameinfo. */
228 #define GETNAMEINFO_TYPE_ARG46 DWORD
230 /* Define to the type of arg 7 for getnameinfo. */
231 #define GETNAMEINFO_TYPE_ARG7 int
233 /* Define if you have the recv function. */
236 /* Define to the type of arg 1 for recv. */
237 #define RECV_TYPE_ARG1 SOCKET
239 /* Define to the type of arg 2 for recv. */
240 #define RECV_TYPE_ARG2 char *
242 /* Define to the type of arg 3 for recv. */
243 #define RECV_TYPE_ARG3 int
245 /* Define to the type of arg 4 for recv. */
246 #define RECV_TYPE_ARG4 int
248 /* Define to the function return type for recv. */
249 #define RECV_TYPE_RETV int
251 /* Define if you have the send function. */
254 /* Define to the type of arg 1 for send. */
255 #define SEND_TYPE_ARG1 SOCKET
257 /* Define to the type qualifier of arg 2 for send. */
258 #define SEND_QUAL_ARG2 const
260 /* Define to the type of arg 2 for send. */
261 #define SEND_TYPE_ARG2 char *
263 /* Define to the type of arg 3 for send. */
264 #define SEND_TYPE_ARG3 int
266 /* Define to the type of arg 4 for send. */
267 #define SEND_TYPE_ARG4 int
269 /* Define to the function return type for send. */
270 #define SEND_TYPE_RETV int
272 /* ---------------------------------------------------------------- */
273 /* TYPEDEF REPLACEMENTS */
274 /* ---------------------------------------------------------------- */
276 /* Define this if in_addr_t is not an available 'typedefed' type */
277 #define in_addr_t unsigned long
279 /* Define as the return type of signal handlers (int or void). */
280 #define RETSIGTYPE void
282 #ifndef _SSIZE_T_DEFINED
283 #if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__) || \
285 #elif defined(_WIN64)
286 #define ssize_t __int64
290 #define _SSIZE_T_DEFINED
293 /* ---------------------------------------------------------------- */
295 /* ---------------------------------------------------------------- */
297 /* The number of bytes in a long double. */
298 #define SIZEOF_LONG_DOUBLE 16
300 /* The number of bytes in a long long. */
301 /* #define SIZEOF_LONG_LONG 8 */
303 /* Undef SIZEOF_CURL_OFF_T if already defined. */
304 #ifdef SIZEOF_CURL_OFF_T
305 #undef SIZEOF_CURL_OFF_T
308 /* Define SIZEOF_CURL_OFF_T as computed by sizeof(curl_off_t) */
309 /* Borland/PellesC/SalfordC lacks _lseeki64(), so we don't support
312 #if defined(__BORLANDC__) || defined(__POCC__) || defined(__SALFORDC__)
313 #define SIZEOF_CURL_OFF_T 4
315 #define SIZEOF_CURL_OFF_T 8
318 /* ---------------------------------------------------------------- */
320 /* ---------------------------------------------------------------- */
322 /* Define this if you have struct sockaddr_storage */
324 #define HAVE_STRUCT_SOCKADDR_STORAGE 1
327 /* Define this if you have struct timeval */
328 #define HAVE_STRUCT_TIMEVAL 1
330 /* ---------------------------------------------------------------- */
331 /* COMPILER SPECIFIC */
332 /* ---------------------------------------------------------------- */
334 /* Undef keyword 'const' if it does not work. */
337 /* Windows should not have HAVE_GMTIME_R defined */
338 /* #undef HAVE_GMTIME_R */
340 /* Define if the compiler supports C99 variadic macro style. */
341 #if defined(_MSC_VER) && (_MSC_VER >= 1400)
342 #define HAVE_VARIADIC_MACROS_C99 1
345 /* Define if the compiler supports LONGLONG. */
346 #if defined(__MINGW32__) || defined(__WATCOMC__)
347 #define HAVE_LONGLONG 1
350 /* ---------------------------------------------------------------- */
352 /* ---------------------------------------------------------------- */
354 #if defined(CURL_HAS_NOVELL_LDAPSDK) || defined(CURL_HAS_MOZILLA_LDAPSDK)
355 #undef CURL_LDAP_HYBRID
357 #define HAVE_LDAP_SSL_H 1
358 #define HAVE_LDAP_URL_PARSE 1
359 #elif defined(CURL_HAS_OPENLDAP_LDAPSDK)
360 #undef CURL_LDAP_HYBRID
362 #define HAVE_LDAP_URL_PARSE 1
364 #undef CURL_LDAP_HYBRID
365 #undef HAVE_LDAP_URL_PARSE
366 #define CURL_LDAP_WIN 1
369 /* ---------------------------------------------------------------- */
370 /* ADDITIONAL DEFINITIONS */
371 /* ---------------------------------------------------------------- */
373 /* Defines set for VS2005 to _not_ deprecate a few functions we use. */
374 #define _CRT_SECURE_NO_DEPRECATE 1
375 #define _CRT_NONSTDC_NO_DEPRECATE 1
377 /* Define cpu-machine-OS */
379 #if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */
380 #define OS "i386-pc-win32"
381 #elif defined(_M_IA64) /* Itanium */
382 #define OS "ia64-pc-win32"
383 #elif defined(_M_X64) /* AMD64/EM64T - Not defined until MSVC 2005 */
384 #define OS "amd64-pc-win32"
386 #define OS "unknown-pc-win32"
389 /* Name of package */
390 #define PACKAGE "curl"
393 #endif /* __LIB_CONFIG_WIN32_H */