#if !defined (TRACEPOINT_H)
#define TRACEPOINT_H 1
-enum enabled { disabled, enabled };
-
+#if !defined (BREAKPOINT_H)
+enum enable { disabled, enabled };
+#endif
/* The data structure for an action: */
struct action_line
{
{
struct tracepoint *next;
- enum enabled enabled;
+ enum enable enabled;
#if 0
/* Type of tracepoint (MVS FIXME: needed?). */
/* Input radix we used to set the tracepoint. */
int input_radix;
- /* String form of the tracepoint trigger condition (malloc'd),
- or NULL if there is no condition. */
- char *cond_string;
-
/* Count of the number of times this tracepoint was taken, dumped
with the info, but not used for anything else. Useful for
seeing how many times you hit a tracepoint prior to the program
int thread;
};
+/* The tracepont chain of all tracepoints */
+
+extern struct tracepoint *tracepoint_chain;
+
+extern unsigned long trace_running_p;
+
+/* A hook used to notify the UI of tracepoint operations */
+
+void (*create_tracepoint_hook) PARAMS ((struct tracepoint *));
+void (*delete_tracepoint_hook) PARAMS ((struct tracepoint *));
+void (*modify_tracepoint_hook) PARAMS ((struct tracepoint *));
+
+struct tracepoint *get_tracepoint_by_number PARAMS ((char **));
+void free_actions PARAMS((struct tracepoint *));
+
+/* Walk the following statement or block through all tracepoints.
+ ALL_TRACEPOINTS_SAFE does so even if the statment deletes the current
+ breakpoint. */
+
+#define ALL_TRACEPOINTS(t) for (t = tracepoint_chain; t; t = t->next)
+#define ALL_TRACEPOINTS_SAFE(t,tmp) \
+ for (t = tracepoint_chain; \
+ t ? (tmp = t->next, 1) : 0;\
+ t = tmp)
#endif /* TRACEPOINT_H */