1/* src/config.h.in. Generated from configure.ac by autoheader. */ 2 3/* Define this enable printing of anchor debugging messages. */ 4#undef ANCHOR_DEBUG 5 6/* Define this to enable printing of daemon debugging messages. */ 7#undef DAEMON_DEBUG 8 9/* Define this to disable recursing resolution type. */ 10#undef DISABLE_RESOLUTION_RECURSING 11 12/* Define this to enable the experimental dnssec roadblock avoidance. */ 13#undef DNSSEC_ROADBLOCK_AVOIDANCE 14 15/* Define this to enable all rrtypes in gldns. */ 16#undef DRAFT_RRTYPES 17 18/* Define this to enable the experimental edns cookies. */ 19#undef EDNS_COOKIES 20 21/* The edns cookie option code. */ 22#undef EDNS_COOKIE_OPCODE 23 24/* How often the edns client cookie is refreshed. */ 25#undef EDNS_COOKIE_ROLLOVER_TIME 26 27/* The edns padding option code. */ 28#undef EDNS_PADDING_OPCODE 29 30/* Alternate value for the FD_SETSIZE */ 31#undef FD_SETSIZE 32 33/* Path to static table lookup for hostnames */ 34#undef GETDNS_FN_HOSTS 35 36/* Path to resolver configuration file */ 37#undef GETDNS_FN_RESOLVCONF 38 39/* Define this to enable Windows build. */ 40#undef GETDNS_ON_WINDOWS 41 42/* Define to 1 if you have the `arc4random' function. */ 43#undef HAVE_ARC4RANDOM 44 45/* Define to 1 if you have the `arc4random_uniform' function. */ 46#undef HAVE_ARC4RANDOM_UNIFORM 47 48/* Define to 1 if you have the <arpa/inet.h> header file. */ 49#undef HAVE_ARPA_INET_H 50 51/* Whether the C compiler accepts the "format" attribute */ 52#undef HAVE_ATTR_FORMAT 53 54/* Whether the C compiler accepts the "unused" attribute */ 55#undef HAVE_ATTR_UNUSED 56 57/* Define to 1 if you have the declaration of `arc4random', and to 0 if you 58 don't. */ 59#undef HAVE_DECL_ARC4RANDOM 60 61/* Define to 1 if you have the declaration of `arc4random_uniform', and to 0 62 if you don't. */ 63#undef HAVE_DECL_ARC4RANDOM_UNIFORM 64 65/* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you 66 don't. */ 67#undef HAVE_DECL_INET_NTOP 68 69/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you 70 don't. */ 71#undef HAVE_DECL_INET_PTON 72 73/* Define to 1 if you have the declaration of `MSG_FASTOPEN', and to 0 if you 74 don't. */ 75#undef HAVE_DECL_MSG_FASTOPEN 76 77/* Define to 1 if you have the declaration of `NID_ED25519', and to 0 if you 78 don't. */ 79#undef HAVE_DECL_NID_ED25519 80 81/* Define to 1 if you have the declaration of `NID_ED448', and to 0 if you 82 don't. */ 83#undef HAVE_DECL_NID_ED448 84 85/* Define to 1 if you have the declaration of `NID_secp384r1', and to 0 if you 86 don't. */ 87#undef HAVE_DECL_NID_SECP384R1 88 89/* Define to 1 if you have the declaration of `NID_X9_62_prime256v1', and to 0 90 if you don't. */ 91#undef HAVE_DECL_NID_X9_62_PRIME256V1 92 93/* Define to 1 if you have the declaration of `sk_SSL_COMP_pop_free', and to 0 94 if you don't. */ 95#undef HAVE_DECL_SK_SSL_COMP_POP_FREE 96 97/* Define to 1 if you have the declaration of 98 `SSL_COMP_get_compression_methods', and to 0 if you don't. */ 99#undef HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS 100 101/* Define to 1 if you have the declaration of `SSL_CTX_set1_curves_list', and 102 to 0 if you don't. */ 103#undef HAVE_DECL_SSL_CTX_SET1_CURVES_LIST 104 105/* Define to 1 if you have the declaration of `SSL_CTX_set_ecdh_auto', and to 106 0 if you don't. */ 107#undef HAVE_DECL_SSL_CTX_SET_ECDH_AUTO 108 109/* Define to 1 if you have the declaration of `SSL_get_min_proto_version', and 110 to 0 if you don't. */ 111#undef HAVE_DECL_SSL_GET_MIN_PROTO_VERSION 112 113/* Define to 1 if you have the declaration of `SSL_set1_curves_list', and to 0 114 if you don't. */ 115#undef HAVE_DECL_SSL_SET1_CURVES_LIST 116 117/* Define to 1 if you have the declaration of `SSL_set_min_proto_version', and 118 to 0 if you don't. */ 119#undef HAVE_DECL_SSL_SET_MIN_PROTO_VERSION 120 121/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you 122 don't. */ 123#undef HAVE_DECL_STRLCPY 124 125/* Define to 1 if you have the declaration of `TCP_FASTOPEN', and to 0 if you 126 don't. */ 127#undef HAVE_DECL_TCP_FASTOPEN 128 129/* Define to 1 if you have the declaration of `TCP_FASTOPEN_CONNECT', and to 0 130 if you don't. */ 131#undef HAVE_DECL_TCP_FASTOPEN_CONNECT 132 133/* Define to 1 if you have the <dlfcn.h> header file. */ 134#undef HAVE_DLFCN_H 135 136/* Define to 1 if you have the `DSA_set0_key' function. */ 137#undef HAVE_DSA_SET0_KEY 138 139/* Define to 1 if you have the `DSA_set0_pqg' function. */ 140#undef HAVE_DSA_SET0_PQG 141 142/* Define to 1 if you have the `DSA_SIG_set0' function. */ 143#undef HAVE_DSA_SIG_SET0 144 145/* Define to 1 if you have the `ECDSA_SIG_get0' function. */ 146#undef HAVE_ECDSA_SIG_GET0 147 148/* Define to 1 if you have the <endian.h> header file. */ 149#undef HAVE_ENDIAN_H 150 151/* Define to 1 if you have the `ENGINE_load_cryptodev' function. */ 152#undef HAVE_ENGINE_LOAD_CRYPTODEV 153 154/* Define to 1 if you have the <event2/event.h> header file. */ 155#undef HAVE_EVENT2_EVENT_H 156 157/* Define to 1 if you have the `event_base_free' function. */ 158#undef HAVE_EVENT_BASE_FREE 159 160/* Define to 1 if you have the `event_base_new' function. */ 161#undef HAVE_EVENT_BASE_NEW 162 163/* Define to 1 if you have the <event.h> header file. */ 164#undef HAVE_EVENT_H 165 166/* Define to 1 if you have the `EVP_DigestVerify' function. */ 167#undef HAVE_EVP_DIGESTVERIFY 168 169/* Define to 1 if you have the `EVP_dss1' function. */ 170#undef HAVE_EVP_DSS1 171 172/* Define to 1 if you have the `EVP_md5' function. */ 173#undef HAVE_EVP_MD5 174 175/* Define to 1 if you have the `EVP_MD_CTX_new' function. */ 176#undef HAVE_EVP_MD_CTX_NEW 177 178/* Define to 1 if you have the `EVP_PKEY_base_id' function. */ 179#undef HAVE_EVP_PKEY_BASE_ID 180 181/* Define to 1 if you have the `EVP_PKEY_keygen' function. */ 182#undef HAVE_EVP_PKEY_KEYGEN 183 184/* Define to 1 if you have the `EVP_sha1' function. */ 185#undef HAVE_EVP_SHA1 186 187/* Define to 1 if you have the `EVP_sha224' function. */ 188#undef HAVE_EVP_SHA224 189 190/* Define to 1 if you have the `EVP_sha256' function. */ 191#undef HAVE_EVP_SHA256 192 193/* Define to 1 if you have the `EVP_sha384' function. */ 194#undef HAVE_EVP_SHA384 195 196/* Define to 1 if you have the `EVP_sha512' function. */ 197#undef HAVE_EVP_SHA512 198 199/* Define to 1 if you have the <ev.h> header file. */ 200#undef HAVE_EV_H 201 202/* Define to 1 if you have the `fcntl' function. */ 203#undef HAVE_FCNTL 204 205/* Define to 1 if you have the `FIPS_mode' function. */ 206#undef HAVE_FIPS_MODE 207 208/* Whether getaddrinfo is available */ 209#undef HAVE_GETADDRINFO 210 211/* Define to 1 if you have the `getauxval' function. */ 212#undef HAVE_GETAUXVAL 213 214/* Define this to enable getdns_yaml2dict function. */ 215#undef HAVE_GETDNS_YAML2DICT 216 217/* Define to 1 if you have the `getentropy' function. */ 218#undef HAVE_GETENTROPY 219 220/* Define to 1 if you have the `HMAC_CTX_free' function. */ 221#undef HAVE_HMAC_CTX_FREE 222 223/* Define to 1 if you have the `HMAC_CTX_new' function. */ 224#undef HAVE_HMAC_CTX_NEW 225 226/* If you have HMAC_Update */ 227#undef HAVE_HMAC_UPDATE 228 229/* Define to 1 if you have the `inet_ntop' function. */ 230#undef HAVE_INET_NTOP 231 232/* Define to 1 if you have the `inet_pton' function. */ 233#undef HAVE_INET_PTON 234 235/* Define to 1 if you have the <inttypes.h> header file. */ 236#undef HAVE_INTTYPES_H 237 238/* if the function 'ioctlsocket' is available */ 239#undef HAVE_IOCTLSOCKET 240 241/* Define to 1 if you have the `crypto' library (-lcrypto). */ 242#undef HAVE_LIBCRYPTO 243 244/* Define to 1 if you have the <libev/ev.h> header file. */ 245#undef HAVE_LIBEV_EV_H 246 247/* Define to 1 if you have the `idn' library (-lidn). */ 248#undef HAVE_LIBIDN 249 250/* Define to 1 if you have the `idn2' library (-lidn). */ 251#undef HAVE_LIBIDN2 252 253/* Define to 1 if you have the `unbound' library (-lunbound). */ 254#undef HAVE_LIBUNBOUND 255 256/* Define to 1 if you have the `yaml' library (-lyaml). */ 257#undef HAVE_LIBYAML 258 259/* Define to 1 if you have the <limits.h> header file. */ 260#undef HAVE_LIMITS_H 261 262/* Define this to enable the draft mdns client support. */ 263#undef HAVE_MDNS_SUPPORT 264 265/* Define to 1 if you have the <memory.h> header file. */ 266#undef HAVE_MEMORY_H 267 268/* Define to 1 if you have the <netdb.h> header file. */ 269#undef HAVE_NETDB_H 270 271/* Define to 1 if you have the <netinet/in.h> header file. */ 272#undef HAVE_NETINET_IN_H 273 274/* Define to 1 if you have the <netinet/tcp.h> header file. */ 275#undef HAVE_NETINET_TCP_H 276 277/* Use libnettle for crypto */ 278#undef HAVE_NETTLE 279 280/* Define to 1 if you have the <nettle/dsa-compat.h> header file. */ 281#undef HAVE_NETTLE_DSA_COMPAT_H 282 283/* Define to 1 if you have the <nettle/eddsa.h> header file. */ 284#undef HAVE_NETTLE_EDDSA_H 285 286/* Define to 1 if you have the <nettle/nettle-meta.h> header file. */ 287#undef HAVE_NETTLE_NETTLE_META_H 288 289/* Does libuv have the new uv_time_cb signature */ 290#undef HAVE_NEW_UV_TIMER_CB 291 292/* Define to 1 if you have the <openssl/bn.h> header file. */ 293#undef HAVE_OPENSSL_BN_H 294 295/* Define to 1 if you have the `OPENSSL_config' function. */ 296#undef HAVE_OPENSSL_CONFIG 297 298/* Define to 1 if you have the <openssl/conf.h> header file. */ 299#undef HAVE_OPENSSL_CONF_H 300 301/* Define to 1 if you have the <openssl/dsa.h> header file. */ 302#undef HAVE_OPENSSL_DSA_H 303 304/* Define to 1 if you have the <openssl/engine.h> header file. */ 305#undef HAVE_OPENSSL_ENGINE_H 306 307/* Define to 1 if you have the <openssl/err.h> header file. */ 308#undef HAVE_OPENSSL_ERR_H 309 310/* Define to 1 if you have the `OPENSSL_init_crypto' function. */ 311#undef HAVE_OPENSSL_INIT_CRYPTO 312 313/* Define to 1 if you have the <openssl/rand.h> header file. */ 314#undef HAVE_OPENSSL_RAND_H 315 316/* Define to 1 if you have the <openssl/rsa.h> header file. */ 317#undef HAVE_OPENSSL_RSA_H 318 319/* Define to 1 if you have the <openssl/ssl.h> header file. */ 320#undef HAVE_OPENSSL_SSL_H 321 322/* Define to 1 if you have the `OpenSSL_version' function. */ 323#undef HAVE_OPENSSL_VERSION 324 325/* Define to 1 if you have the `OpenSSL_version_num' function. */ 326#undef HAVE_OPENSSL_VERSION_NUM 327 328/* Define to 1 if you have the <openssl/x509.h> header file. */ 329#undef HAVE_OPENSSL_X509_H 330 331/* Define to 1 if you have the <poll.h> header file. */ 332#undef HAVE_POLL_H 333 334/* Have pthreads library */ 335#undef HAVE_PTHREAD 336 337/* Define to 1 if you have the `RSA_set0_key' function. */ 338#undef HAVE_RSA_SET0_KEY 339 340/* Define to 1 if you have the `SHA512_Update' function. */ 341#undef HAVE_SHA512_UPDATE 342 343/* Define to 1 if you have the `sigaddset' function. */ 344#undef HAVE_SIGADDSET 345 346/* Define to 1 if you have the `sigemptyset' function. */ 347#undef HAVE_SIGEMPTYSET 348 349/* Define to 1 if you have the `sigfillset' function. */ 350#undef HAVE_SIGFILLSET 351 352/* Define to 1 if you have the <signal.h> header file. */ 353#undef HAVE_SIGNAL_H 354 355/* Define to 1 if the system has the type `sigset_t'. */ 356#undef HAVE_SIGSET_T 357 358/* Define if you have the SSL libraries installed. */ 359#undef HAVE_SSL 360 361/* Define to 1 if you have the `SSL_CTX_dane_enable' function. */ 362#undef HAVE_SSL_CTX_DANE_ENABLE 363 364/* Define to 1 if you have the `SSL_CTX_set_ciphersuites' function. */ 365#undef HAVE_SSL_CTX_SET_CIPHERSUITES 366 367/* Define to 1 if you have the `SSL_dane_enable' function. */ 368#undef HAVE_SSL_DANE_ENABLE 369 370/* Define to 1 if you have the `SSL_dane_tlsa_add' function. */ 371#undef HAVE_SSL_DANE_TLSA_ADD 372 373/* Define if you have libssl with host name verification */ 374#undef HAVE_SSL_HN_AUTH 375 376/* Define to 1 if you have the `SSL_set_ciphersuites' function. */ 377#undef HAVE_SSL_SET_CIPHERSUITES 378 379/* Define to 1 if you have the <stdarg.h> header file. */ 380#undef HAVE_STDARG_H 381 382/* Define to 1 if you have the <stdint.h> header file. */ 383#undef HAVE_STDINT_H 384 385/* Define to 1 if you have the <stdio.h> header file. */ 386#undef HAVE_STDIO_H 387 388/* Define to 1 if you have the <stdlib.h> header file. */ 389#undef HAVE_STDLIB_H 390 391/* Define to 1 if you have the <strings.h> header file. */ 392#undef HAVE_STRINGS_H 393 394/* Define to 1 if you have the <string.h> header file. */ 395#undef HAVE_STRING_H 396 397/* Define to 1 if you have the `strlcpy' function. */ 398#undef HAVE_STRLCPY 399 400/* Define to 1 if you have the `strptime' function. */ 401#undef HAVE_STRPTIME 402 403/* Define to 1 if you have the <sys/limits.h> header file. */ 404#undef HAVE_SYS_LIMITS_H 405 406/* Define to 1 if you have the <sys/poll.h> header file. */ 407#undef HAVE_SYS_POLL_H 408 409/* Define to 1 if you have the <sys/resource.h> header file. */ 410#undef HAVE_SYS_RESOURCE_H 411 412/* Define to 1 if you have the <sys/select.h> header file. */ 413#undef HAVE_SYS_SELECT_H 414 415/* Define to 1 if you have the <sys/sha2.h> header file. */ 416#undef HAVE_SYS_SHA2_H 417 418/* Define to 1 if you have the <sys/socket.h> header file. */ 419#undef HAVE_SYS_SOCKET_H 420 421/* Define to 1 if you have the <sys/stat.h> header file. */ 422#undef HAVE_SYS_STAT_H 423 424/* Define to 1 if you have the <sys/sysctl.h> header file. */ 425#undef HAVE_SYS_SYSCTL_H 426 427/* Define to 1 if you have the <sys/time.h> header file. */ 428#undef HAVE_SYS_TIME_H 429 430/* Define to 1 if you have the <sys/types.h> header file. */ 431#undef HAVE_SYS_TYPES_H 432 433/* Define to 1 if you have the <time.h> header file. */ 434#undef HAVE_TIME_H 435 436/* Define to 1 if you have the `TLS_client_method' function. */ 437#undef HAVE_TLS_CLIENT_METHOD 438 439/* Define if you have libssl with tls 1.2 */ 440#undef HAVE_TLS_v1_2 441 442/* Define to 1 if you have the `ub_ctx_set_stub' function. */ 443#undef HAVE_UB_CTX_SET_STUB 444 445/* Define this when libunbound is compiled with the --enable-event-api option. 446 */ 447#undef HAVE_UNBOUND_EVENT_API 448 449/* Define to 1 if you have the <unbound-event.h> header file. */ 450#undef HAVE_UNBOUND_EVENT_H 451 452/* Define to 1 if you have the <unistd.h> header file. */ 453#undef HAVE_UNISTD_H 454 455/* Define to 1 if you have the <uv.h> header file. */ 456#undef HAVE_UV_H 457 458/* Define to 1 if the system has the type `u_char'. */ 459#undef HAVE_U_CHAR 460 461/* Define to 1 if you have the <windows.h> header file. */ 462#undef HAVE_WINDOWS_H 463 464/* Define to 1 if you have the <winsock2.h> header file. */ 465#undef HAVE_WINSOCK2_H 466 467/* Define to 1 if you have the <winsock.h> header file. */ 468#undef HAVE_WINSOCK_H 469 470/* Define to 1 if you have the <ws2tcpip.h> header file. */ 471#undef HAVE_WS2TCPIP_H 472 473/* Define to 1 if you have the `X509_check_host' function. */ 474#undef HAVE_X509_CHECK_HOST 475 476/* Define to 1 if you have the `X509_get0_notAfter' function. */ 477#undef HAVE_X509_GET0_NOTAFTER 478 479/* Define to 1 if you have the `X509_get_notAfter' function. */ 480#undef HAVE_X509_GET_NOTAFTER 481 482/* Define to 1 if the system has the type `_sigset_t'. */ 483#undef HAVE__SIGSET_T 484 485/* Whether the C compiler support the __func__ variable */ 486#undef HAVE___FUNC__ 487 488/* Do not set this */ 489#undef KEEP_CONNECTIONS_OPEN_DEBUG 490 491/* Define to the sub-directory where libtool stores uninstalled libraries. */ 492#undef LT_OBJDIR 493 494/* limit for dynamically-generated DNS options */ 495#undef MAXIMUM_UPSTREAM_OPTION_SPACE 496 497/* The maximum number of cname referrals. */ 498#undef MAX_CNAME_REFERRALS 499 500/* Algorithm AES in nettle library */ 501#undef NETTLE_WITH_AES 502 503/* Algorithm ARCTWO in nettle library */ 504#undef NETTLE_WITH_ARCTWO 505 506/* Algorithm BLOWFISH in nettle library */ 507#undef NETTLE_WITH_BLOWFISH 508 509/* Algorithm CAST128 in nettle library */ 510#undef NETTLE_WITH_CAST128 511 512/* Algorithm DES in nettle library */ 513#undef NETTLE_WITH_DES 514 515/* Algorithm DES3 in nettle library */ 516#undef NETTLE_WITH_DES3 517 518/* Algorithm MD2 in nettle library */ 519#undef NETTLE_WITH_MD2 520 521/* Algorithm MD4 in nettle library */ 522#undef NETTLE_WITH_MD4 523 524/* Algorithm MD5 in nettle library */ 525#undef NETTLE_WITH_MD5 526 527/* Algorithm SERPENT in nettle library */ 528#undef NETTLE_WITH_SERPENT 529 530/* Algorithm SHA1 in nettle library */ 531#undef NETTLE_WITH_SHA1 532 533/* Algorithm SHA256 in nettle library */ 534#undef NETTLE_WITH_SHA256 535 536/* Algorithm TWOFISH in nettle library */ 537#undef NETTLE_WITH_TWOFISH 538 539/* Define to the address where bug reports for this package should be sent. */ 540#undef PACKAGE_BUGREPORT 541 542/* Define to the full name of this package. */ 543#undef PACKAGE_NAME 544 545/* Define to the full name and version of this package. */ 546#undef PACKAGE_STRING 547 548/* Define to the one symbol short name of this package. */ 549#undef PACKAGE_TARNAME 550 551/* Define to the home page for this package. */ 552#undef PACKAGE_URL 553 554/* Define to the version of this package. */ 555#undef PACKAGE_VERSION 556 557/* Define this to enable printing of request debugging messages. */ 558#undef REQ_DEBUG 559 560/* Define as the return type of signal handlers (`int' or `void'). */ 561#undef RETSIGTYPE 562 563/* Define this to enable printing of scheduling debugging messages. */ 564#undef SCHED_DEBUG 565 566/* Define this to enable printing of dnssec debugging messages. */ 567#undef SEC_DEBUG 568 569/* Define this enable printing of server debugging messages. */ 570#undef SERVER_DEBUG 571 572/* Define to 1 if you have the ANSI C header files. */ 573#undef STDC_HEADERS 574 575/* use default strptime. */ 576#undef STRPTIME_WORKS 577 578/* Stubby package */ 579#undef STUBBY_PACKAGE 580 581/* Stubby package string */ 582#undef STUBBY_PACKAGE_STRING 583 584/* Define this to enable printing of stub debugging messages. */ 585#undef STUB_DEBUG 586 587/* Define this to enable native stub DNSSEC support. */ 588#undef STUB_NATIVE_DNSSEC 589 590/* System configuration dir */ 591#undef SYSCONFDIR 592 593/* Default trust anchor file */ 594#undef TRUST_ANCHOR_FILE 595 596/* Maximum number of queries an failed UDP upstream passes before it will 597 retry */ 598#undef UDP_MAX_BACKOFF 599 600/* Define this to use DANE functions from the ssl_dane/danessl library. */ 601#undef USE_DANESSL 602 603/* Define this to enable DSA support. */ 604#undef USE_DSA 605 606/* Define this to enable ECDSA support. */ 607#undef USE_ECDSA 608 609/* Define this to enable an EVP workaround for older openssl */ 610#undef USE_ECDSA_EVP_WORKAROUND 611 612/* Define this to enable ED25519 support. */ 613#undef USE_ED25519 614 615/* Define this to enable ED448 support. */ 616#undef USE_ED448 617 618/* Use the GnuTLS library */ 619#undef USE_GNUTLS 620 621/* Define this to enable GOST support. */ 622#undef USE_GOST 623 624/* Define this to enable TCP fast open. */ 625#undef USE_OSX_TCP_FASTOPEN 626 627/* Define this to enable a default eventloop based on poll(). */ 628#undef USE_POLL_DEFAULT_EVENTLOOP 629 630/* Define this to enable SHA1 support. */ 631#undef USE_SHA1 632 633/* Define this to enable SHA256 and SHA512 support. */ 634#undef USE_SHA2 635 636/* Define this to enable TCP fast open. */ 637#undef USE_TCP_FASTOPEN 638 639/* Whether the windows socket API is used */ 640#undef USE_WINSOCK 641 642/* Define this to enable YAML config support. */ 643#undef USE_YAML_CONFIG 644 645/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, 646 <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the 647 #define below would cause a syntax error. */ 648#undef _UINT32_T 649 650/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>, 651 <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the 652 #define below would cause a syntax error. */ 653#undef _UINT64_T 654 655/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>, 656 <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the 657 #define below would cause a syntax error. */ 658#undef _UINT8_T 659 660/* Define to `unsigned int' if <sys/types.h> does not define. */ 661#undef size_t 662 663/* Define to the type of an unsigned integer type of width exactly 16 bits if 664 such a type exists and the standard includes do not define it. */ 665#undef uint16_t 666 667/* Define to the type of an unsigned integer type of width exactly 32 bits if 668 such a type exists and the standard includes do not define it. */ 669#undef uint32_t 670 671/* Define to the type of an unsigned integer type of width exactly 64 bits if 672 such a type exists and the standard includes do not define it. */ 673#undef uint64_t 674 675/* Define to the type of an unsigned integer type of width exactly 8 bits if 676 such a type exists and the standard includes do not define it. */ 677#undef uint8_t 678 679 680 681#ifdef HAVE___FUNC__ 682#define __FUNC__ __func__ 683#else 684#define __FUNC__ __FUNCTION__ 685#endif 686 687#ifdef GETDNS_ON_WINDOWS 688 /* On windows it is allowed to increase the FD_SETSIZE 689 * (and necessary to make our custom eventloop work) 690 * See: https://support.microsoft.com/en-us/kb/111855 691 */ 692# ifndef FD_SETSIZE 693# define FD_SETSIZE 1024 694# endif 695 696/* the version of the windows API enabled */ 697# ifndef WINVER 698# define WINVER 0x0600 // 0x0502 699# endif 700# ifndef _WIN32_WINNT 701# define _WIN32_WINNT 0x0600 // 0x0502 702# endif 703# ifdef HAVE_WS2TCPIP_H 704# include <ws2tcpip.h> 705# endif 706 707# ifdef _MSC_VER 708# if _MSC_VER >= 1800 709# define PRIsz "zu" 710# else 711# define PRIsz "Iu" 712# endif 713# else 714# define PRIsz "Iu" 715# endif 716 717# ifdef HAVE_WINSOCK2_H 718# include <winsock2.h> 719# endif 720 721/* detect if we need to cast to unsigned int for FD_SET to avoid warnings */ 722# ifdef HAVE_WINSOCK2_H 723# define FD_SET_T (u_int) 724# else 725# define FD_SET_T 726# endif 727 728 /* Windows wants us to use _strdup instead of strdup */ 729# ifndef strdup 730# define strdup _strdup 731# endif 732#else 733# define PRIsz "zu" 734#endif 735 736#include <stdint.h> 737#include <stdio.h> 738#include <unistd.h> 739#include <assert.h> 740#include <string.h> 741 742#ifdef __cplusplus 743extern "C" { 744#endif 745 746#if STDC_HEADERS 747#include <stdlib.h> 748#include <stddef.h> 749#endif 750 751#if !defined(HAVE_STRLCPY) || !HAVE_DECL_STRLCPY || !defined(strlcpy) 752size_t strlcpy(char *dst, const char *src, size_t siz); 753#else 754#ifndef __BSD_VISIBLE 755#define __BSD_VISIBLE 1 756#endif 757#endif 758#if !defined(HAVE_ARC4RANDOM) || !HAVE_DECL_ARC4RANDOM 759uint32_t arc4random(void); 760#endif 761#if !defined(HAVE_ARC4RANDOM_UNIFORM) || !HAVE_DECL_ARC4RANDOM_UNIFORM 762uint32_t arc4random_uniform(uint32_t upper_bound); 763#endif 764#ifndef HAVE_ARC4RANDOM 765void explicit_bzero(void* buf, size_t len); 766int getentropy(void* buf, size_t len); 767void arc4random_buf(void* buf, size_t n); 768void _ARC4_LOCK(void); 769void _ARC4_UNLOCK(void); 770#endif 771#ifdef COMPAT_SHA512 772#ifndef SHA512_DIGEST_LENGTH 773#define SHA512_BLOCK_LENGTH 128 774#define SHA512_DIGEST_LENGTH 64 775#define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1) 776typedef struct _SHA512_CTX { 777 uint64_t state[8]; 778 uint64_t bitcount[2]; 779 uint8_t buffer[SHA512_BLOCK_LENGTH]; 780} SHA512_CTX; 781#endif /* SHA512_DIGEST_LENGTH */ 782void SHA512_Init(SHA512_CTX*); 783void SHA512_Update(SHA512_CTX*, void*, size_t); 784void SHA512_Final(uint8_t[SHA512_DIGEST_LENGTH], SHA512_CTX*); 785unsigned char *SHA512(void* data, unsigned int data_len, unsigned char *digest); 786#endif /* COMPAT_SHA512 */ 787 788#ifndef HAVE_DECL_INET_PTON 789int inet_pton(int af, const char* src, void* dst); 790#endif /* HAVE_INET_PTON */ 791 792#ifndef HAVE_DECL_INET_NTOP 793const char *inet_ntop(int af, const void *src, char *dst, size_t size); 794#endif 795 796#ifdef USE_WINSOCK 797# ifndef _CUSTOM_VSNPRINTF 798# define _CUSTOM_VSNPRINTF 799static inline int _gldns_custom_vsnprintf(char *str, size_t size, const char *format, va_list ap) 800{ int r = vsnprintf(str, size, format, ap); return r == -1 ? _vscprintf(format, ap) : r; } 801# define vsnprintf _gldns_custom_vsnprintf 802# endif 803#endif 804 805#ifdef __cplusplus 806} 807#endif 808 809/** Use on-board gldns */ 810#define USE_GLDNS 1 811#ifdef HAVE_SSL 812# define GLDNS_BUILD_CONFIG_HAVE_SSL 1 813#endif 814 815#ifdef HAVE_STDARG_H 816#include <stdarg.h> 817#endif 818 819#include <errno.h> 820 821#ifdef HAVE_SYS_SOCKET_H 822#include <sys/socket.h> 823#endif 824 825#ifdef HAVE_NETINET_TCP_H 826#include <netinet/tcp.h> 827#endif 828 829#ifdef HAVE_SYS_SELECT_H 830#include <sys/select.h> 831#endif 832 833#ifdef HAVE_SYS_TYPES_H 834#include <sys/types.h> 835#endif 836 837#ifdef HAVE_SYS_STAT_H 838#include <sys/stat.h> 839#endif 840 841#ifdef HAVE_NETINET_IN_H 842#include <netinet/in.h> 843#endif 844 845#ifdef HAVE_ARPA_INET_H 846#include <arpa/inet.h> 847#endif 848 849#ifdef HAVE_INTTYPES_H 850#include <inttypes.h> 851#endif 852 853#ifdef HAVE_LIMITS_H 854#include <limits.h> 855#endif 856 857#ifdef HAVE_SYS_LIMITS_H 858#include <sys/limits.h> 859#endif 860 861#ifdef PATH_MAX 862#define _GETDNS_PATH_MAX PATH_MAX 863#else 864#define _GETDNS_PATH_MAX 2048 865#endif 866 867#ifndef PRIu64 868#define PRIu64 "llu" 869#endif 870 871#ifdef HAVE_ATTR_FORMAT 872# define ATTR_FORMAT(archetype, string_index, first_to_check) \ 873 __attribute__ ((format (archetype, string_index, first_to_check))) 874#else /* !HAVE_ATTR_FORMAT */ 875# define ATTR_FORMAT(archetype, string_index, first_to_check) /* empty */ 876#endif /* !HAVE_ATTR_FORMAT */ 877 878#if defined(DOXYGEN) 879# define ATTR_UNUSED(x) x 880#elif defined(__cplusplus) 881# define ATTR_UNUSED(x) 882#elif defined(HAVE_ATTR_UNUSED) 883# define ATTR_UNUSED(x) x __attribute__((unused)) 884#else /* !HAVE_ATTR_UNUSED */ 885# define ATTR_UNUSED(x) x 886#endif /* !HAVE_ATTR_UNUSED */ 887 888#ifdef TIME_WITH_SYS_TIME 889# include <sys/time.h> 890# include <time.h> 891#else 892# ifdef HAVE_SYS_TIME_H 893# include <sys/time.h> 894# else 895# include <time.h> 896# endif 897#endif 898 899#ifdef __cplusplus 900extern "C" { 901#endif 902 903#if !defined(HAVE_STRPTIME) || !defined(STRPTIME_WORKS) 904#define strptime unbound_strptime 905struct tm; 906char *strptime(const char *s, const char *format, struct tm *tm); 907#endif 908 909#if !defined(HAVE_SIGSET_T) && defined(HAVE__SIGSET_T) 910typedef _sigset_t sigset_t; 911#endif 912#if !defined(HAVE_SIGEMPTYSET) 913# define sigemptyset(pset) (*(pset) = 0) 914#endif 915#if !defined(HAVE_SIGFILLSET) 916# define sigfillset(pset) (*(pset) = (sigset_t)-1) 917#endif 918#if !defined(HAVE_SIGADDSET) 919# define sigaddset(pset, num) (*(pset) |= (1L<<(num))) 920#endif 921 922#ifdef HAVE_LIBUNBOUND 923# include <unbound.h> 924# ifdef HAVE_UNBOUND_EVENT_H 925# include <unbound-event.h> 926# else 927# ifdef HAVE_UNBOUND_EVENT_API 928# ifndef _UB_EVENT_PRIMITIVES 929# define _UB_EVENT_PRIMITIVES 930struct ub_event_base; 931struct ub_ctx* ub_ctx_create_ub_event(struct ub_event_base* base); 932typedef void (*ub_event_callback_t)(void*, int, void*, int, int, char*); 933int ub_resolve_event(struct ub_ctx* ctx, const char* name, int rrtype, 934 int rrclass, void* mydata, ub_event_callback_t callback, int* async_id); 935# endif 936# endif 937# endif 938#endif 939 940#ifdef __cplusplus 941} 942#endif 943 944