X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fhelper%2Fcommand.h;h=db095972af3725fa0921ad90799408cfa4572ce2;hp=9a04e9fa100b1ceb10f3bb489164f8119128a3bf;hb=aacc26559e4984b649083ac046db2cbcb54e2f70;hpb=cb83bc747ce1106c50d713f6d552da8c3e476e0f diff --git a/src/helper/command.h b/src/helper/command.h index 9a04e9fa10..db095972af 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -26,6 +26,7 @@ #include #include +#include #include /* To achieve C99 printf compatibility in MinGW, gnu_printf should be @@ -41,6 +42,7 @@ enum command_mode { COMMAND_EXEC, COMMAND_CONFIG, COMMAND_ANY, + COMMAND_UNKNOWN = -1, /* error condition */ }; struct command_context; @@ -64,6 +66,7 @@ struct command_context { */ command_output_handler_t output_handler; void *output_handler_priv; + struct list_head *help_list; }; struct command; @@ -179,8 +182,6 @@ typedef __COMMAND_HANDLER((*command_handler_t)); struct command { char *name; - char *help; - char *usage; struct command *parent; struct command *children; command_handler_t handler; @@ -316,6 +317,14 @@ static inline int register_commands_with_data(struct command_context *cmd_ctx, int unregister_all_commands(struct command_context *cmd_ctx, struct command *parent); +/** + * Unregisters the help for all commands. Used at exit to remove the help + * added through the commands 'add_help_text' and 'add_usage_text'. + * @param cmd_ctx The context that will be cleared of registered helps. + * @returns ERROR_OK on success, or an error code. + */ +int help_del_all_commands(struct command_context *cmd_ctx); + void command_set_output_handler(struct command_context *context, command_output_handler_t output_handler, void *priv);