summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-09 08:41:36 +0000
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-06-09 08:41:36 +0000
commit15974a0eeb50ff41dbe86d8c33e8ecbf5977b2b2 (patch)
tree2859802773267b4e8627e607106b69e8377d2ec9
parentaabb31d5710038b682c06945de4c94b3c612d936 (diff)
downloadopenocd+libswd-15974a0eeb50ff41dbe86d8c33e8ecbf5977b2b2.tar.gz
openocd+libswd-15974a0eeb50ff41dbe86d8c33e8ecbf5977b2b2.tar.bz2
openocd+libswd-15974a0eeb50ff41dbe86d8c33e8ecbf5977b2b2.tar.xz
openocd+libswd-15974a0eeb50ff41dbe86d8c33e8ecbf5977b2b2.zip
Continue encapsulation of JTAG event callback sub-API:
- Move jtag_event_callbacks struct to core.c; it's an implementation detail. - Move jtag_*_event_callbacks next to the definition of the new function type. git-svn-id: svn://svn.berlios.de/openocd/trunk@2169 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/jtag/core.c7
-rw-r--r--src/jtag/jtag.h14
2 files changed, 12 insertions, 9 deletions
diff --git a/src/jtag/core.c b/src/jtag/core.c
index 54ee757c..4d4d2783 100644
--- a/src/jtag/core.c
+++ b/src/jtag/core.c
@@ -87,6 +87,13 @@ static int jtag_verify = 1;
static int jtag_nsrst_delay = 0; /* default to no nSRST delay */
static int jtag_ntrst_delay = 0; /* default to no nTRST delay */
+typedef struct jtag_event_callback_s
+{
+ jtag_event_handler_t callback;
+ void* priv;
+ struct jtag_event_callback_s* next;
+} jtag_event_callback_t;
+
/* callbacks to inform high-level handlers about JTAG state changes */
static jtag_event_callback_t *jtag_event_callbacks;
diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h
index f7b215b3..ce8daccc 100644
--- a/src/jtag/jtag.h
+++ b/src/jtag/jtag.h
@@ -261,12 +261,11 @@ int jtag_get_srst(void);
*/
typedef int (*jtag_event_handler_t)(enum jtag_event event, void* priv);
-typedef struct jtag_event_callback_s
-{
- jtag_event_handler_t callback;
- void* priv;
- struct jtag_event_callback_s* next;
-} jtag_event_callback_t;
+extern int jtag_register_event_callback(jtag_event_handler_t f, void *x);
+extern int jtag_unregister_event_callback(jtag_event_handler_t f);
+
+extern int jtag_call_event_callbacks(enum jtag_event event);
+
/// @returns The current JTAG speed setting.
int jtag_get_speed(void);
@@ -621,9 +620,6 @@ extern int jtag_srst_asserted(int* srst_asserted);
extern void jtag_check_value_mask(scan_field_t *field, u8 *value, u8 *mask);
extern void jtag_sleep(u32 us);
-extern int jtag_call_event_callbacks(enum jtag_event event);
-extern int jtag_register_event_callback(jtag_event_handler_t f, void *x);
-extern int jtag_unregister_event_callback(jtag_event_handler_t f);
/*
* The JTAG subsystem defines a number of error codes,