1 #ifndef HEADER_CURL_SETUP_H 2 #define HEADER_CURL_SETUP_H 25 #if defined(BUILDING_LIBCURL) && !defined(CURL_NO_OLDIES) 26 #define CURL_NO_OLDIES 33 #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) && \ 34 !defined(__SYMBIAN32__) 44 # ifndef WIN32_LEAN_AND_MEAN 45 # define WIN32_LEAN_AND_MEAN 56 #include "curl_config.h" 68 #if defined(macintosh) && defined(__MRC__) 112 #ifdef NEED_THREAD_SAFE 113 # ifndef _THREAD_SAFE 114 # define _THREAD_SAFE 124 #ifdef NEED_REENTRANT 131 #if defined(sun) || defined(__sun) 132 # ifndef _POSIX_PTHREAD_SEMANTICS 133 # define _POSIX_PTHREAD_SEMANTICS 1 144 #define CURL_SIZEOF_CURL_OFF_T SIZEOF_CURL_OFF_T 151 # ifndef CURL_DISABLE_TFTP 152 # define CURL_DISABLE_TFTP 154 # ifndef CURL_DISABLE_FTP 155 # define CURL_DISABLE_FTP 157 # ifndef CURL_DISABLE_LDAP 158 # define CURL_DISABLE_LDAP 160 # ifndef CURL_DISABLE_TELNET 161 # define CURL_DISABLE_TELNET 163 # ifndef CURL_DISABLE_DICT 164 # define CURL_DISABLE_DICT 166 # ifndef CURL_DISABLE_FILE 167 # define CURL_DISABLE_FILE 169 # ifndef CURL_DISABLE_RTSP 170 # define CURL_DISABLE_RTSP 172 # ifndef CURL_DISABLE_POP3 173 # define CURL_DISABLE_POP3 175 # ifndef CURL_DISABLE_IMAP 176 # define CURL_DISABLE_IMAP 178 # ifndef CURL_DISABLE_SMTP 179 # define CURL_DISABLE_SMTP 181 # ifndef CURL_DISABLE_GOPHER 182 # define CURL_DISABLE_GOPHER 184 # ifndef CURL_DISABLE_SMB 185 # define CURL_DISABLE_SMB 193 #if defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_RTSP) 194 # define CURL_DISABLE_RTSP 224 #define USE_RESOLVE_ON_IPS 1 238 #ifdef HAVE_WINDOWS_H 239 # if defined(UNICODE) && !defined(_UNICODE) 242 # if defined(_UNICODE) && !defined(UNICODE) 245 # include <windows.h> 246 # ifdef HAVE_WINSOCK2_H 247 # include <winsock2.h> 248 # ifdef HAVE_WS2TCPIP_H 249 # include <ws2tcpip.h> 252 # ifdef HAVE_WINSOCK_H 253 # include <winsock.h> 258 typedef wchar_t *(*curl_wcsdup_callback)(
const wchar_t *
str);
270 #ifdef HAVE_WINSOCK2_H 271 # define USE_WINSOCK 2 273 # ifdef HAVE_WINSOCK_H 274 # define USE_WINSOCK 1 279 # include <lwip/init.h> 280 # include <lwip/sockets.h> 281 # include <lwip/netdb.h> 284 #ifdef HAVE_EXTRA_STRICMP_H 285 # include <extra/stricmp.h> 288 #ifdef HAVE_EXTRA_STRDUP_H 289 # include <extra/strdup.h> 293 # include <strings.h> 296 # include <sys/socket.h> 298 # include <tpf/sysapi.h> 300 # define select(a,b,c,d,e) tpf_select_libcurl(a,b,c,d,e) 304 # include <sockLib.h> 310 # include <exec/types.h> 311 # include <exec/execbase.h> 312 # include <proto/exec.h> 313 # include <proto/dos.h> 314 # define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) 332 # include <sys/types.h> 334 # define sys_nerr EILSEQ 352 #ifdef USE_WIN32_LARGE_FILES 354 # include <sys/types.h> 355 # include <sys/stat.h> 357 # define lseek(fdes,offset,whence) _lseeki64(fdes, offset, whence) 359 # define fstat(fdes,stp) _fstati64(fdes, stp) 361 # define stat(fname,stp) _stati64(fname, stp) 362 # define struct_stat struct _stati64 363 # define LSEEK_ERROR (__int64)-1 370 #ifdef USE_WIN32_SMALL_FILES 372 # include <sys/types.h> 373 # include <sys/stat.h> 376 # define lseek(fdes,offset,whence) _lseek(fdes, (long)offset, whence) 377 # define fstat(fdes,stp) _fstat(fdes, stp) 378 # define stat(fname,stp) _stat(fname, stp) 379 # define struct_stat struct _stat 381 # define LSEEK_ERROR (long)-1 385 # define struct_stat struct stat 389 # define LSEEK_ERROR (off_t)-1 397 # if defined(__VMS) && !defined(__VAX) 398 # if defined(_LARGEFILE) 399 # define SIZEOF_OFF_T 8 401 # elif defined(__OS400__) && defined(__ILEC400__) 402 # if defined(_LARGE_FILES) 403 # define SIZEOF_OFF_T 8 405 # elif defined(__MVS__) && defined(__IBMC__) 406 # if defined(_LP64) || defined(_LARGE_FILES) 407 # define SIZEOF_OFF_T 8 409 # elif defined(__370__) && defined(__IBMC__) 410 # if defined(_LP64) || defined(_LARGE_FILES) 411 # define SIZEOF_OFF_T 8 414 # ifndef SIZEOF_OFF_T 415 # define SIZEOF_OFF_T 4 423 #ifndef GETHOSTNAME_TYPE_ARG2 425 # define GETHOSTNAME_TYPE_ARG2 int 427 # define GETHOSTNAME_TYPE_ARG2 size_t 439 # define DIR_CHAR "\\" 440 # define DOT_CHAR "_" 446 # include <sys/ioctl.h> 447 # define select(n,r,w,x,t) select_s(n,r,w,x,t) 448 # define ioctl(x,y,z) ioctlsocket(x,y,(char *)(z)) 461 extern char *
strtok_r(
char *s,
const char *delim,
char **
last);
462 extern struct tm *gmtime_r(
const time_t *
const timep,
struct tm *tmp);
465 # define DIR_CHAR "/" 467 # define DOT_CHAR "." 472 # define DOT_CHAR "_" 487 #if defined(_MSC_VER) && !defined(__POCC__) && !defined(USE_LWIPSOCK) 488 # if !defined(HAVE_WS2TCPIP_H) || \ 489 ((_MSC_VER < 1300) && !defined(INET6_ADDRSTRLEN)) 490 # undef HAVE_GETADDRINFO_THREADSAFE 491 # undef HAVE_FREEADDRINFO 492 # undef HAVE_GETADDRINFO 493 # undef HAVE_GETNAMEINFO 507 #if defined(__LCC__) && defined(WIN32) 508 # undef USE_THREADS_POSIX 509 # undef USE_THREADS_WIN32 517 #if defined(_MSC_VER) && !defined(__POCC__) && !defined(_MT) 518 # undef USE_THREADS_POSIX 519 # undef USE_THREADS_WIN32 527 # define CURLRES_ASYNCH 528 # define CURLRES_ARES 530 # undef HAVE_GETADDRINFO 531 # undef HAVE_FREEADDRINFO 532 # undef HAVE_GETHOSTBYNAME 533 #elif defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) 534 # define CURLRES_ASYNCH 535 # define CURLRES_THREADED 537 # define CURLRES_SYNCH 541 # define CURLRES_IPV6 543 # define CURLRES_IPV4 552 #if defined(USE_WINSOCK) && (USE_WINSOCK != 2) 553 # define CURL_DISABLE_TELNET 1 562 #if defined(_MSC_VER) && !defined(__POCC__) 563 # if !defined(HAVE_WINSOCK2_H) || ((_MSC_VER < 1300) && !defined(IPPROTO_ESP)) 564 # undef HAVE_STRUCT_SOCKADDR_STORAGE 574 #if defined(_MSC_VER) && !defined(__POCC__) 575 # if !defined(HAVE_WINDOWS_H) || ((_MSC_VER < 1300) && !defined(_FILETIME_)) 576 # if !defined(ALLOW_MSVC6_WITHOUT_PSDK) 577 # error MSVC 6.0 requires "February 2003 Platform SDK" a.k.a. \ 578 "Windows Server 2003 PSDK" 580 # define CURL_DISABLE_LDAP 1 586 int netware_init(
void);
587 #ifndef __NOVELL_LIBC__ 588 #include <sys/bsdskt.h> 589 #include <sys/timeval.h> 593 #if defined(HAVE_LIBIDN2) && defined(HAVE_IDN2_H) && !defined(USE_WIN32_IDN) 598 #if defined(USE_LIBIDN2) && defined(USE_WIN32_IDN) 599 #error "Both libidn2 and WinIDN are enabled, choose one." 602 #ifndef SIZEOF_TIME_T 604 #define SIZEOF_TIME_T 4 607 #define LIBIDN_REQUIRED_VERSION "0.4.1" 609 #if defined(USE_GNUTLS) || defined(USE_OPENSSL) || defined(USE_NSS) || \ 610 defined(USE_POLARSSL) || defined(USE_AXTLS) || defined(USE_MBEDTLS) || \ 611 defined(USE_CYASSL) || defined(USE_SCHANNEL) || \ 612 defined(USE_DARWINSSL) || defined(USE_GSKIT) 617 #if !defined(CURL_DISABLE_CRYPTO_AUTH) && \ 618 (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) 623 #if !defined(CURL_DISABLE_CRYPTO_AUTH) && \ 624 (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) 625 #define USE_KERBEROS5 629 #if !defined(CURL_DISABLE_NTLM) && !defined(CURL_DISABLE_CRYPTO_AUTH) 630 #if defined(USE_OPENSSL) || defined(USE_WINDOWS_SSPI) || \ 631 defined(USE_GNUTLS) || defined(USE_NSS) || defined(USE_DARWINSSL) || \ 632 defined(USE_OS400CRYPTO) || defined(USE_WIN32_CRYPTO) || \ 637 # if defined(USE_MBEDTLS) 639 # include <mbedtls/md4.h> 645 #ifdef CURL_WANTS_CA_BUNDLE_ENV 646 #error "No longer supported. Set CURLOPT_CAINFO at runtime instead." 655 #if defined(__GNUC__) && ((__GNUC__ >= 3) || \ 656 ((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 7))) 657 # define UNUSED_PARAM __attribute__((__unused__)) 658 # define WARN_UNUSED_RESULT __attribute__((warn_unused_result)) 660 # define UNUSED_PARAM 661 # define WARN_UNUSED_RESULT 668 #ifndef HEADER_CURL_SETUP_ONCE_H 676 #ifndef Curl_nop_stmt 677 # define Curl_nop_stmt do { } WHILE_FALSE 684 #if defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H) 685 # if defined(SOCKET) || \ 686 defined(USE_WINSOCK) || \ 687 defined(HAVE_WINSOCK_H) || \ 688 defined(HAVE_WINSOCK2_H) || \ 689 defined(HAVE_WS2TCPIP_H) 690 # error "Winsock and lwIP TCP/IP stack definitions shall not coexist!" 699 # define SHUT_RD 0x00 700 # define SHUT_WR 0x01 701 # define SHUT_RDWR 0x02 705 #if !defined(S_ISREG) && defined(S_IFMT) && defined(S_IFREG) 706 #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) 710 #if !defined(S_ISDIR) && defined(S_IFMT) && defined(S_IFDIR) 711 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) 717 #if defined(WIN32) || defined(MSDOS) 718 #define FOPEN_READTEXT "rt" 719 #define FOPEN_WRITETEXT "wt" 720 #define FOPEN_APPENDTEXT "at" 721 #elif defined(__CYGWIN__) 728 #define FOPEN_READTEXT "rt" 729 #define FOPEN_WRITETEXT "w" 730 #define FOPEN_APPENDTEXT "a" 732 #define FOPEN_READTEXT "r" 733 #define FOPEN_WRITETEXT "w" 734 #define FOPEN_APPENDTEXT "a" 742 #if !defined(DONT_USE_RECV_BEFORE_SEND_WORKAROUND) 743 # if defined(WIN32) || defined(__CYGWIN__) 744 # define USE_RECV_BEFORE_SEND_WORKAROUND 747 # ifdef USE_RECV_BEFORE_SEND_WORKAROUND 748 # undef USE_RECV_BEFORE_SEND_WORKAROUND 754 # if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0602) 755 # include <winapifamily.h> 756 # if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && \ 757 !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 758 # define CURL_WINDOWS_APP
struct curl_httppost * last