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

/* Define if building universal (internal helper macro) */
/* #undef AC_APPLE_UNIVERSAL_BUILD */

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

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

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

/* SA_RESTORER defined in <asm/signal.h> */
#define ASM_SA_RESTORER 0x04000000

/* SIGRTMIN defined in <asm/signal.h> */
/* #undef ASM_SIGRTMIN */

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

/* Define for the Blackfin architecture. */
/* #undef BFIN */

/* Current copyright year. */
#define COPYRIGHT_YEAR "2017"

/* Define for the CRISv10 architecture. */
/* #undef CRISV10 */

/* Define for the CRISv32 architecture. */
/* #undef CRISV32 */

/* Define to 1 if you want OABI support on ARM EABI. */
#define ENABLE_ARM_OABI 0

/* Define to 1 if you have the `accept4' function. */
#define HAVE_ACCEPT4 1

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

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

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

/* Define to 1 if you have the `be64toh' function. */
/* #undef HAVE_BE64TOH */

/* Define to 1 if you have BLKGETSIZE64. */
#define HAVE_BLKGETSIZE64 1

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

/* Define to 1 if you have the declaration of `BTRFS_COMPRESS_LZO', and to 0
   if you don't. */
#define HAVE_DECL_BTRFS_COMPRESS_LZO 0

/* Define to 1 if you have the declaration of `BTRFS_COMPRESS_NONE', and to 0
   if you don't. */
#define HAVE_DECL_BTRFS_COMPRESS_NONE 0

/* Define to 1 if you have the declaration of `BTRFS_COMPRESS_ZLIB', and to 0
   if you don't. */
#define HAVE_DECL_BTRFS_COMPRESS_ZLIB 0

/* Define to 1 if you have the declaration of `CTL_ARLAN', and to 0 if you
   don't. */
#define HAVE_DECL_CTL_ARLAN 1

/* Define to 1 if you have the declaration of `CTL_FRV', and to 0 if you
   don't. */
#define HAVE_DECL_CTL_FRV 1

/* Define to 1 if you have the declaration of `CTL_PM', and to 0 if you don't.
   */
#define HAVE_DECL_CTL_PM 1

/* Define to 1 if you have the declaration of `CTL_PROC', and to 0 if you
   don't. */
#define HAVE_DECL_CTL_PROC 1

/* Define to 1 if you have the declaration of `CTL_S390DBF', and to 0 if you
   don't. */
#define HAVE_DECL_CTL_S390DBF 1

/* Define to 1 if you have the declaration of `CTL_SUNRPC', and to 0 if you
   don't. */
#define HAVE_DECL_CTL_SUNRPC 1

/* Define to 1 if you have the declaration of `KERN_ACPI_VIDEO_FLAGS', and to
   0 if you don't. */
#define HAVE_DECL_KERN_ACPI_VIDEO_FLAGS 1

/* Define to 1 if you have the declaration of `KERN_BOOTLOADER_TYPE', and to 0
   if you don't. */
#define HAVE_DECL_KERN_BOOTLOADER_TYPE 1

/* Define to 1 if you have the declaration of `KERN_COMPAT_LOG', and to 0 if
   you don't. */
#define HAVE_DECL_KERN_COMPAT_LOG 1

/* Define to 1 if you have the declaration of `KERN_HZ_TIMER', and to 0 if you
   don't. */
#define HAVE_DECL_KERN_HZ_TIMER 1

/* Define to 1 if you have the declaration of `KERN_IA64_UNALIGNED', and to 0
   if you don't. */
#define HAVE_DECL_KERN_IA64_UNALIGNED 1

/* Define to 1 if you have the declaration of `KERN_MAX_LOCK_DEPTH', and to 0
   if you don't. */
#define HAVE_DECL_KERN_MAX_LOCK_DEPTH 1

/* Define to 1 if you have the declaration of `KERN_NGROUPS_MAX', and to 0 if
   you don't. */
#define HAVE_DECL_KERN_NGROUPS_MAX 1

/* Define to 1 if you have the declaration of `KERN_NMI_WATCHDOG', and to 0 if
   you don't. */
#define HAVE_DECL_KERN_NMI_WATCHDOG 1

/* Define to 1 if you have the declaration of `KERN_PANIC_ON_NMI', and to 0 if
   you don't. */
#define HAVE_DECL_KERN_PANIC_ON_NMI 1

/* Define to 1 if you have the declaration of `KERN_PRINTK_RATELIMIT', and to
   0 if you don't. */
#define HAVE_DECL_KERN_PRINTK_RATELIMIT 1

/* Define to 1 if you have the declaration of `KERN_PRINTK_RATELIMIT_BURST',
   and to 0 if you don't. */
#define HAVE_DECL_KERN_PRINTK_RATELIMIT_BURST 1

/* Define to 1 if you have the declaration of `KERN_PTY', and to 0 if you
   don't. */
#define HAVE_DECL_KERN_PTY 1

/* Define to 1 if you have the declaration of `KERN_RANDOMIZE', and to 0 if
   you don't. */
#define HAVE_DECL_KERN_RANDOMIZE 1

/* Define to 1 if you have the declaration of `KERN_SETUID_DUMPABLE', and to 0
   if you don't. */
#define HAVE_DECL_KERN_SETUID_DUMPABLE 1

/* Define to 1 if you have the declaration of `KERN_SPARC_SCONS_PWROFF', and
   to 0 if you don't. */
#define HAVE_DECL_KERN_SPARC_SCONS_PWROFF 1

/* Define to 1 if you have the declaration of `KERN_SPIN_RETRY', and to 0 if
   you don't. */
#define HAVE_DECL_KERN_SPIN_RETRY 1

/* Define to 1 if you have the declaration of `KERN_UNKNOWN_NMI_PANIC', and to
   0 if you don't. */
#define HAVE_DECL_KERN_UNKNOWN_NMI_PANIC 1

/* Define to 1 if you have the declaration of `LO_FLAGS_AUTOCLEAR', and to 0
   if you don't. */
#define HAVE_DECL_LO_FLAGS_AUTOCLEAR 1

/* Define to 1 if you have the declaration of `LO_FLAGS_DIRECT_IO', and to 0
   if you don't. */
#define HAVE_DECL_LO_FLAGS_DIRECT_IO 1

/* Define to 1 if you have the declaration of `LO_FLAGS_PARTSCAN', and to 0 if
   you don't. */
#define HAVE_DECL_LO_FLAGS_PARTSCAN 1

/* Define to 1 if you have the declaration of `LO_FLAGS_READ_ONLY', and to 0
   if you don't. */
#define HAVE_DECL_LO_FLAGS_READ_ONLY 1

/* Define to 1 if you have the declaration of `LO_FLAGS_USE_AOPS', and to 0 if
   you don't. */
#define HAVE_DECL_LO_FLAGS_USE_AOPS 0

/* Define to 1 if you have the declaration of `NET_CIPSOV4_CACHE_BUCKET_SIZE',
   and to 0 if you don't. */
#define HAVE_DECL_NET_CIPSOV4_CACHE_BUCKET_SIZE 1

/* Define to 1 if you have the declaration of `NET_CIPSOV4_CACHE_ENABLE', and
   to 0 if you don't. */
#define HAVE_DECL_NET_CIPSOV4_CACHE_ENABLE 1

/* Define to 1 if you have the declaration of `NET_CIPSOV4_RBM_OPTFMT', and to
   0 if you don't. */
#define HAVE_DECL_NET_CIPSOV4_RBM_OPTFMT 1

/* Define to 1 if you have the declaration of `NET_CIPSOV4_RBM_STRICTVALID',
   and to 0 if you don't. */
#define HAVE_DECL_NET_CIPSOV4_RBM_STRICTVALID 1

/* Define to 1 if you have the declaration of `NET_CORE_AEVENT_ETIME', and to
   0 if you don't. */
#define HAVE_DECL_NET_CORE_AEVENT_ETIME 1

/* Define to 1 if you have the declaration of `NET_CORE_AEVENT_RSEQTH', and to
   0 if you don't. */
#define HAVE_DECL_NET_CORE_AEVENT_RSEQTH 1

/* Define to 1 if you have the declaration of `NET_CORE_BUDGET', and to 0 if
   you don't. */
#define HAVE_DECL_NET_CORE_BUDGET 1

/* Define to 1 if you have the declaration of `NET_CORE_DESTROY_DELAY', and to
   0 if you don't. */
#define HAVE_DECL_NET_CORE_DESTROY_DELAY 0

/* Define to 1 if you have the declaration of `NET_CORE_WARNINGS', and to 0 if
   you don't. */
#define HAVE_DECL_NET_CORE_WARNINGS 1

/* Define to 1 if you have the declaration of `NET_DCCP', and to 0 if you
   don't. */
#define HAVE_DECL_NET_DCCP 1

/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_ACCEPT', and
   to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_CONF_ARP_ACCEPT 1

/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_ANNOUNCE',
   and to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_CONF_ARP_ANNOUNCE 1

/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_IGNORE', and
   to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_CONF_ARP_IGNORE 1

/* Define to 1 if you have the declaration of `NET_IPV4_CONF_ARP_NOTIFY', and
   to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_CONF_ARP_NOTIFY 1

/* Define to 1 if you have the declaration of
   `NET_IPV4_CONF_FORCE_IGMP_VERSION', and to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_CONF_FORCE_IGMP_VERSION 1

/* Define to 1 if you have the declaration of
   `NET_IPV4_CONF_PROMOTE_SECONDARIES', and to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_CONF_PROMOTE_SECONDARIES 1

/* Define to 1 if you have the declaration of
   `NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR', and to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR 1

/* Define to 1 if you have the declaration of `NET_IPV4_IGMP_MAX_MSF', and to
   0 if you don't. */
#define HAVE_DECL_NET_IPV4_IGMP_MAX_MSF 1

/* Define to 1 if you have the declaration of `NET_IPV4_IPFRAG_MAX_DIST', and
   to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_IPFRAG_MAX_DIST 1

/* Define to 1 if you have the declaration of
   `NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS', and to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS 1

/* Define to 1 if you have the declaration of
   `NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS', and to 0 if you don't. */
#define HAVE_DECL_NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS 1

/* Define to 1 if you have the declaration of `NET_IPV6_MLD_MAX_MSF', and to 0
   if you don't. */
#define HAVE_DECL_NET_IPV6_MLD_MAX_MSF 1

/* Define to 1 if you have the declaration of
   `NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS', and to 0 if you don't. */
#define HAVE_DECL_NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS 1

/* Define to 1 if you have the declaration of `NET_IRDA', and to 0 if you
   don't. */
#define HAVE_DECL_NET_IRDA 1

/* Define to 1 if you have the declaration of `NET_LLC', and to 0 if you
   don't. */
#define HAVE_DECL_NET_LLC 1

/* Define to 1 if you have the declaration of `NET_NETFILTER', and to 0 if you
   don't. */
#define HAVE_DECL_NET_NETFILTER 1

/* Define to 1 if you have the declaration of `NET_TCP_ABC', and to 0 if you
   don't. */
#define HAVE_DECL_NET_TCP_ABC 1

/* Define to 1 if you have the declaration of `NET_TCP_ALLOWED_CONG_CONTROL',
   and to 0 if you don't. */
#define HAVE_DECL_NET_TCP_ALLOWED_CONG_CONTROL 1

/* Define to 1 if you have the declaration of `NET_TCP_AVAIL_CONG_CONTROL',
   and to 0 if you don't. */
#define HAVE_DECL_NET_TCP_AVAIL_CONG_CONTROL 1

/* Define to 1 if you have the declaration of `NET_TCP_BASE_MSS', and to 0 if
   you don't. */
#define HAVE_DECL_NET_TCP_BASE_MSS 1

/* Define to 1 if you have the declaration of `NET_TCP_BIC_BETA', and to 0 if
   you don't. */
#define HAVE_DECL_NET_TCP_BIC_BETA 1

/* Define to 1 if you have the declaration of `NET_TCP_CONG_CONTROL', and to 0
   if you don't. */
#define HAVE_DECL_NET_TCP_CONG_CONTROL 1

/* Define to 1 if you have the declaration of `NET_TCP_DEFAULT_WIN_SCALE', and
   to 0 if you don't. */
#define HAVE_DECL_NET_TCP_DEFAULT_WIN_SCALE 1

/* Define to 1 if you have the declaration of `NET_TCP_DMA_COPYBREAK', and to
   0 if you don't. */
#define HAVE_DECL_NET_TCP_DMA_COPYBREAK 1

/* Define to 1 if you have the declaration of `NET_TCP_FRTO_RESPONSE', and to
   0 if you don't. */
#define HAVE_DECL_NET_TCP_FRTO_RESPONSE 1

/* Define to 1 if you have the declaration of `NET_TCP_MAX_SSTHRESH', and to 0
   if you don't. */
#define HAVE_DECL_NET_TCP_MAX_SSTHRESH 1

/* Define to 1 if you have the declaration of `NET_TCP_MODERATE_RCVBUF', and
   to 0 if you don't. */
#define HAVE_DECL_NET_TCP_MODERATE_RCVBUF 1

/* Define to 1 if you have the declaration of `NET_TCP_MTU_PROBING', and to 0
   if you don't. */
#define HAVE_DECL_NET_TCP_MTU_PROBING 1

/* Define to 1 if you have the declaration of `NET_TCP_NO_METRICS_SAVE', and
   to 0 if you don't. */
#define HAVE_DECL_NET_TCP_NO_METRICS_SAVE 1

/* Define to 1 if you have the declaration of `NET_TCP_SLOW_START_AFTER_IDLE',
   and to 0 if you don't. */
#define HAVE_DECL_NET_TCP_SLOW_START_AFTER_IDLE 1

/* Define to 1 if you have the declaration of `NET_TCP_TSO_WIN_DIVISOR', and
   to 0 if you don't. */
#define HAVE_DECL_NET_TCP_TSO_WIN_DIVISOR 1

/* Define to 1 if you have the declaration of `PTRACE_PEEKUSER', and to 0 if
   you don't. */
#define HAVE_DECL_PTRACE_PEEKUSER 1

/* Define to 1 if you have the declaration of `PTRACE_POKEUSER', and to 0 if
   you don't. */
#define HAVE_DECL_PTRACE_POKEUSER 1

/* Define to 1 if you have the declaration of `P_ALL', and to 0 if you don't.
   */
#define HAVE_DECL_P_ALL 1

/* Define to 1 if you have the declaration of `P_CID', and to 0 if you don't.
   */
#define HAVE_DECL_P_CID 0

/* Define to 1 if you have the declaration of `P_GID', and to 0 if you don't.
   */
#define HAVE_DECL_P_GID 0

/* Define to 1 if you have the declaration of `P_LWPID', and to 0 if you
   don't. */
#define HAVE_DECL_P_LWPID 0

/* Define to 1 if you have the declaration of `P_PGID', and to 0 if you don't.
   */
#define HAVE_DECL_P_PGID 1

/* Define to 1 if you have the declaration of `P_PID', and to 0 if you don't.
   */
#define HAVE_DECL_P_PID 1

/* Define to 1 if you have the declaration of `P_PPID', and to 0 if you don't.
   */
#define HAVE_DECL_P_PPID 0

/* Define to 1 if you have the declaration of `P_SID', and to 0 if you don't.
   */
#define HAVE_DECL_P_SID 0

/* Define to 1 if you have the declaration of `P_UID', and to 0 if you don't.
   */
#define HAVE_DECL_P_UID 0

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

/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_CAPTURE', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_SDR_CAPTURE 1

/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_SDR_OUTPUT', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_SDR_OUTPUT 1

/* Define to 1 if you have the declaration of
   `V4L2_BUF_TYPE_SLICED_VBI_CAPTURE', and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_CAPTURE 1

/* Define to 1 if you have the declaration of
   `V4L2_BUF_TYPE_SLICED_VBI_OUTPUT', and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_SLICED_VBI_OUTPUT 1

/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VBI_CAPTURE', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VBI_CAPTURE 1

/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VBI_OUTPUT', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VBI_OUTPUT 1

/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VIDEO_CAPTURE',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE 1

/* Define to 1 if you have the declaration of
   `V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE', and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE 1

/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VIDEO_OUTPUT',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT 1

/* Define to 1 if you have the declaration of
   `V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE', and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE 1

/* Define to 1 if you have the declaration of
   `V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY', and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY 1

/* Define to 1 if you have the declaration of `V4L2_BUF_TYPE_VIDEO_OVERLAY',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_BUF_TYPE_VIDEO_OVERLAY 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_470_SYSTEM_BG',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_470_SYSTEM_BG 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_470_SYSTEM_M',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_470_SYSTEM_M 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_BT878', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_BT878 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_JPEG', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_JPEG 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_REC709', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_REC709 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_SMPTE170M', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_SMPTE170M 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_SMPTE240M', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_SMPTE240M 1

/* Define to 1 if you have the declaration of `V4L2_COLORSPACE_SRGB', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_COLORSPACE_SRGB 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_BITMASK', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_BITMASK 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_BOOLEAN', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_BOOLEAN 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_BUTTON', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_BUTTON 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_CTRL_CLASS', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_CTRL_CLASS 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_INTEGER', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_INTEGER 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_INTEGER64', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_INTEGER64 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_INTEGER_MENU',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_INTEGER_MENU 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_MENU', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_MENU 1

/* Define to 1 if you have the declaration of `V4L2_CTRL_TYPE_STRING', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_CTRL_TYPE_STRING 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_ALTERNATE', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_FIELD_ALTERNATE 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_ANY', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_FIELD_ANY 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_BOTTOM', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_FIELD_BOTTOM 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_INTERLACED', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_FIELD_INTERLACED 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_INTERLACED_BT', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_FIELD_INTERLACED_BT 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_INTERLACED_TB', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_FIELD_INTERLACED_TB 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_NONE', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_FIELD_NONE 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_SEQ_BT', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_FIELD_SEQ_BT 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_SEQ_TB', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_FIELD_SEQ_TB 1

/* Define to 1 if you have the declaration of `V4L2_FIELD_TOP', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_FIELD_TOP 1

/* Define to 1 if you have the declaration of `V4L2_FRMIVAL_TYPE_CONTINUOUS',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_FRMIVAL_TYPE_CONTINUOUS 1

/* Define to 1 if you have the declaration of `V4L2_FRMIVAL_TYPE_DISCRETE',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_FRMIVAL_TYPE_DISCRETE 1

/* Define to 1 if you have the declaration of `V4L2_FRMIVAL_TYPE_STEPWISE',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_FRMIVAL_TYPE_STEPWISE 1

/* Define to 1 if you have the declaration of `V4L2_FRMSIZE_TYPE_CONTINUOUS',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_FRMSIZE_TYPE_CONTINUOUS 1

/* Define to 1 if you have the declaration of `V4L2_FRMSIZE_TYPE_DISCRETE',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_FRMSIZE_TYPE_DISCRETE 1

/* Define to 1 if you have the declaration of `V4L2_FRMSIZE_TYPE_STEPWISE',
   and to 0 if you don't. */
#define HAVE_DECL_V4L2_FRMSIZE_TYPE_STEPWISE 1

/* Define to 1 if you have the declaration of `V4L2_MEMORY_DMABUF', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_MEMORY_DMABUF 1

/* Define to 1 if you have the declaration of `V4L2_MEMORY_MMAP', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_MEMORY_MMAP 1

/* Define to 1 if you have the declaration of `V4L2_MEMORY_OVERLAY', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_MEMORY_OVERLAY 1

/* Define to 1 if you have the declaration of `V4L2_MEMORY_USERPTR', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_MEMORY_USERPTR 1

/* Define to 1 if you have the declaration of `V4L2_PRIORITY_BACKGROUND', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_PRIORITY_BACKGROUND 1

/* Define to 1 if you have the declaration of `V4L2_PRIORITY_INTERACTIVE', and
   to 0 if you don't. */
#define HAVE_DECL_V4L2_PRIORITY_INTERACTIVE 1

/* Define to 1 if you have the declaration of `V4L2_PRIORITY_RECORD', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_PRIORITY_RECORD 1

/* Define to 1 if you have the declaration of `V4L2_PRIORITY_UNSET', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_PRIORITY_UNSET 1

/* Define to 1 if you have the declaration of `V4L2_TUNER_ANALOG_TV', and to 0
   if you don't. */
#define HAVE_DECL_V4L2_TUNER_ANALOG_TV 1

/* Define to 1 if you have the declaration of `V4L2_TUNER_DIGITAL_TV', and to
   0 if you don't. */
#define HAVE_DECL_V4L2_TUNER_DIGITAL_TV 1

/* Define to 1 if you have the declaration of `V4L2_TUNER_RADIO', and to 0 if
   you don't. */
#define HAVE_DECL_V4L2_TUNER_RADIO 1

/* Define to 1 if you have the declaration of `VM_BLOCK_DUMP', and to 0 if you
   don't. */
#define HAVE_DECL_VM_BLOCK_DUMP 1

/* Define to 1 if you have the declaration of `VM_HUGETLB_GROUP', and to 0 if
   you don't. */
#define HAVE_DECL_VM_HUGETLB_GROUP 1

/* Define to 1 if you have the declaration of `VM_LAPTOP_MODE', and to 0 if
   you don't. */
#define HAVE_DECL_VM_LAPTOP_MODE 1

/* Define to 1 if you have the declaration of `VM_LEGACY_VA_LAYOUT', and to 0
   if you don't. */
#define HAVE_DECL_VM_LEGACY_VA_LAYOUT 1

/* Define to 1 if you have the declaration of `VM_MAX_MAP_COUNT', and to 0 if
   you don't. */
#define HAVE_DECL_VM_MAX_MAP_COUNT 1

/* Define to 1 if you have the declaration of `VM_SWAP_TOKEN_TIMEOUT', and to
   0 if you don't. */
#define HAVE_DECL_VM_SWAP_TOKEN_TIMEOUT 1

/* Define to 1 if you have the declaration of `VM_VFS_CACHE_PRESSURE', and to
   0 if you don't. */
#define HAVE_DECL_VM_VFS_CACHE_PRESSURE 1

/* Define to 1 if the system provides dladdr */
#define HAVE_DLADDR 1

/* Define to 1 if you have the <elf.h> header file. */
#define HAVE_ELF_H 1

/* Define to 1 if you have the `fallocate' function. */
#define HAVE_FALLOCATE 1

/* Define to 1 if you have the `fanotify_mark' function. */
/* #undef HAVE_FANOTIFY_MARK */

/* Define to 1 if you have the `fopen64' function. */
#define HAVE_FOPEN64 1

/* Define to 1 if you have the `fork' function. */
#define HAVE_FORK 1

/* Define to 1 if you have the `fputs_unlocked' function. */
/* #undef HAVE_FPUTS_UNLOCKED */

/* Define to 1 if you have the `fstatat' function. */
#define HAVE_FSTATAT 1

/* Define to 1 if you have the `ftruncate' function. */
#define HAVE_FTRUNCATE 1

/* Define to 1 if you have the `futimens' function. */
#define HAVE_FUTIMENS 1

/* Define to 1 if you have the <gnu_stubs> header file. */
/* #undef HAVE_GNU_STUBS */

/* Define to 1 if you have the <gnu/stubs-32.h> header file. */
/* #undef HAVE_GNU_STUBS_32_H */

/* Define to 1 if you have the <gnu/stubs-x32.h> header file. */
/* #undef HAVE_GNU_STUBS_X32_H */

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

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

/* Define to 1 if you have the <libunwind-ptrace.h> header file. */
/* #undef HAVE_LIBUNWIND_PTRACE_H */

/* Define to 1 if you have the <linux/bpf.h> header file. */
#define HAVE_LINUX_BPF_H 1

/* Define to 1 if you have the <linux/bsg.h> header file. */
#define HAVE_LINUX_BSG_H 1

/* Define to 1 if you have the <linux/btrfs.h> header file. */
#define HAVE_LINUX_BTRFS_H 1

/* Define to 1 if you have the <linux/cryptouser.h> header file. */
#define HAVE_LINUX_CRYPTOUSER_H 1

/* Define to 1 if you have the <linux/dm-ioctl.h> header file. */
#define HAVE_LINUX_DM_IOCTL_H 1

/* Define to 1 if you have the <linux/dqblk_xfs.h> header file. */
#define HAVE_LINUX_DQBLK_XFS_H 1

/* Define to 1 if you have the <linux/falloc.h> header file. */
#define HAVE_LINUX_FALLOC_H 1

/* Define to 1 if you have the <linux/fib_rules.h> header file. */
#define HAVE_LINUX_FIB_RULES_H 1

/* Define to 1 if you have the <linux/fiemap.h> header file. */
#define HAVE_LINUX_FIEMAP_H 1

/* Define to 1 if you have the <linux/genetlink.h> header file. */
#define HAVE_LINUX_GENETLINK_H 1

/* Define to 1 if you have the <linux/hiddev.h> header file. */
#define HAVE_LINUX_HIDDEV_H 1

/* Define to 1 if you have the <linux/if_addr.h> header file. */
#define HAVE_LINUX_IF_ADDR_H 1

/* Define to 1 if you have the <linux/if_link.h> header file. */
#define HAVE_LINUX_IF_LINK_H 1

/* Define to 1 if you have the <linux/input.h> header file. */
#define HAVE_LINUX_INPUT_H 1

/* Define to 1 if you have the <linux/ipc.h> header file. */
#define HAVE_LINUX_IPC_H 1

/* Define to 1 if you have the <linux/ip_vs.h> header file. */
#define HAVE_LINUX_IP_VS_H 1

/* Define to 1 if you have the <linux/kcmp.h> header file. */
#define HAVE_LINUX_KCMP_H 1

/* Define to 1 if you have the <linux/mmtimer.h> header file. */
#define HAVE_LINUX_MMTIMER_H 1

/* Define to 1 if you have the <linux/mqueue.h> header file. */
#define HAVE_LINUX_MQUEUE_H 1

/* Define to 1 if you have the <linux/msg.h> header file. */
#define HAVE_LINUX_MSG_H 1

/* Define to 1 if you have the <linux/neighbour.h> header file. */
#define HAVE_LINUX_NEIGHBOUR_H 1

/* Define to 1 if you have the <linux/netfilter_arp/arp_tables.h> header file.
   */
#define HAVE_LINUX_NETFILTER_ARP_ARP_TABLES_H 1

/* Define to 1 if you have the <linux/netfilter_bridge/ebtables.h> header
   file. */
#define HAVE_LINUX_NETFILTER_BRIDGE_EBTABLES_H 1

/* Define to 1 if you have the <linux/netfilter/ipset/ip_set.h> header file.
   */
#define HAVE_LINUX_NETFILTER_IPSET_IP_SET_H 1

/* Define to 1 if you have the <linux/netfilter_ipv4/ip_tables.h> header file.
   */
#define HAVE_LINUX_NETFILTER_IPV4_IP_TABLES_H 1

/* Define to 1 if you have the <linux/netfilter_ipv6/ip6_tables.h> header
   file. */
#define HAVE_LINUX_NETFILTER_IPV6_IP6_TABLES_H 1

/* Define to 1 if you have the <linux/netfilter/nfnetlink_acct.h> header file.
   */
#define HAVE_LINUX_NETFILTER_NFNETLINK_ACCT_H 1

/* Define to 1 if you have the <linux/netfilter/nfnetlink_conntrack.h> header
   file. */
#define HAVE_LINUX_NETFILTER_NFNETLINK_CONNTRACK_H 1

/* Define to 1 if you have the <linux/netfilter/nfnetlink_cthelper.h> header
   file. */
#define HAVE_LINUX_NETFILTER_NFNETLINK_CTHELPER_H 1

/* Define to 1 if you have the <linux/netfilter/nfnetlink_cttimeout.h> header
   file. */
#define HAVE_LINUX_NETFILTER_NFNETLINK_CTTIMEOUT_H 1

/* Define to 1 if you have the <linux/netfilter/nfnetlink.h> header file. */
#define HAVE_LINUX_NETFILTER_NFNETLINK_H 1

/* Define to 1 if you have the <linux/netfilter/nfnetlink_log.h> header file.
   */
#define HAVE_LINUX_NETFILTER_NFNETLINK_LOG_H 1

/* Define to 1 if you have the <linux/netfilter/nfnetlink_queue.h> header
   file. */
#define HAVE_LINUX_NETFILTER_NFNETLINK_QUEUE_H 1

/* Define to 1 if you have the <linux/netfilter/nf_tables_compat.h> header
   file. */
#define HAVE_LINUX_NETFILTER_NF_TABLES_COMPAT_H 1

/* Define to 1 if you have the <linux/netfilter/nf_tables.h> header file. */
#define HAVE_LINUX_NETFILTER_NF_TABLES_H 1

/* Define to 1 if you have the <linux/netfilter/xt_osf.h> header file. */
#define HAVE_LINUX_NETFILTER_XT_OSF_H 1

/* Define to 1 if you have the <linux/nsfs.h> header file. */
#define HAVE_LINUX_NSFS_H 1

/* Define to 1 if you have the <linux/perf_event.h> header file. */
#define HAVE_LINUX_PERF_EVENT_H 1

/* Define to 1 if you have the <linux/quota.h> header file. */
#define HAVE_LINUX_QUOTA_H 1

/* Define to 1 if you have the <linux/seccomp.h> header file. */
#define HAVE_LINUX_SECCOMP_H 1

/* Define to 1 if you have the <linux/securebits.h> header file. */
#define HAVE_LINUX_SECUREBITS_H 1

/* Define to 1 if you have the <linux/sem.h> header file. */
#define HAVE_LINUX_SEM_H 1

/* Define to 1 if you have the <linux/shm.h> header file. */
#define HAVE_LINUX_SHM_H 1

/* Define to 1 if you have the <linux/userfaultfd.h> header file. */
#define HAVE_LINUX_USERFAULTFD_H 1

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

/* Define to 1 if you have CFLAG mpers support */
/* #undef HAVE_M32_MPERS */

/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
/* #undef HAVE_M32_STRUCT_STAT */

/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
/* #undef HAVE_M32_STRUCT_STAT64 */

/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat64'.
   */
/* #undef HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC */

/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat'. */
/* #undef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC */

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

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

/* Define to 1 if you have CFLAG mpers support */
/* #undef HAVE_MX32_MPERS */

/* Define to 1 if MPERS_NAME has the type 'struct stat'. */
/* #undef HAVE_MX32_STRUCT_STAT */

/* Define to 1 if MPERS_NAME has the type 'struct stat64'. */
/* #undef HAVE_MX32_STRUCT_STAT64 */

/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat64'.
   */
/* #undef HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC */

/* Define to 1 if 'st_mtime_nsec' is a member of MPERS_NAME 'struct stat'. */
/* #undef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC */

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

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

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

/* Define to 1 if you have the <netipx/ipx.h> header file. */
/* #undef HAVE_NETIPX_IPX_H */

/* Define to 1 if you have the `open64' function. */
#define HAVE_OPEN64 1

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

/* Define to 1 if you have the `preadv' function. */
#define HAVE_PREADV 1

/* Define to 1 if you have the `process_vm_readv' function. */
#define HAVE_PROCESS_VM_READV 1

/* Define to 1 if the system provides program_invocation_name variable */
/* #undef HAVE_PROGRAM_INVOCATION_NAME */

/* Define to 1 if you have the `pwritev' function. */
#define HAVE_PWRITEV 1

/* Define to 1 if you have the `readahead' function. */
#define HAVE_READAHEAD 1

/* Define to 1 if you have the <scsi/sg.h> header file. */
#define HAVE_SCSI_SG_H 1

/* Define to 1 if `si_overrun' is a member of `siginfo_t'. */
#define HAVE_SIGINFO_T_SI_OVERRUN 1

/* Define to 1 if `si_syscall' is a member of `siginfo_t'. */
#define HAVE_SIGINFO_T_SI_SYSCALL 1

/* Define to 1 if `si_timerid' is a member of `siginfo_t'. */
#define HAVE_SIGINFO_T_SI_TIMERID 1

/* Define to 1 if you have the `signalfd' function. */
#define HAVE_SIGNALFD 1

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

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

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

/* Define to 1 if you have the `stpcpy' function. */
#define HAVE_STPCPY 1

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

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

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

/* Define to 1 if you have the `strndup' function. */
#define HAVE_STRNDUP 1

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

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

/* Define to 1 if the system has the type `struct blk_user_trace_setup'. */
#define HAVE_STRUCT_BLK_USER_TRACE_SETUP 1

/* Define to 1 if the system has the type `struct br_mdb_entry'. */
#define HAVE_STRUCT_BR_MDB_ENTRY 1

/* Define to 1 if `flags' is a member of `struct br_mdb_entry'. */
#define HAVE_STRUCT_BR_MDB_ENTRY_FLAGS 1

/* Define to 1 if `vid' is a member of `struct br_mdb_entry'. */
#define HAVE_STRUCT_BR_MDB_ENTRY_VID 1

/* Define to 1 if the system has the type `struct br_port_msg'. */
#define HAVE_STRUCT_BR_PORT_MSG 1

/* Define to 1 if `start' is a member of `struct
   btrfs_ioctl_defrag_range_args'. */
#define HAVE_STRUCT_BTRFS_IOCTL_DEFRAG_RANGE_ARGS_START 1

/* Define to 1 if `compat_flags' is a member of `struct
   btrfs_ioctl_feature_flags'. */
#define HAVE_STRUCT_BTRFS_IOCTL_FEATURE_FLAGS_COMPAT_FLAGS 1

/* Define to 1 if `nodesize' is a member of `struct btrfs_ioctl_fs_info_args'.
   */
#define HAVE_STRUCT_BTRFS_IOCTL_FS_INFO_ARGS_NODESIZE 1

/* Define to 1 if `buf_size' is a member of `struct
   btrfs_ioctl_search_args_v2'. */
#define HAVE_STRUCT_BTRFS_IOCTL_SEARCH_ARGS_V2_BUF_SIZE 1

/* Define to 1 if the system has the type `struct crypto_report_aead'. */
#define HAVE_STRUCT_CRYPTO_REPORT_AEAD 1

/* Define to 1 if the system has the type `struct crypto_report_blkcipher'. */
#define HAVE_STRUCT_CRYPTO_REPORT_BLKCIPHER 1

/* Define to 1 if the system has the type `struct crypto_report_cipher'. */
#define HAVE_STRUCT_CRYPTO_REPORT_CIPHER 1

/* Define to 1 if the system has the type `struct crypto_report_hash'. */
#define HAVE_STRUCT_CRYPTO_REPORT_HASH 1

/* Define to 1 if the system has the type `struct crypto_report_rng'. */
#define HAVE_STRUCT_CRYPTO_REPORT_RNG 1

/* Define to 1 if the system has the type `struct dcbmsg'. */
#define HAVE_STRUCT_DCBMSG 1

/* Define to 1 if the system has the type `struct fib_rule_uid_range'. */
#define HAVE_STRUCT_FIB_RULE_UID_RANGE 1

/* Define to 1 if the system has the type `struct flock'. */
#define HAVE_STRUCT_FLOCK 1

/* Define to 1 if the system has the type `struct flock64'. */
#define HAVE_STRUCT_FLOCK64 1

/* Define to 1 if the system has the type `struct gnet_stats_basic'. */
#define HAVE_STRUCT_GNET_STATS_BASIC 1

/* Define to 1 if the system has the type `struct gnet_stats_queue'. */
#define HAVE_STRUCT_GNET_STATS_QUEUE 1

/* Define to 1 if the system has the type `struct gnet_stats_rate_est'. */
#define HAVE_STRUCT_GNET_STATS_RATE_EST 1

/* Define to 1 if the system has the type `struct gnet_stats_rate_est64'. */
#define HAVE_STRUCT_GNET_STATS_RATE_EST64 1

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

/* Define to 1 if the system has the type `struct ifaddrlblmsg'. */
#define HAVE_STRUCT_IFADDRLBLMSG 1

/* Define to 1 if the system has the type `struct ifla_bridge_id'. */
#define HAVE_STRUCT_IFLA_BRIDGE_ID 1

/* Define to 1 if the system has the type `struct ifla_port_vsi'. */
#define HAVE_STRUCT_IFLA_PORT_VSI 1

/* Define to 1 if `resolution' is a member of `struct input_absinfo'. */
#define HAVE_STRUCT_INPUT_ABSINFO_RESOLUTION 1

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

/* Define to 1 if the system has the type `struct keyctl_kdf_params'. */
#define HAVE_STRUCT_KEYCTL_KDF_PARAMS 1

/* Define to 1 if the system has the type `struct mmsghdr'. */
#define HAVE_STRUCT_MMSGHDR 1

/* Define to 1 if the system has the type `struct ndt_config'. */
#define HAVE_STRUCT_NDT_CONFIG 1

/* Define to 1 if the system has the type `struct ndt_stats'. */
#define HAVE_STRUCT_NDT_STATS 1

/* Define to 1 if `ndts_table_fulls' is a member of `struct ndt_stats'. */
#define HAVE_STRUCT_NDT_STATS_NDTS_TABLE_FULLS 1

/* Define to 1 if the system has the type `struct netconfmsg'. */
#define HAVE_STRUCT_NETCONFMSG 1

/* Define to 1 if `aux_watermark' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_AUX_WATERMARK 1

/* Define to 1 if `bp_type' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_BP_TYPE 1

/* Define to 1 if `branch_sample_type' is a member of `struct
   perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_BRANCH_SAMPLE_TYPE 1

/* Define to 1 if `comm_exec' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_COMM_EXEC 1

/* Define to 1 if `config1' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG1 1

/* Define to 1 if `config2' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG2 1

/* Define to 1 if `context_switch' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_CONTEXT_SWITCH 1

/* Define to 1 if `exclude_callchain_kernel' is a member of `struct
   perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_KERNEL 1

/* Define to 1 if `exclude_callchain_user' is a member of `struct
   perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_USER 1

/* Define to 1 if `exclude_guest' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_GUEST 1

/* Define to 1 if `exclude_host' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_HOST 1

/* Define to 1 if `mmap2' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_MMAP2 1

/* Define to 1 if `mmap_data' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_MMAP_DATA 1

/* Define to 1 if `precise_ip' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_PRECISE_IP 1

/* Define to 1 if `sample_id_all' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_ID_ALL 1

/* Define to 1 if `sample_max_stack' is a member of `struct perf_event_attr'.
   */
#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_MAX_STACK 1

/* Define to 1 if `sample_regs_intr' is a member of `struct perf_event_attr'.
   */
#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_INTR 1

/* Define to 1 if `sample_regs_user' is a member of `struct perf_event_attr'.
   */
#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_USER 1

/* Define to 1 if `sample_stack_user' is a member of `struct perf_event_attr'.
   */
#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_STACK_USER 1

/* Define to 1 if `use_clockid' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_USE_CLOCKID 1

/* Define to 1 if `write_backward' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_WRITE_BACKWARD 1

/* Define to 1 if the system has the type `struct ptrace_peeksiginfo_args'. */
#define HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS 1

/* 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 the system has the type `struct rta_mfc_stats'. */
#define HAVE_STRUCT_RTA_MFC_STATS 1

/* Define to 1 if the system has the type `struct rtnl_link_stats64'. */
#define HAVE_STRUCT_RTNL_LINK_STATS64 1

/* Define to 1 if `rx_nohandler' is a member of `struct rtnl_link_stats64'. */
#define HAVE_STRUCT_RTNL_LINK_STATS64_RX_NOHANDLER 1

/* Define to 1 if `rx_nohandler' is a member of `struct rtnl_link_stats'. */
#define HAVE_STRUCT_RTNL_LINK_STATS_RX_NOHANDLER 1

/* Define to 1 if the system has the type `struct rtvia'. */
#define HAVE_STRUCT_RTVIA 1

/* Define to 1 if the system has the type `struct sigcontext'. */
#define HAVE_STRUCT_SIGCONTEXT 1

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

/* Define to 1 if `st_mtime_nsec' is a member of `struct stat64'. */
/* #undef HAVE_STRUCT_STAT64_ST_MTIME_NSEC */

/* Define to 1 if the system has the type `struct statfs'. */
#define HAVE_STRUCT_STATFS 1

/* Define to 1 if the system has the type `struct statfs64'. */
#define HAVE_STRUCT_STATFS64 1

/* Define to 1 if `f_flags' is a member of `struct statfs64'. */
#define HAVE_STRUCT_STATFS64_F_FLAGS 1

/* Define to 1 if `f_frsize' is a member of `struct statfs64'. */
#define HAVE_STRUCT_STATFS64_F_FRSIZE 1

/* Define to 1 if `f_fsid.val' is a member of `struct statfs64'. */
#define HAVE_STRUCT_STATFS64_F_FSID_VAL 1

/* Define to 1 if `f_fsid.__val' is a member of `struct statfs64'. */
/* #undef HAVE_STRUCT_STATFS64_F_FSID___VAL */

/* Define to 1 if `f_flags' is a member of `struct statfs'. */
#define HAVE_STRUCT_STATFS_F_FLAGS 1

/* Define to 1 if `f_frsize' is a member of `struct statfs'. */
#define HAVE_STRUCT_STATFS_F_FRSIZE 1

/* Define to 1 if `f_fsid.val' is a member of `struct statfs'. */
#define HAVE_STRUCT_STATFS_F_FSID_VAL 1

/* Define to 1 if `f_fsid.__val' is a member of `struct statfs'. */
/* #undef HAVE_STRUCT_STATFS_F_FSID___VAL */

/* Define to 1 if `st_mtime_nsec' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1

/* Define to 1 if the system has the type `struct tc_sizespec'. */
#define HAVE_STRUCT_TC_SIZESPEC 1

/* Define to 1 if `tai' is a member of `struct timex'. */
#define HAVE_STRUCT_TIMEX_TAI 1

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

/* Define to 1 if `domainname' is a member of `struct utsname'. */
#define HAVE_STRUCT_UTSNAME_DOMAINNAME 1

/* Define to 1 if `buffersize' is a member of `struct v4l2_sdr_format'. */
#define HAVE_STRUCT_V4L2_SDR_FORMAT_BUFFERSIZE 1

/* Define to 1 if `global_alpha' is a member of `struct v4l2_window'. */
#define HAVE_STRUCT_V4L2_WINDOW_GLOBAL_ALPHA 1

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

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

/* 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 `sync_file_range' function. */
#define HAVE_SYNC_FILE_RANGE 1

/* 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/eventfd.h> header file. */
#define HAVE_SYS_EVENTFD_H 1

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

/* Define to 1 if you have the <sys/ipc.h> header file. */
#define HAVE_SYS_IPC_H 1

/* Define to 1 if you have the <sys/msg.h> header file. */
#define HAVE_SYS_MSG_H 1

/* Define to 1 if you have the <sys/quota.h> header file. */
#define HAVE_SYS_QUOTA_H 1

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

/* Define to 1 if you have the <sys/sem.h> header file. */
#define HAVE_SYS_SEM_H 1

/* Define to 1 if you have the <sys/shm.h> header file. */
#define HAVE_SYS_SHM_H 1

/* Define to 1 if you have the <sys/signalfd.h> header file. */
#define HAVE_SYS_SIGNALFD_H 1

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

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

/* Define to 1 if you have the <sys/xattr.h> header file. */
#define HAVE_SYS_XATTR_H 1

/* Define to 1 if typeof works with your compiler. */
#define HAVE_TYPEOF 1

/* Define to 1 if attr_text initialization works */
#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1

/* Define to 1 if attr_text initialization works */
#define HAVE_UNION_BPF_ATTR_BPF_FD 1

/* Define to 1 if attr_text initialization works */
#define HAVE_UNION_BPF_ATTR_FLAGS 1

/* Define to 1 if attr_text initialization works */
#define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 1

/* Define to 1 if attr_text initialization works */
#define HAVE_UNION_BPF_ATTR_PROG_FLAGS 1

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

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

/* Define to 1 if you have the `utimensat' function. */
#define HAVE_UTIMENSAT 1

/* Define to 1 if the system provides __builtin_popcount function */
#define HAVE___BUILTIN_POPCOUNT 1

/* Define to 1 if the system has the type `__kernel_long_t'. */
#define HAVE___KERNEL_LONG_T 1

/* Define to 1 if the system has the type `__kernel_ulong_t'. */
#define HAVE___KERNEL_ULONG_T 1

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

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

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

/* Define for _ABIN32. */
/* #undef LINUX_MIPSN32 */

/* Define for _ABI64. */
/* #undef LINUX_MIPSN64 */

/* Define for _ABIO32. */
/* #undef LINUX_MIPSO32 */

/* The size of `kernel_long_t', as computed by sizeof. */
/* #undef M32_SIZEOF_KERNEL_LONG_T */

/* The size of `long', as computed by sizeof. */
/* #undef M32_SIZEOF_LONG */

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

/* Date */
#define MANPAGE_DATE "2017-08-28"

/* Define for the Meta architecture. */
/* #undef METAG */

/* Define for the MicroBlaze architecture. */
/* #undef MICROBLAZE */

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

/* The size of `kernel_long_t', as computed by sizeof. */
/* #undef MX32_SIZEOF_KERNEL_LONG_T */

/* The size of `long', as computed by sizeof. */
/* #undef MX32_SIZEOF_LONG */

/* Define for the Nios-II architecture. */
/* #undef NIOS2 */

/* Define for the OpenRISC 1000 architecture. */
/* #undef OR1K */

/* Name of package */
#define PACKAGE "strace"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "strace-devel@lists.sourceforge.net"

/* Define to the full name of this package. */
#define PACKAGE_NAME "strace"

/* Define to the full name and version of this package. */
#define PACKAGE_STRING "strace 4.20"

/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "strace"

/* Define to the home page for this package. */
#define PACKAGE_URL "https://strace.io"

/* Define to the version of this package. */
#define PACKAGE_VERSION "4.20"

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

/* Define for the PowerPC64 architecture. */
/* #undef POWERPC64 */

/* Define for the RISC-V architecture */
/* #undef RISCV */

/* 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 */

/* The size of `kernel_long_t', as computed by sizeof. */

/* The size of `long', as computed by sizeof. */

/* The size of `long long', as computed by sizeof. */

/* The size of `off_t', as computed by sizeof. */

/* The size of `struct i64_i32', as computed by sizeof. */
#define SIZEOF_STRUCT_I64_I32 16

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

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

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

/* Define for the Tile architecture */
/* #undef TILE */

/* Compile stack tracing functionality */
/* #undef USE_LIBUNWIND */

/* Enable extensions on AIX 3, Interix.  */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris.  */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop.  */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris.  */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif


/* Version number of package */
#define VERSION "4.20"

/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
   significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
#  define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
/* #  undef WORDS_BIGENDIAN */
# endif
#endif

/* Define for the 32bit AMD x86-64 architecture. */
/* #undef X32 */

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

/* Define for the Xtensa architecture */
/* #undef XTENSA */

/* Define to 1 if on MINIX. */
/* #undef _MINIX */

/* Define to 2 if the system does not provide POSIX.1 features except with
   this defined. */
/* #undef _POSIX_1_SOURCE */

/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */

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

/* Define to __typeof__ if your compiler spells it that way. */
/* #undef typeof */

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