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

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

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

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

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

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

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

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

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

/* Current copyright year. */
#define COPYRIGHT_YEAR "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 BLKGETSIZE64. */
#define HAVE_BLKGETSIZE64 1

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if you have the declaration of `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 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if you have the <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 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'. */
/* #undef HAVE_STRUCT_BPF_MAP_INFO_IFINDEX */

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

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

/* 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_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'. */
#define HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS 1

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

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

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

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

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

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

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

/* Define to 1 if `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'. */
/* #undef HAVE_STRUCT_UBI_ATTACH_REQ_MAX_BEB_PER1024 */

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

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

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

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

/* Define to 1 if you have the <sys/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'. */
/* #undef HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE */

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

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

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

/* 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-06-13"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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