1#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 ***************************************************************************/ 24 25/* ================================================================ */ 26/* Hand crafted config file for Windows */ 27/* ================================================================ */ 28 29/* ---------------------------------------------------------------- */ 30/* HEADER FILES */ 31/* ---------------------------------------------------------------- */ 32 33/* Define if you have the <arpa/inet.h> header file. */ 34/* #define HAVE_ARPA_INET_H 1 */ 35 36/* Define if you have the <assert.h> header file. */ 37#define HAVE_ASSERT_H 1 38 39/* Define if you have the <crypto.h> header file. */ 40/* #define HAVE_CRYPTO_H 1 */ 41 42/* 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. */ 46/* #define HAVE_ERR_H 1 */ 47 48/* Define if you have the <fcntl.h> header file. */ 49#define HAVE_FCNTL_H 1 50 51/* Define if you have the <getopt.h> header file. */ 52#if defined(__MINGW32__) || defined(__POCC__) 53#define HAVE_GETOPT_H 1 54#endif 55 56/* 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. */ 62#define HAVE_IO_H 1 63 64/* Define if you have the <limits.h> header file. */ 65#define HAVE_LIMITS_H 1 66 67/* 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. */ 71#if !defined(__SALFORDC__) && !defined(__POCC__) 72#define NEED_MALLOC_H 1 73#endif 74 75/* Define if you have the <netdb.h> header file. */ 76/* #define HAVE_NETDB_H 1 */ 77 78/* Define if you have the <netinet/in.h> header file. */ 79/* #define HAVE_NETINET_IN_H 1 */ 80 81/* Define if you have the <process.h> header file. */ 82#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 89/* Define if you have the <sgtty.h> header file. */ 90/* #define HAVE_SGTTY_H 1 */ 91 92/* Define if you have the <ssl.h> header file. */ 93/* #define HAVE_SSL_H 1 */ 94 95/* 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. */ 101#define HAVE_STDLIB_H 1 102 103/* Define if you have the <sys/param.h> header file. */ 104/* #define HAVE_SYS_PARAM_H 1 */ 105 106/* Define if you have the <sys/select.h> header file. */ 107/* #define HAVE_SYS_SELECT_H 1 */ 108 109/* Define if you have the <sys/socket.h> header file. */ 110/* #define HAVE_SYS_SOCKET_H 1 */ 111 112/* Define if you have the <sys/sockio.h> header file. */ 113/* #define HAVE_SYS_SOCKIO_H 1 */ 114 115/* Define if you have the <sys/stat.h> header file. */ 116#define HAVE_SYS_STAT_H 1 117 118/* Define if you have the <sys/time.h> header file. */ 119/* #define HAVE_SYS_TIME_H 1 */ 120 121/* Define if you have the <sys/types.h> header file. */ 122#define HAVE_SYS_TYPES_H 1 123 124/* Define if you have the <sys/utime.h> header file. */ 125#ifndef __BORLANDC__ 126#define HAVE_SYS_UTIME_H 1 127#endif 128 129/* Define if you have the <termio.h> header file. */ 130/* #define HAVE_TERMIO_H 1 */ 131 132/* Define if you have the <termios.h> header file. */ 133/* #define HAVE_TERMIOS_H 1 */ 134 135/* Define if you have the <time.h> header file. */ 136#define HAVE_TIME_H 1 137 138/* Define if you have the <unistd.h> header file. */ 139#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \ 140 defined(__POCC__) 141#define HAVE_UNISTD_H 1 142#endif 143 144/* Define if you have the <windows.h> header file. */ 145#define HAVE_WINDOWS_H 1 146 147/* Define if you have the <winsock.h> header file. */ 148#define HAVE_WINSOCK_H 1 149 150/* Define if you have the <winsock2.h> header file. */ 151#ifndef __SALFORDC__ 152#define HAVE_WINSOCK2_H 1 153#endif 154 155/* Define if you have the <ws2tcpip.h> header file. */ 156#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 167/* Define if you have the ANSI C header files. */ 168#define STDC_HEADERS 1 169 170/* Define if you can safely include both <sys/time.h> and <time.h>. */ 171/* #define TIME_WITH_SYS_TIME 1 */ 172 173/* 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 178/* ---------------------------------------------------------------- */ 179/* FUNCTIONS */ 180/* ---------------------------------------------------------------- */ 181 182/* Define if you have the closesocket function. */ 183#define HAVE_CLOSESOCKET 1 184 185/* Define if you don't have vprintf but do have _doprnt. */ 186/* #define HAVE_DOPRNT 1 */ 187 188/* Define if you have the ftruncate function. */ 189#define HAVE_FTRUNCATE 1 190 191/* Define if you have the gethostbyaddr function. */ 192#define HAVE_GETHOSTBYADDR 1 193 194/* Define if you have the gethostname function. */ 195#define HAVE_GETHOSTNAME 1 196 197/* Define if you have the getpass function. */ 198/* #define HAVE_GETPASS 1 */ 199 200/* Define if you have the getservbyname function. */ 201#define HAVE_GETSERVBYNAME 1 202 203/* Define if you have the getprotobyname function. */ 204#define HAVE_GETPROTOBYNAME 205 206/* Define if you have the gettimeofday function. */ 207/* #define HAVE_GETTIMEOFDAY 1 */ 208 209/* Define if you have the inet_addr function. */ 210#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 218/* Define if you have the perror function. */ 219#define HAVE_PERROR 1 220 221/* Define if you have the RAND_screen function when using SSL. */ 222#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 227/* Define if you have the `CRYPTO_cleanup_all_ex_data' function. 228 This is present in OpenSSL versions after 0.9.6b */ 229#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1 230 231/* Define if you have the select function. */ 232#define HAVE_SELECT 1 233 234/* 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. */ 241#define HAVE_SETVBUF 1 242 243/* Define if you have the socket function. */ 244#define HAVE_SOCKET 1 245 246/* Define if you have the strcasecmp function. */ 247/* #define HAVE_STRCASECMP 1 */ 248 249/* Define if you have the strdup function. */ 250#define HAVE_STRDUP 1 251 252/* Define if you have the strftime function. */ 253#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 264/* Define if you have the strstr function. */ 265#define HAVE_STRSTR 1 266 267/* Define if you have the strtoll function. */ 268#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__POCC__) || \ 269 (defined(_MSC_VER) && (_MSC_VER >= 1800)) 270#define HAVE_STRTOLL 1 271#endif 272 273/* Define if you have the tcgetattr function. */ 274/* #define HAVE_TCGETATTR 1 */ 275 276/* Define if you have the tcsetattr function. */ 277/* #define HAVE_TCSETATTR 1 */ 278 279/* Define if you have the utime function. */ 280#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 366/* Define if in_addr_t is not an available 'typedefed' type. */ 367#define in_addr_t unsigned long 368 369/* Define to the return type of signal handlers (int or void). */ 370#define RETSIGTYPE void 371 372/* Define if ssize_t is not an available 'typedefed' type. */ 373#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 390/* Define to the size of `int', as computed by sizeof. */ 391#define SIZEOF_INT 4 392 393/* Define to the size of `long double', as computed by sizeof. */ 394#define SIZEOF_LONG_DOUBLE 16 395 396/* Define to the size of `long long', as computed by sizeof. */ 397/* #define SIZEOF_LONG_LONG 8 */ 398 399/* Define to the size of `short', as computed by sizeof. */ 400#define SIZEOF_SHORT 2 401 402/* 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 407#endif 408 409/* ---------------------------------------------------------------- */ 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 440 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 469/* 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 */ 474 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. */ 484#if defined(__MINGW32__) || defined(__WATCOMC__) || \ 485 (defined(_MSC_VER) && (_MSC_VER >= 1310)) 486#define HAVE_LONGLONG 1 487#endif 488 489/* Define to avoid VS2005 complaining about portable C functions. */ 490#if defined(_MSC_VER) && (_MSC_VER >= 1400) 491#define _CRT_SECURE_NO_DEPRECATE 1 492#define _CRT_NONSTDC_NO_DEPRECATE 1 493#endif 494 495/* 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. */ 497#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 505/* 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 534#endif 535 536/* VS2008 default target settings and minimum build target check. */ 537#if defined(_MSC_VER) && (_MSC_VER >= 1500) && (_MSC_VER <= 1600) 538# ifndef _WIN32_WINNT 539# define _WIN32_WINNT VS2008_DEF_TARGET 540# endif 541# ifndef WINVER 542# define WINVER VS2008_DEF_TARGET 543# endif 544# if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET) 545# error VS2008 does not support Windows build targets prior to Windows 2000 546# endif 547#endif 548 549/* 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 567/* 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/* ---------------------------------------------------------------- */ 609/* 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/* ---------------------------------------------------------------- */ 628/* 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/* 660 * Undefine both USE_ARES and USE_THREADS_WIN32 for synchronous DNS. 661 */ 662 663/* Define to enable c-ares asynchronous DNS lookups. */ 664/* #define USE_ARES 1 */ 665 666/* 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 671 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) 681#undef USE_WIN32_LDAP 682#define HAVE_LDAP_SSL_H 1 683#define HAVE_LDAP_URL_PARSE 1 684#elif defined(CURL_HAS_OPENLDAP_LDAPSDK) 685#undef USE_WIN32_LDAP 686#define HAVE_LDAP_URL_PARSE 1 687#else 688#undef HAVE_LDAP_URL_PARSE 689#define USE_WIN32_LDAP 1 690#endif 691 692#if defined(__WATCOMC__) && defined(USE_WIN32_LDAP) 693#if __WATCOMC__ < 1280 694#define WINBERAPI __declspec(cdecl) 695#define WINLDAPAPI __declspec(cdecl) 696#endif 697#endif 698 699#if defined(__POCC__) && defined(USE_WIN32_LDAP) 700# define CURL_DISABLE_LDAP 1 701#endif 702 703/* Define to use the Windows crypto library. */ 704#if !defined(USE_OPENSSL) && !defined(USE_NSS) 705#define USE_WIN32_CRYPTO 706#endif 707 708/* ---------------------------------------------------------------- */ 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" 716#elif defined(_M_X64) || defined(__x86_64__) /* x86_64 (MSVC >=2005 or gcc) */ 717#define OS "x86_64-pc-win32" 718#elif defined(_M_IA64) /* Itanium */ 719#define OS "ia64-pc-win32" 720#else 721#define OS "unknown-pc-win32" 722#endif 723 724/* Name of package */ 725#define PACKAGE "curl" 726 727/* If you want to build curl with the built-in manual */ 728#define USE_MANUAL 1 729 730#if defined(__POCC__) || (USE_IPV6) 731# define ENABLE_IPV6 1 732#endif 733 734#endif /* HEADER_CURL_CONFIG_WIN32_H */ 735