/* 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 enable stack tracing support */
#undef ENABLE_STACKTRACE

/* 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 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 `IFLA_AF_SPEC', and to 0 if you
   don't. */
#undef HAVE_DECL_IFLA_AF_SPEC

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

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

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

/* 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 `TCA_STAB_DATA', and to 0 if you
   don't. */
#undef HAVE_DECL_TCA_STAB_DATA

/* 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 <elfutils/libdwfl.h> header file. */
#undef HAVE_ELFUTILS_LIBDWFL_H

/* 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 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. */
#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 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. */
#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 the system has the type `s390_compat_regs'. */
#undef HAVE_S390_COMPAT_REGS

/* Define to 1 if you have the <scsi/sg.h> header file. */
#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 the system provides static_assert */
#undef HAVE_STATIC_ASSERT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Define to 1 if `xlated_prog_len' is a member of `struct bpf_prog_info'. */
#undef HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN

/* 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 `flags' is a member of `struct
   btrfs_ioctl_logical_ino_args'. */
#undef HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_FLAGS

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

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

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

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

/* 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 `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'. */
#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 __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. */
#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/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_bpf_fd' is a member of `union bpf_attr'. */
#undef HAVE_UNION_BPF_ATTR_ATTACH_BPF_FD

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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