00001
00002
00003
00004
00005 #ifndef __LIB_CURL_SETUP_H
00006 #define __LIB_CURL_SETUP_H
00007
00008 #ifdef HTTP_ONLY
00009 #define CURL_DISABLE_TFTP
00010 #define CURL_DISABLE_FTP
00011 #define CURL_DISABLE_LDAP
00012 #define CURL_DISABLE_TELNET
00013 #define CURL_DISABLE_DICT
00014 #define CURL_DISABLE_FILE
00015 #endif
00016
00017 #if !defined(WIN32) && defined(__WIN32__)
00018
00019 #define WIN32
00020 #endif
00021
00022 #if !defined(WIN32) && defined(_WIN32)
00023
00024 #define WIN32
00025 #endif
00026
00027 #ifdef HAVE_CONFIG_H
00028 #include "config.h"
00029 #else
00030
00031 #ifdef _WIN32_WCE
00032 #include "config-win32ce.h"
00033 #else
00034 #ifdef WIN32
00035 #include "config-win32.h"
00036 #endif
00037 #endif
00038
00039 #ifdef macintosh
00040 #include "config-mac.h"
00041 #endif
00042
00043 #ifdef __AMIGA__
00044 #include "amigaos.h"
00045 #endif
00046
00047 #ifdef TPF
00048 #include "config-tpf.h"
00049
00050 #define select(a,b,c,d,e) tpf_select_libcurl(a,b,c,d,e)
00051 #endif
00052
00053 #endif
00054
00055 #ifdef HAVE_WINDOWS_H
00056 # ifndef WIN32_LEAN_AND_MEAN
00057 # define WIN32_LEAN_AND_MEAN
00058 # endif
00059 # include <windows.h>
00060 # ifdef HAVE_WINSOCK2_H
00061 # include <winsock2.h>
00062 # ifdef HAVE_WS2TCPIP_H
00063 # include <ws2tcpip.h>
00064 # endif
00065 # else
00066 # ifdef HAVE_WINSOCK_H
00067 # include <winsock.h>
00068 # endif
00069 # endif
00070 #endif
00071
00072 #undef USE_WINSOCK
00073
00074 #ifdef HAVE_WINSOCK2_H
00075 # define USE_WINSOCK 2
00076 #else
00077 # ifdef HAVE_WINSOCK_H
00078 # define USE_WINSOCK 1
00079 # endif
00080 #endif
00081
00082 #ifdef HAVE_LONGLONG
00083 #define LONG_LONG long long
00084 #define ENABLE_64BIT
00085 #else
00086 #ifdef _MSC_VER
00087 #define LONG_LONG __int64
00088 #define ENABLE_64BIT
00089 #endif
00090 #endif
00091
00092 #ifndef SIZEOF_CURL_OFF_T
00093
00094 #define SIZEOF_CURL_OFF_T 4
00095 #endif
00096
00097 #if SIZEOF_CURL_OFF_T > 4
00098 #define FORMAT_OFF_T "lld"
00099 #else
00100 #define FORMAT_OFF_T "ld"
00101 #endif
00102
00103 #ifndef _REENTRANT
00104
00105 #define _REENTRANT
00106 #endif
00107
00108 #include <stdio.h>
00109 #ifdef HAVE_ASSERT_H
00110 #include <assert.h>
00111 #endif
00112 #include <errno.h>
00113
00114 #ifdef __TANDEM
00115 #include <floss.h>
00116 #endif
00117
00118 #ifndef STDC_HEADERS
00119 #include <curl/stdcheaders.h>
00120 #endif
00121
00122 #ifdef __POCC__
00123 #include <sys/types.h>
00124 #include <unistd.h>
00125 #if (__POCC__ <= 400)
00126 #define sys_nerr EILSEQ
00127 #define EINTR -1
00128 #endif
00129 #endif
00130
00131 #ifdef __SALFORDC__
00132 #pragma suppress 353
00133 #pragma suppress 593
00134 #pragma suppress 61
00135 #pragma suppress 106
00136 #include <clib.h>
00137 #endif
00138
00139 #if defined(WIN32) && (SIZEOF_CURL_OFF_T > 4)
00140 #include <sys/stat.h>
00141 #include <io.h>
00142 #define lseek(x,y,z) _lseeki64(x, y, z)
00143 #define struct_stat struct _stati64
00144 #define stat(file,st) _stati64(file,st)
00145 #define fstat(fd,st) _fstati64(fd,st)
00146 #else
00147 #define struct_stat struct stat
00148 #endif
00149
00150 #ifdef WIN32
00151
00152 #if !defined(__CYGWIN__)
00153 #define sclose(x) closesocket(x)
00154
00155 #undef HAVE_ALARM
00156 #else
00157
00158 #define sclose(x) close(x)
00159 #define HAVE_ALARM
00160 #endif
00161
00162 #define DIR_CHAR "\\"
00163 #define DOT_CHAR "_"
00164
00165 #else
00166
00167 #ifdef MSDOS
00168 #include <sys/ioctl.h>
00169 #define sclose(x) close_s(x)
00170 #define select(n,r,w,x,t) select_s(n,r,w,x,t)
00171 #define ioctl(x,y,z) ioctlsocket(x,y,(char *)(z))
00172 #define IOCTL_3_ARGS
00173 #include <tcp.h>
00174 #ifdef word
00175 #undef word
00176 #endif
00177
00178 #else
00179
00180 #ifdef __BEOS__
00181 #define sclose(x) closesocket(x)
00182 #else
00183 #define sclose(x) close(x)
00184 #endif
00185
00186 #define HAVE_ALARM
00187
00188 #endif
00189
00190 #ifdef _AMIGASF
00191 #undef HAVE_ALARM
00192 #undef sclose
00193 #define sclose(x) CloseSocket(x)
00194 #endif
00195
00196 #ifdef __minix
00197
00198 extern char * strtok_r(char *s, const char *delim, char **last);
00199 extern struct tm * gmtime_r(const time_t * const timep, struct tm *tmp);
00200 #endif
00201
00202 #define DIR_CHAR "/"
00203 #ifndef DOT_CHAR
00204 #define DOT_CHAR "."
00205 #endif
00206
00207 #ifdef MSDOS
00208 #undef DOT_CHAR
00209 #define DOT_CHAR "_"
00210 #endif
00211
00212 #ifndef fileno
00213 int fileno( FILE *stream);
00214 #endif
00215
00216 #endif
00217
00218 #if defined(WIN32) && !defined(__CYGWIN__) && !defined(USE_ARES) && \
00219 !defined(__LCC__)
00220 #ifdef ENABLE_IPV6
00221 #define USE_THREADING_GETADDRINFO
00222 #else
00223 #define USE_THREADING_GETHOSTBYNAME
00224 #endif
00225 #endif
00226
00227 #if (defined(_MSC_VER) && !defined(__POCC__)) && !defined(_MT) && !defined(USE_ARES)
00228 #undef USE_THREADING_GETADDRINFO
00229 #undef USE_THREADING_GETHOSTBYNAME
00230 #define CURL_NO__BEGINTHREADEX
00231 #endif
00232
00233 #ifdef _MSC_VER
00234 #if !defined(HAVE_WINSOCK2_H) || ((_MSC_VER < 1300) && !defined(IPPROTO_ESP))
00235 #undef HAVE_STRUCT_SOCKADDR_STORAGE
00236 #endif
00237 #endif
00238
00239 #ifdef mpeix
00240 #define IOCTL_3_ARGS
00241 #endif
00242
00243 #ifdef NETWARE
00244 #ifndef __NOVELL_LIBC__
00245 #include <sys/bsdskt.h>
00246 #include <sys/timeval.h>
00247 #endif
00248 #undef HAVE_ALARM
00249 #endif
00250
00251 #if defined(HAVE_LIBIDN) && defined(HAVE_TLD_H)
00252
00253 #define USE_LIBIDN
00254 #endif
00255
00256 #ifndef SIZEOF_TIME_T
00257
00258 #define SIZEOF_TIME_T 4
00259 #endif
00260
00261 #define LIBIDN_REQUIRED_VERSION "0.4.1"
00262
00263 #ifdef __UCLIBC__
00264 #define HAVE_INET_NTOA_R_2_ARGS 1
00265 #endif
00266
00267 #if defined(USE_GNUTLS) || defined(USE_SSLEAY) || defined(USE_NSS)
00268 #define USE_SSL
00269 #endif
00270
00271 #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_NTLM)
00272 #if defined(USE_SSLEAY) || defined(USE_WINDOWS_SSPI)
00273 #define USE_NTLM
00274 #endif
00275 #endif
00276
00277 #if defined(CURL_WANTS_CA_BUNDLE_ENV) && !defined(CURL_CA_BUNDLE)
00278 #define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")
00279 #endif
00280
00281 #ifndef __SETUP_ONCE_H
00282 #include "setup_once.h"
00283 #endif
00284
00285 #endif