/* Generated by ./xlat/gen.sh from ./xlat/policies.in; do not edit. */
#if !(defined(MPOL_DEFAULT) || (defined(HAVE_DECL_MPOL_DEFAULT) && HAVE_DECL_MPOL_DEFAULT))
# define MPOL_DEFAULT 0
#endif
#if !(defined(MPOL_PREFERRED) || (defined(HAVE_DECL_MPOL_PREFERRED) && HAVE_DECL_MPOL_PREFERRED))
# define MPOL_PREFERRED 1
#endif
#if !(defined(MPOL_BIND) || (defined(HAVE_DECL_MPOL_BIND) && HAVE_DECL_MPOL_BIND))
# define MPOL_BIND 2
#endif
#if !(defined(MPOL_INTERLEAVE) || (defined(HAVE_DECL_MPOL_INTERLEAVE) && HAVE_DECL_MPOL_INTERLEAVE))
# define MPOL_INTERLEAVE 3
#endif

#ifdef IN_MPERS

# error static const struct xlat policies in mpers mode

#else

static
const struct xlat policies[] = {
 XLAT(MPOL_DEFAULT),
 XLAT(MPOL_PREFERRED),
 XLAT(MPOL_BIND),
 XLAT(MPOL_INTERLEAVE),
 XLAT_END
};

#endif /* !IN_MPERS */
