daily update
[external/binutils.git] / gdb / gdbserver / mem-break.h
index dc0a009..b9fcf65 100644 (file)
 #define MEM_BREAK_H
 
 /* Breakpoints are opaque.  */
+struct breakpoint;
+
+/* Create a new GDB breakpoint at WHERE.  Returns -1 if breakpoints
+   are not supported on this target, 0 otherwise.  */
+
+int set_gdb_breakpoint_at (CORE_ADDR where);
+
+/* Returns TRUE if there's any breakpoint at ADDR in our tables,
+   inserted, or not.  */
+
+int breakpoint_here (CORE_ADDR addr);
+
+/* Returns TRUE if there's any inserted breakpoint set at ADDR.  */
+
+int breakpoint_inserted_here (CORE_ADDR addr);
+
+/* Returns TRUE if there's a GDB breakpoint set at ADDR.  */
+
+int gdb_breakpoint_here (CORE_ADDR where);
 
 /* Create a new breakpoint at WHERE, and call HANDLER when
    it is hit.  HANDLER should return 1 if the breakpoint
    should be deleted, 0 otherwise.  */
 
-void set_breakpoint_at (CORE_ADDR where,
-                       int (*handler) (CORE_ADDR));
+struct breakpoint *set_breakpoint_at (CORE_ADDR where,
+                                     int (*handler) (CORE_ADDR));
+
+/* Delete a GDB breakpoint previously inserted at ADDR with
+   set_gdb_breakpoint_at.  */
+
+int delete_gdb_breakpoint_at (CORE_ADDR addr);
+
+/* Delete a breakpoint.  */
 
-/* Delete a breakpoint previously inserted at ADDR with
-   set_breakpoint_at.  */
+int delete_breakpoint (struct breakpoint *bkpt);
 
-void delete_breakpoint_at (CORE_ADDR addr);
+/* Set a reinsert breakpoint at STOP_AT.  */
 
-/* Create a reinsertion breakpoint at STOP_AT for the breakpoint
-   currently at STOP_PC (and temporarily remove the breakpoint at
-   STOP_PC).  */
+void set_reinsert_breakpoint (CORE_ADDR stop_at);
 
-void reinsert_breakpoint_by_bp (CORE_ADDR stop_pc, CORE_ADDR stop_at);
+/* Delete all reinsert breakpoints.  */
 
-/* Change the status of the breakpoint at WHERE to inserted.  */
+void delete_reinsert_breakpoints (void);
 
-void reinsert_breakpoint (CORE_ADDR where);
+/* Reinsert breakpoints at WHERE (and change their status to
+   inserted).  */
 
-/* Change the status of the breakpoint at WHERE to uninserted.  */
+void reinsert_breakpoints_at (CORE_ADDR where);
 
-void uninsert_breakpoint (CORE_ADDR where);
+/* Uninsert breakpoints at WHERE (and change their status to
+   uninserted).  This still leaves the breakpoints in the table.  */
+
+void uninsert_breakpoints_at (CORE_ADDR where);
 
 /* See if any breakpoint claims ownership of STOP_PC.  Call the handler for
    the breakpoint, if found.  */
 
-int check_breakpoints (CORE_ADDR stop_pc);
+void check_breakpoints (CORE_ADDR stop_pc);
 
 /* See if any breakpoints shadow the target memory area from MEM_ADDR
    to MEM_ADDR + MEM_LEN.  Update the data already read from the target
@@ -81,4 +108,8 @@ void delete_all_breakpoints (void);
 
 void free_all_breakpoints (struct process_info *proc);
 
+/* Check if breakpoints still seem to be inserted in the inferior.  */
+
+void validate_breakpoints (void);
+
 #endif /* MEM_BREAK_H */