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

#ifdef IN_MPERS

# error static const struct xlat sync_file_range_flags in mpers mode

#else

static
const struct xlat sync_file_range_flags[] = {
#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_BEFORE)
  XLAT(SYNC_FILE_RANGE_WAIT_BEFORE),
#endif
#if defined(SYNC_FILE_RANGE_WRITE) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WRITE) && HAVE_DECL_SYNC_FILE_RANGE_WRITE)
  XLAT(SYNC_FILE_RANGE_WRITE),
#endif
#if defined(SYNC_FILE_RANGE_WAIT_AFTER) || (defined(HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER) && HAVE_DECL_SYNC_FILE_RANGE_WAIT_AFTER)
  XLAT(SYNC_FILE_RANGE_WAIT_AFTER),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
