use COMMAND_HELPER for command helper functions
authorZachary T Welch <zw@superlucidity.net>
Tue, 10 Nov 2009 11:12:21 +0000 (03:12 -0800)
committerZachary T Welch <zw@superlucidity.net>
Fri, 13 Nov 2009 18:51:45 +0000 (10:51 -0800)
Define the numerous helpers that inherit command handler parameters
using the COMMAND_HELPER macro.

src/jtag/parport.c
src/server/server.c
src/server/server.h
src/target/arm11.c
src/target/etm.c
src/target/target.c

index cee7a16956c44d910f0220e1cc618db016835404..a18b3f6afc1f5419f760bcafeea1d29f8d4a1994 100644 (file)
@@ -462,9 +462,7 @@ COMMAND_HANDLER(parport_handle_write_on_exit_command)
        return ERROR_OK;
 }
 
-static int
-parport_handle_parport_toggling_time_command(struct command_context_s *cmd_ctx,
-               char *cmd, char **args, int argc)
+COMMAND_HANDLER(parport_handle_parport_toggling_time_command)
 {
        if (argc == 1) {
                uint32_t ns;
index c000b7c25e7fb3f45ff965e9dc8a60b65322938a..ada0a6024dfc5b23a2ef302fe028394a77f78b9c 100644 (file)
@@ -551,8 +551,7 @@ int server_register_commands(command_context_t *context)
 }
 
 
-int server_port_command(struct command_context_s *cmd_ctx,
-               char *cmd, char **args, int argc, unsigned short *out)
+SERVER_PORT_COMMAND()
 {
        switch (argc) {
        case 0:
index d4f1b6b5a5ce47627253aec0a78713a777acef16..abb501d4629cb1df59b4f41147d12db9b00f0d02 100644 (file)
@@ -81,8 +81,16 @@ int server_loop(command_context_t *command_context);
 
 int server_register_commands(command_context_t *context);
 
-int server_port_command(struct command_context_s *cmd_ctx,
-               char *cmd, char **args, int argc, unsigned short *port);
+/**
+ * Defines an extended command handler function declaration to enable
+ * access to (and manipulation of) the server port number.
+ * Call server_port like a normal COMMAND_HANDLER with an extra @a out parameter
+ * to receive the specified port number.
+ */
+#define SERVER_PORT_COMMAND() \
+               COMMAND_HELPER(server_port_command, unsigned short *out)
+
+SERVER_PORT_COMMAND();
 
 extern int server_use_pipes;
 
index 098b0afa31c539916317c68fafe4133e92cb75dd..949c947596712c0ba839856112ec567746d2b75a 100644 (file)
@@ -1991,8 +1991,7 @@ static int arm11_build_reg_cache(target_t *target)
        return ERROR_OK;
 }
 
-static int arm11_handle_bool(struct command_context_s *cmd_ctx,
-               char *cmd, char **args, int argc, bool * var, char * name)
+static COMMAND_HELPER(arm11_handle_bool, bool *var, char *name)
 {
        if (argc == 0)
        {
@@ -2143,7 +2142,7 @@ static int arm11_mcr(target_t *target, int cpnum,
        return arm11_mrc_inner(target, cpnum, op1, op2, CRn, CRm, &value, false);
 }
 
-static int arm11_handle_etm_read_write(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, bool read)
+static COMMAND_HELPER(arm11_handle_etm_read_write, bool read)
 {
        if (argc != (read ? 2 : 3))
        {
index 0fc924914ff79bb0a059cbf8fb2401c32238d363..df029042e5b5fd25d67f8e542301db61755bf6b4 100644 (file)
@@ -1176,9 +1176,8 @@ static int etmv1_analyze_trace(etm_context_t *ctx, struct command_context_s *cmd
        return ERROR_OK;
 }
 
-static int handle_etm_tracemode_command_update(
-               struct command_context_s *cmd_ctx,
-               char **args, etmv1_tracemode_t *mode)
+static COMMAND_HELPER(handle_etm_tracemode_command_update,
+               etmv1_tracemode_t *mode)
 {
        etmv1_tracemode_t tracemode;
 
@@ -1272,7 +1271,7 @@ COMMAND_HANDLER(handle_etm_tracemode_command)
        case 0:
                break;
        case 4:
-               handle_etm_tracemode_command_update(cmd_ctx, args, &tracemode);
+               handle_etm_tracemode_command_update(cmd_ctx, cmd, args, argc, &tracemode);
                break;
        default:
                command_print(cmd_ctx, "usage: configure trace mode "
index 401f4dfba81ac13ec824781fab76b4424312c4cb..26c20cf389c16f77a9338043561d26b62a2646d6 100644 (file)
@@ -2363,8 +2363,7 @@ COMMAND_HANDLER(handle_mw_command)
 
 }
 
-static int parse_load_image_command_args(struct command_context_s *cmd_ctx,
-               char **args, int argc, image_t *image,
+static COMMAND_HELPER(parse_load_image_command_args, image_t *image,
                uint32_t *min_address, uint32_t *max_address)
 {
        if (argc < 1 || argc > 5)
@@ -2411,7 +2410,7 @@ COMMAND_HANDLER(handle_load_image_command)
        int i;
        image_t image;
 
-       int retval = parse_load_image_command_args(cmd_ctx, args, argc,
+       int retval = parse_load_image_command_args(cmd_ctx, cmd, args, argc,
                        &image, &min_address, &max_address);
        if (ERROR_OK != retval)
                return retval;
@@ -2555,7 +2554,7 @@ COMMAND_HANDLER(handle_dump_image_command)
        return retval;
 }
 
-static int handle_verify_image_command_internal(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, int verify)
+static COMMAND_HELPER(handle_verify_image_command_internal, int verify)
 {
        uint8_t *buffer;
        uint32_t buf_cnt;
@@ -4548,7 +4547,7 @@ COMMAND_HANDLER(handle_fast_load_image_command)
 
        image_t image;
 
-       int retval = parse_load_image_command_args(cmd_ctx, args, argc,
+       int retval = parse_load_image_command_args(cmd_ctx, cmd, args, argc,
                        &image, &min_address, &max_address);
        if (ERROR_OK != retval)
                return retval;