diff options
author | Zachary T Welch <zw@superlucidity.net> | 2009-11-10 19:00:01 -0800 |
---|---|---|
committer | Zachary T Welch <zw@superlucidity.net> | 2009-11-13 10:51:45 -0800 |
commit | ddb6138ed428f666064d26bb08036de3afe44bc8 (patch) | |
tree | e127983a43d444b4893fc549ea6cb150465448e6 /src/helper | |
parent | 3f9fd4e2a6ab7b3ce3819c385c34cf6f4630763c (diff) | |
download | openocd+libswd-ddb6138ed428f666064d26bb08036de3afe44bc8.tar.gz openocd+libswd-ddb6138ed428f666064d26bb08036de3afe44bc8.tar.bz2 openocd+libswd-ddb6138ed428f666064d26bb08036de3afe44bc8.tar.xz openocd+libswd-ddb6138ed428f666064d26bb08036de3afe44bc8.zip |
add command_handler_t type
This patch adds new typedefs for command handler callback functions.
Users of this type signature were updated to use these new types.
It uses the new __COMMAND_HANDLER macro to prevent duplication.
Diffstat (limited to 'src/helper')
-rw-r--r-- | src/helper/command.c | 4 | ||||
-rw-r--r-- | src/helper/command.h | 9 |
2 files changed, 6 insertions, 7 deletions
diff --git a/src/helper/command.c b/src/helper/command.c index 603da82f..e467be0b 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -225,9 +225,7 @@ static void command_add_child(struct command_s **head, struct command_s *c) } command_t* register_command(command_context_t *context, - command_t *parent, char *name, - int (*handler)(struct command_context_s *context, - char* name, char** args, int argc), + command_t *parent, char *name, command_handler_t handler, enum command_mode mode, char *help) { if (!context || !name) diff --git a/src/helper/command.h b/src/helper/command.h index 236dabbe..aec066d0 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -122,12 +122,15 @@ typedef struct command_context_s #define COMMAND_HELPER(name, extra...) __COMMAND_HANDLER(name, extra) +/// The type signature for commands' handler functions. +typedef __COMMAND_HANDLER((*command_handler_t)); + typedef struct command_s { char *name; struct command_s *parent; struct command_s *children; - int (*handler)(struct command_context_s *context, char* name, char** args, int argc); + command_handler_t handler; enum command_mode mode; struct command_s *next; } command_t; @@ -143,9 +146,7 @@ typedef struct command_s char *command_name(struct command_s *c, char delim); command_t* register_command(command_context_t *context, - command_t *parent, char *name, - int (*handler)(struct command_context_s *context, - char* name, char** args, int argc), + command_t *parent, char *name, command_handler_t handler, enum command_mode mode, char *help); int unregister_command(command_context_t *context, char *name); |