aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZachary T Welch <zw@superlucidity.net>2009-11-10 18:42:45 -0800
committerZachary T Welch <zw@superlucidity.net>2009-11-13 10:51:45 -0800
commit1ae4d93c3c90f176f6b94579ba3fabe1e17d715e (patch)
tree2e3e3706c9f82f09146538398d84d0c017282a2a /src
parent5eb638c71e95048b090b8a19640d7d4902c07902 (diff)
downloadriscv-openocd-1ae4d93c3c90f176f6b94579ba3fabe1e17d715e.zip
riscv-openocd-1ae4d93c3c90f176f6b94579ba3fabe1e17d715e.tar.gz
riscv-openocd-1ae4d93c3c90f176f6b94579ba3fabe1e17d715e.tar.bz2
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')
-rw-r--r--src/helper/command.c3
-rw-r--r--src/helper/command.h11
2 files changed, 10 insertions, 4 deletions
diff --git a/src/helper/command.c b/src/helper/command.c
index f960127..603da82 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 732fa52..ded76fe 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);