/* Generated by ./xlat/gen.sh from ./xlat/btrfs_balance_args.in; do not edit. */
#if !(defined(BTRFS_BALANCE_ARGS_PROFILES) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_PROFILES) && HAVE_DECL_BTRFS_BALANCE_ARGS_PROFILES))
# define BTRFS_BALANCE_ARGS_PROFILES (1ULL << 0)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_USAGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE))
# define BTRFS_BALANCE_ARGS_USAGE (1ULL << 1)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_DEVID) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_DEVID) && HAVE_DECL_BTRFS_BALANCE_ARGS_DEVID))
# define BTRFS_BALANCE_ARGS_DEVID (1ULL << 2)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_DRANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_DRANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_DRANGE))
# define BTRFS_BALANCE_ARGS_DRANGE (1ULL << 3)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_VRANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_VRANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_VRANGE))
# define BTRFS_BALANCE_ARGS_VRANGE (1ULL << 4)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_LIMIT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT) && HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT))
# define BTRFS_BALANCE_ARGS_LIMIT (1ULL << 5)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_LIMIT_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_LIMIT_RANGE))
# define BTRFS_BALANCE_ARGS_LIMIT_RANGE (1ULL << 6)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_STRIPES_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_STRIPES_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_STRIPES_RANGE))
# define BTRFS_BALANCE_ARGS_STRIPES_RANGE (1ULL << 7)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_CONVERT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_CONVERT) && HAVE_DECL_BTRFS_BALANCE_ARGS_CONVERT))
# define BTRFS_BALANCE_ARGS_CONVERT (1ULL << 8)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_SOFT) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_SOFT) && HAVE_DECL_BTRFS_BALANCE_ARGS_SOFT))
# define BTRFS_BALANCE_ARGS_SOFT (1ULL << 9)
#endif
#if !(defined(BTRFS_BALANCE_ARGS_USAGE_RANGE) || (defined(HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE_RANGE) && HAVE_DECL_BTRFS_BALANCE_ARGS_USAGE_RANGE))
# define BTRFS_BALANCE_ARGS_USAGE_RANGE (1ULL << 10)
#endif

#ifdef IN_MPERS

extern const struct xlat btrfs_balance_args[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat btrfs_balance_args[] = {
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_PROFILES),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_USAGE),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_DEVID),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_DRANGE),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_VRANGE),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_LIMIT),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_LIMIT_RANGE),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_STRIPES_RANGE),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_CONVERT),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_SOFT),
 XLAT_TYPE(uint64_t, BTRFS_BALANCE_ARGS_USAGE_RANGE),
 XLAT_END
};

#endif /* !IN_MPERS */
