#ifndef TARGET_H
#define TARGET_H
-#include "types.h"
-#include "jim.h"
+#include <helper/types.h>
+#include <helper/jim.h>
struct reg;
struct trace;
long long halt_issued_time; /* Note time when halt was issued */
};
+/** Returns the instance-specific name of the specified target. */
+static inline const char *target_name(struct target *target)
+{
+ return target->cmd_name;
+}
+
enum target_event
{
/* LD historical names
* - June/July/Aug 2008
* - Duane Ellis */
TARGET_EVENT_OLD_gdb_program_config,
- TARGET_EVENT_OLD_pre_reset,
- TARGET_EVENT_OLD_post_reset,
TARGET_EVENT_OLD_pre_resume,
/* allow GDB to do stuff before others handle the halted event,
TARGET_EVENT_RESET_START,
TARGET_EVENT_RESET_ASSERT_PRE,
+ TARGET_EVENT_RESET_ASSERT, /* C code uses this instead of SRST */
TARGET_EVENT_RESET_ASSERT_POST,
TARGET_EVENT_RESET_DEASSERT_PRE,
TARGET_EVENT_RESET_DEASSERT_POST,
struct target_event_action {
enum target_event event;
+ Jim_Interp *interp;
struct Jim_Obj *body;
int has_percent;
struct target_event_action *next;
- };
+};
+
+bool target_has_event_action(struct target *target, enum target_event event);
struct target_event_callback
{
int target_register_user_commands(struct command_context *cmd_ctx);
int target_init(struct command_context *cmd_ctx);
int target_examine(void);
-int handle_target(void *priv);
int target_process_reset(struct command_context *cmd_ctx,
enum target_reset_mode reset_mode);
struct target *get_target(const char *id);
/**
- * Get the target name.
+ * Get the target type name.
*
* This routine is a wrapper for the target->type->name field.
+ * Note that this is not an instance-specific name for his target.
*/
-const char *target_get_name(struct target *target);
+const char *target_type_name(struct target *target);
/**
* Examine the specified @a target, letting it perform any