1 /* ldns/config.h. Generated from config.h.in by configure. */ 2 /* ldns/config.h.in. Generated from configure.ac by autoheader. */ 3 4 /* Define if building universal (internal helper macro) */ 5 /* #undef AC_APPLE_UNIVERSAL_BUILD */ 6 7 /* Define to 1 if you have the <arpa/inet.h> header file. */ 8 #define HAVE_ARPA_INET_H 1 9 10 /* Whether the C compiler accepts the "format" attribute */ 11 #define HAVE_ATTR_FORMAT 1 12 13 /* Whether the C compiler accepts the "unused" attribute */ 14 #define HAVE_ATTR_UNUSED 1 15 16 /* Define to 1 if you have the `b32_ntop' function. */ 17 /* #undef HAVE_B32_NTOP */ 18 19 /* Define to 1 if you have the `b32_pton' function. */ 20 /* #undef HAVE_B32_PTON */ 21 22 /* Define to 1 if you have the `b64_ntop' function. */ 23 /* #undef HAVE_B64_NTOP */ 24 25 /* Define to 1 if you have the `b64_pton' function. */ 26 /* #undef HAVE_B64_PTON */ 27 28 /* Define to 1 if you have the `bzero' function. */ 29 #define HAVE_BZERO 1 30 31 /* Define to 1 if you have the `calloc' function. */ 32 #define HAVE_CALLOC 1 33 34 /* Define to 1 if you have the `CONF_modules_unload' function. */ 35 #define HAVE_CONF_MODULES_UNLOAD 1 36 37 /* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */ 38 #define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1 39 40 /* Define to 1 if you have the `CRYPTO_memcmp' function. */ 41 #define HAVE_CRYPTO_MEMCMP 1 42 43 /* Define to 1 if you have the `ctime_r' function. */ 44 #define HAVE_CTIME_R 1 45 46 /* Is a CAFILE given at configure time */ 47 #define HAVE_DANE_CA_FILE 0 48 49 /* Is a CAPATH given at configure time */ 50 #define HAVE_DANE_CA_PATH 0 51 52 /* Define to 1 if you have the declaration of `EVP_PKEY_base_id', and to 0 if 53 you don't. */ 54 #define HAVE_DECL_EVP_PKEY_BASE_ID 1 55 56 /* Define to 1 if you have the declaration of `NID_ED25519', and to 0 if you 57 don't. */ 58 #define HAVE_DECL_NID_ED25519 0 59 60 /* Define to 1 if you have the declaration of `NID_ED448', and to 0 if you 61 don't. */ 62 #define HAVE_DECL_NID_ED448 0 63 64 /* Define to 1 if you have the declaration of `NID_secp384r1', and to 0 if you 65 don't. */ 66 #define HAVE_DECL_NID_SECP384R1 1 67 68 /* Define to 1 if you have the declaration of `NID_X9_62_prime256v1', and to 0 69 if you don't. */ 70 #define HAVE_DECL_NID_X9_62_PRIME256V1 1 71 72 /* Define to 1 if you have the <dlfcn.h> header file. */ 73 /* #undef HAVE_DLFCN_H */ 74 75 /* Define to 1 if you have the `DSA_get0_key' function. */ 76 #define HAVE_DSA_GET0_KEY 1 77 78 /* Define to 1 if you have the `DSA_get0_pqg' function. */ 79 #define HAVE_DSA_GET0_PQG 1 80 81 /* Define to 1 if you have the `DSA_SIG_get0' function. */ 82 #define HAVE_DSA_SIG_GET0 1 83 84 /* Define to 1 if you have the `DSA_SIG_set0' function. */ 85 #define HAVE_DSA_SIG_SET0 1 86 87 /* Define to 1 if you have the `ECDSA_SIG_get0' function. */ 88 #define HAVE_ECDSA_SIG_GET0 1 89 90 /* Define to 1 if you have the `endprotoent' function. */ 91 #define HAVE_ENDPROTOENT 1 92 93 /* Define to 1 if you have the `endservent' function. */ 94 #define HAVE_ENDSERVENT 1 95 96 /* Define to 1 if you have the `ENGINE_cleanup' function. */ 97 /* #undef HAVE_ENGINE_CLEANUP */ 98 99 /* Define to 1 if you have the `ENGINE_free' function. */ 100 /* #undef HAVE_ENGINE_FREE */ 101 102 /* Define to 1 if you have the `ERR_free_strings' function. */ 103 #define HAVE_ERR_FREE_STRINGS 1 104 105 /* Define to 1 if you have the `ERR_load_crypto_strings' function. */ 106 #define HAVE_ERR_LOAD_CRYPTO_STRINGS 1 107 108 /* Define to 1 if you have the `EVP_cleanup' function. */ 109 #define HAVE_EVP_CLEANUP 1 110 111 /* Define to 1 if you have the `EVP_dss1' function. */ 112 /* #undef HAVE_EVP_DSS1 */ 113 114 /* Define to 1 if you have the `EVP_MD_CTX_new' function. */ 115 #define HAVE_EVP_MD_CTX_NEW 1 116 117 /* Define to 1 if you have the EVP_PKEY_base_id function or macro. */ 118 #define HAVE_EVP_PKEY_BASE_ID 1 119 120 /* Define to 1 if you have the `EVP_PKEY_get_base_id' function. */ 121 /* #undef HAVE_EVP_PKEY_GET_BASE_ID */ 122 123 /* Define to 1 if you have the `EVP_PKEY_keygen' function. */ 124 #define HAVE_EVP_PKEY_KEYGEN 1 125 126 /* Define to 1 if you have the `EVP_sha256' function. */ 127 #define HAVE_EVP_SHA256 1 128 129 /* Define to 1 if you have the `EVP_sha384' function. */ 130 #define HAVE_EVP_SHA384 1 131 132 /* Define to 1 if you have the `EVP_sha512' function. */ 133 #define HAVE_EVP_SHA512 1 134 135 /* Define to 1 if you have the `fcntl' function. */ 136 #define HAVE_FCNTL 1 137 138 /* Define to 1 if you have the `fork' function. */ 139 #define HAVE_FORK 1 140 141 /* if fork is available for compile */ 142 #define HAVE_FORK_AVAILABLE 1 143 144 /* Whether getaddrinfo is available */ 145 #define HAVE_GETADDRINFO 1 146 147 /* Define to 1 if you have the <getopt.h> header file. */ 148 #define HAVE_GETOPT_H 1 149 150 /* Define to 1 if you have the `gmtime_r' function. */ 151 #define HAVE_GMTIME_R 1 152 153 /* Define to 1 if you have the `inet_aton' function. */ 154 #define HAVE_INET_ATON 1 155 156 /* Define to 1 if you have the `inet_ntop' function. */ 157 #define HAVE_INET_NTOP 1 158 159 /* Define to 1 if you have the `inet_pton' function. */ 160 #define HAVE_INET_PTON 1 161 162 /* define if you have inttypes.h */ 163 #define HAVE_INTTYPES_H 1 164 165 /* if the function 'ioctlsocket' is available */ 166 /* #undef HAVE_IOCTLSOCKET */ 167 168 /* Define to 1 if you have the `isascii' function. */ 169 #define HAVE_ISASCII 1 170 171 /* Define to 1 if you have the `isblank' function. */ 172 #define HAVE_ISBLANK 1 173 174 /* Define to 1 if you have the `pcap' library (-lpcap). */ 175 /* #undef HAVE_LIBPCAP */ 176 177 /* Define if we have LibreSSL */ 178 #define HAVE_LIBRESSL 1 179 180 /* Define to 1 if you have the `localtime_r' function. */ 181 #define HAVE_LOCALTIME_R 1 182 183 /* Define to 1 if you have the `memmove' function. */ 184 #define HAVE_MEMMOVE 1 185 186 /* Define to 1 if you have the `memset' function. */ 187 #define HAVE_MEMSET 1 188 189 /* Define to 1 if you have the <minix/config.h> header file. */ 190 /* #undef HAVE_MINIX_CONFIG_H */ 191 192 /* Define to 1 if you have the <netdb.h> header file. */ 193 #define HAVE_NETDB_H 1 194 195 /* Define to 1 if you have the <netinet/if_ether.h> header file. */ 196 /* #undef HAVE_NETINET_IF_ETHER_H */ 197 198 /* Define to 1 if you have the <netinet/igmp.h> header file. */ 199 /* #undef HAVE_NETINET_IGMP_H */ 200 201 /* Define to 1 if you have the <netinet/in.h> header file. */ 202 #define HAVE_NETINET_IN_H 1 203 204 /* Define to 1 if you have the <netinet/in_systm.h> header file. */ 205 /* #undef HAVE_NETINET_IN_SYSTM_H */ 206 207 /* Define to 1 if you have the <netinet/ip6.h> header file. */ 208 /* #undef HAVE_NETINET_IP6_H */ 209 210 /* Define to 1 if you have the <netinet/ip_compat.h> header file. */ 211 /* #undef HAVE_NETINET_IP_COMPAT_H */ 212 213 /* Define to 1 if you have the <netinet/ip.h> header file. */ 214 /* #undef HAVE_NETINET_IP_H */ 215 216 /* Define to 1 if you have the <netinet/udp.h> header file. */ 217 /* #undef HAVE_NETINET_UDP_H */ 218 219 /* Define to 1 if you have the <net/ethernet.h> header file. */ 220 /* #undef HAVE_NET_ETHERNET_H */ 221 222 /* Define to 1 if you have the <net/if.h> header file. */ 223 /* #undef HAVE_NET_IF_H */ 224 225 /* Define to 1 if you have the <openssl/conf.h> header file. */ 226 #define HAVE_OPENSSL_CONF_H 1 227 228 /* Define to 1 if you have the <openssl/engine.h> header file. */ 229 /* #undef HAVE_OPENSSL_ENGINE_H */ 230 231 /* Define to 1 if you have the <openssl/err.h> header file. */ 232 #define HAVE_OPENSSL_ERR_H 1 233 234 /* Define to 1 if you have the <openssl/evp.h> header file. */ 235 #define HAVE_OPENSSL_EVP_H 1 236 237 /* Define to 1 if you have the `OPENSSL_init_crypto' function. */ 238 #define HAVE_OPENSSL_INIT_CRYPTO 1 239 240 /* Define to 1 if you have the `OPENSSL_init_ssl' function. */ 241 /* #undef HAVE_OPENSSL_INIT_SSL */ 242 243 /* Define to 1 if you have the <openssl/rand.h> header file. */ 244 #define HAVE_OPENSSL_RAND_H 1 245 246 /* Define to 1 if you have the <openssl/ssl.h> header file. */ 247 #define HAVE_OPENSSL_SSL_H 1 248 249 /* Define to 1 if you have the <pcap.h> header file. */ 250 /* #undef HAVE_PCAP_H */ 251 252 /* This platform supports poll(7). */ 253 #define HAVE_POLL 1 254 255 /* If available, contains the Python version number currently in use. */ 256 /* #undef HAVE_PYTHON */ 257 258 /* Define to 1 if you have the `random' function. */ 259 #define HAVE_RANDOM 1 260 261 /* Define to 1 if you have the `sleep' function. */ 262 #define HAVE_SLEEP 1 263 264 /* Define to 1 if you have the `snprintf' function. */ 265 #define HAVE_SNPRINTF 1 266 267 /* Define if you have the SSL libraries installed. */ 268 #define HAVE_SSL /**/ 269 270 /* Define to 1 if you have the <stdarg.h> header file. */ 271 #define HAVE_STDARG_H 1 272 273 /* Define to 1 if stdbool.h conforms to C99. */ 274 #define HAVE_STDBOOL_H 1 275 276 /* Define to 1 if you have the <stdint.h> header file. */ 277 #define HAVE_STDINT_H 1 278 279 /* Define to 1 if you have the <stdio.h> header file. */ 280 #define HAVE_STDIO_H 1 281 282 /* Define to 1 if you have the <stdlib.h> header file. */ 283 #define HAVE_STDLIB_H 1 284 285 /* Define to 1 if you have the <strings.h> header file. */ 286 #define HAVE_STRINGS_H 1 287 288 /* Define to 1 if you have the <string.h> header file. */ 289 #define HAVE_STRING_H 1 290 291 /* Define to 1 if you have the `strlcpy' function. */ 292 #define HAVE_STRLCPY 1 293 294 /* Define to 1 if you have the `strtoul' function. */ 295 #define HAVE_STRTOUL 1 296 297 /* Define if you have SWIG libraries and header files. */ 298 /* #undef HAVE_SWIG */ 299 300 /* Define to 1 if you have the <sys/mount.h> header file. */ 301 #define HAVE_SYS_MOUNT_H 1 302 303 /* Define to 1 if you have the <sys/param.h> header file. */ 304 #define HAVE_SYS_PARAM_H 1 305 306 /* define if you have sys/socket.h */ 307 #define HAVE_SYS_SOCKET_H 1 308 309 /* Define to 1 if you have the <sys/stat.h> header file. */ 310 #define HAVE_SYS_STAT_H 1 311 312 /* define if you have sys/types.h */ 313 #define HAVE_SYS_TYPES_H 1 314 315 /* Define to 1 if you have the <TargetConditionals.h> header file. */ 316 /* #undef HAVE_TARGETCONDITIONALS_H */ 317 318 /* Define to 1 if you have the `timegm' function. */ 319 #define HAVE_TIMEGM 1 320 321 /* Define to 1 if you have the <time.h> header file. */ 322 #define HAVE_TIME_H 1 323 324 /* define if you have unistd.h */ 325 #define HAVE_UNISTD_H 1 326 327 /* Define to 1 if you have the `vfork' function. */ 328 #define HAVE_VFORK 1 329 330 /* Define to 1 if you have the <vfork.h> header file. */ 331 /* #undef HAVE_VFORK_H */ 332 333 /* Define to 1 if you have the <wchar.h> header file. */ 334 #define HAVE_WCHAR_H 1 335 336 /* Define to 1 if you have the <winsock2.h> header file. */ 337 /* #undef HAVE_WINSOCK2_H */ 338 339 /* Define to 1 if `fork' works. */ 340 #define HAVE_WORKING_FORK 1 341 342 /* Define to 1 if `vfork' works. */ 343 #define HAVE_WORKING_VFORK 1 344 345 /* Define to 1 if you have the <ws2tcpip.h> header file. */ 346 /* #undef HAVE_WS2TCPIP_H */ 347 348 /* Define to 1 if the system has the type `_Bool'. */ 349 #define HAVE__BOOL 1 350 351 /* Is a CAFILE given at configure time */ 352 /* #undef LDNS_DANE_CA_FILE */ 353 354 /* Is a CAPATH given at configure time */ 355 /* #undef LDNS_DANE_CA_PATH */ 356 357 /* Define to the sub-directory where libtool stores uninstalled libraries. */ 358 #define LT_OBJDIR ".libs/" 359 360 /* Define to the address where bug reports for this package should be sent. */ 361 #define PACKAGE_BUGREPORT "libdns@nlnetlabs.nl" 362 363 /* Define to the full name of this package. */ 364 #define PACKAGE_NAME "ldns" 365 366 /* Define to the full name and version of this package. */ 367 #define PACKAGE_STRING "ldns 1.8.3" 368 369 /* Define to the one symbol short name of this package. */ 370 #define PACKAGE_TARNAME "libdns" 371 372 /* Define to the home page for this package. */ 373 #define PACKAGE_URL "" 374 375 /* Define to the version of this package. */ 376 #define PACKAGE_VERSION "1.8.3" 377 378 /* Define this to enable RR type AMTRELAY. */ 379 /* #undef RRTYPE_AMTRELAY */ 380 381 /* Define this to enable RR type AVC. */ 382 /* #undef RRTYPE_AVC */ 383 384 /* Define this to enable RR type DOA. */ 385 /* #undef RRTYPE_DOA */ 386 387 /* Define this to enable RR type NINFO. */ 388 /* #undef RRTYPE_NINFO */ 389 390 /* Define this to enable RR type OPENPGPKEY. */ 391 #define RRTYPE_OPENPGPKEY /**/ 392 393 /* Define this to enable RR type RKEY. */ 394 /* #undef RRTYPE_RKEY */ 395 396 /* Define this to enable RR types SVCB and HTTPS. */ 397 #define RRTYPE_SVCB_HTTPS /**/ 398 399 /* Define this to enable RR type TA. */ 400 /* #undef RRTYPE_TA */ 401 402 /* The size of `time_t', as computed by sizeof. */ 403 #define SIZEOF_TIME_T 8 404 405 /* Define to 1 if all of the C90 standard headers exist (not just the ones 406 required in a freestanding environment). This macro is provided for 407 backward compatibility; new code need not use it. */ 408 #define STDC_HEADERS 1 409 410 /* Define this to enable messages to stderr. */ 411 /* #undef STDERR_MSGS */ 412 413 /* System configuration dir */ 414 #define SYSCONFDIR sysconfdir 415 416 /* Define this to enable DANE support. */ 417 #define USE_DANE 1 418 419 /* Define this to enable DANE-TA usage type support. */ 420 /* #undef USE_DANE_TA_USAGE */ 421 422 /* Define this to enable DANE verify support. */ 423 #define USE_DANE_VERIFY 1 424 425 /* Define this to enable DSA support. */ 426 #define USE_DSA 1 427 428 /* Define this to enable ECDSA support. */ 429 #define USE_ECDSA 1 430 431 /* Define this to enable ED25519 support. */ 432 /* #undef USE_ED25519 */ 433 434 /* Define this to enable ED448 support. */ 435 /* #undef USE_ED448 */ 436 437 /* Define this to enable GOST support. */ 438 /* #undef USE_GOST */ 439 440 /* Define this to enable SHA256 and SHA512 support. */ 441 #define USE_SHA2 1 442 443 /* Enable extensions on AIX 3, Interix. */ 444 #ifndef _ALL_SOURCE 445 # define _ALL_SOURCE 1 446 #endif 447 /* Enable general extensions on macOS. */ 448 #ifndef _DARWIN_C_SOURCE 449 # define _DARWIN_C_SOURCE 1 450 #endif 451 /* Enable general extensions on Solaris. */ 452 #ifndef __EXTENSIONS__ 453 # define __EXTENSIONS__ 1 454 #endif 455 /* Enable GNU extensions on systems that have them. */ 456 #ifndef _GNU_SOURCE 457 # define _GNU_SOURCE 1 458 #endif 459 /* Enable X/Open compliant socket functions that do not require linking 460 with -lxnet on HP-UX 11.11. */ 461 #ifndef _HPUX_ALT_XOPEN_SOCKET_API 462 # define _HPUX_ALT_XOPEN_SOCKET_API 1 463 #endif 464 /* Identify the host operating system as Minix. 465 This macro does not affect the system headers' behavior. 466 A future release of Autoconf may stop defining this macro. */ 467 #ifndef _MINIX 468 /* # undef _MINIX */ 469 #endif 470 /* Enable general extensions on NetBSD. 471 Enable NetBSD compatibility extensions on Minix. */ 472 #ifndef _NETBSD_SOURCE 473 # define _NETBSD_SOURCE 1 474 #endif 475 /* Enable OpenBSD compatibility extensions on NetBSD. 476 Oddly enough, this does nothing on OpenBSD. */ 477 #ifndef _OPENBSD_SOURCE 478 # define _OPENBSD_SOURCE 1 479 #endif 480 /* Define to 1 if needed for POSIX-compatible behavior. */ 481 #ifndef _POSIX_SOURCE 482 /* # undef _POSIX_SOURCE */ 483 #endif 484 /* Define to 2 if needed for POSIX-compatible behavior. */ 485 #ifndef _POSIX_1_SOURCE 486 /* # undef _POSIX_1_SOURCE */ 487 #endif 488 /* Enable POSIX-compatible threading on Solaris. */ 489 #ifndef _POSIX_PTHREAD_SEMANTICS 490 # define _POSIX_PTHREAD_SEMANTICS 1 491 #endif 492 /* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ 493 #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 494 # define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 495 #endif 496 /* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ 497 #ifndef __STDC_WANT_IEC_60559_BFP_EXT__ 498 # define __STDC_WANT_IEC_60559_BFP_EXT__ 1 499 #endif 500 /* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ 501 #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ 502 # define __STDC_WANT_IEC_60559_DFP_EXT__ 1 503 #endif 504 /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ 505 #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ 506 # define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 507 #endif 508 /* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ 509 #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ 510 # define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 511 #endif 512 /* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ 513 #ifndef __STDC_WANT_LIB_EXT2__ 514 # define __STDC_WANT_LIB_EXT2__ 1 515 #endif 516 /* Enable extensions specified by ISO/IEC 24747:2009. */ 517 #ifndef __STDC_WANT_MATH_SPEC_FUNCS__ 518 # define __STDC_WANT_MATH_SPEC_FUNCS__ 1 519 #endif 520 /* Enable extensions on HP NonStop. */ 521 #ifndef _TANDEM_SOURCE 522 # define _TANDEM_SOURCE 1 523 #endif 524 /* Enable X/Open extensions. Define to 500 only if necessary 525 to make mbstate_t available. */ 526 #ifndef _XOPEN_SOURCE 527 /* # undef _XOPEN_SOURCE */ 528 #endif 529 530 531 /* Whether the windows socket API is used */ 532 /* #undef USE_WINSOCK */ 533 534 /* the version of the windows API enabled */ 535 #define WINVER 0x0502 536 537 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most 538 significant byte first (like Motorola and SPARC, unlike Intel). */ 539 #if defined AC_APPLE_UNIVERSAL_BUILD 540 # if defined __BIG_ENDIAN__ 541 # define WORDS_BIGENDIAN 1 542 # endif 543 #else 544 # ifndef WORDS_BIGENDIAN 545 /* # undef WORDS_BIGENDIAN */ 546 # endif 547 #endif 548 549 /* Enable for compile on Minix */ 550 #define _NETBSD_SOURCE 1 551 552 /* Define to empty if `const' does not conform to ANSI C. */ 553 /* #undef const */ 554 555 /* in_addr_t */ 556 /* #undef in_addr_t */ 557 558 /* in_port_t */ 559 /* #undef in_port_t */ 560 561 /* Define to `__inline__' or `__inline' if that's what the C compiler 562 calls it, or to nothing if 'inline' is not supported under any name. */ 563 #ifndef __cplusplus 564 /* #undef inline */ 565 #endif 566 567 /* Define to `short' if <sys/types.h> does not define. */ 568 /* #undef int16_t */ 569 570 /* Define to `int' if <sys/types.h> does not define. */ 571 /* #undef int32_t */ 572 573 /* Define to `long long' if <sys/types.h> does not define. */ 574 /* #undef int64_t */ 575 576 /* Define to `char' if <sys/types.h> does not define. */ 577 /* #undef int8_t */ 578 579 /* Define to `size_t' if <sys/types.h> does not define. */ 580 /* #undef intptr_t */ 581 582 /* Define as a signed integer type capable of holding a process identifier. */ 583 /* #undef pid_t */ 584 585 /* Define to `unsigned int' if <sys/types.h> does not define. */ 586 /* #undef size_t */ 587 588 /* Define to 'int' if not defined */ 589 /* #undef socklen_t */ 590 591 /* Fallback member name for socket family in struct sockaddr_storage */ 592 /* #undef ss_family */ 593 594 /* Define to `int' if <sys/types.h> does not define. */ 595 /* #undef ssize_t */ 596 597 /* Define to `unsigned short' if <sys/types.h> does not define. */ 598 /* #undef uint16_t */ 599 600 /* Define to `unsigned int' if <sys/types.h> does not define. */ 601 /* #undef uint32_t */ 602 603 /* Define to `unsigned long long' if <sys/types.h> does not define. */ 604 /* #undef uint64_t */ 605 606 /* Define to `unsigned char' if <sys/types.h> does not define. */ 607 /* #undef uint8_t */ 608 609 /* Define as `fork' if `vfork' does not work. */ 610 /* #undef vfork */ 611 612 613 #include <stdio.h> 614 #include <string.h> 615 #include <unistd.h> 616 #include <assert.h> 617 618 #ifndef LITTLE_ENDIAN 619 #define LITTLE_ENDIAN 1234 620 #endif 621 622 #ifndef BIG_ENDIAN 623 #define BIG_ENDIAN 4321 624 #endif 625 626 #ifndef BYTE_ORDER 627 #ifdef WORDS_BIGENDIAN 628 #define BYTE_ORDER BIG_ENDIAN 629 #else 630 #define BYTE_ORDER LITTLE_ENDIAN 631 #endif /* WORDS_BIGENDIAN */ 632 #endif /* BYTE_ORDER */ 633 634 #if STDC_HEADERS 635 #include <stdlib.h> 636 #include <stddef.h> 637 #endif 638 639 #ifdef HAVE_STDINT_H 640 #include <stdint.h> 641 #endif 642 643 #ifdef HAVE_SYS_SOCKET_H 644 #include <sys/socket.h> 645 #endif 646 647 #ifdef HAVE_NETINET_IN_H 648 #include <netinet/in.h> 649 #endif 650 651 #ifdef HAVE_ARPA_INET_H 652 #include <arpa/inet.h> 653 #endif 654 655 #ifdef HAVE_WINSOCK2_H 656 #include <winsock2.h> 657 #endif 658 659 #ifdef HAVE_WS2TCPIP_H 660 #include <ws2tcpip.h> 661 #endif 662 663 664 /* detect if we need to cast to unsigned int for FD_SET to avoid warnings */ 665 #ifdef HAVE_WINSOCK2_H 666 #define FD_SET_T (u_int) 667 #else 668 #define FD_SET_T 669 #endif 670 671 672 673 674 #ifdef __cplusplus 675 extern "C" { 676 #endif 677 678 int ldns_b64_ntop(uint8_t const *src, size_t srclength, 679 char *target, size_t targsize); 680 /** 681 * calculates the size needed to store the result of b64_ntop 682 */ 683 /*@unused@*/ 684 static inline size_t ldns_b64_ntop_calculate_size(size_t srcsize) 685 { 686 return ((((srcsize + 2) / 3) * 4) + 1); 687 } 688 int ldns_b64_pton(char const *src, uint8_t *target, size_t targsize); 689 /** 690 * calculates the size needed to store the result of ldns_b64_pton 691 */ 692 /*@unused@*/ 693 static inline size_t ldns_b64_pton_calculate_size(size_t srcsize) 694 { 695 return (((((srcsize + 3) / 4) * 3)) + 1); 696 } 697 698 /** 699 * Given in dnssec_zone.c, also used in dnssec_sign.c:w 700 701 */ 702 int ldns_dname_compare_v(const void *a, const void *b); 703 704 #ifndef HAVE_SLEEP 705 /* use windows sleep, in millisecs, instead */ 706 #define sleep(x) Sleep((x)*1000) 707 #endif 708 709 #ifndef HAVE_RANDOM 710 #define srandom(x) srand(x) 711 #define random(x) rand(x) 712 #endif 713 714 #ifndef HAVE_TIMEGM 715 #include <time.h> 716 time_t timegm (struct tm *tm); 717 #endif /* !TIMEGM */ 718 #ifndef HAVE_GMTIME_R 719 struct tm *gmtime_r(const time_t *timep, struct tm *result); 720 #endif 721 #ifndef HAVE_LOCALTIME_R 722 struct tm *localtime_r(const time_t *timep, struct tm *result); 723 #endif 724 #ifndef HAVE_ISBLANK 725 int isblank(int c); 726 #endif /* !HAVE_ISBLANK */ 727 #ifndef HAVE_ISASCII 728 int isascii(int c); 729 #endif /* !HAVE_ISASCII */ 730 #ifndef HAVE_SNPRINTF 731 #include <stdarg.h> 732 int snprintf (char *str, size_t count, const char *fmt, ...); 733 int vsnprintf (char *str, size_t count, const char *fmt, va_list arg); 734 #endif /* HAVE_SNPRINTF */ 735 #ifndef HAVE_INET_PTON 736 int inet_pton(int af, const char* src, void* dst); 737 #endif /* HAVE_INET_PTON */ 738 #ifndef HAVE_INET_NTOP 739 const char *inet_ntop(int af, const void *src, char *dst, size_t size); 740 #endif 741 #ifndef HAVE_INET_ATON 742 int inet_aton(const char *cp, struct in_addr *addr); 743 #endif 744 #ifndef HAVE_MEMMOVE 745 void *memmove(void *dest, const void *src, size_t n); 746 #endif 747 #ifndef HAVE_STRLCPY 748 size_t strlcpy(char *dst, const char *src, size_t siz); 749 #endif 750 751 #ifdef USE_WINSOCK 752 #define SOCK_INVALID INVALID_SOCKET 753 #define close_socket(_s) do { if (_s != SOCK_INVALID) {closesocket(_s); _s = -1;} } while(0) 754 #else 755 #define SOCK_INVALID -1 756 #define close_socket(_s) do { if (_s != SOCK_INVALID) {close(_s); _s = -1;} } while(0) 757 #endif 758 759 #ifdef __cplusplus 760 } 761 #endif 762 #ifndef HAVE_GETADDRINFO 763 #include "compat/fake-rfc2553.h" 764 #endif 765 #ifndef HAVE_STRTOUL 766 #define strtoul (unsigned long)strtol 767 #endif 768 769 /* Default trust anchor file */ 770 /* Added here from previous ldns version config.h, avoids long CFLAG */ 771 #define LDNS_TRUST_ANCHOR_FILE "/usr/local/etc/unbound/root.key" 772