/// @returns The current state of SRST.
int jtag_get_srst(void);
-typedef struct jtag_event_callback_s
-{
- int (*callback)(enum jtag_event event, void* priv);
- void* priv;
- struct jtag_event_callback_s* next;
-} jtag_event_callback_t;
+/**
+ * Defines the function signature requide for JTAG event callback
+ * functions, which are added with jtag_register_event_callback()
+ * and removed jtag_unregister_event_callback().
+ * @param event The event to handle.
+ * @param prive A pointer to data that was passed to
+ * jtag_register_event_callback().
+ * @returns Must return ERROR_OK on success, or an error code on failure.
+ *
+ * @todo Change to return void or define a use for its return code.
+ */
+typedef int (*jtag_event_handler_t)(enum jtag_event event, void* priv);
+
+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);
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(int (* callback)(enum jtag_event event, void* priv), void* priv);
-
-extern int jtag_verify_capture_ir;
-
-void jtag_tap_handle_event(jtag_tap_t* tap, enum jtag_tap_event e);
/*
* The JTAG subsystem defines a number of error codes,
void jtag_set_verify(bool enable);
bool jtag_will_verify(void);
+void jtag_set_verify_capture_ir(bool enable);
+bool jtag_will_verify_capture_ir(void);
+
#endif /* JTAG_H */