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