#ifndef _CURL_CONFIG_DJGPP_H
#define _CURL_CONFIG_DJGPP_H

#define OS       "MSDOS/djgpp"
#define PACKAGE  "curl"

#define CURL_CA_BUNDLE  "/dev/env/CURL_CA_BUNDLE"

#if (DJGPP_MINOR >= 4)
/* #define HAVE_DLOPEN 1 maybe not (DXE3) */
#endif

#define HAVE_ASSERT_T          1
#define HAVE_ARPA_INET_H       1
#define HAVE_BASENAME          1
#define HAVE_CLOSESOCKET       1
#define HAVE_FCNTL_H           1
#define HAVE_FIONBIO           1
#define HAVE_GETHOSTBYADDR     1
#define HAVE_GETHOSTNAME       1
#define HAVE_GETPASS           1
#define HAVE_GETSERVBYNAME     1
#define HAVE_GETTIMEOFDAY      1
#define HAVE_INET_ADDR         1
#define HAVE_INET_NTOA         1
#define HAVE_IO_H              1
#define HAVE_IOCTLSOCKET       1
#define HAVE_INET_PTON         1
#define HAVE_INET_NTOP         1
#define HAVE_LOCALE_H          1
#define HAVE_LONGLONG          1
#define HAVE_MALLOC_H          1
#define HAVE_MEMORY_H          1
#define HAVE_NETDB_H           1
#define HAVE_NETINET_IN_H      1
#define HAVE_NETINET_TCP_H     1
#define HAVE_NET_IF_H          1
#define HAVE_PERROR            1
#define HAVE_SELECT            1
#define HAVE_SETJMP_H          1
#define HAVE_SETLOCALE         1
#define HAVE_SETVBUF           1
#define HAVE_SIGNAL            1
#define HAVE_SIGACTION         1
#define HAVE_SIGSETJMP         1
#define HAVE_SOCKET            1
#define HAVE_SPNEGO            1
#define HAVE_STRCASECMP        1
#define HAVE_STRDUP            1
#define HAVE_STRFTIME          1
#define HAVE_STRICMP           1
#define HAVE_STRSTR            1
#define HAVE_STRTOLL           1
#define HAVE_SYS_IOCTL_H       1
#define HAVE_SYS_SOCKET_H      1
#define HAVE_SYS_STAT_H        1
#define HAVE_SYS_TYPES_H       1
#define HAVE_TERMIOS_H         1
#define HAVE_TIME_H            1
#define HAVE_UNAME             1
#define HAVE_UNISTD_H          1
#define HAVE_VPRINTF           1

#if (DJGPP_MINOR >= 4)
#define HAVE_STRLCAT           1
#endif

#define RETSIGTYPE             void
#define SIZEOF_LONG_DOUBLE     16
#define SIZEOF_CURL_OFF_T      4   /* no huge file support */
#define STDC_HEADERS           1
#define TIME_WITH_SYS_TIME     1

#define BSD

/* #define MALLOCDEBUG */

#ifdef USE_ZLIB     /* on cmd-line */
  #define HAVE_ZLIB_H            1
  #define HAVE_LIBZ              1
#endif

#ifdef USE_SSLEAY   /* on cmd-line */
  #define HAVE_OPENSSL_X509_H    1
  #define HAVE_OPENSSL_SSL_H     1
  #define HAVE_OPENSSL_RSA_H     1
  #define HAVE_OPENSSL_PEM_H     1
  #define HAVE_OPENSSL_ERR_H     1
  #define HAVE_OPENSSL_CRYPTO_H  1
  #define HAVE_OPENSSL_ENGINE_H  1
  #define HAVE_LIBSSL            1
  #define HAVE_LIBCRYPTO         1
  #define OPENSSL_NO_KRB5        1
  #define USE_OPENSSL            1
#endif

/* to disable LDAP */
#define CURL_DISABLE_LDAP        1

/* Because djgpp <= 2.03 doesn't have snprintf() etc.
 */
#if (DJGPP_MINOR < 4)
  #define _MPRINTF_REPLACE
#endif

#define in_addr_t  u_long
#define socklen_t  int

#if __GNUC__ < 4   /* gcc 4.x built-in ? */
#define ssize_t    int
#endif

#include <stdlib.h>
#include <string.h>
#include <tcp.h>    /* Watt-32 API */

#undef word

#endif  /* _CURL_CONFIG_DJGPP_H */

