X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fhelper%2Fcommand.h;h=8a418d367d04f604ad6084adb47f381a420c58de;hb=cd3017cffa68e6f56419177e66332f86ab45675b;hp=f27364eaf6de2b2aaa80a7657ff569ee4b134b1a;hpb=7b2906de246bc37af99d432b3edf12e9f5f63521;p=openocd.git diff --git a/src/helper/command.h b/src/helper/command.h index f27364eaf6..8a418d367d 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -23,7 +23,7 @@ #ifndef COMMAND_H #define COMMAND_H -#include "types.h" +#include /* Integrate the JIM TCL interpretor into the command processing. */ #if BUILD_ECOSBOARD @@ -32,7 +32,7 @@ /* Jim is provied by eCos */ #include #else -#include "jim.h" +#include #endif /* To achieve C99 printf compatibility in MinGW, gnu_printf should be @@ -253,17 +253,6 @@ struct command_registration { struct command* register_command(struct command_context *cmd_ctx, struct command *parent, const struct command_registration *rec); -#define COMMAND_REGISTER(_cmd_ctx, _parent, _name, _handler, _mode, _help) \ - ({ \ - struct command_registration cr = { \ - .name = _name, \ - .handler = _handler, \ - .mode = _mode, \ - .help = _help, \ - }; \ - register_command(_cmd_ctx, _parent, &cr); \ - }) - /** * Register one or more commands in the specified context, as children * of @c parent (or top-level commends, if NULL). In a registration's @@ -323,9 +312,11 @@ void command_set_output_handler(struct command_context* context, int command_context_mode(struct command_context *context, enum command_mode mode); /** - * Creates a new command context using the startup TCL provided. + * Creates a new command context using the startup TCL provided and + * the existing Jim interpreter, if any. If interp == NULL, then command_init + * creates a command interpreter. */ -struct command_context* command_init(const char *startup_tcl); +struct command_context* command_init(const char *startup_tcl, Jim_Interp *interp); /** * Creates a copy of an existing command context. This does not create * a deep copy of the command list, so modifications in one context will @@ -338,7 +329,7 @@ struct command_context* copy_command_context(struct command_context* cmd_ctx); /** * Frees the resources associated with a command context. The commands * are not removed, so unregister_all_commands() must be called first. - * @param cmd_ctx The command_context that will be destroyed. + * @param context The command_context that will be destroyed. */ void command_done(struct command_context *context); @@ -351,7 +342,7 @@ int command_run_linef(struct command_context *context, const char *format, ...) __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 2, 3))); void command_output_text(struct command_context *context, const char *data); -void process_jim_events(void); +void process_jim_events(struct command_context *cmd_ctx); #define ERROR_COMMAND_CLOSE_CONNECTION (-600) #define ERROR_COMMAND_SYNTAX_ERROR (-601)