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/* #undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA */ 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 1 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 1 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#define HAVE_DLFCN_H 1 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#define HAVE_ENGINE_FREE 1 101 102/* Define to 1 if you have the `ERR_free_strings' function. */ 103/* #undef HAVE_ERR_FREE_STRINGS */ 104 105/* Define to 1 if you have the `ERR_load_crypto_strings' function. */ 106/* #undef HAVE_ERR_LOAD_CRYPTO_STRINGS */ 107 108/* Define to 1 if you have the `EVP_cleanup' function. */ 109/* #undef HAVE_EVP_CLEANUP */ 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/* #undef HAVE_LIBRESSL */ 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#define HAVE_OPENSSL_ENGINE_H 1 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#define USE_DANE_TA_USAGE 1 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#define USE_ED25519 1 433 434/* Define this to enable ED448 support. */ 435#define USE_ED448 1 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 675extern "C" { 676#endif 677 678int 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@*/ 684static inline size_t ldns_b64_ntop_calculate_size(size_t srcsize) 685{ 686 return ((((srcsize + 2) / 3) * 4) + 1); 687} 688int 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@*/ 693static 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 */ 702int 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> 716time_t timegm (struct tm *tm); 717#endif /* !TIMEGM */ 718#ifndef HAVE_GMTIME_R 719struct tm *gmtime_r(const time_t *timep, struct tm *result); 720#endif 721#ifndef HAVE_LOCALTIME_R 722struct tm *localtime_r(const time_t *timep, struct tm *result); 723#endif 724#ifndef HAVE_ISBLANK 725int isblank(int c); 726#endif /* !HAVE_ISBLANK */ 727#ifndef HAVE_ISASCII 728int isascii(int c); 729#endif /* !HAVE_ISASCII */ 730#ifndef HAVE_SNPRINTF 731#include <stdarg.h> 732int snprintf (char *str, size_t count, const char *fmt, ...); 733int vsnprintf (char *str, size_t count, const char *fmt, va_list arg); 734#endif /* HAVE_SNPRINTF */ 735#ifndef HAVE_INET_PTON 736int inet_pton(int af, const char* src, void* dst); 737#endif /* HAVE_INET_PTON */ 738#ifndef HAVE_INET_NTOP 739const char *inet_ntop(int af, const void *src, char *dst, size_t size); 740#endif 741#ifndef HAVE_INET_ATON 742int inet_aton(const char *cp, struct in_addr *addr); 743#endif 744#ifndef HAVE_MEMMOVE 745void *memmove(void *dest, const void *src, size_t n); 746#endif 747#ifndef HAVE_STRLCPY 748size_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