#include "algorithm.h"
#include "command.h"
-struct reg_s;
-struct trace_s;
+struct reg;
+struct trace;
struct command_context_s;
struct target_s;
-typedef struct working_area_s
+struct working_area
{
uint32_t address;
uint32_t size;
int free;
uint8_t *backup;
- struct working_area_s **user;
- struct working_area_s *next;
-} working_area_t;
-
-// target_type.h contains the full definitionof struct target_type_s
-struct target_type_s;
-typedef struct target_type_s target_type_t;
-
-/* forward decloration */
-typedef struct target_event_action_s target_event_action_t;
+ struct working_area **user;
+ struct working_area *next;
+};
+// target_type.h contains the full definitionof struct target_type
typedef struct target_s
{
- target_type_t *type; /* target type definition (name, access functions) */
+ struct target_type *type; /* target type definition (name, access functions) */
const char *cmd_name; /* tcl Name of target */
int target_number; /* DO NOT USE! field to be removed in 2010 */
struct jtag_tap *tap; /* where on the jtag chain is this */
const char *variant; /* what varient of this chip is it? */
- target_event_action_t *event_action;
+ struct target_event_action *event_action;
int reset_halt; /* attempt resetting the CPU into the halted mode? */
uint32_t working_area; /* working area (initialized RAM). Evaluated
uint32_t working_area_phys; /* physical address */
uint32_t working_area_size; /* size in bytes */
uint32_t backup_working_area; /* whether the content of the working area has to be preserved */
- struct working_area_s *working_areas;/* list of allocated working areas */
+ struct working_area *working_areas;/* list of allocated working areas */
enum target_debug_reason debug_reason;/* reason why the target entered debug state */
enum target_endianess endianness; /* target endianess */
// also see: target_state_name()
enum target_state state; /* the current backend-state (running, halted, ...) */
- struct reg_cache_s *reg_cache; /* the first register cache of the target (core regs) */
- struct breakpoint_s *breakpoints; /* list of breakpoints */
- struct watchpoint_s *watchpoints; /* list of watchpoints */
- struct trace_s *trace_info; /* generic trace information */
- struct debug_msg_receiver_s *dbgmsg;/* list of debug message receivers */
+ struct reg_cache *reg_cache; /* the first register cache of the target (core regs) */
+ struct breakpoint *breakpoints; /* list of breakpoints */
+ struct watchpoint *watchpoints; /* list of watchpoints */
+ struct trace *trace_info; /* generic trace information */
+ struct debug_msg_receiver *dbgmsg;/* list of debug message receivers */
uint32_t dbg_msg_enabled; /* debug message status */
void *arch_info; /* architecture specific information */
struct target_s *next; /* next target in list */
TARGET_EVENT_GDB_FLASH_WRITE_END,
};
-struct target_event_action_s {
+struct target_event_action {
enum target_event event;
Jim_Obj *body;
int has_percent;
- target_event_action_t *next;
+ struct target_event_action *next;
};
-typedef struct target_event_callback_s
+struct target_event_callback
{
int (*callback)(struct target_s *target, enum target_event event, void *priv);
void *priv;
- struct target_event_callback_s *next;
-} target_event_callback_t;
+ struct target_event_callback *next;
+};
-typedef struct target_timer_callback_s
+struct target_timer_callback
{
int (*callback)(void *priv);
int time_ms;
int periodic;
struct timeval when;
void *priv;
- struct target_timer_callback_s *next;
-} target_timer_callback_t;
+ struct target_timer_callback *next;
+};
int target_register_commands(struct command_context_s *cmd_ctx);
int target_register_user_commands(struct command_context_s *cmd_ctx);
* This routine is a wrapper for target->type->add_breakpoint.
*/
int target_add_breakpoint(struct target_s *target,
- struct breakpoint_s *breakpoint);
+ struct breakpoint *breakpoint);
/**
* Remove the @a breakpoint for @a target.
*
* This routine is a wrapper for target->type->remove_breakpoint.
*/
int target_remove_breakpoint(struct target_s *target,
- struct breakpoint_s *breakpoint);
+ struct breakpoint *breakpoint);
/**
* Add the @a watchpoint for @a target.
*
* This routine is a wrapper for target->type->add_watchpoint.
*/
int target_add_watchpoint(struct target_s *target,
- struct watchpoint_s *watchpoint);
+ struct watchpoint *watchpoint);
/**
* Remove the @a watchpoint for @a target.
*
* This routine is a wrapper for target->type->remove_watchpoint.
*/
int target_remove_watchpoint(struct target_s *target,
- struct watchpoint_s *watchpoint);
+ struct watchpoint *watchpoint);
/**
* Obtain the registers for GDB.
* This routine is a wrapper for target->type->get_gdb_reg_list.
*/
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);
/**
* Step the target.
* This routine is a wrapper for target->type->run_algorithm.
*/
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);
*
*/
int target_alloc_working_area(struct target_s *target,
- uint32_t size, working_area_t **area);
-int target_free_working_area(struct target_s *target, working_area_t *area);
+ uint32_t size, struct working_area **area);
+int target_free_working_area(struct target_s *target, struct working_area *area);
int target_free_working_area_restore(struct target_s *target,
- working_area_t *area, int restore);
+ struct working_area *area, int restore);
void target_free_all_working_areas(struct target_s *target);
void target_free_all_working_areas_restore(struct target_s *target, int restore);
extern target_t *all_targets;
-extern target_event_callback_t *target_event_callbacks;
-extern target_timer_callback_t *target_timer_callbacks;
+extern struct target_event_callback *target_event_callbacks;
+extern struct target_timer_callback *target_timer_callbacks;
uint32_t target_buffer_get_u32(target_t *target, const uint8_t *buffer);
uint16_t target_buffer_get_u16(target_t *target, const uint8_t *buffer);