reg_t -> struct reg
[fw/openocd] / src / target / target.c
index 575a99ce0beaf4770a58c2b3edb4526e581d1b12..0cba285ba4f6046aab367be680b7bfd4c599ef8a 100644 (file)
@@ -49,23 +49,23 @@ static int target_array2mem(Jim_Interp *interp, target_t *target, int argc, Jim_
 static int target_mem2array(Jim_Interp *interp, target_t *target, int argc, Jim_Obj *const *argv);
 
 /* targets */
-extern target_type_t arm7tdmi_target;
-extern target_type_t arm720t_target;
-extern target_type_t arm9tdmi_target;
-extern target_type_t arm920t_target;
-extern target_type_t arm966e_target;
-extern target_type_t arm926ejs_target;
-extern target_type_t fa526_target;
-extern target_type_t feroceon_target;
-extern target_type_t dragonite_target;
-extern target_type_t xscale_target;
-extern target_type_t cortexm3_target;
-extern target_type_t cortexa8_target;
-extern target_type_t arm11_target;
-extern target_type_t mips_m4k_target;
-extern target_type_t avr_target;
-
-target_type_t *target_types[] =
+extern struct target_type arm7tdmi_target;
+extern struct target_type arm720t_target;
+extern struct target_type arm9tdmi_target;
+extern struct target_type arm920t_target;
+extern struct target_type arm966e_target;
+extern struct target_type arm926ejs_target;
+extern struct target_type fa526_target;
+extern struct target_type feroceon_target;
+extern struct target_type dragonite_target;
+extern struct target_type xscale_target;
+extern struct target_type cortexm3_target;
+extern struct target_type cortexa8_target;
+extern struct target_type arm11_target;
+extern struct target_type mips_m4k_target;
+extern struct target_type avr_target;
+
+struct target_type *target_types[] =
 {
        &arm7tdmi_target,
        &arm9tdmi_target,
@@ -86,8 +86,8 @@ target_type_t *target_types[] =
 };
 
 target_t *all_targets = NULL;
-target_event_callback_t *target_event_callbacks = NULL;
-target_timer_callback_t *target_timer_callbacks = NULL;
+struct target_event_callback *target_event_callbacks = NULL;
+struct target_timer_callback *target_timer_callbacks = NULL;
 
 const Jim_Nvp nvp_assert[] = {
        { .name = "assert", NVP_ASSERT },
@@ -559,7 +559,7 @@ static int target_soft_reset_halt_imp(struct target_s *target)
        return target->type->soft_reset_halt_imp(target);
 }
 
-static int target_run_algorithm_imp(struct target_s *target, int num_mem_params, mem_param_t *mem_params, int num_reg_params, reg_param_t *reg_param, uint32_t entry_point, uint32_t exit_point, int timeout_ms, void *arch_info)
+static int target_run_algorithm_imp(struct target_s *target, int num_mem_params, struct mem_param *mem_params, int num_reg_params, struct reg_param *reg_param, uint32_t entry_point, uint32_t exit_point, int timeout_ms, void *arch_info)
 {
        if (!target_was_examined(target))
        {
@@ -600,29 +600,29 @@ int target_bulk_write_memory(struct target_s *target,
 }
 
 int target_add_breakpoint(struct target_s *target,
-               struct breakpoint_s *breakpoint)
+               struct breakpoint *breakpoint)
 {
        return target->type->add_breakpoint(target, breakpoint);
 }
 int target_remove_breakpoint(struct target_s *target,
-               struct breakpoint_s *breakpoint)
+               struct breakpoint *breakpoint)
 {
        return target->type->remove_breakpoint(target, breakpoint);
 }
 
 int target_add_watchpoint(struct target_s *target,
-               struct watchpoint_s *watchpoint)
+               struct watchpoint *watchpoint)
 {
        return target->type->add_watchpoint(target, watchpoint);
 }
 int target_remove_watchpoint(struct target_s *target,
-               struct watchpoint_s *watchpoint)
+               struct watchpoint *watchpoint)
 {
        return target->type->remove_watchpoint(target, watchpoint);
 }
 
 int target_get_gdb_reg_list(struct target_s *target,
-               struct reg_s **reg_list[], int *reg_list_size)
+               struct reg **reg_list[], int *reg_list_size)
 {
        return target->type->get_gdb_reg_list(target, reg_list, reg_list_size);
 }
@@ -634,8 +634,8 @@ int target_step(struct target_s *target,
 
 
 int target_run_algorithm(struct target_s *target,
-               int num_mem_params, mem_param_t *mem_params,
-               int num_reg_params, reg_param_t *reg_param,
+               int num_mem_params, struct mem_param *mem_params,
+               int num_reg_params, struct reg_param *reg_param,
                uint32_t entry_point, uint32_t exit_point,
                int timeout_ms, void *arch_info)
 {
@@ -760,7 +760,7 @@ int target_init(struct command_context_s *cmd_ctx)
        int retval;
 
        for (target = all_targets; target; target = target->next) {
-               struct target_type_s *type = target->type;
+               struct target_type *type = target->type;
 
                target_reset_examined(target);
                if (target->type->examine == NULL)
@@ -872,7 +872,7 @@ int target_init(struct command_context_s *cmd_ctx)
 
 int target_register_event_callback(int (*callback)(struct target_s *target, enum target_event event, void *priv), void *priv)
 {
-       target_event_callback_t **callbacks_p = &target_event_callbacks;
+       struct target_event_callback **callbacks_p = &target_event_callbacks;
 
        if (callback == NULL)
        {
@@ -886,7 +886,7 @@ int target_register_event_callback(int (*callback)(struct target_s *target, enum
                callbacks_p = &((*callbacks_p)->next);
        }
 
-       (*callbacks_p) = malloc(sizeof(target_event_callback_t));
+       (*callbacks_p) = malloc(sizeof(struct target_event_callback));
        (*callbacks_p)->callback = callback;
        (*callbacks_p)->priv = priv;
        (*callbacks_p)->next = NULL;
@@ -896,7 +896,7 @@ int target_register_event_callback(int (*callback)(struct target_s *target, enum
 
 int target_register_timer_callback(int (*callback)(void *priv), int time_ms, int periodic, void *priv)
 {
-       target_timer_callback_t **callbacks_p = &target_timer_callbacks;
+       struct target_timer_callback **callbacks_p = &target_timer_callbacks;
        struct timeval now;
 
        if (callback == NULL)
@@ -911,7 +911,7 @@ int target_register_timer_callback(int (*callback)(void *priv), int time_ms, int
                callbacks_p = &((*callbacks_p)->next);
        }
 
-       (*callbacks_p) = malloc(sizeof(target_timer_callback_t));
+       (*callbacks_p) = malloc(sizeof(struct target_timer_callback));
        (*callbacks_p)->callback = callback;
        (*callbacks_p)->periodic = periodic;
        (*callbacks_p)->time_ms = time_ms;
@@ -934,8 +934,8 @@ int target_register_timer_callback(int (*callback)(void *priv), int time_ms, int
 
 int target_unregister_event_callback(int (*callback)(struct target_s *target, enum target_event event, void *priv), void *priv)
 {
-       target_event_callback_t **p = &target_event_callbacks;
-       target_event_callback_t *c = target_event_callbacks;
+       struct target_event_callback **p = &target_event_callbacks;
+       struct target_event_callback *c = target_event_callbacks;
 
        if (callback == NULL)
        {
@@ -944,7 +944,7 @@ int target_unregister_event_callback(int (*callback)(struct target_s *target, en
 
        while (c)
        {
-               target_event_callback_t *next = c->next;
+               struct target_event_callback *next = c->next;
                if ((c->callback == callback) && (c->priv == priv))
                {
                        *p = next;
@@ -961,8 +961,8 @@ int target_unregister_event_callback(int (*callback)(struct target_s *target, en
 
 int target_unregister_timer_callback(int (*callback)(void *priv), void *priv)
 {
-       target_timer_callback_t **p = &target_timer_callbacks;
-       target_timer_callback_t *c = target_timer_callbacks;
+       struct target_timer_callback **p = &target_timer_callbacks;
+       struct target_timer_callback *c = target_timer_callbacks;
 
        if (callback == NULL)
        {
@@ -971,7 +971,7 @@ int target_unregister_timer_callback(int (*callback)(void *priv), void *priv)
 
        while (c)
        {
-               target_timer_callback_t *next = c->next;
+               struct target_timer_callback *next = c->next;
                if ((c->callback == callback) && (c->priv == priv))
                {
                        *p = next;
@@ -988,8 +988,8 @@ int target_unregister_timer_callback(int (*callback)(void *priv), void *priv)
 
 int target_call_event_callbacks(target_t *target, enum target_event event)
 {
-       target_event_callback_t *callback = target_event_callbacks;
-       target_event_callback_t *next_callback;
+       struct target_event_callback *callback = target_event_callbacks;
+       struct target_event_callback *next_callback;
 
        if (event == TARGET_EVENT_HALTED)
        {
@@ -1014,7 +1014,7 @@ int target_call_event_callbacks(target_t *target, enum target_event event)
 }
 
 static int target_timer_callback_periodic_restart(
-               target_timer_callback_t *cb, struct timeval *now)
+               struct target_timer_callback *cb, struct timeval *now)
 {
        int time_ms = cb->time_ms;
        cb->when.tv_usec = now->tv_usec + (time_ms % 1000) * 1000;
@@ -1028,7 +1028,7 @@ static int target_timer_callback_periodic_restart(
        return ERROR_OK;
 }
 
-static int target_call_timer_callback(target_timer_callback_t *cb,
+static int target_call_timer_callback(struct target_timer_callback *cb,
                struct timeval *now)
 {
        cb->callback(cb->priv);
@@ -1046,11 +1046,11 @@ static int target_call_timer_callbacks_check_time(int checktime)
        struct timeval now;
        gettimeofday(&now, NULL);
 
-       target_timer_callback_t *callback = target_timer_callbacks;
+       struct target_timer_callback *callback = target_timer_callbacks;
        while (callback)
        {
                // cleaning up may unregister and free this callback
-               target_timer_callback_t *next_callback = callback->next;
+               struct target_timer_callback *next_callback = callback->next;
 
                bool call_it = callback->callback &&
                        ((!checktime && callback->periodic) ||
@@ -1082,10 +1082,10 @@ int target_call_timer_callbacks_now(void)
        return target_call_timer_callbacks_check_time(0);
 }
 
-int target_alloc_working_area(struct target_s *target, uint32_t size, working_area_t **area)
+int target_alloc_working_area(struct target_s *target, uint32_t size, struct working_area **area)
 {
-       working_area_t *c = target->working_areas;
-       working_area_t *new_wa = NULL;
+       struct working_area *c = target->working_areas;
+       struct working_area *new_wa = NULL;
 
        /* Reevaluate working area address based on MMU state*/
        if (target->working_areas == NULL)
@@ -1145,7 +1145,7 @@ int target_alloc_working_area(struct target_s *target, uint32_t size, working_ar
        /* if not, allocate a new one */
        if (!new_wa)
        {
-               working_area_t **p = &target->working_areas;
+               struct working_area **p = &target->working_areas;
                uint32_t first_free = target->working_area;
                uint32_t free_size = target->working_area_size;
 
@@ -1167,7 +1167,7 @@ int target_alloc_working_area(struct target_s *target, uint32_t size, working_ar
 
                LOG_DEBUG("allocated new working area at address 0x%08x", (unsigned)first_free);
 
-               new_wa = malloc(sizeof(working_area_t));
+               new_wa = malloc(sizeof(struct working_area));
                new_wa->next = NULL;
                new_wa->size = size;
                new_wa->address = first_free;
@@ -1202,7 +1202,7 @@ int target_alloc_working_area(struct target_s *target, uint32_t size, working_ar
        return ERROR_OK;
 }
 
-int target_free_working_area_restore(struct target_s *target, working_area_t *area, int restore)
+int target_free_working_area_restore(struct target_s *target, struct working_area *area, int restore)
 {
        if (area->free)
                return ERROR_OK;
@@ -1223,7 +1223,7 @@ int target_free_working_area_restore(struct target_s *target, working_area_t *ar
        return ERROR_OK;
 }
 
-int target_free_working_area(struct target_s *target, working_area_t *area)
+int target_free_working_area(struct target_s *target, struct working_area *area)
 {
        return target_free_working_area_restore(target, area, 1);
 }
@@ -1233,11 +1233,11 @@ int target_free_working_area(struct target_s *target, working_area_t *area)
  */
 void target_free_all_working_areas_restore(struct target_s *target, int restore)
 {
-       working_area_t *c = target->working_areas;
+       struct working_area *c = target->working_areas;
 
        while (c)
        {
-               working_area_t *next = c->next;
+               struct working_area *next = c->next;
                target_free_working_area_restore(target, c, restore);
 
                if (c->backup)
@@ -1650,7 +1650,7 @@ int target_write_u8(struct target_s *target, uint32_t address, uint8_t value)
        return retval;
 }
 
-static int handle_targets_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_targets_command)
 {
        target_t *target = all_targets;
 
@@ -1862,10 +1862,10 @@ int handle_target(void *priv)
        return retval;
 }
 
-static int handle_reg_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_reg_command)
 {
        target_t *target;
-       reg_t *reg = NULL;
+       struct reg *reg = NULL;
        int count = 0;
        char *value;
 
@@ -1876,7 +1876,7 @@ static int handle_reg_command(struct command_context_s *cmd_ctx, char *cmd, char
        /* list all available registers for the current target */
        if (argc == 0)
        {
-               reg_cache_t *cache = target->reg_cache;
+               struct reg_cache *cache = target->reg_cache;
 
                count = 0;
                while (cache)
@@ -1919,7 +1919,7 @@ static int handle_reg_command(struct command_context_s *cmd_ctx, char *cmd, char
                unsigned num;
                COMMAND_PARSE_NUMBER(uint, args[0], num);
 
-               reg_cache_t *cache = target->reg_cache;
+               struct reg_cache *cache = target->reg_cache;
                count = 0;
                while (cache)
                {
@@ -1961,7 +1961,7 @@ static int handle_reg_command(struct command_context_s *cmd_ctx, char *cmd, char
 
                if (reg->valid == 0)
                {
-                       reg_arch_type_t *arch_type = register_get_arch_type(reg->arch_type);
+                       struct reg_arch_type *arch_type = register_get_arch_type(reg->arch_type);
                        arch_type->get(reg);
                }
                value = buf_to_str(reg->value, reg->size, 16);
@@ -1976,7 +1976,7 @@ static int handle_reg_command(struct command_context_s *cmd_ctx, char *cmd, char
                uint8_t *buf = malloc(CEIL(reg->size, 8));
                str_to_buf(args[1], strlen(args[1]), buf, reg->size, 0);
 
-               reg_arch_type_t *arch_type = register_get_arch_type(reg->arch_type);
+               struct reg_arch_type *arch_type = register_get_arch_type(reg->arch_type);
                arch_type->set(reg, buf);
 
                value = buf_to_str(reg->value, reg->size, 16);
@@ -1993,7 +1993,7 @@ static int handle_reg_command(struct command_context_s *cmd_ctx, char *cmd, char
        return ERROR_OK;
 }
 
-static int handle_poll_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_poll_command)
 {
        int retval = ERROR_OK;
        target_t *target = get_current_target(cmd_ctx);
@@ -2035,7 +2035,7 @@ static int handle_poll_command(struct command_context_s *cmd_ctx, char *cmd, cha
        return retval;
 }
 
-static int handle_wait_halt_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_wait_halt_command)
 {
        if (argc > 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -2046,7 +2046,7 @@ static int handle_wait_halt_command(struct command_context_s *cmd_ctx, char *cmd
                int retval = parse_uint(args[0], &ms);
                if (ERROR_OK != retval)
                {
-                       command_print(cmd_ctx, "usage: %s [seconds]", cmd);
+                       command_print(cmd_ctx, "usage: %s [seconds]", CMD_NAME);
                        return ERROR_COMMAND_SYNTAX_ERROR;
                }
                // convert seconds (given) to milliseconds (needed)
@@ -2102,7 +2102,7 @@ int target_wait_state(target_t *target, enum target_state state, int ms)
        return ERROR_OK;
 }
 
-static int handle_halt_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_halt_command)
 {
        LOG_DEBUG("-");
 
@@ -2121,10 +2121,10 @@ static int handle_halt_command(struct command_context_s *cmd_ctx, char *cmd, cha
                        return ERROR_OK;
        }
 
-       return handle_wait_halt_command(cmd_ctx, cmd, args, argc);
+       return CALL_COMMAND_HANDLER(handle_wait_halt_command);
 }
 
-static int handle_soft_reset_halt_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_soft_reset_halt_command)
 {
        target_t *target = get_current_target(cmd_ctx);
 
@@ -2135,7 +2135,7 @@ static int handle_soft_reset_halt_command(struct command_context_s *cmd_ctx, cha
        return ERROR_OK;
 }
 
-static int handle_reset_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_reset_command)
 {
        if (argc > 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -2156,7 +2156,7 @@ static int handle_reset_command(struct command_context_s *cmd_ctx, char *cmd, ch
 }
 
 
-static int handle_resume_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_resume_command)
 {
        int current = 1;
        if (argc > 1)
@@ -2178,7 +2178,7 @@ static int handle_resume_command(struct command_context_s *cmd_ctx, char *cmd, c
        return target_resume(target, current, addr, 1, 0);
 }
 
-static int handle_step_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_step_command)
 {
        if (argc > 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -2250,13 +2250,13 @@ static void handle_md_output(struct command_context_s *cmd_ctx,
        }
 }
 
-static int handle_md_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_md_command)
 {
        if (argc < 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
        unsigned size = 0;
-       switch (cmd[2]) {
+       switch (CMD_NAME[2]) {
        case 'w': size = 4; break;
        case 'h': size = 2; break;
        case 'b': size = 1; break;
@@ -2299,7 +2299,7 @@ static int handle_md_command(struct command_context_s *cmd_ctx, char *cmd, char
        return retval;
 }
 
-static int handle_mw_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_mw_command)
 {
        if (argc < 2)
        {
@@ -2333,7 +2333,7 @@ static int handle_mw_command(struct command_context_s *cmd_ctx, char *cmd, char
        target_t *target = get_current_target(cmd_ctx);
        unsigned wordsize;
        uint8_t value_buf[4];
-       switch (cmd[2])
+       switch (CMD_NAME[2])
        {
                case 'w':
                        wordsize = 4;
@@ -2363,8 +2363,7 @@ static int handle_mw_command(struct command_context_s *cmd_ctx, char *cmd, char
 
 }
 
-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, struct image *image,
                uint32_t *min_address, uint32_t *max_address)
 {
        if (argc < 1 || argc > 5)
@@ -2401,7 +2400,7 @@ static int parse_load_image_command_args(struct command_context_s *cmd_ctx,
        return ERROR_OK;
 }
 
-static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_load_image_command)
 {
        uint8_t *buffer;
        uint32_t buf_cnt;
@@ -2409,9 +2408,9 @@ static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cm
        uint32_t min_address = 0;
        uint32_t max_address = 0xffffffff;
        int i;
-       image_t image;
+       struct image image;
 
-       int retval = parse_load_image_command_args(cmd_ctx, args, argc,
+       int retval = CALL_COMMAND_HANDLER(parse_load_image_command_args,
                        &image, &min_address, &max_address);
        if (ERROR_OK != retval)
                return retval;
@@ -2492,9 +2491,9 @@ static int handle_load_image_command(struct command_context_s *cmd_ctx, char *cm
 
 }
 
-static int handle_dump_image_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_dump_image_command)
 {
-       fileio_t fileio;
+       struct fileio fileio;
 
        uint8_t buffer[560];
        int retvaltemp;
@@ -2555,7 +2554,7 @@ static int handle_dump_image_command(struct command_context_s *cmd_ctx, char *cm
        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;
@@ -2565,7 +2564,7 @@ static int handle_verify_image_command_internal(struct command_context_s *cmd_ct
        uint32_t checksum = 0;
        uint32_t mem_checksum = 0;
 
-       image_t image;
+       struct image image;
 
        target_t *target = get_current_target(cmd_ctx);
 
@@ -2700,20 +2699,20 @@ done:
        return retval;
 }
 
-static int handle_verify_image_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_verify_image_command)
 {
-       return handle_verify_image_command_internal(cmd_ctx, cmd, args, argc, 1);
+       return CALL_COMMAND_HANDLER(handle_verify_image_command_internal, 1);
 }
 
-static int handle_test_image_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_test_image_command)
 {
-       return handle_verify_image_command_internal(cmd_ctx, cmd, args, argc, 0);
+       return CALL_COMMAND_HANDLER(handle_verify_image_command_internal, 0);
 }
 
 static int handle_bp_command_list(struct command_context_s *cmd_ctx)
 {
        target_t *target = get_current_target(cmd_ctx);
-       breakpoint_t *breakpoint = target->breakpoints;
+       struct breakpoint *breakpoint = target->breakpoints;
        while (breakpoint)
        {
                if (breakpoint->type == BKPT_SOFT)
@@ -2750,8 +2749,7 @@ static int handle_bp_command_set(struct command_context_s *cmd_ctx,
        return retval;
 }
 
-static int handle_bp_command(struct command_context_s *cmd_ctx,
-               char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_bp_command)
 {
        if (argc == 0)
                return handle_bp_command_list(cmd_ctx);
@@ -2779,7 +2777,7 @@ static int handle_bp_command(struct command_context_s *cmd_ctx,
        return handle_bp_command_set(cmd_ctx, addr, length, hw);
 }
 
-static int handle_rbp_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_rbp_command)
 {
        if (argc != 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -2793,13 +2791,13 @@ static int handle_rbp_command(struct command_context_s *cmd_ctx, char *cmd, char
        return ERROR_OK;
 }
 
-static int handle_wp_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_wp_command)
 {
        target_t *target = get_current_target(cmd_ctx);
 
        if (argc == 0)
        {
-               watchpoint_t *watchpoint = target->watchpoints;
+               struct watchpoint *watchpoint = target->watchpoints;
 
                while (watchpoint)
                {
@@ -2865,7 +2863,7 @@ static int handle_wp_command(struct command_context_s *cmd_ctx, char *cmd, char
        return retval;
 }
 
-static int handle_rwp_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_rwp_command)
 {
        if (argc != 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -2886,8 +2884,7 @@ static int handle_rwp_command(struct command_context_s *cmd_ctx, char *cmd, char
  * The low-level target implementation must have logged a detailed error
  * which is forwarded to telnet/GDB session.
  */
-static int handle_virt2phys_command(command_context_t *cmd_ctx,
-               char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_virt2phys_command)
 {
        if (argc != 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -3021,7 +3018,7 @@ static void writeGmon(uint32_t *samples, uint32_t sampleNum, const char *filenam
 }
 
 /* profiling samples the CPU PC as quickly as OpenOCD is able, which will be used as a random sampling of PC */
-static int handle_profile_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_profile_command)
 {
        target_t *target = get_current_target(cmd_ctx);
        struct timeval timeout, now;
@@ -3045,7 +3042,7 @@ static int handle_profile_command(struct command_context_s *cmd_ctx, char *cmd,
 
        int numSamples = 0;
        /* hopefully it is safe to cache! We want to stop/restart as quickly as possible. */
-       reg_t *reg = register_get_by_name(target->reg_cache, "pc", 1);
+       struct reg *reg = register_get_by_name(target->reg_cache, "pc", 1);
 
        for (;;)
        {
@@ -3498,7 +3495,7 @@ void target_all_handle_event(enum target_event e)
  */
 void target_handle_event(target_t *target, enum target_event e)
 {
-       target_event_action_t *teap;
+       struct target_event_action *teap;
 
        for (teap = target->event_action; teap != NULL; teap = teap->next) {
                if (teap->event == e) {
@@ -3616,7 +3613,7 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                        }
 
                        {
-                               target_event_action_t *teap;
+                               struct target_event_action *teap;
 
                                teap = target->event_action;
                                /* replace existing? */
@@ -3788,7 +3785,7 @@ static int target_configure(Jim_GetOptInfo *goi, target_t *target)
                case TCFG_CHAIN_POSITION:
                        if (goi->isconfigure) {
                                Jim_Obj *o;
-                               jtag_tap_t *tap;
+                               struct jtag_tap *tap;
                                target_free_all_working_areas(target);
                                e = Jim_GetOpt_Obj(goi, &o);
                                if (e != JIM_OK) {
@@ -4186,7 +4183,7 @@ static int tcl_target_func(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
                 * scripts/programs should use 'name cget -event NAME'
                 */
                {
-                       target_event_action_t *teap;
+                       struct target_event_action *teap;
                        teap = target->event_action;
                        command_print(cmd_ctx, "Event actions for target (%d) %s\n",
                                                   target->target_number,
@@ -4293,9 +4290,9 @@ static int target_create(Jim_GetOptInfo *goi)
        target->target_number = new_target_number();
 
        /* allocate memory for each unique target type */
-       target->type = (target_type_t*)calloc(1,sizeof(target_type_t));
+       target->type = (struct target_type*)calloc(1,sizeof(struct target_type));
 
-       memcpy(target->type, target_types[x], sizeof(target_type_t));
+       memcpy(target->type, target_types[x], sizeof(struct target_type));
 
        /* will be set by "-endian" */
        target->endianness = TARGET_ENDIAN_UNKNOWN;
@@ -4318,7 +4315,7 @@ static int target_create(Jim_GetOptInfo *goi)
        target->halt_issued                     = false;
 
        /* initialize trace information */
-       target->trace_info = malloc(sizeof(trace_t));
+       target->trace_info = malloc(sizeof(struct trace));
        target->trace_info->num_trace_points         = 0;
        target->trace_info->trace_points_size        = 0;
        target->trace_info->trace_points             = NULL;
@@ -4539,7 +4536,7 @@ static void free_fastload(void)
 
 
 
-static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_fast_load_image_command)
 {
        uint8_t *buffer;
        uint32_t buf_cnt;
@@ -4548,9 +4545,9 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
        uint32_t max_address = 0xffffffff;
        int i;
 
-       image_t image;
+       struct image image;
 
-       int retval = parse_load_image_command_args(cmd_ctx, args, argc,
+       int retval = CALL_COMMAND_HANDLER(parse_load_image_command_args,
                        &image, &min_address, &max_address);
        if (ERROR_OK != retval)
                return retval;
@@ -4650,7 +4647,7 @@ static int handle_fast_load_image_command(struct command_context_s *cmd_ctx, cha
        return retval;
 }
 
-static int handle_fast_load_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_fast_load_command)
 {
        if (argc > 0)
                return ERROR_COMMAND_SYNTAX_ERROR;