summaryrefslogtreecommitdiffstats
path: root/Source/CTest/Curl/setup.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/CTest/Curl/setup.h')
-rw-r--r--Source/CTest/Curl/setup.h230
1 files changed, 166 insertions, 64 deletions
diff --git a/Source/CTest/Curl/setup.h b/Source/CTest/Curl/setup.h
index e10206e..fff6974 100644
--- a/Source/CTest/Curl/setup.h
+++ b/Source/CTest/Curl/setup.h
@@ -1,18 +1,18 @@
#ifndef __SETUP_H
#define __SETUP_H
/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2002, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2004, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
- *
+ *
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
@@ -23,9 +23,6 @@
* $Id$
***************************************************************************/
-/* MN 06/07/02 */
-/* #define HTTP_ONLY
-*/
#ifdef HTTP_ONLY
#define CURL_DISABLE_FTP
#define CURL_DISABLE_LDAP
@@ -35,35 +32,64 @@
#define CURL_DISABLE_GOPHER
#endif
-#if !defined(WIN32) && (defined(__WIN32__) || defined(_WIN32))
+#if !defined(WIN32) && defined(__WIN32__)
/* This should be a good Borland fix. Alexander J. Oss told us! */
#define WIN32
#endif
#ifdef HAVE_CONFIG_H
-
-#ifdef VMS
-#include "config-vms.h"
-#else
#include "config.h" /* the configure script results */
-#endif
-
#else
#ifdef WIN32
/* hand-modified win32 config.h! */
#include "config-win32.h"
#endif
+#endif
+
#ifdef macintosh
/* hand-modified MacOS config.h! */
#include "config-mac.h"
#endif
+#ifdef AMIGA
+/* hand-modified AmigaOS config.h! */
+#include "amigaos.h"
+#endif
+#ifndef TRUE
+#define TRUE 1
+#endif
+#ifndef FALSE
+#define FALSE 0
#endif
-#ifndef __cplusplus /* (rabe) */
+#if !defined(__cplusplus) && !defined(__BEOS__)
typedef unsigned char bool;
#define typedef_bool
-#endif /* (rabe) */
+#endif
+
+#ifdef HAVE_LONGLONG
+#define LONG_LONG long long
+#define ENABLE_64BIT
+#else
+#ifdef _MSC_VER
+#define LONG_LONG __int64
+#define ENABLE_64BIT
+#endif
+#endif /* HAVE_LONGLONG */
+
+#ifndef SIZEOF_CURL_OFF_T
+/* If we don't know the size here, we assume a conservative size: 4. When
+ building libcurl, the actual size of this variable should be define in the
+ config*.h file. */
+#define SIZEOF_CURL_OFF_T 4
+#endif
+
+/* We set up our internal prefered (CURL_)FORMAT_OFF_T here */
+#if SIZEOF_CURL_OFF_T > 4
+#define FORMAT_OFF_T "lld"
+#else
+#define FORMAT_OFF_T "ld"
+#endif
#ifdef NEED_REENTRANT
/* Solaris machines needs _REENTRANT set for a few function prototypes and
@@ -72,14 +98,14 @@ typedef unsigned char bool;
#define _REENTRANT
#endif
-
#include <stdio.h>
-#ifndef OS
-#ifdef WIN32
-#define OS "win32"
-#else
-#define OS "unknown"
+#ifdef HAVE_ASSERT_H
+#include <assert.h>
#endif
+#include <errno.h>
+
+#ifdef __TANDEM /* for nsr-tandem-nsk systems */
+#include <floss.h>
#endif
#if defined(HAVE_X509_H) && defined(HAVE_SSL_H) && defined(HAVE_RSA_H) && \
@@ -100,18 +126,26 @@ defined(HAVE_LIBSSL) && defined(HAVE_LIBCRYPTO)
#endif
#ifndef STDC_HEADERS /* no standard C headers! */
-#ifdef VMS
-#include "../include/curl/stdcheaders.h"
-#else
#include <curl/stdcheaders.h>
#endif
+#if defined(CURLDEBUG) && defined(HAVE_ASSERT_H)
+#define curlassert(x) assert(x)
#else
-#ifdef _AIX
-#include <curl/stdcheaders.h>
+/* does nothing without CURLDEBUG defined */
+#define curlassert(x)
#endif
+
+#ifdef MSG_NOSIGNAL
+/* If we have the MSG_NOSIGNAL define, we make sure to use that in the forth
+ argument to send() and recv() */
+#define SEND_4TH_ARG MSG_NOSIGNAL
+#define HAVE_MSG_NOSIGNAL 1 /* we have MSG_NOSIGNAL */
+#else
+#define SEND_4TH_ARG 0
#endif
+
/* Below we define four functions. They should
1. close a socket
2. read from a socket
@@ -122,71 +156,139 @@ defined(HAVE_LIBSSL) && defined(HAVE_LIBCRYPTO)
*/
#ifdef WIN32
-/* Disable unnecessary warnings on Visual Studio */
-#ifdef _MSC_VER
-#pragma warning ( disable : 4127 )
-#pragma warning ( disable : 4514 )
-#pragma warning ( disable : 4706 )
-#pragma warning ( disable : 4131 ) /* Old style declaration */
-#pragma warning ( disable : 4055 ) /* Cast void*(*)() to void* */
-#pragma warning ( disable : 4311 ) /* Allow cast from void* to long/int */
-#pragma warning ( disable : 4312 ) /* Allow cast from long to char* */
-struct _RPC_ASYNC_STATE;
-#endif
-/* Disable unnecessary warnings on Borland */
-#ifdef __BORLANDC__
-#pragma warn -8004
+
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN /* Prevent including <winsock*.h> in <windows.h> */
+#endif
+
+#if (defined(ENABLE_IPV6) || defined(CURLDEBUG)) && defined(_MSC_VER) && \
+ (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0500)
+/*
+ * Needed to pull in the real getaddrinfo() and not the inline version
+ * in <wspiAPI.H> which doesn't support IPv6 (IPv4 only). <wspiAPI.H> is
+ * included from <ws2tcpip.h> for <= 0x0500 SDKs.
+ */
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#endif
+
+#include <winsock2.h> /* required by telnet.c */
+
+#if defined(ENABLE_IPV6) || defined(USE_SSLEAY)
+#include <ws2tcpip.h>
#endif
+
#if !defined(__GNUC__) || defined(__MINGW32__)
#define sclose(x) closesocket(x)
-#define sread(x,y,z) recv(x,y,z,0)
-#define swrite(x,y,z) (size_t)send(x,y,z,0)
+#define sread(x,y,z) recv(x,y,z, SEND_4TH_ARG)
+#define swrite(x,y,z) (size_t)send(x,y,z, SEND_4TH_ARG)
#undef HAVE_ALARM
#else
/* gcc-for-win is still good :) */
#define sclose(x) close(x)
-#define sread(x,y,z) recv(x,y,z,0)
-#define swrite(x,y,z) send(x,y,z,0)
+#define sread(x,y,z) recv(x,y,z, SEND_4TH_ARG)
+#define swrite(x,y,z) send(x,y,z, SEND_4TH_ARG)
#define HAVE_ALARM
#endif
-#define PATH_CHAR ";"
#define DIR_CHAR "\\"
#define DOT_CHAR "_"
#else
+
+#ifdef DJGPP
+#define sclose(x) close_s(x)
+#define sread(x,y,z) read_s(x,y,z)
+#define swrite(x,y,z) write_s(x,y,z)
+#define select(n,r,w,x,t) select_s(n,r,w,x,t)
+#define ioctl(x,y,z) ioctlsocket(x,y,(char *)(z))
+#define IOCTL_3_ARGS
+#include <tcp.h>
+#ifdef word
+#undef word
+#endif
+
+#else
+
+#ifdef __BEOS__
+#define sclose(x) closesocket(x)
+#define sread(x,y,z) (ssize_t)recv(x,y,z, SEND_4TH_ARG)
+#define swrite(x,y,z) (ssize_t)send(x,y,z, SEND_4TH_ARG)
+#else
#define sclose(x) close(x)
-#define sread(x,y,z) recv(x,y,z,0)
-#define swrite(x,y,z) send(x,y,z,0)
+#define sread(x,y,z) recv(x,y,z, SEND_4TH_ARG)
+#define swrite(x,y,z) send(x,y,z, SEND_4TH_ARG)
+#endif
+
#define HAVE_ALARM
-#define PATH_CHAR ":"
+#endif
+
+#ifdef _AMIGASF
+#undef HAVE_ALARM
+#undef sclose
+#define sclose(x) CloseSocket(x)
+#endif
+
#define DIR_CHAR "/"
#define DOT_CHAR "."
-#ifdef HAVE_STRCASECMP
-/* this is for "-ansi -Wall -pedantic" to stop complaining! */
-extern int (strcasecmp)(const char *s1, const char *s2);
-extern int (strncasecmp)(const char *s1, const char *s2, size_t n);
+#ifdef DJGPP
+#undef DOT_CHAR
+#define DOT_CHAR "_"
+#endif
+
#ifndef fileno /* sunos 4 have this as a macro! */
int fileno( FILE *stream);
#endif
+
#endif
+/* now typedef our socket type */
+#ifdef WIN32
+typedef SOCKET curl_socket_t;
+#define CURL_SOCKET_BAD INVALID_SOCKET
+#else
+typedef int curl_socket_t;
+#define CURL_SOCKET_BAD -1
#endif
-/*
- * Curl_addrinfo MUST be used for name resolving information.
- * Information regarding a single IP witin a Curl_addrinfo MUST be stored in
- * a Curl_ipconnect struct.
- */
+#if defined(ENABLE_IPV6) && defined(USE_ARES)
+#error "ares does not yet support IPv6. Disable IPv6 or ares and rebuild"
+#endif
+
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(USE_ARES) && \
+ !defined(__LCC__) /* lcc-win32 doesn't have _beginthreadex() */
#ifdef ENABLE_IPV6
-typedef struct addrinfo Curl_addrinfo;
-typedef struct addrinfo Curl_ipconnect;
+#define USE_THREADING_GETADDRINFO
+#else
+#define USE_THREADING_GETHOSTBYNAME /* Cygwin uses alarm() function */
+#endif
+#endif
+
+#ifdef mpeix
+#define IOCTL_3_ARGS
+#endif
+
+#ifndef ECONNRESET
+#ifdef WSAECONNRESET
+#define ECONNRESET WSAECONNRESET
#else
-typedef struct hostent Curl_addrinfo;
-typedef struct in_addr Curl_ipconnect;
+/* This will effectively prevent the code from working in this particular
+ aspect, but it still compile fine! */
+#define ECONNRESET 10000
+#endif
#endif
+#ifdef NETWARE
+#undef HAVE_ALARM
+#endif
+
+#ifdef HAVE_LIBIDN
+/* This could benefit from additional checks that some of the used/important
+ header files are present as well before we define the USE_* define. */
+#define USE_LIBIDN
+#define LIBIDN_REQUIRED_VERSION "0.4.1"
+#endif
#endif /* __CONFIG_H */