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

static const struct xlat modflags[] = {
#if defined(MOD_UNINITIALIZED) || (defined(HAVE_DECL_MOD_UNINITIALIZED) && HAVE_DECL_MOD_UNINITIALIZED)
 XLAT(MOD_UNINITIALIZED),
#endif
#if defined(MOD_RUNNING) || (defined(HAVE_DECL_MOD_RUNNING) && HAVE_DECL_MOD_RUNNING)
 XLAT(MOD_RUNNING),
#endif
#if defined(MOD_DELETED) || (defined(HAVE_DECL_MOD_DELETED) && HAVE_DECL_MOD_DELETED)
 XLAT(MOD_DELETED),
#endif
#if defined(MOD_AUTOCLEAN) || (defined(HAVE_DECL_MOD_AUTOCLEAN) && HAVE_DECL_MOD_AUTOCLEAN)
 XLAT(MOD_AUTOCLEAN),
#endif
#if defined(MOD_VISITED) || (defined(HAVE_DECL_MOD_VISITED) && HAVE_DECL_MOD_VISITED)
 XLAT(MOD_VISITED),
#endif
#if defined(MOD_USED_ONCE) || (defined(HAVE_DECL_MOD_USED_ONCE) && HAVE_DECL_MOD_USED_ONCE)
 XLAT(MOD_USED_ONCE),
#endif
#if defined(MOD_JUST_FREED) || (defined(HAVE_DECL_MOD_JUST_FREED) && HAVE_DECL_MOD_JUST_FREED)
 XLAT(MOD_JUST_FREED),
#endif
 XLAT_END
};
