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

static const struct xlat bootflags2[] = {
#if !(defined(LINUX_REBOOT_MAGIC2) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2) && HAVE_DECL_LINUX_REBOOT_MAGIC2))
# define LINUX_REBOOT_MAGIC2 672274793
#endif
 XLAT(LINUX_REBOOT_MAGIC2),
#if !(defined(LINUX_REBOOT_MAGIC2A) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2A) && HAVE_DECL_LINUX_REBOOT_MAGIC2A))
# define LINUX_REBOOT_MAGIC2A 85072278
#endif
 XLAT(LINUX_REBOOT_MAGIC2A),
#if !(defined(LINUX_REBOOT_MAGIC2B) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2B) && HAVE_DECL_LINUX_REBOOT_MAGIC2B))
# define LINUX_REBOOT_MAGIC2B 369367448
#endif
 XLAT(LINUX_REBOOT_MAGIC2B),
#if !(defined(LINUX_REBOOT_MAGIC2C) || (defined(HAVE_DECL_LINUX_REBOOT_MAGIC2C) && HAVE_DECL_LINUX_REBOOT_MAGIC2C))
# define LINUX_REBOOT_MAGIC2C 537993216
#endif
 XLAT(LINUX_REBOOT_MAGIC2C),
 XLAT_END
};
