projects
/
fw
/
openocd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add command_handler_t type
[fw/openocd]
/
src
/
helper
/
command.h
diff --git
a/src/helper/command.h
b/src/helper/command.h
index 236dabbe85c202f6034ed3fb4517d5dd3558c5fc..aec066d088faea35071dad9ea8aac77624ba8ba7 100644
(file)
--- 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)
#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;
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;
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,
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);
enum command_mode mode, char *help);
int unregister_command(command_context_t *context, char *name);