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

static const struct xlat swap_flags[] = {
#if defined(SWAP_FLAG_PREFER) || (defined(HAVE_DECL_SWAP_FLAG_PREFER) && HAVE_DECL_SWAP_FLAG_PREFER)
 XLAT(SWAP_FLAG_PREFER),
#endif
#if defined(SWAP_FLAG_DISCARD) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD) && HAVE_DECL_SWAP_FLAG_DISCARD)
 XLAT(SWAP_FLAG_DISCARD),
#endif
#if defined(SWAP_FLAG_DISCARD_ONCE) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD_ONCE) && HAVE_DECL_SWAP_FLAG_DISCARD_ONCE)
 XLAT(SWAP_FLAG_DISCARD_ONCE),
#endif
#if defined(SWAP_FLAG_DISCARD_PAGES) || (defined(HAVE_DECL_SWAP_FLAG_DISCARD_PAGES) && HAVE_DECL_SWAP_FLAG_DISCARD_PAGES)
 XLAT(SWAP_FLAG_DISCARD_PAGES),
#endif
 XLAT_END
};
