+struct fast_tracepoint_jump;
+struct raw_breakpoint;
+struct process_info;
+
+#define Z_PACKET_SW_BP '0'
+#define Z_PACKET_HW_BP '1'
+#define Z_PACKET_WRITE_WP '2'
+#define Z_PACKET_READ_WP '3'
+#define Z_PACKET_ACCESS_WP '4'
+
+/* The low level breakpoint types. */
+
+enum raw_bkpt_type
+ {
+ /* Software/memory breakpoint. */
+ raw_bkpt_type_sw,
+
+ /* Hardware-assisted breakpoint. */
+ raw_bkpt_type_hw,
+
+ /* Hardware-assisted write watchpoint. */
+ raw_bkpt_type_write_wp,
+
+ /* Hardware-assisted read watchpoint. */
+ raw_bkpt_type_read_wp,
+
+ /* Hardware-assisted access watchpoint. */
+ raw_bkpt_type_access_wp
+ };
+
+/* Map the protocol breakpoint/watchpoint type Z_TYPE to the internal
+ raw breakpoint type. */
+
+enum raw_bkpt_type Z_packet_to_raw_bkpt_type (char z_type);
+
+/* Map a raw breakpoint type to an enum target_hw_bp_type. */
+
+enum target_hw_bp_type raw_bkpt_type_to_target_hw_bp_type
+ (enum raw_bkpt_type raw_type);
+
+/* Create a new GDB breakpoint of type Z_TYPE at ADDR with size SIZE.
+ Returns a pointer to the newly created breakpoint on success. On
+ failure returns NULL and sets *ERR to either -1 for error, or 1 if
+ Z_TYPE breakpoints are not supported on this target. */
+
+struct breakpoint *set_gdb_breakpoint (char z_type, CORE_ADDR addr, int size,
+ int *err);