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

/* Define for the AArch64 architecture. */
/* #undef AARCH64 */

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

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

/* Define to enable stack tracing support */
/* #undef ENABLE_STACKTRACE */

/* 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/guarded_storage.h> header file. */
/* #undef HAVE_ASM_GUARDED_STORAGE_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 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 `IFLA_AF_SPEC', and to 0 if you
   don't. */
#define HAVE_DECL_IFLA_AF_SPEC 1

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

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

/* Define to 1 if you have the declaration of `IFLA_XDP', and to 0 if you
   don't. */
#define HAVE_DECL_IFLA_XDP 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 1

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

/* 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 you have the <demangle.h> header file. */
/* #undef HAVE_DEMANGLE_H */

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

/* Define to 1 if you have the <elfutils/libdwfl.h> header file. */
/* #undef HAVE_ELFUTILS_LIBDWFL_H */

/* 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. */
#define HAVE_FANOTIFY_MARK 1

/* 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. */
#define HAVE_FPUTS_UNLOCKED 1

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

/* Define to 1 if you have the `iconv_open' function. */
#define HAVE_ICONV_OPEN 1

/* 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 <libiberty/demangle.h> header file. */
/* #undef HAVE_LIBIBERTY_DEMANGLE_H */

/* 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/kvm.h> header file. */
#if defined(__LP64__)
#define HAVE_LINUX_KVM_H 1
#endif

/* Define to 1 if you have the <linux/memfd.h> header file. */
#define HAVE_LINUX_MEMFD_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 mpers_name mpers support */
/* #undef HAVE_M32_MPERS */

/* Define to 1 if m32 has the type 'struct stat'. */
#define HAVE_M32_STRUCT_STAT 1

/* Define to 1 if m32 has the type 'struct stat64'. */
#define HAVE_M32_STRUCT_STAT64 1

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

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

/* 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 mpers_name mpers support */
/* #undef HAVE_MX32_MPERS */

/* Define to 1 if mx32 has the type 'struct stat'. */
#define HAVE_MX32_STRUCT_STAT 1

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

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

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

/* 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 <paths.h> header file. */
#define HAVE_PATHS_H 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 the system has the type `s390_compat_regs'. */
/* #undef HAVE_S390_COMPAT_REGS */

/* 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 the system provides static_assert */
/* #undef HAVE_STATIC_ASSERT */

/* 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 bpf_insn'. */
#define HAVE_STRUCT_BPF_INSN 1

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

/* Define to 1 if `id' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_ID 1

/* Define to 1 if `ifindex' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_IFINDEX 1

/* Define to 1 if `key_size' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE 1

/* Define to 1 if `map_flags' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_MAP_FLAGS 1

/* Define to 1 if `max_entries' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_MAX_ENTRIES 1

/* Define to 1 if `name' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_NAME 1

/* Define to 1 if `type' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_TYPE 1

/* Define to 1 if `value_size' is a member of `struct bpf_map_info'. */
#define HAVE_STRUCT_BPF_MAP_INFO_VALUE_SIZE 1

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

/* Define to 1 if `created_by_uid' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_CREATED_BY_UID 1

/* Define to 1 if `id' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_ID 1

/* Define to 1 if `ifindex' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_IFINDEX 1

/* Define to 1 if `jited_prog_insns' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_INSNS 1

/* Define to 1 if `jited_prog_len' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_JITED_PROG_LEN 1

/* Define to 1 if `load_time' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_LOAD_TIME 1

/* Define to 1 if `map_ids' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_MAP_IDS 1

/* Define to 1 if `name' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_NAME 1

/* Define to 1 if `nr_map_ids' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_NR_MAP_IDS 1

/* Define to 1 if `tag' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_TAG 1

/* Define to 1 if `type' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_TYPE 1

/* Define to 1 if `xlated_prog_insns' is a member of `struct bpf_prog_info'.
   */
#define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_INSNS 1

/* Define to 1 if `xlated_prog_len' is a member of `struct bpf_prog_info'. */
#define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN 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 `flags' is a member of `struct
   btrfs_ioctl_logical_ino_args'. */
#define HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_FLAGS 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_port_range'. */
#define HAVE_STRUCT_FIB_RULE_PORT_RANGE 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 f_owner_ex'. */
#define HAVE_STRUCT_F_OWNER_EX 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_cacheinfo'. */
#define HAVE_STRUCT_IFLA_CACHEINFO 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'. */
#define HAVE_STRUCT_KCMP_EPOLL_SLOT 1

/* 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 kvm_cpuid2'. */
/* #undef HAVE_STRUCT_KVM_CPUID2 */

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

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

/* Define to 1 if the system has the type `struct
   kvm_userspace_memory_region'. */
#define HAVE_STRUCT_KVM_USERSPACE_MEMORY_REGION 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 mtd_write_req'. */
#define HAVE_STRUCT_MTD_WRITE_REQ 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 `namespaces' is a member of `struct perf_event_attr'. */
#define HAVE_STRUCT_PERF_EVENT_ATTR_NAMESPACES 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 ptp_sys_offset'. */
#define HAVE_STRUCT_PTP_SYS_OFFSET 1

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

/* 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 `l2_bdaddr_type' is a member of `struct sockaddr_l2'. */
/* #undef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE */

/* 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 `max_beb_per1024' is a member of `struct ubi_attach_req'. */
#define HAVE_STRUCT_UBI_ATTACH_REQ_MAX_BEB_PER1024 1

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

/* Define to 1 if `lm' is a member of `struct user_desc'. */
/* #undef HAVE_STRUCT_USER_DESC_LM */

/* 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 __aio_sigset'. */
/* #undef HAVE_STRUCT___AIO_SIGSET */

/* 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 __kernel_f_owner_ex'. */
/* #undef HAVE_STRUCT___KERNEL_F_OWNER_EX */

/* 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. */
#define HAVE_SYS_FANOTIFY_H 1

/* 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/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 `attach_bpf_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD 1

/* Define to 1 if `attach_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_ATTACH_FLAGS 1

/* Define to 1 if `attach_type' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_ATTACH_TYPE 1

/* Define to 1 if `bpf_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_BPF_FD 1

/* Define to 1 if `dummy' is a member of `union bpf_attr'. */
/* #undef HAVE_UNION_BPF_ATTR_DUMMY */

/* Define to 1 if `expected_attach_type' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE 1

/* Define to 1 if `file_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1

/* Define to 1 if `flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_FLAGS 1

/* Define to 1 if `info.bpf_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_INFO_BPF_FD 1

/* Define to 1 if `info.info' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_INFO_INFO 1

/* Define to 1 if `info.info_len' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_INFO_INFO_LEN 1

/* Define to 1 if `inner_map_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_INNER_MAP_FD 1

/* Define to 1 if `insns' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_INSNS 1

/* Define to 1 if `insn_cnt' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_INSN_CNT 1

/* Define to 1 if `kern_version' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_KERN_VERSION 1

/* Define to 1 if `key' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_KEY 1

/* Define to 1 if `key_size' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_KEY_SIZE 1

/* Define to 1 if `license' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_LICENSE 1

/* Define to 1 if `log_buf' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_LOG_BUF 1

/* Define to 1 if `log_level' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_LOG_LEVEL 1

/* Define to 1 if `log_size' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_LOG_SIZE 1

/* Define to 1 if `map_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_MAP_FD 1

/* Define to 1 if `map_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_MAP_FLAGS 1

/* Define to 1 if `map_id' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_MAP_ID 1

/* Define to 1 if `map_ifindex' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_MAP_IFINDEX 1

/* Define to 1 if `map_name' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_MAP_NAME 1

/* Define to 1 if `map_type' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_MAP_TYPE 1

/* Define to 1 if `max_entries' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_MAX_ENTRIES 1

/* Define to 1 if `next_id' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_NEXT_ID 1

/* Define to 1 if `next_key' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_NEXT_KEY 1

/* Define to 1 if `numa_node' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_NUMA_NODE 1

/* Define to 1 if `open_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_OPEN_FLAGS 1

/* Define to 1 if `pathname' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_PATHNAME 1

/* Define to 1 if `prog_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_PROG_FLAGS 1

/* Define to 1 if `prog_id' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_PROG_ID 1

/* Define to 1 if `prog_ifindex' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_PROG_IFINDEX 1

/* Define to 1 if `prog_name' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_PROG_NAME 1

/* Define to 1 if `prog_type' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_PROG_TYPE 1

/* Define to 1 if `query.attach_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS 1

/* Define to 1 if `query.attach_type' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_TYPE 1

/* Define to 1 if `query.prog_cnt' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_QUERY_PROG_CNT 1

/* Define to 1 if `query.prog_ids' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_QUERY_PROG_IDS 1

/* Define to 1 if `query.query_flags' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_QUERY_QUERY_FLAGS 1

/* Define to 1 if `query.target_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_QUERY_TARGET_FD 1

/* Define to 1 if `raw_tracepoint.name' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_NAME 1

/* Define to 1 if `raw_tracepoint.prog_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_PROG_FD 1

/* Define to 1 if `start_id' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_START_ID 1

/* Define to 1 if `target_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TARGET_FD 1

/* Define to 1 if `test.data_in' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_DATA_IN 1

/* Define to 1 if `test.data_out' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_DATA_OUT 1

/* Define to 1 if `test.data_size_in' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_IN 1

/* Define to 1 if `test.data_size_out' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_DATA_SIZE_OUT 1

/* Define to 1 if `test.duration' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_DURATION 1

/* Define to 1 if `test.prog_fd' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_PROG_FD 1

/* Define to 1 if `test.repeat' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_REPEAT 1

/* Define to 1 if `test.retval' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_TEST_RETVAL 1

/* Define to 1 if `value' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_VALUE 1

/* Define to 1 if `value_size' is a member of `union bpf_attr'. */
#define HAVE_UNION_BPF_ATTR_VALUE_SIZE 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 _Static_assert */
/* #undef HAVE__STATIC_ASSERT */

/* 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 "2018-07-07"

/* 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.strace.io"

/* 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.25"

/* 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.25"

/* 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. */
/* #undef SIZEOF_KERNEL_LONG_T */

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

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

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

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

/* Do symbols demangling in stack trace */
/* #undef USE_DEMANGLE */

/* Whether to use libdw for stack tracing */
/* #undef USE_LIBDW */

/* Whether to use libunwind for stack tracing */
/* #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


/* The unwinder to use for stack tracing support */
/* #undef USE_UNWINDER */

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

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