/* Generated by ./xlat/gen.sh from ./xlat/btrfs_balance_state.in; do not edit. */
#if !(defined(BTRFS_BALANCE_STATE_RUNNING) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_RUNNING) && HAVE_DECL_BTRFS_BALANCE_STATE_RUNNING))
# define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0)
#endif
#if !(defined(BTRFS_BALANCE_STATE_PAUSE_REQ) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_PAUSE_REQ) && HAVE_DECL_BTRFS_BALANCE_STATE_PAUSE_REQ))
# define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1)
#endif
#if !(defined(BTRFS_BALANCE_STATE_CANCEL_REQ) || (defined(HAVE_DECL_BTRFS_BALANCE_STATE_CANCEL_REQ) && HAVE_DECL_BTRFS_BALANCE_STATE_CANCEL_REQ))
# define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2)
#endif

#ifdef IN_MPERS

extern const struct xlat btrfs_balance_state[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat btrfs_balance_state[] = {
 XLAT(BTRFS_BALANCE_STATE_RUNNING),
 XLAT(BTRFS_BALANCE_STATE_PAUSE_REQ),
 XLAT(BTRFS_BALANCE_STATE_CANCEL_REQ),
 XLAT_END
};

#endif /* !IN_MPERS */
