Replacing a bogus file with a semi-bogus one (sharing through devo).
[deliverable/binutils-gdb.git] / gdb / tracepoint.h
index fa6f4eb520f86369ed6671481e9bb31ecdec370c..fc3e9a5d343f304f59846176da55ebca3644fdb9 100644 (file)
@@ -20,8 +20,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #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 
 {
@@ -35,7 +36,7 @@ struct tracepoint
 {
   struct tracepoint *next;
 
-  enum enabled enabled;
+  enum enable enabled;
 
 #if 0
   /* Type of tracepoint (MVS FIXME: needed?). */
@@ -79,19 +80,58 @@ struct tracepoint
   /* 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
      aborting, so you can back up to just before the abort.  */
   int hit_count;
 
-  /* Thread number for thread-specific breakpoint, or -1 if don't care */ 
+  /* Thread number for thread-specific tracepoint, or -1 if don't care */ 
   int thread;
+
+  /* BFD section, in case of overlays: 
+     no, I don't know if tracepoints are really gonna work with overlays.  */
+  asection *section;
 };
 
+enum actionline_type
+{
+  BADLINE  = -1,
+  GENERIC  =  0,
+  END      =  1,
+  STEPPING =  2,
+};
+
+
+/* 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 *));
+void (*trace_find_hook) PARAMS ((char *arg, int from_tty));
+void (*trace_start_stop_hook) PARAMS ((int start, int from_tty));
+
+struct tracepoint *get_tracepoint_by_number PARAMS ((char **));
+int get_traceframe_number PARAMS ((void));
+void  free_actions PARAMS((struct tracepoint *));
+enum actionline_type validate_actionline PARAMS((char **,
+                                                        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 */
This page took 0.023872 seconds and 4 git commands to generate.