blob: e9a371212f5bf00998c0f77572bc5b84c8482a05 [file] [log] [blame]
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -07001#ifndef HEADER_CURL_CONFIG_WIN32_H
2#define HEADER_CURL_CONFIG_WIN32_H
3/***************************************************************************
4 * _ _ ____ _
5 * Project ___| | | | _ \| |
6 * / __| | | | |_) | |
7 * | (__| |_| | _ <| |___
8 * \___|\___/|_| \_\_____|
9 *
10 * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
11 *
12 * This software is licensed as described in the file COPYING, which
13 * you should have received as part of this distribution. The terms
14 * are also available at http://curl.haxx.se/docs/copyright.html.
15 *
16 * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17 * copies of the Software, and permit persons to whom the Software is
18 * furnished to do so, under the terms of the COPYING file.
19 *
20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21 * KIND, either express or implied.
22 *
23 ***************************************************************************/
Lucas Eckels9bd90e62012-08-06 15:07:02 -070024
25/* ================================================================ */
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070026/* Hand crafted config file for Windows */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070027/* ================================================================ */
28
29/* ---------------------------------------------------------------- */
30/* HEADER FILES */
31/* ---------------------------------------------------------------- */
32
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070033/* Define if you have the <arpa/inet.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070034/* #define HAVE_ARPA_INET_H 1 */
35
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070036/* Define if you have the <assert.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070037#define HAVE_ASSERT_H 1
38
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070039/* Define if you have the <crypto.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070040/* #define HAVE_CRYPTO_H 1 */
41
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070042/* Define if you have the <errno.h> header file. */
43#define HAVE_ERRNO_H 1
44
45/* Define if you have the <err.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070046/* #define HAVE_ERR_H 1 */
47
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070048/* Define if you have the <fcntl.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070049#define HAVE_FCNTL_H 1
50
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070051/* Define if you have the <getopt.h> header file. */
52#if defined(__MINGW32__) || defined(__POCC__)
53#define HAVE_GETOPT_H 1
54#endif
Lucas Eckels9bd90e62012-08-06 15:07:02 -070055
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070056/* Define to 1 if you have the <inttypes.h> header file. */
57#if defined(_MSC_VER) && (_MSC_VER >= 1800)
58#define HAVE_INTTYPES_H 1
59#endif
60
61/* Define if you have the <io.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070062#define HAVE_IO_H 1
63
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070064/* Define if you have the <limits.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070065#define HAVE_LIMITS_H 1
66
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070067/* Define if you have the <locale.h> header file. */
68#define HAVE_LOCALE_H 1
69
70/* Define if you need <malloc.h> header even with <stdlib.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070071#if !defined(__SALFORDC__) && !defined(__POCC__)
72#define NEED_MALLOC_H 1
73#endif
74
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070075/* Define if you have the <netdb.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070076/* #define HAVE_NETDB_H 1 */
77
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070078/* Define if you have the <netinet/in.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070079/* #define HAVE_NETINET_IN_H 1 */
80
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070081/* Define if you have the <process.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070082#ifndef __SALFORDC__
83#define HAVE_PROCESS_H 1
84#endif
85
86/* Define if you have the <signal.h> header file. */
87#define HAVE_SIGNAL_H 1
88
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070089/* Define if you have the <sgtty.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070090/* #define HAVE_SGTTY_H 1 */
91
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070092/* Define if you have the <ssl.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -070093/* #define HAVE_SSL_H 1 */
94
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -070095/* Define to 1 if you have the <stdbool.h> header file. */
96#if defined(_MSC_VER) && (_MSC_VER >= 1800)
97#define HAVE_STDBOOL_H 1
98#endif
99
100/* Define if you have the <stdlib.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700101#define HAVE_STDLIB_H 1
102
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700103/* Define if you have the <sys/param.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700104/* #define HAVE_SYS_PARAM_H 1 */
105
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700106/* Define if you have the <sys/select.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700107/* #define HAVE_SYS_SELECT_H 1 */
108
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700109/* Define if you have the <sys/socket.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700110/* #define HAVE_SYS_SOCKET_H 1 */
111
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700112/* Define if you have the <sys/sockio.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700113/* #define HAVE_SYS_SOCKIO_H 1 */
114
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700115/* Define if you have the <sys/stat.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700116#define HAVE_SYS_STAT_H 1
117
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700118/* Define if you have the <sys/time.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700119/* #define HAVE_SYS_TIME_H 1 */
120
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700121/* Define if you have the <sys/types.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700122#define HAVE_SYS_TYPES_H 1
123
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700124/* Define if you have the <sys/utime.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700125#ifndef __BORLANDC__
126#define HAVE_SYS_UTIME_H 1
127#endif
128
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700129/* Define if you have the <termio.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700130/* #define HAVE_TERMIO_H 1 */
131
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700132/* Define if you have the <termios.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700133/* #define HAVE_TERMIOS_H 1 */
134
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700135/* Define if you have the <time.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700136#define HAVE_TIME_H 1
137
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700138/* Define if you have the <unistd.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700139#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
140 defined(__POCC__)
141#define HAVE_UNISTD_H 1
142#endif
143
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700144/* Define if you have the <windows.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700145#define HAVE_WINDOWS_H 1
146
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700147/* Define if you have the <winsock.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700148#define HAVE_WINSOCK_H 1
149
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700150/* Define if you have the <winsock2.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700151#ifndef __SALFORDC__
152#define HAVE_WINSOCK2_H 1
153#endif
154
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700155/* Define if you have the <ws2tcpip.h> header file. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700156#ifndef __SALFORDC__
157#define HAVE_WS2TCPIP_H 1
158#endif
159
160/* ---------------------------------------------------------------- */
161/* OTHER HEADER INFO */
162/* ---------------------------------------------------------------- */
163
164/* Define if sig_atomic_t is an available typedef. */
165#define HAVE_SIG_ATOMIC_T 1
166
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700167/* Define if you have the ANSI C header files. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700168#define STDC_HEADERS 1
169
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700170/* Define if you can safely include both <sys/time.h> and <time.h>. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700171/* #define TIME_WITH_SYS_TIME 1 */
172
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700173/* Define to 1 if bool is an available type. */
174#if defined(_MSC_VER) && (_MSC_VER >= 1800)
175#define HAVE_BOOL_T 1
176#endif
177
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700178/* ---------------------------------------------------------------- */
179/* FUNCTIONS */
180/* ---------------------------------------------------------------- */
181
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700182/* Define if you have the closesocket function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700183#define HAVE_CLOSESOCKET 1
184
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700185/* Define if you don't have vprintf but do have _doprnt. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700186/* #define HAVE_DOPRNT 1 */
187
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700188/* Define if you have the ftruncate function. */
189#define HAVE_FTRUNCATE 1
190
191/* Define if you have the gethostbyaddr function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700192#define HAVE_GETHOSTBYADDR 1
193
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700194/* Define if you have the gethostname function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700195#define HAVE_GETHOSTNAME 1
196
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700197/* Define if you have the getpass function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700198/* #define HAVE_GETPASS 1 */
199
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700200/* Define if you have the getservbyname function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700201#define HAVE_GETSERVBYNAME 1
202
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700203/* Define if you have the getprotobyname function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700204#define HAVE_GETPROTOBYNAME
205
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700206/* Define if you have the gettimeofday function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700207/* #define HAVE_GETTIMEOFDAY 1 */
208
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700209/* Define if you have the inet_addr function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700210#define HAVE_INET_ADDR 1
211
212/* Define if you have the ioctlsocket function. */
213#define HAVE_IOCTLSOCKET 1
214
215/* Define if you have a working ioctlsocket FIONBIO function. */
216#define HAVE_IOCTLSOCKET_FIONBIO 1
217
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700218/* Define if you have the perror function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700219#define HAVE_PERROR 1
220
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700221/* Define if you have the RAND_screen function when using SSL. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700222#define HAVE_RAND_SCREEN 1
223
224/* Define if you have the `RAND_status' function when using SSL. */
225#define HAVE_RAND_STATUS 1
226
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700227/* Define if you have the `CRYPTO_cleanup_all_ex_data' function.
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700228 This is present in OpenSSL versions after 0.9.6b */
229#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
230
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700231/* Define if you have the select function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700232#define HAVE_SELECT 1
233
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700234/* Define if you have the setlocale function. */
235#define HAVE_SETLOCALE 1
236
237/* Define if you have the setmode function. */
238#define HAVE_SETMODE 1
239
240/* Define if you have the setvbuf function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700241#define HAVE_SETVBUF 1
242
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700243/* Define if you have the socket function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700244#define HAVE_SOCKET 1
245
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700246/* Define if you have the strcasecmp function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700247/* #define HAVE_STRCASECMP 1 */
248
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700249/* Define if you have the strdup function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700250#define HAVE_STRDUP 1
251
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700252/* Define if you have the strftime function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700253#define HAVE_STRFTIME 1
254
255/* Define if you have the stricmp function. */
256#define HAVE_STRICMP 1
257
258/* Define if you have the strncasecmp function. */
259/* #define HAVE_STRNCASECMP 1 */
260
261/* Define if you have the strnicmp function. */
262#define HAVE_STRNICMP 1
263
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700264/* Define if you have the strstr function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700265#define HAVE_STRSTR 1
266
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700267/* Define if you have the strtoll function. */
268#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__POCC__) || \
269 (defined(_MSC_VER) && (_MSC_VER >= 1800))
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700270#define HAVE_STRTOLL 1
271#endif
272
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700273/* Define if you have the tcgetattr function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700274/* #define HAVE_TCGETATTR 1 */
275
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700276/* Define if you have the tcsetattr function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700277/* #define HAVE_TCSETATTR 1 */
278
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700279/* Define if you have the utime function. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700280#ifndef __BORLANDC__
281#define HAVE_UTIME 1
282#endif
283
284/* Define to the type qualifier of arg 1 for getnameinfo. */
285#define GETNAMEINFO_QUAL_ARG1 const
286
287/* Define to the type of arg 1 for getnameinfo. */
288#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
289
290/* Define to the type of arg 2 for getnameinfo. */
291#define GETNAMEINFO_TYPE_ARG2 socklen_t
292
293/* Define to the type of args 4 and 6 for getnameinfo. */
294#define GETNAMEINFO_TYPE_ARG46 DWORD
295
296/* Define to the type of arg 7 for getnameinfo. */
297#define GETNAMEINFO_TYPE_ARG7 int
298
299/* Define if you have the recv function. */
300#define HAVE_RECV 1
301
302/* Define to the type of arg 1 for recv. */
303#define RECV_TYPE_ARG1 SOCKET
304
305/* Define to the type of arg 2 for recv. */
306#define RECV_TYPE_ARG2 char *
307
308/* Define to the type of arg 3 for recv. */
309#define RECV_TYPE_ARG3 int
310
311/* Define to the type of arg 4 for recv. */
312#define RECV_TYPE_ARG4 int
313
314/* Define to the function return type for recv. */
315#define RECV_TYPE_RETV int
316
317/* Define if you have the recvfrom function. */
318#define HAVE_RECVFROM 1
319
320/* Define to the type of arg 1 for recvfrom. */
321#define RECVFROM_TYPE_ARG1 SOCKET
322
323/* Define to the type pointed by arg 2 for recvfrom. */
324#define RECVFROM_TYPE_ARG2 char
325
326/* Define to the type of arg 3 for recvfrom. */
327#define RECVFROM_TYPE_ARG3 int
328
329/* Define to the type of arg 4 for recvfrom. */
330#define RECVFROM_TYPE_ARG4 int
331
332/* Define to the type pointed by arg 5 for recvfrom. */
333#define RECVFROM_TYPE_ARG5 struct sockaddr
334
335/* Define to the type pointed by arg 6 for recvfrom. */
336#define RECVFROM_TYPE_ARG6 int
337
338/* Define to the function return type for recvfrom. */
339#define RECVFROM_TYPE_RETV int
340
341/* Define if you have the send function. */
342#define HAVE_SEND 1
343
344/* Define to the type of arg 1 for send. */
345#define SEND_TYPE_ARG1 SOCKET
346
347/* Define to the type qualifier of arg 2 for send. */
348#define SEND_QUAL_ARG2 const
349
350/* Define to the type of arg 2 for send. */
351#define SEND_TYPE_ARG2 char *
352
353/* Define to the type of arg 3 for send. */
354#define SEND_TYPE_ARG3 int
355
356/* Define to the type of arg 4 for send. */
357#define SEND_TYPE_ARG4 int
358
359/* Define to the function return type for send. */
360#define SEND_TYPE_RETV int
361
362/* ---------------------------------------------------------------- */
363/* TYPEDEF REPLACEMENTS */
364/* ---------------------------------------------------------------- */
365
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700366/* Define if in_addr_t is not an available 'typedefed' type. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700367#define in_addr_t unsigned long
368
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700369/* Define to the return type of signal handlers (int or void). */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700370#define RETSIGTYPE void
371
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700372/* Define if ssize_t is not an available 'typedefed' type. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700373#ifndef _SSIZE_T_DEFINED
374# if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || \
375 defined(__POCC__) || \
376 defined(__MINGW32__)
377# elif defined(_WIN64)
378# define _SSIZE_T_DEFINED
379# define ssize_t __int64
380# else
381# define _SSIZE_T_DEFINED
382# define ssize_t int
383# endif
384#endif
385
386/* ---------------------------------------------------------------- */
387/* TYPE SIZES */
388/* ---------------------------------------------------------------- */
389
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700390/* Define to the size of `int', as computed by sizeof. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700391#define SIZEOF_INT 4
392
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700393/* Define to the size of `long double', as computed by sizeof. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700394#define SIZEOF_LONG_DOUBLE 16
395
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700396/* Define to the size of `long long', as computed by sizeof. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700397/* #define SIZEOF_LONG_LONG 8 */
398
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700399/* Define to the size of `short', as computed by sizeof. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700400#define SIZEOF_SHORT 2
401
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700402/* Define to the size of `size_t', as computed by sizeof. */
403#if defined(_WIN64)
404# define SIZEOF_SIZE_T 8
405#else
406# define SIZEOF_SIZE_T 4
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700407#endif
408
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700409/* ---------------------------------------------------------------- */
410/* BSD-style lwIP TCP/IP stack SPECIFIC */
411/* ---------------------------------------------------------------- */
412
413/* Define to use BSD-style lwIP TCP/IP stack. */
414/* #define USE_LWIPSOCK 1 */
415
416#ifdef USE_LWIPSOCK
417# undef USE_WINSOCK
418# undef HAVE_WINSOCK_H
419# undef HAVE_WINSOCK2_H
420# undef HAVE_WS2TCPIP_H
421# undef HAVE_ERRNO_H
422# undef HAVE_GETHOSTNAME
423# undef HAVE_GETNAMEINFO
424# undef LWIP_POSIX_SOCKETS_IO_NAMES
425# undef RECV_TYPE_ARG1
426# undef RECV_TYPE_ARG3
427# undef SEND_TYPE_ARG1
428# undef SEND_TYPE_ARG3
429# define HAVE_FREEADDRINFO
430# define HAVE_GETADDRINFO
431# define HAVE_GETHOSTBYNAME
432# define HAVE_GETHOSTBYNAME_R
433# define HAVE_GETHOSTBYNAME_R_6
434# define LWIP_POSIX_SOCKETS_IO_NAMES 0
435# define RECV_TYPE_ARG1 int
436# define RECV_TYPE_ARG3 size_t
437# define SEND_TYPE_ARG1 int
438# define SEND_TYPE_ARG3 size_t
439#endif
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700440
441/* ---------------------------------------------------------------- */
442/* Watt-32 tcp/ip SPECIFIC */
443/* ---------------------------------------------------------------- */
444
445#ifdef USE_WATT32
446 #include <tcp.h>
447 #undef byte
448 #undef word
449 #undef USE_WINSOCK
450 #undef HAVE_WINSOCK_H
451 #undef HAVE_WINSOCK2_H
452 #undef HAVE_WS2TCPIP_H
453 #define HAVE_GETADDRINFO
454 #define HAVE_GETNAMEINFO
455 #define HAVE_SYS_IOCTL_H
456 #define HAVE_SYS_SOCKET_H
457 #define HAVE_NETINET_IN_H
458 #define HAVE_NETDB_H
459 #define HAVE_ARPA_INET_H
460 #define HAVE_FREEADDRINFO
461 #define SOCKET int
462#endif
463
464
465/* ---------------------------------------------------------------- */
466/* COMPILER SPECIFIC */
467/* ---------------------------------------------------------------- */
468
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700469/* Define to nothing if compiler does not support 'const' qualifier. */
470/* #define const */
471
472/* Define to nothing if compiler does not support 'volatile' qualifier. */
473/* #define volatile */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700474
475/* Windows should not have HAVE_GMTIME_R defined */
476/* #undef HAVE_GMTIME_R */
477
478/* Define if the compiler supports C99 variadic macro style. */
479#if defined(_MSC_VER) && (_MSC_VER >= 1400)
480#define HAVE_VARIADIC_MACROS_C99 1
481#endif
482
483/* Define if the compiler supports the 'long long' data type. */
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700484#if defined(__MINGW32__) || defined(__WATCOMC__) || \
485 (defined(_MSC_VER) && (_MSC_VER >= 1310))
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700486#define HAVE_LONGLONG 1
487#endif
488
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700489/* Define to avoid VS2005 complaining about portable C functions. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700490#if defined(_MSC_VER) && (_MSC_VER >= 1400)
491#define _CRT_SECURE_NO_DEPRECATE 1
492#define _CRT_NONSTDC_NO_DEPRECATE 1
493#endif
494
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700495/* VS2005 and later dafault size for time_t is 64-bit, unless
496 _USE_32BIT_TIME_T has been defined to get a 32-bit time_t. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700497#if defined(_MSC_VER) && (_MSC_VER >= 1400)
498# ifndef _USE_32BIT_TIME_T
499# define SIZEOF_TIME_T 8
500# else
501# define SIZEOF_TIME_T 4
502# endif
503#endif
504
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700505/* Define some minimum and default build targets for Visual Studio */
506#if defined(_MSC_VER)
507 /* Officially, Microsoft's Windows SDK versions 6.X does not support Windows
508 2000 as a supported build target. VS2008 default installations provides
509 an embedded Windows SDK v6.0A along with the claim that Windows 2000 is a
510 valid build target for VS2008. Popular belief is that binaries built with
511 VS2008 using Windows SDK versions v6.X and Windows 2000 as a build target
512 are functional. */
513# define VS2008_MIN_TARGET 0x0500
514
515 /* The minimum build target for VS2012 is Vista unless Update 1 is installed
516 and the v110_xp toolset is choosen. */
517# if defined(_USING_V110_SDK71_)
518# define VS2012_MIN_TARGET 0x0501
519# else
520# define VS2012_MIN_TARGET 0x0600
521# endif
522
523 /* VS2008 default build target is Windows Vista. We override default target
524 to be Windows XP. */
525# define VS2008_DEF_TARGET 0x0501
526
527 /* VS2012 default build target is Windows Vista unless Update 1 is installed
528 and the v110_xp toolset is choosen. */
529# if defined(_USING_V110_SDK71_)
530# define VS2012_DEF_TARGET 0x0501
531# else
532# define VS2012_DEF_TARGET 0x0600
533# endif
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700534#endif
535
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700536/* VS2008 default target settings and minimum build target check. */
537#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (_MSC_VER <= 1600)
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700538# ifndef _WIN32_WINNT
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700539# define _WIN32_WINNT VS2008_DEF_TARGET
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700540# endif
541# ifndef WINVER
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700542# define WINVER VS2008_DEF_TARGET
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700543# endif
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700544# if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET)
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700545# error VS2008 does not support Windows build targets prior to Windows 2000
546# endif
547#endif
548
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700549/* VS2012 default target settings and minimum build target check. */
550#if defined(_MSC_VER) && (_MSC_VER >= 1700)
551# ifndef _WIN32_WINNT
552# define _WIN32_WINNT VS2012_DEF_TARGET
553# endif
554# ifndef WINVER
555# define WINVER VS2012_DEF_TARGET
556# endif
557# if (_WIN32_WINNT < VS2012_MIN_TARGET) || (WINVER < VS2012_MIN_TARGET)
558# if defined(_USING_V110_SDK71_)
559# error VS2012 does not support Windows build targets prior to Windows XP
560# else
561# error VS2012 does not support Windows build targets prior to Windows \
562Vista
563# endif
564# endif
565#endif
566
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700567/* When no build target is specified Pelles C 5.00 and later default build
568 target is Windows Vista. We override default target to be Windows 2000. */
569#if defined(__POCC__) && (__POCC__ >= 500)
570# ifndef _WIN32_WINNT
571# define _WIN32_WINNT 0x0500
572# endif
573# ifndef WINVER
574# define WINVER 0x0500
575# endif
576#endif
577
578/* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is
579 quite convoluted, compiler dependent and even build target dependent. */
580#if defined(HAVE_WS2TCPIP_H)
581# if defined(__POCC__)
582# define HAVE_FREEADDRINFO 1
583# define HAVE_GETADDRINFO 1
584# define HAVE_GETADDRINFO_THREADSAFE 1
585# define HAVE_GETNAMEINFO 1
586# elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
587# define HAVE_FREEADDRINFO 1
588# define HAVE_GETADDRINFO 1
589# define HAVE_GETADDRINFO_THREADSAFE 1
590# define HAVE_GETNAMEINFO 1
591# elif defined(_MSC_VER) && (_MSC_VER >= 1200)
592# define HAVE_FREEADDRINFO 1
593# define HAVE_GETADDRINFO 1
594# define HAVE_GETADDRINFO_THREADSAFE 1
595# define HAVE_GETNAMEINFO 1
596# endif
597#endif
598
599#if defined(__POCC__)
600# ifndef _MSC_VER
601# error Microsoft extensions /Ze compiler option is required
602# endif
603# ifndef __POCC__OLDNAMES
604# error Compatibility names /Go compiler option is required
605# endif
606#endif
607
608/* ---------------------------------------------------------------- */
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700609/* STRUCT RELATED */
610/* ---------------------------------------------------------------- */
611
612/* Define if you have struct sockaddr_storage. */
613#if !defined(__SALFORDC__) && !defined(__BORLANDC__)
614#define HAVE_STRUCT_SOCKADDR_STORAGE 1
615#endif
616
617/* Define if you have struct timeval. */
618#define HAVE_STRUCT_TIMEVAL 1
619
620/* Define if struct sockaddr_in6 has the sin6_scope_id member. */
621#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
622
623#if HAVE_WINSOCK2_H && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
624#define HAVE_STRUCT_POLLFD 1
625#endif
626
627/* ---------------------------------------------------------------- */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700628/* LARGE FILE SUPPORT */
629/* ---------------------------------------------------------------- */
630
631#if defined(_MSC_VER) && !defined(_WIN32_WCE)
632# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
633# define USE_WIN32_LARGE_FILES
634# else
635# define USE_WIN32_SMALL_FILES
636# endif
637#endif
638
639#if defined(__MINGW32__) && !defined(USE_WIN32_LARGE_FILES)
640# define USE_WIN32_LARGE_FILES
641#endif
642
643#if defined(__WATCOMC__) && !defined(USE_WIN32_LARGE_FILES)
644# define USE_WIN32_LARGE_FILES
645#endif
646
647#if defined(__POCC__)
648# undef USE_WIN32_LARGE_FILES
649#endif
650
651#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
652# define USE_WIN32_SMALL_FILES
653#endif
654
655/* ---------------------------------------------------------------- */
656/* DNS RESOLVER SPECIALTY */
657/* ---------------------------------------------------------------- */
658
659/*
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700660 * Undefine both USE_ARES and USE_THREADS_WIN32 for synchronous DNS.
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700661 */
662
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700663/* Define to enable c-ares asynchronous DNS lookups. */
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700664/* #define USE_ARES 1 */
665
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700666/* Default define to enable threaded asynchronous DNS lookups. */
667#if !defined(USE_SYNC_DNS) && !defined(USE_ARES) && \
668 !defined(USE_THREADS_WIN32)
669# define USE_THREADS_WIN32 1
670#endif
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700671
672#if defined(USE_ARES) && defined(USE_THREADS_WIN32)
673# error "Only one DNS lookup specialty may be defined at most"
674#endif
675
676/* ---------------------------------------------------------------- */
677/* LDAP SUPPORT */
678/* ---------------------------------------------------------------- */
679
680#if defined(CURL_HAS_NOVELL_LDAPSDK) || defined(CURL_HAS_MOZILLA_LDAPSDK)
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700681#undef USE_WIN32_LDAP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700682#define HAVE_LDAP_SSL_H 1
683#define HAVE_LDAP_URL_PARSE 1
684#elif defined(CURL_HAS_OPENLDAP_LDAPSDK)
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700685#undef USE_WIN32_LDAP
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700686#define HAVE_LDAP_URL_PARSE 1
687#else
688#undef HAVE_LDAP_URL_PARSE
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700689#define USE_WIN32_LDAP 1
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700690#endif
691
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700692#if defined(__WATCOMC__) && defined(USE_WIN32_LDAP)
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700693#if __WATCOMC__ < 1280
694#define WINBERAPI __declspec(cdecl)
695#define WINLDAPAPI __declspec(cdecl)
696#endif
697#endif
698
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700699#if defined(__POCC__) && defined(USE_WIN32_LDAP)
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700700# define CURL_DISABLE_LDAP 1
701#endif
702
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700703/* Define to use the Windows crypto library. */
704#if !defined(USE_OPENSSL) && !defined(USE_NSS)
705#define USE_WIN32_CRYPTO
706#endif
707
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700708/* ---------------------------------------------------------------- */
709/* ADDITIONAL DEFINITIONS */
710/* ---------------------------------------------------------------- */
711
712/* Define cpu-machine-OS */
713#undef OS
714#if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */
715#define OS "i386-pc-win32"
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700716#elif defined(_M_X64) || defined(__x86_64__) /* x86_64 (MSVC >=2005 or gcc) */
717#define OS "x86_64-pc-win32"
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700718#elif defined(_M_IA64) /* Itanium */
719#define OS "ia64-pc-win32"
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700720#else
721#define OS "unknown-pc-win32"
722#endif
723
724/* Name of package */
725#define PACKAGE "curl"
726
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700727/* If you want to build curl with the built-in manual */
728#define USE_MANUAL 1
729
Lucas Eckels9bd90e62012-08-06 15:07:02 -0700730#if defined(__POCC__) || (USE_IPV6)
731# define ENABLE_IPV6 1
732#endif
733
Bertrand SIMONNETe6cd7382015-07-01 15:39:44 -0700734#endif /* HEADER_CURL_CONFIG_WIN32_H */