aboutsummaryrefslogtreecommitdiff
path: root/gdb/tracepoint.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tracepoint.h')
-rw-r--r--gdb/tracepoint.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/gdb/tracepoint.h b/gdb/tracepoint.h
index 8bdd1f7..f23bb53 100644
--- a/gdb/tracepoint.h
+++ b/gdb/tracepoint.h
@@ -35,6 +35,34 @@ enum actionline_type
STEPPING = 2
};
+/* A trace state variable is a value managed by a target being
+ traced. A trace state variable (or tsv for short) can be accessed
+ and assigned to by tracepoint actions and conditionals, but is not
+ part of the program being traced, and it doesn't have to be
+ collected. Effectively the variables are scratch space for
+ tracepoints. */
+
+struct trace_state_variable
+ {
+ /* The variable's name. The user has to prefix with a dollar sign,
+ but we don't store that internally. */
+ const char *name;
+
+ /* An id number assigned by GDB, and transmitted to targets. */
+ int number;
+
+ /* The initial value of a variable is a 64-bit signed integer. */
+ LONGEST initial_value;
+
+ /* 1 if the value is known, else 0. The value is known during a
+ trace run, or in tfind mode if the variable was collected into
+ the current trace frame. */
+ int value_known;
+
+ /* The value of a variable is a 64-bit signed integer. */
+ LONGEST value;
+ };
+
extern unsigned long trace_running_p;
/* A hook used to notify the UI of tracepoint operations. */
@@ -49,4 +77,6 @@ enum actionline_type validate_actionline (char **, struct breakpoint *);
extern void end_actions_pseudocommand (char *args, int from_tty);
extern void while_stepping_pseudocommand (char *args, int from_tty);
+extern struct trace_state_variable *find_trace_state_variable (const char *name);
+
#endif /* TRACEPOINT_H */