diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-22 01:48:55 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-24 21:37:30 -0800 |
commit | 769fbfa058946e1581d5f9ad75d17947d1ee9ff1 (patch) | |
tree | b645748b64d64ae5fcc26ffb70474dbbbaf0971f /src | |
parent | 4c54c27da774f8035a04f3b091fcfc5661253a0e (diff) | |
download | openocd_libswd-769fbfa058946e1581d5f9ad75d17947d1ee9ff1.tar.gz openocd_libswd-769fbfa058946e1581d5f9ad75d17947d1ee9ff1.tar.bz2 openocd_libswd-769fbfa058946e1581d5f9ad75d17947d1ee9ff1.tar.xz openocd_libswd-769fbfa058946e1581d5f9ad75d17947d1ee9ff1.zip |
add public API for locating commands
Allow other modules to find a command, primarily for the purpose of
registering and unregistering subcommands.
Diffstat (limited to 'src')
-rw-r--r-- | src/helper/command.c | 10 | ||||
-rw-r--r-- | src/helper/command.h | 5 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index af481cd4..54bfb964 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -193,6 +193,16 @@ static struct command *command_find(struct command *head, const char *name) } return NULL; } +struct command *command_find_in_context(struct command_context *cmd_ctx, + const char *name) +{ + return command_find(cmd_ctx->commands, name); +} +struct command *command_find_in_parent(struct command *parent, + const char *name) +{ + return command_find(parent->children, name); +} /** * Add the command into the linked list, sorted by name. diff --git a/src/helper/command.h b/src/helper/command.h index 6e3e93af..2edeca91 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -281,6 +281,11 @@ int unregister_command(struct command_context *cmd_ctx, int unregister_all_commands(struct command_context *cmd_ctx, struct command *parent); +struct command *command_find_in_context(struct command_context *cmd_ctx, + const char *name); +struct command *command_find_in_parent(struct command *parent, + const char *name); + void command_set_output_handler(struct command_context* context, command_output_handler_t output_handler, void *priv); |