/* Generated by ./xlat/gen.sh from ./xlat/xfs_quota_flags.in; do not edit. */
#if !(defined(XFS_QUOTA_UDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ACCT) && HAVE_DECL_XFS_QUOTA_UDQ_ACCT))
# define XFS_QUOTA_UDQ_ACCT (1<<0)
#endif
#if !(defined(XFS_QUOTA_UDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_UDQ_ENFD) && HAVE_DECL_XFS_QUOTA_UDQ_ENFD))
# define XFS_QUOTA_UDQ_ENFD (1<<1)
#endif
#if !(defined(XFS_QUOTA_GDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ACCT) && HAVE_DECL_XFS_QUOTA_GDQ_ACCT))
# define XFS_QUOTA_GDQ_ACCT (1<<2)
#endif
#if !(defined(XFS_QUOTA_GDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_GDQ_ENFD) && HAVE_DECL_XFS_QUOTA_GDQ_ENFD))
# define XFS_QUOTA_GDQ_ENFD (1<<3)
#endif
#if !(defined(XFS_QUOTA_PDQ_ACCT) || (defined(HAVE_DECL_XFS_QUOTA_PDQ_ACCT) && HAVE_DECL_XFS_QUOTA_PDQ_ACCT))
# define XFS_QUOTA_PDQ_ACCT (1<<4)
#endif
#if !(defined(XFS_QUOTA_PDQ_ENFD) || (defined(HAVE_DECL_XFS_QUOTA_PDQ_ENFD) && HAVE_DECL_XFS_QUOTA_PDQ_ENFD))
# define XFS_QUOTA_PDQ_ENFD (1<<5)
#endif

#ifdef IN_MPERS

# error static const struct xlat xfs_quota_flags in mpers mode

#else

static
const struct xlat xfs_quota_flags[] = {
 XLAT(XFS_QUOTA_UDQ_ACCT),
 XLAT(XFS_QUOTA_UDQ_ENFD),
 XLAT(XFS_QUOTA_GDQ_ACCT),
 XLAT(XFS_QUOTA_GDQ_ENFD),
 XLAT(XFS_QUOTA_PDQ_ACCT),
 XLAT(XFS_QUOTA_PDQ_ENFD),
 XLAT_END
};

#endif /* !IN_MPERS */
