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

#ifdef IN_MPERS

# error static const struct xlat falloc_flags in mpers mode

#else

static
const struct xlat falloc_flags[] = {
#if defined(FALLOC_FL_KEEP_SIZE) || (defined(HAVE_DECL_FALLOC_FL_KEEP_SIZE) && HAVE_DECL_FALLOC_FL_KEEP_SIZE)
  XLAT(FALLOC_FL_KEEP_SIZE),
#endif
#if defined(FALLOC_FL_PUNCH_HOLE) || (defined(HAVE_DECL_FALLOC_FL_PUNCH_HOLE) && HAVE_DECL_FALLOC_FL_PUNCH_HOLE)
  XLAT(FALLOC_FL_PUNCH_HOLE),
#endif
#if defined(FALLOC_FL_NO_HIDE_STALE) || (defined(HAVE_DECL_FALLOC_FL_NO_HIDE_STALE) && HAVE_DECL_FALLOC_FL_NO_HIDE_STALE)
  XLAT(FALLOC_FL_NO_HIDE_STALE),
#endif
#if defined(FALLOC_FL_COLLAPSE_RANGE) || (defined(HAVE_DECL_FALLOC_FL_COLLAPSE_RANGE) && HAVE_DECL_FALLOC_FL_COLLAPSE_RANGE)
  XLAT(FALLOC_FL_COLLAPSE_RANGE),
#endif
#if defined(FALLOC_FL_ZERO_RANGE) || (defined(HAVE_DECL_FALLOC_FL_ZERO_RANGE) && HAVE_DECL_FALLOC_FL_ZERO_RANGE)
  XLAT(FALLOC_FL_ZERO_RANGE),
#endif
#if defined(FALLOC_FL_INSERT_RANGE) || (defined(HAVE_DECL_FALLOC_FL_INSERT_RANGE) && HAVE_DECL_FALLOC_FL_INSERT_RANGE)
  XLAT(FALLOC_FL_INSERT_RANGE),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
