/* Generated by ./xlat/gen.sh from ./xlat/if_dqblk_valid.in; do not edit. */
#if !(defined(QIF_BLIMITS) || (defined(HAVE_DECL_QIF_BLIMITS) && HAVE_DECL_QIF_BLIMITS))
# define QIF_BLIMITS (1 << 0)
#endif
#if !(defined(QIF_SPACE) || (defined(HAVE_DECL_QIF_SPACE) && HAVE_DECL_QIF_SPACE))
# define QIF_SPACE (1 << 1)
#endif
#if !(defined(QIF_ILIMITS) || (defined(HAVE_DECL_QIF_ILIMITS) && HAVE_DECL_QIF_ILIMITS))
# define QIF_ILIMITS (1 << 2)
#endif
#if !(defined(QIF_INODES) || (defined(HAVE_DECL_QIF_INODES) && HAVE_DECL_QIF_INODES))
# define QIF_INODES (1 << 3)
#endif
#if !(defined(QIF_BTIME) || (defined(HAVE_DECL_QIF_BTIME) && HAVE_DECL_QIF_BTIME))
# define QIF_BTIME (1 << 4)
#endif
#if !(defined(QIF_ITIME) || (defined(HAVE_DECL_QIF_ITIME) && HAVE_DECL_QIF_ITIME))
# define QIF_ITIME (1 << 5)
#endif

#ifdef IN_MPERS

# error static const struct xlat if_dqblk_valid in mpers mode

#else

static
const struct xlat if_dqblk_valid[] = {
 XLAT(QIF_BLIMITS),
 XLAT(QIF_SPACE),
 XLAT(QIF_ILIMITS),
 XLAT(QIF_INODES),
 XLAT(QIF_BTIME),
 XLAT(QIF_ITIME),
 XLAT_END
};

#endif /* !IN_MPERS */
