/* Generated by ./xlat/gen.sh from ./xlat/module_init_flags.in; do not edit. */
#if !(defined(MODULE_INIT_IGNORE_MODVERSIONS) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS) && HAVE_DECL_MODULE_INIT_IGNORE_MODVERSIONS))
# define MODULE_INIT_IGNORE_MODVERSIONS (1 << 0)
#endif
#if !(defined(MODULE_INIT_IGNORE_VERMAGIC) || (defined(HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC) && HAVE_DECL_MODULE_INIT_IGNORE_VERMAGIC))
# define MODULE_INIT_IGNORE_VERMAGIC (1 << 1)
#endif

#ifdef IN_MPERS

# error static const struct xlat module_init_flags in mpers mode

#else

static
const struct xlat module_init_flags[] = {
 XLAT(MODULE_INIT_IGNORE_MODVERSIONS),
 XLAT(MODULE_INIT_IGNORE_VERMAGIC),
 XLAT_END
};

#endif /* !IN_MPERS */
