diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-10 18:42:45 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-13 10:51:45 -0800 |
commit | 1ae4d93c3c90f176f6b94579ba3fabe1e17d715e (patch) | |
tree | 2e3e3706c9f82f09146538398d84d0c017282a2a /src/helper | |
parent | 5eb638c71e95048b090b8a19640d7d4902c07902 (diff) | |
download | openocd+libswd-1ae4d93c3c90f176f6b94579ba3fabe1e17d715e.tar.gz openocd+libswd-1ae4d93c3c90f176f6b94579ba3fabe1e17d715e.tar.bz2 openocd+libswd-1ae4d93c3c90f176f6b94579ba3fabe1e17d715e.tar.xz openocd+libswd-1ae4d93c3c90f176f6b94579ba3fabe1e17d715e.zip |
add command_output_handler_t
Add a typedef for command output handler function type, simplifying
the appearance of functions that use it and eliminating duplicate code.
Diffstat (limited to 'src/helper')
-rw-r--r-- | src/helper/command.c | 3 | ||||
-rw-r--r-- | src/helper/command.h | 11 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index f960127d..603da82f 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -558,7 +558,8 @@ int command_run_linef(command_context_t *context, const char *format, ...) return retval; } -void command_set_output_handler(command_context_t* context, int (*output_handler)(struct command_context_s *context, const char* line), void *priv) +void command_set_output_handler(command_context_t* context, + command_output_handler_t output_handler, void *priv) { context->output_handler = output_handler; context->output_handler_priv = priv; diff --git a/src/helper/command.h b/src/helper/command.h index 732fa525..ded76fee 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -51,6 +51,12 @@ enum command_mode COMMAND_ANY, }; +struct command_context_s; + +/// The type signature for command context's output handler. +typedef int (*command_output_handler_t)(struct command_context_s *context, + const char* line); + typedef struct command_context_s { enum command_mode mode; @@ -70,7 +76,7 @@ typedef struct command_context_s * Returning ERROR_COMMAND_SYNTAX_ERROR will have the effect of * printing out the syntax of the command. */ - int (*output_handler)(struct command_context_s *context, const char* line); + command_output_handler_t output_handler; void *output_handler_priv; } command_context_t; @@ -104,8 +110,7 @@ int unregister_command(command_context_t *context, char *name); int unregister_all_commands(command_context_t *context); void command_set_output_handler(command_context_t* context, - int (*output_handler)(struct command_context_s *context, - const char* line), void *priv); + command_output_handler_t output_handler, void *priv); command_context_t* copy_command_context(command_context_t* context); |