* Boston, MA 021110-1307, USA.
*/
-#define ARGV0_BUF_SIZE 64
+#ifndef __BTRFS_COMMANDS_H__
+#define __BTRFS_COMMANDS_H__
+
+enum {
+ CMD_HIDDEN = (1 << 0), /* should not be in help listings */
+ CMD_ALIAS = (1 << 1), /* alias of next command in cmd_group */
+};
struct cmd_struct {
const char *token;
/* should be NULL if token is not a subgroup */
const struct cmd_group *next;
- /* if true don't list this token in help listings */
- int hidden;
+ /* CMD_* flags above */
+ int flags;
};
#define NULL_CMD_STRUCT {NULL, NULL, NULL, NULL, 0}
/* btrfs.c */
int prefixcmp(const char *str, const char *prefix);
-int check_argc_exact(int nargs, int expected);
-int check_argc_min(int nargs, int expected);
-int check_argc_max(int nargs, int expected);
-
int handle_command_group(const struct cmd_group *grp, int argc,
char **argv);
void usage(const char * const *usagestr) __attribute__((noreturn));
void usage_command(const struct cmd_struct *cmd, int full, int err);
void usage_command_group(const struct cmd_group *grp, int all, int err);
+void usage_command_group_short(const struct cmd_group *grp);
void help_unknown_token(const char *arg, const struct cmd_group *grp) __attribute__((noreturn));
void help_ambiguous_token(const char *arg, const struct cmd_group *grp) __attribute__((noreturn));
extern const struct cmd_group device_cmd_group;
extern const struct cmd_group scrub_cmd_group;
extern const struct cmd_group inspect_cmd_group;
+extern const struct cmd_group property_cmd_group;
extern const struct cmd_group quota_cmd_group;
extern const struct cmd_group qgroup_cmd_group;
extern const struct cmd_group replace_cmd_group;
+extern const struct cmd_group rescue_cmd_group;
extern const char * const cmd_send_usage[];
extern const char * const cmd_receive_usage[];
extern const char * const cmd_check_usage[];
extern const char * const cmd_chunk_recover_usage[];
+extern const char * const cmd_super_recover_usage[];
extern const char * const cmd_restore_usage[];
+extern const char * const cmd_rescue_usage[];
int cmd_subvolume(int argc, char **argv);
int cmd_filesystem(int argc, char **argv);
int cmd_scrub(int argc, char **argv);
int cmd_check(int argc, char **argv);
int cmd_chunk_recover(int argc, char **argv);
+int cmd_super_recover(int argc, char **argv);
int cmd_inspect(int argc, char **argv);
+int cmd_property(int argc, char **argv);
int cmd_send(int argc, char **argv);
int cmd_receive(int argc, char **argv);
int cmd_quota(int argc, char **argv);
int cmd_select_super(int argc, char **argv);
int cmd_dump_super(int argc, char **argv);
int cmd_debug_tree(int argc, char **argv);
+int cmd_rescue(int argc, char **argv);
/* subvolume exported functions */
int test_issubvolume(char *path);
/* send.c */
-int find_mount_root(const char *path, char **mount_root);
char *get_subvol_name(char *mnt, char *full_path);
+
+#endif