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

#ifdef IN_MPERS

# error static const struct xlat if_dqblk_valid in mpers mode

#else

static
const struct xlat if_dqblk_valid[] = {
#if defined(QIF_BLIMITS) || (defined(HAVE_DECL_QIF_BLIMITS) && HAVE_DECL_QIF_BLIMITS)
  XLAT(QIF_BLIMITS),
#endif
#if defined(QIF_SPACE) || (defined(HAVE_DECL_QIF_SPACE) && HAVE_DECL_QIF_SPACE)
  XLAT(QIF_SPACE),
#endif
#if defined(QIF_ILIMITS) || (defined(HAVE_DECL_QIF_ILIMITS) && HAVE_DECL_QIF_ILIMITS)
  XLAT(QIF_ILIMITS),
#endif
#if defined(QIF_INODES) || (defined(HAVE_DECL_QIF_INODES) && HAVE_DECL_QIF_INODES)
  XLAT(QIF_INODES),
#endif
#if defined(QIF_BTIME) || (defined(HAVE_DECL_QIF_BTIME) && HAVE_DECL_QIF_BTIME)
  XLAT(QIF_BTIME),
#endif
#if defined(QIF_ITIME) || (defined(HAVE_DECL_QIF_ITIME) && HAVE_DECL_QIF_ITIME)
  XLAT(QIF_ITIME),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
