/* config.h.in.  Generated from configure.ac by autoheader.  */

/* Define for the Alpha architecture. */
#undef ALPHA

/* Define for the ARM architecture. */
#undef ARM

/* Define for the FreeBSD operating system. */
#undef FREEBSD

/* Define to the type of elements in the array set by `getgroups'. Usually
   this is either `int' or `gid_t'. */
#undef GETGROUPS_T

/* Define to 1 if you have the <asm/reg.h> header file. */
#undef HAVE_ASM_REG_H

/* Define to 1 if you have the <asm/sigcontext.h> header file. */
#undef HAVE_ASM_SIGCONTEXT_H

/* Define to 1 if you have the <asm/sysmips.h> header file. */
#undef HAVE_ASM_SYSMIPS_H

/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you
   don't. */
#undef HAVE_DECL_SYS_ERRLIST

/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
   don't. */
#undef HAVE_DECL_SYS_SIGLIST

/* Define to 1 if you have the declaration of `_sys_siglist', and to 0 if you
   don't. */
#undef HAVE_DECL__SYS_SIGLIST

/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
   */
#undef HAVE_DIRENT_H

/* Define to 1 if you have the `getdents' function. */
#undef HAVE_GETDENTS

/* Define to 1 if you have the `if_indextoname' function. */
#undef HAVE_IF_INDEXTONAME

/* Define to 1 if you have the `inet_ntop' function. */
#undef HAVE_INET_NTOP

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

/* Define to 1 if you have the <ioctls.h> header file. */
#undef HAVE_IOCTLS_H

/* Define to 1 if you have the <libaio.h> header file. */
#undef HAVE_LIBAIO_H

/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL

/* Define to 1 if you have the <linux/icmp.h> header file. */
#undef HAVE_LINUX_ICMP_H

/* Define to 1 if you have the <linux/if_packet.h> header file. */
#undef HAVE_LINUX_IF_PACKET_H

/* Define to 1 if you have the <linux/in6.h> header file. */
#undef HAVE_LINUX_IN6_H

/* Define to 1 if you have the <linux/netlink.h> header file. */
#undef HAVE_LINUX_NETLINK_H

/* Define to 1 if you have the <linux/ptrace.h> header file. */
#undef HAVE_LINUX_PTRACE_H

/* Define to 1 if you have the <linux/utsname.h> header file. */
#undef HAVE_LINUX_UTSNAME_H

/* Define if long long is little-endian. */
#undef HAVE_LITTLE_ENDIAN_LONG_LONG

/* Define to 1 if the system has the type `long long'. */
#undef HAVE_LONG_LONG

/* Define if off_t is a long long. */
#undef HAVE_LONG_LONG_OFF_T

/* Define if rlim_t is a long long. */
#undef HAVE_LONG_LONG_RLIM_T

/* Define to 1 if you have the `mctl' function. */
#undef HAVE_MCTL

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define if you have a SVR4 MP type procfs. I.E. /dev/xxx/ctl,
   /dev/xxx/status. Also implies that you have the pr_lwp member in prstatus.
   */
#undef HAVE_MP_PROCFS

/* Define to 1 if you have the <mqueue.h> header file. */
#undef HAVE_MQUEUE_H

/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H

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

/* Define to 1 if you have the <netinet/udp.h> header file. */
#undef HAVE_NETINET_UDP_H

/* Define if you have SVR4 and the poll system call works on /proc files. */
#undef HAVE_POLLABLE_PROCFS

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

/* Define to 1 if you have the `prctl' function. */
#undef HAVE_PRCTL

/* Define to 1 if you have the `pread' function. */
#undef HAVE_PREAD

/* Define if the prstatus structure in sys/procfs.h has a pr_syscall member.
   */
#undef HAVE_PR_SYSCALL

/* Define to 1 if you have the `sendmsg' function. */
#undef HAVE_SENDMSG

/* Define to 1 if you have the `sigaction' function. */
#undef HAVE_SIGACTION

/* Define to 1 if the system has the type `siginfo_t'. */
#undef HAVE_SIGINFO_T

/* Define to 1 if the system has the type `sig_atomic_t'. */
#undef HAVE_SIG_ATOMIC_T

/* Define if stat64 is available in asm/stat.h. */
#undef HAVE_STAT64

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

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR

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

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define to 1 if you have the <stropts.h> header file. */
#undef HAVE_STROPTS_H

/* Define to 1 if you have the `strsignal' function. */
#undef HAVE_STRSIGNAL

/* Define to 1 if the system has the type `struct ia64_fpreg'. */
#undef HAVE_STRUCT_IA64_FPREG

/* Define to 1 if `msg_control' is member of `struct msghdr'. */
#undef HAVE_STRUCT_MSGHDR_MSG_CONTROL

/* Define to 1 if the system has the type `struct opthdr'. */
#undef HAVE_STRUCT_OPTHDR

/* Define to 1 if the system has the type `struct pt_all_user_regs'. */
#undef HAVE_STRUCT_PT_ALL_USER_REGS

/* Define to 1 if `sin6_scope_id' is member of `struct sockaddr_in6'. */
#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID

/* Define to 1 if `st_aclcnt' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_ACLCNT

/* Define to 1 if `st_blksize' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLKSIZE

/* Define to 1 if `st_blocks' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_BLOCKS

/* Define to 1 if `st_flags' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_FLAGS

/* Define to 1 if `st_fstype' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_FSTYPE

/* Define to 1 if `st_gen' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_GEN

/* Define to 1 if `st_level' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_LEVEL

/* Define to 1 if `st_rdev' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_RDEV

/* Define to 1 if `ACCEPTOR_id' is member of `struct T_conn_res'. */
#undef HAVE_STRUCT_T_CONN_RES_ACCEPTOR_ID

/* Define to 1 if `QUEUE_ptr' is member of `struct T_conn_res'. */
#undef HAVE_STRUCT_T_CONN_RES_QUEUE_PTR

/* Define to 1 if the system has the type `struct t_opthdr'. */
#undef HAVE_STRUCT_T_OPTHDR

/* Define to 1 if the system has the type `struct user_desc'. */
#undef HAVE_STRUCT_USER_DESC

/* Define to 1 if the system has the type `struct __old_kernel_stat'. */
#undef HAVE_STRUCT___OLD_KERNEL_STAT

/* Define to 1 if you have the <sys/acl.h> header file. */
#undef HAVE_SYS_ACL_H

/* Define to 1 if you have the <sys/aio.h> header file. */
#undef HAVE_SYS_AIO_H

/* Define to 1 if you have the <sys/asynch.h> header file. */
#undef HAVE_SYS_ASYNCH_H

/* Define to 1 if you have the <sys/conf.h> header file. */
#undef HAVE_SYS_CONF_H

/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
   */
#undef HAVE_SYS_DIR_H

/* Define to 1 if you have the <sys/door.h> header file. */
#undef HAVE_SYS_DOOR_H

/* Define to 1 if you have the <sys/epoll.h> header file. */
#undef HAVE_SYS_EPOLL_H

/* Define to 1 if you have the <sys/filio.h> header file. */
#undef HAVE_SYS_FILIO_H

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

/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
   */
#undef HAVE_SYS_NDIR_H

/* Define to 1 if you have the <sys/nscsys.h> header file. */
#undef HAVE_SYS_NSCSYS_H

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

/* Define to 1 if you have the <sys/ptrace.h> header file. */
#undef HAVE_SYS_PTRACE_H

/* Define to 1 if you have the <sys/reg.h> header file. */
#undef HAVE_SYS_REG_H

/* Define to 1 if you have the `sys_siglist' function. */
#undef HAVE_SYS_SIGLIST

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

/* Define to 1 if you have the <sys/stream.h> header file. */
#undef HAVE_SYS_STREAM_H

/* Define to 1 if you have the <sys/sysconfig.h> header file. */
#undef HAVE_SYS_SYSCONFIG_H

/* Define to 1 if you have the <sys/tihdr.h> header file. */
#undef HAVE_SYS_TIHDR_H

/* Define to 1 if you have the <sys/tiuser.h> header file. */
#undef HAVE_SYS_TIUSER_H

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

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

/* Define to 1 if you have the <sys/vfs.h> header file. */
#undef HAVE_SYS_VFS_H

/* Define to 1 if you have the <termio.h> header file. */
#undef HAVE_TERMIO_H

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

/* Define to 1 if you have the `_sys_siglist' function. */
#undef HAVE__SYS_SIGLIST

/* Define for the HPPA architecture. */
#undef HPPA

/* Define for the i386 architecture. */
#undef I386

/* Define for the IA64 architecture. */
#undef IA64

/* Define for the Linux operating system. */
#undef LINUX

/* Define for the m68k architecture. */
#undef M68K

/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
   */
#undef MAJOR_IN_MKDEV

/* Define to 1 if `major', `minor', and `makedev' are declared in
   <sysmacros.h>. */
#undef MAJOR_IN_SYSMACROS

/* Define for the MIPS architecture. */
#undef MIPS

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* Define for the PowerPC architecture. */
#undef POWERPC

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

/* Define for the S390 architecture. */
#undef S390

/* Define for the S390x architecture. */
#undef S390X

/* Define for the SH architecture. */
#undef SH

/* Define for the SH64 architecture. */
#undef SH64

/* Define for the SPARC architecture. */
#undef SPARC

/* Define for the SPARC64 architecture. */
#undef SPARC64

/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN

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

/* Define for the SunOS 4.x operating system. */
#undef SUNOS4

/* Define if you are have a SPARC with SUNOS4 and your want a version of
   strace that will work on sun4, sun4c and sun4m kernel architectures. Only
   useful if you have a symbolic link from machine to /usr/include/sun4 in the
   compilation directory. */
#undef SUNOS4_KERNEL_ARCH_KLUDGE

/* Define for the System V release 4 operating system or a derivative like
   Solaris 2.x or Irix 5.x. */
#undef SVR4

/* Define for UnixWare systems. */
#undef UNIXWARE

/* Version number of package */
#undef VERSION

/* Define for the AMD x86-64 architecture. */
#undef X86_64

/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif

/* Define to empty if `const' does not conform to ANSI C. */
#undef const

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

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

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