9eb24f1f84885d5c2e51a7f675264db398c31af7Tinderbox User * Copyright (C) 1999-2001, 2004, 2006-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * This Source Code Form is subject to the terms of the Mozilla Public
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * License, v. 2.0. If a copy of the MPL was not distributed with this
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6ceca14e5ea7972a9ba8bc1dca0de1f63f669cfdDanny Mayer * win32 configuration file
6ceca14e5ea7972a9ba8bc1dca0de1f63f669cfdDanny Mayer * All definitions, declarations, macros and includes are
6ceca14e5ea7972a9ba8bc1dca0de1f63f669cfdDanny Mayer * specific to the requirements of the Windows NT and Windows 2000
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define to empty if the keyword does not work. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef const */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define as __inline if that's what the C compiler calls it. */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define to `unsigned int/__int64' if <sys/types.h> doesn't define. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef size_t */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer * ANSI C compliance enabled
667c498942c0e605c1aab98bca6b90aac4cbbd71Mark Andrews * Silence compiler warnings about using strcpy and friends.
667c498942c0e605c1aab98bca6b90aac4cbbd71Mark Andrews * Use 32 bit time.
36e97eb661df71069df2d75f5fd3b5bb0dcf1efeMark Andrews * Minimum version is Windows XP
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#error Minimum Target environment is Windows XP and Windows Server 2003
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews#error Minimum Target environment is Windows XP SP1 and Windows Server 2003
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the ANSI C header files. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you can safely include both <sys/time.h> and <time.h>. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define on DEC OSF to enable 4.4BSD style sa_len support */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef _SOCKADDR_LEN */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define if your system needs pthread_init() before using pthreads */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef NEED_PTHREAD_INIT */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define if your system has sigwait() */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef HAVE_SIGWAIT */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define on Solaris to get sigwait() to work using pthreads semantics */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef _POSIX_PTHREAD_SEMANTICS */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define if LinuxThreads is in use */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef HAVE_LINUXTHREADS */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define if catgets() is available */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef HAVE_CATGETS */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define if you have the NET_RT_IFLIST sysctl variable. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define if you need to #define _XPG4_2 before including sys/socket.h */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef NEED_XPG4_2_BEFORE_SOCKET_H */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* define if you need to #define _XOPEN_SOURCE_ENTENDED before including
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef NEED_XSE_BEFORE_SOCKET_H */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the <fcntl.h> header file. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the <sys/sockio.h> header file. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the <sys/time.h> header file. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the <unistd.h> header file. */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the c_r library (-lc_r). */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef HAVE_LIBC_R */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the nsl library (-lnsl). */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef HAVE_LIBNSL */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the pthread library (-lpthread). */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef HAVE_LIBPTHREAD */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* Define if you have the socket library (-lsocket). */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* #undef HAVE_LIBSOCKET */
6ceca14e5ea7972a9ba8bc1dca0de1f63f669cfdDanny Mayer/* Define if you have h_errno */
ecffc3aae3e72c5c65b1911ec3f4e1d180dc4bbcMark Andrews/* Define if you have RSA_generate_key(). */
ecffc3aae3e72c5c65b1911ec3f4e1d180dc4bbcMark Andrews/* Define if you have DSA_generate_parameters(). */
ecffc3aae3e72c5c65b1911ec3f4e1d180dc4bbcMark Andrews/* Define if you have DH_generate_parameters(). */
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt/* Define if you have getpassphrase in the C library. */
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Huntchar *getpassphrase(const char *);
422009fe5b15e31e7f5d09212bd1480121a1464eEvan Hunt * Define to 1 if you want to use the DLZ "dlopen" driver
422009fe5b15e31e7f5d09212bd1480121a1464eEvan Hunt * (which has the same name on windows even though it uses
422009fe5b15e31e7f5d09212bd1480121a1464eEvan Hunt * LoadLibrary() instead of dlopen()).
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IREAD _S_IREAD /* read permission, owner */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IWRITE _S_IWRITE /* write permission, owner */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IEXEC _S_IEXEC /* execute/search permission, owner */
6ceca14e5ea7972a9ba8bc1dca0de1f63f669cfdDanny Mayer/* open() under unix allows setting of read/write permissions
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer * at the owner, group and other levels. These don't exist in NT
a687db7ce86c97d884b7ee1a68f59fcddf4d1c2aAutomatic Updater * We'll just map them all to the NT equivalent
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IRUSR _S_IREAD /* Owner read permission */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IWUSR _S_IWRITE /* Owner write permission */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IRGRP _S_IREAD /* Group read permission */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IWGRP _S_IWRITE /* Group write permission */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IROTH _S_IREAD /* Other read permission */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define S_IWOTH _S_IWRITE /* Other write permission */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence * WIN32 specials until some other way of dealing with these is decided.
6fa7a247a1037be08d7a8e0b4c4fd3785b2f268cAndreas Gustafsson/* #define EAFNOSUPPORT EINVAL */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define getppid _getpid /* WARNING!!! For now this gets the same pid */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define random rand /* Random number generator */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define srandom srand /* Random number generator seeding */
487e6abc16c1b2958d371b0d4e808953646b520aDavid Lawrence/* for the config file */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* BINDInstall defines it with another type but doesn't use it */
6ceca14e5ea7972a9ba8bc1dca0de1f63f669cfdDanny Mayer * Set up the Version Information
a687db7ce86c97d884b7ee1a68f59fcddf4d1c2aAutomatic Updater/* We actually are using the CryptAPI and not a device */
6ceca14e5ea7972a9ba8bc1dca0de1f63f669cfdDanny Mayer * Applications may need to get the configuration path
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer * Make the number of available sockets large
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer * The number of sockets needed can get large and memory's cheap
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer * This must be defined before winsock2.h gets included as the
d3243476c280d3a98cadbfd6343437fa2b29356bDanny Mayer * macro is used there.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews * main() is hooked
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews * Configure sensible arguments
aeff7de836558fa8002ab5db35292d2bb6450da8Evan Hunt * Define if libxml2 is present
503e5aa8d2400e47c9617db10b57f2d4f3495fd2Mark Andrews/** define if struct addrinfo exists */
503e5aa8d2400e47c9617db10b57f2d4f3495fd2Mark Andrews/** define if getaddrinfo() exists */
503e5aa8d2400e47c9617db10b57f2d4f3495fd2Mark Andrews/** define if gai_strerror() exists */
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt/* return type of gai_strerror */
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt/* Define to the buffer length type used by getnameinfo(3). */
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt/* Define to the flags type used by getnameinfo(3). */
ff62d4458acda2110a3763ec576a4f728450662cEvan Hunt/* Define to the sockaddr length type used by getnameinfo(3). */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define to enable the "filter-aaaa-on-v4" and "filter-aaaa-on-v6" options.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define to enable "rrset-order fixed" syntax. */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define to 1 if you have the `EVP_sha256' function. */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define to 1 if you have the `EVP_sha384' function. */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define to 1 if you have the `EVP_sha512' function. */
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont/* Define if OpenSSL provides FIPS_mode() */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define if OpenSSL includes DSA support */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define if OpenSSL includes ECDSA support */
78608b0a454246d0e1e0169f1d671b8427e48199Francis Dupont/* Define if OpenSSL includes Ed25519 support */
78608b0a454246d0e1e0169f1d671b8427e48199Francis Dupont/* Define if OpenSSL includes Ed448 support */
891b61c3909afdae7e5d7ba14cd12d16186f4a68Mark Andrews/* Define if your OpenSSL version supports GOST. */
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt/* Define if your PKCS11 provider supports ECDSA. */
78608b0a454246d0e1e0169f1d671b8427e48199Francis Dupont/* Define if your PKCS11 provider supports Ed25519. */
78608b0a454246d0e1e0169f1d671b8427e48199Francis Dupont/* Define if your PKCS11 provider supports Ed448. */
ba751492fcc4f161a18b983d4f018a1a52938cb9Evan Hunt/* Define if your PKCS11 provider supports GOST. */
12bf5d4796505b4c20680531da96a31e6c2c1144Evan Hunt/* Define if GOST private keys are encoded in ASN.1. */
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt/* Define if your OpenSSL version supports EVP AES */
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt/* Define if your OpenSSL version supports AES */
fc63119c8b7aa8827fad9e3e45e50c69bc2630e8Francis Dupont/* HMAC_*() return ints */
343aeac7176d28c4a1b9d246b1f7311b4cd5da7dFrancis Dupont/* Use AES for Client Cookie generation */
343aeac7176d28c4a1b9d246b1f7311b4cd5da7dFrancis Dupont/* Use HMAC-SHA1 for Client Cookie generation */
343aeac7176d28c4a1b9d246b1f7311b4cd5da7dFrancis Dupont/* Use HMAC-SHA256 for Client Cookie generation */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Define to 1 if you have the `readline' function. */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Build with GeoIP support */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* define if idnkit support is to be included. */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Build with GeoIP City IPv6 support */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Build with GeoIP Country IPv6 support */
343aeac7176d28c4a1b9d246b1f7311b4cd5da7dFrancis Dupont/* Define if zlib was found */
891b61c3909afdae7e5d7ba14cd12d16186f4a68Mark Andrews/* Define to enable rpz-nsdname rules. */
891b61c3909afdae7e5d7ba14cd12d16186f4a68Mark Andrews/* Define to enable rpz-nsip rules. */
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* From enable developer */
98091cb21da79b0c7fd329fd64497dcb03402467Evan Hunt/* Large system tuning */
84f95ddb2572641022619950a211aff49e331c98Mukund Sivaraman/* Verbose query trace logging */
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt * Define to nothing if C supports flexible array members, and to 1 if it does
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt * not. That way, with a declaration like `struct s { int n; double
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt * d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt * compilers. When computing the size of such an object, don't use 'sizeof
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt * (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt * instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
98922b2b2b024dcca25be7c220cf3b16b1e6c4b5Evan Hunt * MSVC and with C++ compilers.
c3c8823fed039b3a2b8e5ca8bc2f3301d1dd840eMark Andrews/* Avoid warnings with strlen() */
2dd959aa18d0f661efb0d9646963993a4773d036Evan Hunt/* Get SRCID */