PR symtab/12984:
[deliverable/binutils-gdb.git] / gdb / tracepoint.h
index 276501e51742fba442f9ccafef117bd4fa1496f2..b94537c8c8e961717b2c7ac4f057004b699b6c3a 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "breakpoint.h"
 #include "target.h"
+#include "memrange.h"
 
 /* A trace state variable is a value managed by a target being
    traced.  A trace state variable (or tsv for short) can be accessed
@@ -191,9 +192,24 @@ extern void release_static_tracepoint_marker (struct static_tracepoint_marker *)
 extern void (*deprecated_trace_find_hook) (char *arg, int from_tty);
 extern void (*deprecated_trace_start_stop_hook) (int start, int from_tty);
 
-int get_traceframe_number (void);
-void set_traceframe_number (int);
+/* Returns the current traceframe number.  */
+extern int get_traceframe_number (void);
+
+/* Make the traceframe NUM be the current GDB trace frame number, and
+   do nothing more.  In particular, this does not flush the
+   register/frame caches or notify the target about the trace frame
+   change, so that is can be used when we need to momentarily access
+   live memory.  Targets lazily switch their current traceframe to
+   match GDB's traceframe number, at the appropriate times.  */
+extern void set_traceframe_number (int);
+
+/* Make the traceframe NUM be the current trace frame, all the way to
+   the target, and flushes all global state (register/frame caches,
+   etc.).  */
+extern void set_current_traceframe (int num);
+
 struct cleanup *make_cleanup_restore_current_traceframe (void);
+struct cleanup *make_cleanup_restore_traceframe_number (void);
 
 void free_actions (struct breakpoint *);
 extern void validate_actionline (char **, struct breakpoint *);
@@ -238,4 +254,7 @@ extern void trace_save (const char *filename, int target_does_save);
 
 extern struct traceframe_info *parse_traceframe_info (const char *tframe_info);
 
+extern int traceframe_available_memory (VEC(mem_range_s) **result,
+                                       CORE_ADDR memaddr, ULONGEST len);
+
 #endif /* TRACEPOINT_H */
This page took 0.025238 seconds and 4 git commands to generate.