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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* 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 MPERS_NAME has the type 'struct stat'. */
#undef HAVE_MX32_STRUCT_STAT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if `namespaces' is a member of `struct perf_event_attr'. */
#undef HAVE_STRUCT_PERF_EVENT_ATTR_NAMESPACES

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if you have the `sync_file_range' function. */
#undef HAVE_SYNC_FILE_RANGE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Define to the home page for this package. */
#undef PACKAGE_URL

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

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

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

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

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

/* Compile stack tracing functionality */
#undef USE_LIBUNWIND

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


/* Version number of package */
#undef VERSION

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