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