Audit and eliminate redundant #include directives in other target files.
[fw/openocd] / src / target / trace.h
index 7267cd38b92f7e6bfbb3c6167715072616a65a74..92613161aa7203d8a41ebc5a8ddafc7a7247234f 100644 (file)
 #ifndef TRACE_H
 #define TRACE_H
 
-#include "target.h"
+#include "types.h"
+
+struct target_s;
+struct command_context_s;
 
 typedef struct trace_point_s
 {
@@ -30,10 +33,13 @@ typedef struct trace_point_s
 
 typedef struct trace_s
 {
-       int num_trace_points;
+       u32 num_trace_points;
+       u32 trace_points_size;
        trace_point_t *trace_points;
-       int trace_history_size;
+       u32 trace_history_size;
        u32 *trace_history;
+       u32 trace_history_pos;
+       int trace_history_overflowed;
 } trace_t;
 
 typedef enum trace_status
@@ -45,7 +51,10 @@ typedef enum trace_status
        TRACE_OVERFLOWED = 0x8,
 } trace_status_t;
 
-#define ERROR_TRACE_IMAGE_UNAVAILABLE  -(1500)
-#define ERROR_TRACE_INSTRUCTION_UNAVAILABLE    -(1500)
+extern int trace_point(struct target_s *target, u32 number);
+extern int trace_register_commands(struct command_context_s *cmd_ctx);
+
+#define ERROR_TRACE_IMAGE_UNAVAILABLE          -(1500)
+#define ERROR_TRACE_INSTRUCTION_UNAVAILABLE    -(1501)
 
 #endif /* TRACE_H */