/* Generated by ./xlat/gen.sh from ./xlat/btrfs_balance_ctl_cmds.in; do not edit. */
#if !(defined(BTRFS_BALANCE_CTL_PAUSE) || (defined(HAVE_DECL_BTRFS_BALANCE_CTL_PAUSE) && HAVE_DECL_BTRFS_BALANCE_CTL_PAUSE))
# define BTRFS_BALANCE_CTL_PAUSE 1
#endif
#if !(defined(BTRFS_BALANCE_CTL_CANCEL) || (defined(HAVE_DECL_BTRFS_BALANCE_CTL_CANCEL) && HAVE_DECL_BTRFS_BALANCE_CTL_CANCEL))
# define BTRFS_BALANCE_CTL_CANCEL 2
#endif

#ifdef IN_MPERS

extern const struct xlat btrfs_balance_ctl_cmds[];

#else

# if !(defined HAVE_M32_MPERS || defined HAVE_MX32_MPERS)
static
# endif
const struct xlat btrfs_balance_ctl_cmds[] = {
 XLAT(BTRFS_BALANCE_CTL_PAUSE),
 XLAT(BTRFS_BALANCE_CTL_CANCEL),
 XLAT_END
};

#endif /* !IN_MPERS */
