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

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