1e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#ifndef HEADER_CURL_CONFIG_DOS_H
2e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#define HEADER_CURL_CONFIG_DOS_H
3e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET/***************************************************************************
4e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                                  _   _ ____  _
5e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *  Project                     ___| | | |  _ \| |
6e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                             / __| | | | |_) | |
7e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                            | (__| |_| |  _ <| |___
8e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                             \___|\___/|_| \_\_____|
9e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
10e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
11e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
12e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * This software is licensed as described in the file COPYING, which
13e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * you should have received as part of this distribution. The terms
14e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * are also available at http://curl.haxx.se/docs/copyright.html.
15e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
16e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * You may opt to use, copy, modify, merge, publish, distribute and/or sell
17e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * copies of the Software, and permit persons to whom the Software is
18e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * furnished to do so, under the terms of the COPYING file.
19e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
20e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
21e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * KIND, either express or implied.
22e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
23e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET ***************************************************************************/
249bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
259bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* ================================================================ */
27e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET/*       lib/config-dos.h - Hand crafted config file for DOS        */
289bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* ================================================================ */
299bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#if defined(DJGPP)
319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define OS  "MSDOS/djgpp"
329bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#elif defined(__HIGHC__)
339bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define OS  "MSDOS/HighC"
349bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#elif defined(__WATCOMC__)
359bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define OS  "MSDOS/Watcom"
369bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#else
379bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define OS  "MSDOS/?"
389bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#endif
399bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
409bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define PACKAGE  "curl"
419bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
429bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_ARPA_INET_H       1
43e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#define HAVE_ERRNO_H           1
449bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_FCNTL_H           1
459bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_GETADDRINFO       1
469bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_GETNAMEINFO       1
479bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_GETPROTOBYNAME    1
489bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_GETTIMEOFDAY      1
499bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_IO_H              1
509bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_IOCTL             1
519bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_IOCTL_FIONBIO     1
529bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_IOCTLSOCKET       1
539bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_IOCTLSOCKET_FIONBIO   1
549bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_LIMITS_H          1
559bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_LOCALE_H          1
569bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_LONGLONG          1
579bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_MEMORY_H          1
589bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_NETDB_H           1
599bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_NETINET_IN_H      1
609bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_NETINET_TCP_H     1
619bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_NET_IF_H          1
629bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_PROCESS_H         1
639bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_RECV              1
649bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_RECVFROM          1
659bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SELECT            1
669bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SEND              1
679bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SETJMP_H          1
689bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SETLOCALE         1
699bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SETMODE           1
709bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SIGNAL            1
719bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SOCKET            1
729bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_STRDUP            1
739bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_STRICMP           1
749bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_STRTOLL           1
759bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_STRUCT_TIMEVAL    1
769bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_STRUCT_IN6_ADDR   1
779bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SYS_IOCTL_H       1
789bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SYS_SOCKET_H      1
799bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SYS_STAT_H        1
809bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_SYS_TYPES_H       1
819bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_TIME_H            1
829bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HAVE_UNISTD_H          1
839bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
849bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define NEED_MALLOC_H          1
859bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
869bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RETSIGTYPE             void
879bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SIZEOF_INT             4
889bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SIZEOF_LONG_DOUBLE     16
899bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SIZEOF_SHORT           2
90e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#define SIZEOF_SIZE_T          4
919bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define STDC_HEADERS           1
929bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define TIME_WITH_SYS_TIME     1
939bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
949bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* Qualifiers for send(), recv(), recvfrom() and getnameinfo(). */
959bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
969bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SEND_TYPE_ARG1         int
979bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SEND_QUAL_ARG2         const
989bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SEND_TYPE_ARG2         void *
999bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SEND_TYPE_ARG3         int
1009bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SEND_TYPE_ARG4         int
1019bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define SEND_TYPE_RETV         int
1029bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1039bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECV_TYPE_ARG1         int
1049bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECV_TYPE_ARG2         void *
1059bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECV_TYPE_ARG3         int
1069bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECV_TYPE_ARG4         int
1079bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECV_TYPE_RETV         int
1089bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1099bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_ARG1     int
1109bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_ARG2     void
1119bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_ARG3     int
1129bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_ARG4     int
1139bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_ARG5     struct sockaddr
1149bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_ARG6     int
1159bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_RETV     int
1169bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define RECVFROM_TYPE_ARG2_IS_VOID 1
1179bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1189bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define GETNAMEINFO_QUAL_ARG1  const
1199bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define GETNAMEINFO_TYPE_ARG1  struct sockaddr *
1209bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define GETNAMEINFO_TYPE_ARG2  int
1219bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define GETNAMEINFO_TYPE_ARG46 int
1229bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define GETNAMEINFO_TYPE_ARG7  int
1239bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1249bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define BSD
1259bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* CURLDEBUG definition enables memory tracking */
1279bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* #define CURLDEBUG */
1289bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1299bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* USE_ZLIB on cmd-line */
1309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#ifdef USE_ZLIB
1319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_ZLIB_H            1
1329bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_LIBZ              1
1339bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#endif
1349bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
135e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET/* USE_OPENSSL on cmd-line */
136e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#ifdef USE_OPENSSL
1379bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
1389bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_OPENSSL_ENGINE_H  1
1399bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define OPENSSL_NO_KRB5        1
1409bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#endif
1419bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1429bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* to disable LDAP */
1439bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define CURL_DISABLE_LDAP        1
1449bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1459bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define in_addr_t  u_long
1469bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1479bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#if defined(__HIGHC__) || \
1489bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    (defined(__GNUC__) && (__GNUC__ < 4))
149e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  #define ssize_t  int
1509bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#endif
1519bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1529bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define CURL_CA_BUNDLE  getenv("CURL_CA_BUNDLE")
1539bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1549bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels/* Target HAVE_x section */
1559bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1569bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#if defined(DJGPP)
1579bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_BASENAME   1
1589bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_STRCASECMP 1
1599bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_SIGACTION  1
1609bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_SIGSETJMP  1
1619bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_SYS_TIME_H 1
162e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  #define HAVE_TERMIOS_H  1
1639bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_VARIADIC_MACROS_GCC 1
1649bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1659bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#elif defined(__WATCOMC__)
1669bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_STRCASECMP 1
1679bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1689bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#elif defined(__HIGHC__)
1699bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  #define HAVE_SYS_TIME_H 1
170e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  #define strerror(e) strerror_s_((e))
1719bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#endif
1729bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1739bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#ifdef MSDOS  /* Watt-32 */
174e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET  #define HAVE_CLOSE_S    1
1759bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#endif
1769bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1779bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#undef word
1789bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#undef byte
1799bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
180e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#endif /* HEADER_CURL_CONFIG_DOS_H */
1819bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
182