diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2011-06-06 23:14:38 +0800 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-04-30 20:29:50 +0800 |
commit | 9dfb0030ee60306bfd1e6e86560685c44bede9e7 (patch) | |
tree | f39c64d6d00e38c946eb91061c570e4773a08176 /include/command.h | |
parent | c3d60e6df33c47401813c4529d23d25a76c6a982 (diff) | |
download | barebox-9dfb0030ee60306bfd1e6e86560685c44bede9e7.tar.gz barebox-9dfb0030ee60306bfd1e6e86560685c44bede9e7.tar.xz |
complete: add generic command complete framework
introduce generic command specific complete callback
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'include/command.h')
-rw-r--r-- | include/command.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/command.h b/include/command.h index b2e84496c8..80cbf5603f 100644 --- a/include/command.h +++ b/include/command.h @@ -40,6 +40,8 @@ extern struct list_head command_list; #define for_each_command(cmd) list_for_each_entry(cmd, &command_list, list) +struct string_list; + /* * Monitor Command Table */ @@ -48,6 +50,7 @@ struct command { const char **aliases; /* Implementation function */ int (*cmd)(int, char *[]); + int (*complete)(struct string_list *sl, char *instr); const char *usage; /* Usage message (short) */ struct list_head list; /* List of commands */ @@ -88,6 +91,11 @@ const struct command __barebox_cmd_##_name \ #define BAREBOX_CMD_END \ }; +#ifdef CONFIG_AUTO_COMPLETE +#define BAREBOX_CMD_COMPLETE(_cpt) .complete = _cpt, +#else +#define BAREBOX_CMD_COMPLETE(_cpt) +#endif #define BAREBOX_CMD_HELP_START(_name) \ static const __maybe_unused char cmd_##_name##_help[] = |