/* Generated by ./xlat/gen.sh from ./xlat/sysctl_kern.in; do not edit. */

static const struct xlat sysctl_kern[] = {
#if defined(KERN_OSTYPE) || (defined(HAVE_DECL_KERN_OSTYPE) && HAVE_DECL_KERN_OSTYPE)
	XLAT(KERN_OSTYPE),
#endif
#if defined(KERN_OSRELEASE) || (defined(HAVE_DECL_KERN_OSRELEASE) && HAVE_DECL_KERN_OSRELEASE)
	XLAT(KERN_OSRELEASE),
#endif
#if defined(KERN_OSREV) || (defined(HAVE_DECL_KERN_OSREV) && HAVE_DECL_KERN_OSREV)
	XLAT(KERN_OSREV),
#endif
#if defined(KERN_VERSION) || (defined(HAVE_DECL_KERN_VERSION) && HAVE_DECL_KERN_VERSION)
	XLAT(KERN_VERSION),
#endif
#if defined(KERN_SECUREMASK) || (defined(HAVE_DECL_KERN_SECUREMASK) && HAVE_DECL_KERN_SECUREMASK)
	XLAT(KERN_SECUREMASK),
#endif
#if defined(KERN_PROF) || (defined(HAVE_DECL_KERN_PROF) && HAVE_DECL_KERN_PROF)
	XLAT(KERN_PROF),
#endif
#if defined(KERN_NODENAME) || (defined(HAVE_DECL_KERN_NODENAME) && HAVE_DECL_KERN_NODENAME)
	XLAT(KERN_NODENAME),
#endif
#if defined(KERN_DOMAINNAME) || (defined(HAVE_DECL_KERN_DOMAINNAME) && HAVE_DECL_KERN_DOMAINNAME)
	XLAT(KERN_DOMAINNAME),
#endif
#if defined(KERN_PANIC) || (defined(HAVE_DECL_KERN_PANIC) && HAVE_DECL_KERN_PANIC)
	XLAT(KERN_PANIC),
#endif
#if defined(KERN_REALROOTDEV) || (defined(HAVE_DECL_KERN_REALROOTDEV) && HAVE_DECL_KERN_REALROOTDEV)
	XLAT(KERN_REALROOTDEV),
#endif
#if defined(KERN_SPARC_REBOOT) || (defined(HAVE_DECL_KERN_SPARC_REBOOT) && HAVE_DECL_KERN_SPARC_REBOOT)
	XLAT(KERN_SPARC_REBOOT),
#endif
#if defined(KERN_CTLALTDEL) || (defined(HAVE_DECL_KERN_CTLALTDEL) && HAVE_DECL_KERN_CTLALTDEL)
	XLAT(KERN_CTLALTDEL),
#endif
#if defined(KERN_PRINTK) || (defined(HAVE_DECL_KERN_PRINTK) && HAVE_DECL_KERN_PRINTK)
	XLAT(KERN_PRINTK),
#endif
#if defined(KERN_NAMETRANS) || (defined(HAVE_DECL_KERN_NAMETRANS) && HAVE_DECL_KERN_NAMETRANS)
	XLAT(KERN_NAMETRANS),
#endif
#if defined(KERN_PPC_HTABRECLAIM) || (defined(HAVE_DECL_KERN_PPC_HTABRECLAIM) && HAVE_DECL_KERN_PPC_HTABRECLAIM)
	XLAT(KERN_PPC_HTABRECLAIM),
#endif
#if defined(KERN_PPC_ZEROPAGED) || (defined(HAVE_DECL_KERN_PPC_ZEROPAGED) && HAVE_DECL_KERN_PPC_ZEROPAGED)
	XLAT(KERN_PPC_ZEROPAGED),
#endif
#if defined(KERN_PPC_POWERSAVE_NAP) || (defined(HAVE_DECL_KERN_PPC_POWERSAVE_NAP) && HAVE_DECL_KERN_PPC_POWERSAVE_NAP)
	XLAT(KERN_PPC_POWERSAVE_NAP),
#endif
#if defined(KERN_MODPROBE) || (defined(HAVE_DECL_KERN_MODPROBE) && HAVE_DECL_KERN_MODPROBE)
	XLAT(KERN_MODPROBE),
#endif
#if defined(KERN_SG_BIG_BUFF) || (defined(HAVE_DECL_KERN_SG_BIG_BUFF) && HAVE_DECL_KERN_SG_BIG_BUFF)
	XLAT(KERN_SG_BIG_BUFF),
#endif
#if defined(KERN_ACCT) || (defined(HAVE_DECL_KERN_ACCT) && HAVE_DECL_KERN_ACCT)
	XLAT(KERN_ACCT),
#endif
#if defined(KERN_PPC_L2CR) || (defined(HAVE_DECL_KERN_PPC_L2CR) && HAVE_DECL_KERN_PPC_L2CR)
	XLAT(KERN_PPC_L2CR),
#endif
#if defined(KERN_RTSIGNR) || (defined(HAVE_DECL_KERN_RTSIGNR) && HAVE_DECL_KERN_RTSIGNR)
	XLAT(KERN_RTSIGNR),
#endif
#if defined(KERN_RTSIGMAX) || (defined(HAVE_DECL_KERN_RTSIGMAX) && HAVE_DECL_KERN_RTSIGMAX)
	XLAT(KERN_RTSIGMAX),
#endif
#if defined(KERN_SHMMAX) || (defined(HAVE_DECL_KERN_SHMMAX) && HAVE_DECL_KERN_SHMMAX)
	XLAT(KERN_SHMMAX),
#endif
#if defined(KERN_MSGMAX) || (defined(HAVE_DECL_KERN_MSGMAX) && HAVE_DECL_KERN_MSGMAX)
	XLAT(KERN_MSGMAX),
#endif
#if defined(KERN_MSGMNB) || (defined(HAVE_DECL_KERN_MSGMNB) && HAVE_DECL_KERN_MSGMNB)
	XLAT(KERN_MSGMNB),
#endif
#if defined(KERN_MSGPOOL) || (defined(HAVE_DECL_KERN_MSGPOOL) && HAVE_DECL_KERN_MSGPOOL)
	XLAT(KERN_MSGPOOL),
#endif
#if defined(KERN_SYSRQ) || (defined(HAVE_DECL_KERN_SYSRQ) && HAVE_DECL_KERN_SYSRQ)
	XLAT(KERN_SYSRQ),
#endif
#if defined(KERN_MAX_THREADS) || (defined(HAVE_DECL_KERN_MAX_THREADS) && HAVE_DECL_KERN_MAX_THREADS)
	XLAT(KERN_MAX_THREADS),
#endif
#if defined(KERN_RANDOM) || (defined(HAVE_DECL_KERN_RANDOM) && HAVE_DECL_KERN_RANDOM)
	XLAT(KERN_RANDOM),
#endif
#if defined(KERN_SHMALL) || (defined(HAVE_DECL_KERN_SHMALL) && HAVE_DECL_KERN_SHMALL)
	XLAT(KERN_SHMALL),
#endif
#if defined(KERN_MSGMNI) || (defined(HAVE_DECL_KERN_MSGMNI) && HAVE_DECL_KERN_MSGMNI)
	XLAT(KERN_MSGMNI),
#endif
#if defined(KERN_SEM) || (defined(HAVE_DECL_KERN_SEM) && HAVE_DECL_KERN_SEM)
	XLAT(KERN_SEM),
#endif
#if defined(KERN_SPARC_STOP_A) || (defined(HAVE_DECL_KERN_SPARC_STOP_A) && HAVE_DECL_KERN_SPARC_STOP_A)
	XLAT(KERN_SPARC_STOP_A),
#endif
#if defined(KERN_SHMMNI) || (defined(HAVE_DECL_KERN_SHMMNI) && HAVE_DECL_KERN_SHMMNI)
	XLAT(KERN_SHMMNI),
#endif
#if defined(KERN_OVERFLOWUID) || (defined(HAVE_DECL_KERN_OVERFLOWUID) && HAVE_DECL_KERN_OVERFLOWUID)
	XLAT(KERN_OVERFLOWUID),
#endif
#if defined(KERN_OVERFLOWGID) || (defined(HAVE_DECL_KERN_OVERFLOWGID) && HAVE_DECL_KERN_OVERFLOWGID)
	XLAT(KERN_OVERFLOWGID),
#endif
#if defined(KERN_SHMPATH) || (defined(HAVE_DECL_KERN_SHMPATH) && HAVE_DECL_KERN_SHMPATH)
	XLAT(KERN_SHMPATH),
#endif
#if defined(KERN_HOTPLUG) || (defined(HAVE_DECL_KERN_HOTPLUG) && HAVE_DECL_KERN_HOTPLUG)
	XLAT(KERN_HOTPLUG),
#endif
#if defined(KERN_IEEE_EMULATION_WARNINGS) || (defined(HAVE_DECL_KERN_IEEE_EMULATION_WARNINGS) && HAVE_DECL_KERN_IEEE_EMULATION_WARNINGS)
	XLAT(KERN_IEEE_EMULATION_WARNINGS),
#endif
#if defined(KERN_S390_USER_DEBUG_LOGGING) || (defined(HAVE_DECL_KERN_S390_USER_DEBUG_LOGGING) && HAVE_DECL_KERN_S390_USER_DEBUG_LOGGING)
	XLAT(KERN_S390_USER_DEBUG_LOGGING),
#endif
#if defined(KERN_CORE_USES_PID) || (defined(HAVE_DECL_KERN_CORE_USES_PID) && HAVE_DECL_KERN_CORE_USES_PID)
	XLAT(KERN_CORE_USES_PID),
#endif
#if defined(KERN_TAINTED) || (defined(HAVE_DECL_KERN_TAINTED) && HAVE_DECL_KERN_TAINTED)
	XLAT(KERN_TAINTED),
#endif
#if defined(KERN_CADPID) || (defined(HAVE_DECL_KERN_CADPID) && HAVE_DECL_KERN_CADPID)
	XLAT(KERN_CADPID),
#endif
#if defined(KERN_PIDMAX) || (defined(HAVE_DECL_KERN_PIDMAX) && HAVE_DECL_KERN_PIDMAX)
	XLAT(KERN_PIDMAX),
#endif
#if defined(KERN_CORE_PATTERN) || (defined(HAVE_DECL_KERN_CORE_PATTERN) && HAVE_DECL_KERN_CORE_PATTERN)
	XLAT(KERN_CORE_PATTERN),
#endif
#if defined(KERN_PANIC_ON_OOPS) || (defined(HAVE_DECL_KERN_PANIC_ON_OOPS) && HAVE_DECL_KERN_PANIC_ON_OOPS)
	XLAT(KERN_PANIC_ON_OOPS),
#endif
#if defined(KERN_HPPA_PWRSW) || (defined(HAVE_DECL_KERN_HPPA_PWRSW) && HAVE_DECL_KERN_HPPA_PWRSW)
	XLAT(KERN_HPPA_PWRSW),
#endif
#if defined(KERN_HPPA_UNALIGNED) || (defined(HAVE_DECL_KERN_HPPA_UNALIGNED) && HAVE_DECL_KERN_HPPA_UNALIGNED)
	XLAT(KERN_HPPA_UNALIGNED),
#endif
#if defined(KERN_PRINTK_RATELIMIT) || (defined(HAVE_DECL_KERN_PRINTK_RATELIMIT) && HAVE_DECL_KERN_PRINTK_RATELIMIT)
	XLAT(KERN_PRINTK_RATELIMIT),
#endif
#if defined(KERN_PRINTK_RATELIMIT_BURST) || (defined(HAVE_DECL_KERN_PRINTK_RATELIMIT_BURST) && HAVE_DECL_KERN_PRINTK_RATELIMIT_BURST)
	XLAT(KERN_PRINTK_RATELIMIT_BURST),
#endif
#if defined(KERN_PTY) || (defined(HAVE_DECL_KERN_PTY) && HAVE_DECL_KERN_PTY)
	XLAT(KERN_PTY),
#endif
#if defined(KERN_NGROUPS_MAX) || (defined(HAVE_DECL_KERN_NGROUPS_MAX) && HAVE_DECL_KERN_NGROUPS_MAX)
	XLAT(KERN_NGROUPS_MAX),
#endif
#if defined(KERN_SPARC_SCONS_PWROFF) || (defined(HAVE_DECL_KERN_SPARC_SCONS_PWROFF) && HAVE_DECL_KERN_SPARC_SCONS_PWROFF)
	XLAT(KERN_SPARC_SCONS_PWROFF),
#endif
#if defined(KERN_HZ_TIMER) || (defined(HAVE_DECL_KERN_HZ_TIMER) && HAVE_DECL_KERN_HZ_TIMER)
	XLAT(KERN_HZ_TIMER),
#endif
#if defined(KERN_UNKNOWN_NMI_PANIC) || (defined(HAVE_DECL_KERN_UNKNOWN_NMI_PANIC) && HAVE_DECL_KERN_UNKNOWN_NMI_PANIC)
	XLAT(KERN_UNKNOWN_NMI_PANIC),
#endif
#if defined(KERN_BOOTLOADER_TYPE) || (defined(HAVE_DECL_KERN_BOOTLOADER_TYPE) && HAVE_DECL_KERN_BOOTLOADER_TYPE)
	XLAT(KERN_BOOTLOADER_TYPE),
#endif
#if defined(KERN_RANDOMIZE) || (defined(HAVE_DECL_KERN_RANDOMIZE) && HAVE_DECL_KERN_RANDOMIZE)
	XLAT(KERN_RANDOMIZE),
#endif
#if defined(KERN_SETUID_DUMPABLE) || (defined(HAVE_DECL_KERN_SETUID_DUMPABLE) && HAVE_DECL_KERN_SETUID_DUMPABLE)
	XLAT(KERN_SETUID_DUMPABLE),
#endif
#if defined(KERN_SPIN_RETRY) || (defined(HAVE_DECL_KERN_SPIN_RETRY) && HAVE_DECL_KERN_SPIN_RETRY)
	XLAT(KERN_SPIN_RETRY),
#endif
#if defined(KERN_ACPI_VIDEO_FLAGS) || (defined(HAVE_DECL_KERN_ACPI_VIDEO_FLAGS) && HAVE_DECL_KERN_ACPI_VIDEO_FLAGS)
	XLAT(KERN_ACPI_VIDEO_FLAGS),
#endif
#if defined(KERN_IA64_UNALIGNED) || (defined(HAVE_DECL_KERN_IA64_UNALIGNED) && HAVE_DECL_KERN_IA64_UNALIGNED)
	XLAT(KERN_IA64_UNALIGNED),
#endif
#if defined(KERN_COMPAT_LOG) || (defined(HAVE_DECL_KERN_COMPAT_LOG) && HAVE_DECL_KERN_COMPAT_LOG)
	XLAT(KERN_COMPAT_LOG),
#endif
#if defined(KERN_MAX_LOCK_DEPTH) || (defined(HAVE_DECL_KERN_MAX_LOCK_DEPTH) && HAVE_DECL_KERN_MAX_LOCK_DEPTH)
	XLAT(KERN_MAX_LOCK_DEPTH),
#endif
#if defined(KERN_NMI_WATCHDOG) || (defined(HAVE_DECL_KERN_NMI_WATCHDOG) && HAVE_DECL_KERN_NMI_WATCHDOG)
	XLAT(KERN_NMI_WATCHDOG),
#endif
#if defined(KERN_PANIC_ON_NMI) || (defined(HAVE_DECL_KERN_PANIC_ON_NMI) && HAVE_DECL_KERN_PANIC_ON_NMI)
	XLAT(KERN_PANIC_ON_NMI),
#endif
	XLAT_END
};
