/* source: config.h.in */
/* Copyright Gerhard Rieger and contributors (see file CHANGES) */
/* Published under the GNU General Public License V.2, see file COPYING */

#ifndef __config_h_included
#define __config_h_included 1

/* Define to empty if the keyword does not work.  */
#undef const

/* Define to `int' if <sys/types.h> doesn't define.  */
#undef gid_t

/* Define if your struct stat has st_blksize.  */
#undef HAVE_ST_BLKSIZE

/* Define if your struct stat has st_blocks.  */
#undef HAVE_ST_BLOCKS

/* Define if your struct stat has st_rdev.  */
#undef HAVE_ST_RDEV

/* Define if you have the strftime function.  */
#undef HAVE_STRFTIME

/* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
#undef HAVE_SYS_WAIT_H

/* Define to `int' if <sys/types.h> doesn't define.  */
#undef mode_t

/* Define to `long' if <sys/types.h> doesn't define.  */
#undef off_t

/* Define to `int' if <sys/types.h> doesn't define.  */
#undef pid_t

/* Define as the return type of signal handlers (int or void).  */
#undef RETSIGTYPE

/* Define to `unsigned' if <sys/types.h> doesn't define.  */
#undef size_t

/* Define if you have the ANSI C header files.  */
#undef STDC_HEADERS

/* Define if you can safely include both <sys/time.h> and <time.h>.  */
#undef TIME_WITH_SYS_TIME

/* Define to `int' if <sys/types.h> doesn't define.  */
#undef uid_t

/* Define if you have the putenv function.  */
#undef HAVE_PUTENV

/* Define if your cc provides char **environ declaration.
   This implies HAVE_VAR_ENVIRON */
#undef HAVE_DECL_ENVIRON

/* Define if you have the char **environ variable */
#undef HAVE_VAR_ENVIRON

/* Define if you have the select function.  */
#undef HAVE_SELECT

/* Define if you have the pselect function.  */
#undef HAVE_PSELECT

/* Define if you have the poll function.  */
#undef HAVE_POLL

/* Define if you have the socket function.  */
#undef HAVE_SOCKET

/* Define if you have the posix_memalign function.  */
#undef HAVE_PROTOTYPE_LIB_posix_memalign

/* Define if you have the strdup function.  */
#undef HAVE_PROTOTYPE_LIB_strdup

/* Define if you have the strerror function.  */
#undef HAVE_PROTOTYPE_LIB_strerror

/* Define if you have the strstr function.  */
#undef HAVE_PROTOTYPE_LIB_strstr

/* Define if you have the strtod function.  */
#undef HAVE_STRTOD

/* Define if you have the strtol function.  */
#undef HAVE_STRTOL

/* Define if you have the strtoul function.  */
#undef HAVE_STRTOUL

/* Define if you have the uname function.  */
#undef HAVE_UNAME

/* Define if you have the getpgid function.  */
#undef HAVE_GETPGID

/* Define if you have the getsid function.  */
#undef HAVE_GETSID

/* Define if you have the nanosleep function.  */
#undef HAVE_NANOSLEEP

/* Define if you have the gethostbyname function.  */
#undef HAVE_GETHOSTBYNAME

/* Define if you have the getaddrinfo function.  */
#undef HAVE_GETADDRINFO

/* Define if you have the getipnodebyname function.  */
#undef HAVE_PROTOTYPE_LIB_getipnodebyname

/* Define if you have the getprotobynumber_r function. */
#undef HAVE_GETPROTOBYNUMBER_R

/* Define if you have the getprotobynumber function. */
#undef HAVE_GETPROTOBYNUMBER

/* Define if you have the setgroups function. */
#undef HAVE_SETGROUPS

/* Define if you have the inet_aton function. */
#undef HAVE_INET_ATON

/* Define if you have the strndup function. */
#undef HAVE_PROTOTYPE_LIB_strndup

/* Define if you have the memrchr function. */
#undef HAVE_PROTOTYPE_LIB_memrchr

/* Define if you have the if_indextoname function. */
#undef HAVE_PROTOTYPE_LIB_if_indextoname

/* Define if you have the sigaction function */
#undef HAVE_SIGACTION

/* Define if you have the stat64 function */
#undef HAVE_STAT64

/* Define if you have the fstat64 function */
#undef HAVE_FSTAT64

/* Define if you have the lstat64 function */
#undef HAVE_LSTAT64

/* Define if you have the lseek64 function */
#undef HAVE_LSEEK64

/* Define if you have the truncate64 function */
#undef HAVE_TRUNCATE64

/* Define if you have the ftruncate64 function */
#undef HAVE_FTRUNCATE64

/* Define if you have the gettimeofday function */
#undef HAVE_PROTOTYPE_LIB_gettimeofday

/* Define if you have the clock_gettime function */
#undef HAVE_CLOCK_GETTIME

/* Define if you have the strtoll function */
#undef HAVE_STRTOLL

/* Define if you have the hstrerror function */
#undef HAVE_HSTRERROR

/* Define if you have the inet_ntop function */
#undef HAVE_INET_NTOP

/* Define if you have the hstrerror prototype */
#undef HAVE_PROTOTYPE_HSTRERROR

/* Define if you have the <stdbool.h> header file.  */
#undef HAVE_STDBOOL_H

/* Define if you have the <inttypes.h> header file.  */
#undef HAVE_INTTYPES_H

/* Define if you have the <fcntl.h> header file.  */
#undef HAVE_FCNTL_H

/* Define if you have the <limits.h> header file.  */
#undef HAVE_LIMITS_H

/* Define if you have the <strings.h> header file.  */
#undef HAVE_STRINGS_H

/* Define if you have the <sys/param.h> header file.  */
#undef HAVE_SYS_PARAM_H

/* Define if you have the <sys/ioctl.h> header file.  */
#undef HAVE_SYS_IOCTL_H

/* Define if you have the <sys/time.h> header file.  */
#undef HAVE_SYS_TIME_H

/* Define if you have the <syslog.h> header file.  */
#undef HAVE_SYSLOG_H

/* Define if you have the <unistd.h> header file.  */
#undef HAVE_UNISTD_H

/* Define if you have the <pwd.h> header file.  */
#undef HAVE_PWD_H

/* Define if you have the <grp.h> header file.  */
#undef HAVE_GRP_H

/* Define if you have the <stdint.h> header file.  */
#undef HAVE_STDINT_H

/* Define if you have the <sys/types.h> header file.  */
#undef HAVE_SYS_TYPES_H

/* Define if you have the <poll.h> header file.  */
#undef HAVE_POLL_H

/* Define if you have the <sys/poll.h> header file.  */
#undef HAVE_SYS_POLL_H

/* Define if you have the <sys/socket.h> header file.  */
#undef HAVE_SYS_SOCKET_H

/* Define if you have the <sys/uio.h> header file.  */
#undef HAVE_SYS_UIO_H

/* Define if you have the <sys/stat.h> header file.  */
#undef HAVE_SYS_STAT_H

/* Define if you have the <netdb.h> header file.  */
#undef HAVE_NETDB_H

/* Define if you have the <sys/un.h> header file.  */
#undef HAVE_SYS_UN_H

/* Define if you have the <pty.h> header file.  */
#undef HAVE_PTY_H

/* Define if you have the <netinet/in.h> header file.  */
#undef HAVE_NETINET_IN_H

/* Define if you have the <netinet/in_systm.h> header file.  */
#undef HAVE_NETINET_IN_SYSTM_H

/* Define if you have the <netinet/ip.h> header file.  */
#undef HAVE_NETINET_IP_H

/* Define if you have the <netinet/tcp.h> header file.  */
#undef HAVE_NETINET_TCP_H

/* Define if you have the <netinet/ip6.h> header file.  */
#undef HAVE_NETINET_IP6_H

/* Define if you have the <netinet6/in6.h> header file.  */
#undef HAVE_NETINET6_IN6_H

/* Define if you have the <arpa/nameser.h> header file.  */
#undef HAVE_ARPA_NAMESER_H

/* Define if you have the <resolv.h> header file.  */
#undef HAVE_RESOLV_H

/* Define if you have the <termios.h> header file.  */
#undef HAVE_TERMIOS_H

/* Define if you have the <net/if.h> header file.  */
#undef HAVE_NET_IF_H

/* Define if you have the <net/if_dl.h> header file.  */
#undef HAVE_NET_IF_DL_H

/* Define if you have the <linux/types.h> header file.  */
#undef HAVE_LINUX_TYPES_H

/* Define if you have the <linux/errqueue.h> header file.  */
#undef HAVE_LINUX_ERRQUEUE_H

/* Define if you have the <linux/if_tun.h> header file.  */
#undef HAVE_LINUX_IF_TUN_H

/* Define if you have the <linux/vm_sockets.h> header file.  */
#undef HAVE_LINUX_VM_SOCKETS_H

/* Define if you have the <netpacket/packet.h> header file.  */
#undef HAVE_NETPACKET_PACKET_H

/* Define if you have the <netinet/if_ether.h> header file.  */
#undef HAVE_NETINET_IF_ETHER_H

/* Define if you have the <sys/utsname.h> header file.  */
#undef HAVE_SYS_UTSNAME_H

/* Define if you have the <sys/select.h> header file. (AIX) */
#undef HAVE_SYS_SELECT_H

/* Define if you have the <sys/file.h> header file. (AIX) */
#undef HAVE_SYS_FILE_H

/* Define if you have the <util.h> header file. (NetBSD, OpenBSD: openpty()) */
#undef HAVE_UTIL_H

/* Define if you have the <bsd/libutil.h> header file. */
#undef HAVE_BSD_LIBUTIL_H

/* Define if you have the <libutil.h> header file. (FreeBSD: openpty()) */
#undef HAVE_LIBUTIL_H

/* Define if you have the <sys/stropts.h> header file. (stream opts on SunOS)*/
#undef HAVE_SYS_STROPTS_H

/* Define if you have the <regex.h> header file. */
#undef HAVE_REGEX_H

/* Define if you have the <linux/fs.h> header file. */
#undef HAVE_LINUX_FS_H

/* Define if you have the <linux/ext2_fs.h> header file. */
#undef HAVE_LINUX_EXT2_FS_H

/* Define if you have the <readline/readline.h> header file. */
#undef HAVE_READLINE_READLINE_H

/* Define if you have the <readline/history.h> header file. */
#undef HAVE_READLINE_HISTORY_H

/* Define if you have the readline library. */
#undef HAVE_LIBREADLINE

/* Define if you have the m library (-lm).  */
#undef HAVE_LIBM

/* Define if you have the floor function */
#undef HAVE_FLOOR

/* some platforms need _XOPEN_EXTENDED_SOURCE to get syslog headers (AIX4.1) */
#undef _XOPEN_EXTENDED_SOURCE

/* fdset may have component fds_bits or __fds_bits */
#undef HAVE_FDS_BITS

/* struct termios may have components c_ispeed,c_ospeed */
#undef HAVE_STRUCT_TERMIOS_C_ISPEED
#undef HAVE_STRUCT_TERMIOS_C_OSPEED

/* Define if you have the sa_family_t */
#undef HAVE_TYPE_SA_FAMILY_T

/* define if your struct sigaction has sa_sigaction */
#undef HAVE_STRUCT_SIGACTION_SA_SIGACTION

/* define if you have struct sock_extended_err */
#undef HAVE_STRUCT_SOCK_EXTENDED_ERR

/* Define if your termios.h likes _SVID3 defined */
#undef _SVID3

/* Define if your sys/socket.h likes _XPG4_2 defined */
#undef _XPG4_2

/* Define if your ctime_r() choices need _POSIX_PTHREAD_SEMANTICS */
#undef _POSIX_PTHREAD_SEMANTICS

/* Define if you need __EXTENSIONS__ */
#undef __EXTENSIONS__

/* Define if you have struct timespec (e.g. for nanosleep) */
#undef HAVE_STRUCT_TIMESPEC

/* Define if you have struct linger */
#undef HAVE_STRUCT_LINGER

/* Define if you have struct ip */
#undef HAVE_STRUCT_IP

/* Define if you have struct ip_mreq */
#undef HAVE_STRUCT_IP_MREQ

/* Define if you have struct ip_mreqn */
#undef HAVE_STRUCT_IP_MREQN

/* Define if you have struct ipv6_mreq */
#undef HAVE_STRUCT_IPV6_MREQ

/* Define if you have struct ip_mreq_source */
#undef HAVE_STRUCT_IP_MREQ_SOURCE

/* Define if you have struct ifreq */
#undef HAVE_STRUCT_IFREQ

/* Define if you have struct ifreq.ifr_index */
#undef HAVE_STRUCT_IFREQ_IFR_INDEX

/* Define if you have struct ifreq.ifr_ifindex; not on HPUX */
#undef HAVE_STRUCT_IFREQ_IFR_IFINDEX

/* Define if your struct sockaddr has sa_len */
#undef HAVE_STRUCT_SOCKADDR_SALEN

/* there are several implementations of sockaddr_in6 */
#undef HAVE_IP6_SOCKADDR

/* Define if you have struct iovec */
#undef HAVE_STRUCT_IOVEC

/* define if your struct msghdr has msg_control */
#undef HAVE_STRUCT_MSGHDR_MSGCONTROL

/* define if your struct msghdr has msg_controllen */
#undef HAVE_STRUCT_MSGHDR_MSGCONTROLLEN

/* define if your struct msghdr has msg_flag */
#undef HAVE_STRUCT_MSGHDR_MSGFLAGS

/* define if you have struct cmsghdr */
#undef HAVE_STRUCT_CMSGHDR

/* define if you have struct in_pktinfo */
#undef HAVE_STRUCT_IN_PKTINFO

/* define if your struct in_pktinfo has component ipi_spec_dst */
#undef HAVE_PKTINFO_IPI_SPEC_DST

/* define if you have struct in6_pktinfo */
#undef HAVE_STRUCT_IN6_PKTINFO

/* define if your struct ip has ip_hl; otherwise assume ip_vhl */
#undef HAVE_STRUCT_IP_IP_HL

/* Define if you have the setenv function */
#undef HAVE_SETENV

/* Define if you have the unsetenv function. not on HP-UX */
#undef HAVE_UNSETENV

/* Define if you have the cfsetispeed,cfgetispeed,cfsetspeed,cfgetospeed function */
#undef HAVE_CFSETISPEED
#undef HAVE_CFSETOSPEED

#if HAVE_CFSETISPEED
#  define HAVE_TERMIOS_ISPEED 1
#endif
#if HAVE_CFSETOSPEED
#  define HAVE_TERMIOS_OSPEED 1
#endif
#if defined(HAVE_TERMIOS_ISPEED) && defined(HAVE_TERMIOS_OSPEED)
#  define HAVE_TERMIOS_SPEED 1
#endif

/* Define if you have the OPENSSL_init_ssl function */
#undef HAVE_OPENSSL_INIT_SSL

/* Define if you have the SSL_library_init function */
#undef HAVE_SSL_library_init

/* Define if you have the OPENSSL_INIT_new function */
#undef HAVE_OPENSSL_INIT_new

/* Define if you have the SSLv2 client and server method functions. not in new openssl */
#undef HAVE_SSLv2_client_method
#undef HAVE_SSLv2_server_method

/* Define if you have the HAVE_SSL_CTX_set_default_verify_paths function */
#undef HAVE_SSL_CTX_set_default_verify_paths

/* Define if you have the TLS client and server method functions. not in old openssl? */
#undef HAVE_TLS_client_method
#undef HAVE_TLS_server_method

/* Define if you have the SSLv3 client and server method functions. not in new openssl */
#undef HAVE_SSLv3_client_method
#undef HAVE_SSLv3_server_method

/* Define if you have the SSLv3 client and server method functions with rollback to v2 */
#undef HAVE_SSLv23_client_method
#undef HAVE_SSLv23_server_method

/* Define if you have the TLSv1.0 client and server method functions */
#undef HAVE_TLSv1_client_method
#undef HAVE_TLSv1_server_method

/* Define if you have the TLSv1.1 client and server method functions */
#undef HAVE_TLSv1_1_client_method
#undef HAVE_TLSv1_1_server_method

/* Define if you have the TLSv1.2 client and server method functions */
#undef HAVE_TLSv1_2_client_method
#undef HAVE_TLSv1_2_server_method

/* Define if you have the DTLS client and server method functions */
#undef HAVE_DTLS_client_method
#undef HAVE_DTLS_server_method

/* Define if you have the DTLSv1 client and server method functions */
#undef HAVE_DTLSv1_client_method
#undef HAVE_DTLSv1_server_method

/* Define if you have the SSL CTX_set_min_proto_version function/macro */
#undef HAVE_SSL_CTX_set_min_proto_version

/* Define if you have the SSL_CTX_set_max_proto_version function/macro */
#undef HAVE_SSL_CTX_set_max_proto_version

/* Define if you have the DTLSv1_2 client and server method functions */
#undef HAVE_DTLSv1_2_client_method
#undef HAVE_DTLSv1_2_server_method

/* Define if you have the EC_KEY type */
#undef HAVE_TYPE_EC_KEY

/* Define if you have the OpenSSL RAND_egd function */
#undef HAVE_RAND_egd

/* Define if you have the OpenSSL RAND_status function */
#undef HAVE_RAND_status

/* Define if you have the OpenSSL DH_set0_pqg function */
#undef HAVE_DH_set0_pqg

/* Define if you have the OpenSSL ASN1_STRING_get0_data function */
#undef HAVE_ASN1_STRING_get0_data

/* Define if you have the OpenSSL SSL_CTX_clear_mode macro or function */
#undef HAVE_SSL_CTX_clear_mode

/* Define if you have the OpenSSL SSL_set_tlsext_host_name define/function */
#undef HAVE_SSL_set_tlsext_host_name

/* Define if you have the flock function */
#undef HAVE_FLOCK

/* Define if you have the openpty function */
#undef HAVE_OPENPTY

/* Define if you have the grantpt function */
#undef HAVE_GRANTPT

/* Define if you have the unlockpt function */
#undef HAVE_UNLOCKPT

/* Define if you have the ptsname function */
#undef HAVE_PROTOTYPE_LIB_ptsname

/* Define if you have the /dev/ptmx pseudo terminal multiplexer */
#undef HAVE_DEV_PTMX

/* Define if you have the /dev/ptc pseudo terminal multiplexer */
#undef HAVE_DEV_PTC

/* Define if you have the cfmakeraw() function */
#undef HAVE_CFMAKERAW

/* Define if you have the long long type */
#undef HAVE_TYPE_LONGLONG

/* is sig_atomic_t declared */
#undef HAVE_TYPE_SIG_ATOMIC_T

/* is bool already typedef'd? */
#undef HAVE_TYPE_BOOL

/* is socklen_t already typedef'd? */
#undef HAVE_TYPE_SOCKLEN

/* Define if you have the struct stat64 type */
#undef HAVE_TYPE_STAT64

/* Define if you have the struct off64_t type */
#undef HAVE_TYPE_OFF64

/* is sighandler_t already typedef'd? */
#undef HAVE_TYPE_SIGHANDLER

/* is uint8_t already defined? */
#undef HAVE_TYPE_UINT8

/* is uint16_t already defined? */
#undef HAVE_TYPE_UINT16

/* is uint32_t already defined? */
#undef HAVE_TYPE_UINT32

/* is uint64_t already defined? */
#undef HAVE_TYPE_UINT64

/* Define if snprintf() returns required len on truncation (C-99 conform) */
#undef HAVE_C99_SNPRINTF

/* Define if you have the printf "Z" modifier */
#undef HAVE_FORMAT_Z

/* Define the shift offset of the CRDLY mask */
#undef CRDLY_SHIFT

/* Define the shift offset of the TABDLY mask */
#undef TABDLY_SHIFT

/* Define the shift offset of the CSIZE mask */
#undef CSIZE_SHIFT

/* Define if you have tcpwrappers (libwrap, tcpd) and it declares hosts_allow_table */
#undef HAVE_HOSTS_ALLOW_TABLE
#if defined(HAVE_HOSTS_ALLOW_TABLE) && HAVE_HOSTS_ALLOW_TABLE
#   define HAVE_HOSTS_DENY_TABLE 1
#else
#   undef HAVE_HOSTS_DENY_TABLE
#endif

/* 1..short, 3..int, 5..long; 2,4,6..unsigned */
#undef HAVE_BASIC_UINT16_T
#undef HAVE_BASIC_UINT32_T
#undef HAVE_BASIC_UINT64_T
#undef HAVE_BASIC_INT16_T
#undef HAVE_BASIC_INT32_T
#undef HAVE_BASIC_INT64_T

#undef HAVE_BASIC_SIZE_T
#undef HAVE_BASIC_MODE_T
#undef HAVE_BASIC_PID_T
#undef HAVE_BASIC_UID_T
#undef HAVE_BASIC_GID_T
#undef HAVE_BASIC_TIME_T
#undef HAVE_BASIC_OFF_T
#undef HAVE_BASIC_OFF64_T
#undef HAVE_BASIC_DEV_T
#undef HAVE_BASIC_SPEED_T

#undef HAVE_BASIC_SOCKLEN_T

#undef HAVE_TYPEOF_ST_INO
#undef HAVE_TYPEOF_ST_NLINK
#undef HAVE_TYPEOF_ST_SIZE
#undef HAVE_TYPEOF_ST_BLKSIZE
#undef HAVE_TYPEOF_ST_BLOCKS

#undef HAVE_TYPEOF_ST64_DEV
#undef HAVE_TYPEOF_ST64_INO
#undef HAVE_TYPEOF_ST64_NLINK
#undef HAVE_TYPEOF_ST64_SIZE
#undef HAVE_TYPEOF_ST64_BLKSIZE
#undef HAVE_TYPEOF_ST64_BLOCKS

#undef HAVE_TYPEOF_STRUCT_TIMEVAL_TV_USEC
#undef HAVE_TYPEOF_STRUCT_TIMESPEC_TV_NSEC

#undef HAVE_TYPEOF_RLIM_MAX

#undef HAVE_TYPEOF_STRUCT_CMSGHDR_CMSG_LEN

/* Define if you have the /proc filesystem */
#undef HAVE_PROC_DIR

/* Define if you have the /proc/$$/fd directories */
#undef HAVE_PROC_DIR_FD
#undef HAVE_PROC_DIR_PATH

#undef HAVE_SETGRENT
#undef HAVE_GETGRENT
#undef HAVE_ENDGRENT
#undef HAVE_GETGROUPLIST

#undef WITH_HELP
#undef WITH_STDIO
#undef WITH_FDNUM
#undef WITH_FILE
#undef WITH_CREAT
#undef WITH_GOPEN
#undef WITH_TERMIOS
#undef WITH_PIPE
#undef WITH_UNIX
#undef WITH_ABSTRACT_UNIXSOCKET
#undef WITH_IP4
#undef WITH_IP6
#undef WITH_RAWIP
#undef WITH_GENERICSOCKET
#undef WITH_INTERFACE
#undef WITH_TCP
#undef WITH_UDP
#undef WITH_SCTP
#undef WITH_LISTEN
#undef WITH_SOCKS4
#undef WITH_SOCKS4A
#undef WITH_VSOCK
#undef WITH_PROXY
#undef WITH_EXEC
#undef WITH_SYSTEM
#undef WITH_READLINE
#undef WITH_TUN
#undef WITH_PTY
#undef WITH_FS
#undef WITH_OPENSSL
#undef WITH_OPENSSL_METHOD
#undef WITH_RES_DEPRECATED 	/* AAONLY,PRIMARY */
#define WITH_STREAMS 1
#undef WITH_FIPS
#undef OPENSSL_FIPS
#undef WITH_LIBWRAP
#undef HAVE_TCPD_H
#undef HAVE_LIBWRAP

#undef WITH_SYCLS
#undef WITH_FILAN
#undef WITH_RETRY

#undef WITH_MSGLEVEL

#define BUILD_DATE __DATE__ " " __TIME__

#endif /* !defined(__config_h_included) */
