1 1.5 cgd /* $NetBSD: db_break.h,v 1.5 1994/06/29 06:31:00 cgd Exp $ */ 2 1.5 cgd 3 1.1 cgd /* 4 1.1 cgd * Mach Operating System 5 1.1 cgd * Copyright (c) 1991,1990 Carnegie Mellon University 6 1.1 cgd * All Rights Reserved. 7 1.1 cgd * 8 1.1 cgd * Permission to use, copy, modify and distribute this software and its 9 1.1 cgd * documentation is hereby granted, provided that both the copyright 10 1.1 cgd * notice and this permission notice appear in all copies of the 11 1.1 cgd * software, derivative works or modified versions, and any portions 12 1.1 cgd * thereof, and that both notices appear in supporting documentation. 13 1.1 cgd * 14 1.1 cgd * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS 15 1.1 cgd * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 16 1.1 cgd * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 17 1.1 cgd * 18 1.1 cgd * Carnegie Mellon requests users of this software to return to 19 1.1 cgd * 20 1.1 cgd * Software Distribution Coordinator or Software.Distribution (at) CS.CMU.EDU 21 1.1 cgd * School of Computer Science 22 1.1 cgd * Carnegie Mellon University 23 1.1 cgd * Pittsburgh PA 15213-3890 24 1.1 cgd * 25 1.1 cgd * any improvements or extensions that they make and grant Carnegie the 26 1.1 cgd * rights to redistribute these changes. 27 1.1 cgd * 28 1.1 cgd * Author: David B. Golub, Carnegie Mellon University 29 1.1 cgd * Date: 7/90 30 1.1 cgd */ 31 1.4 mycroft 32 1.1 cgd #ifndef _DDB_DB_BREAK_H_ 33 1.1 cgd #define _DDB_DB_BREAK_H_ 34 1.1 cgd 35 1.3 mycroft #include <vm/vm.h> 36 1.1 cgd #include <machine/db_machdep.h> 37 1.1 cgd 38 1.1 cgd /* 39 1.1 cgd * Breakpoint. 40 1.1 cgd */ 41 1.1 cgd 42 1.1 cgd struct db_breakpoint { 43 1.1 cgd vm_map_t map; /* in this map */ 44 1.1 cgd db_addr_t address; /* set here */ 45 1.1 cgd int init_count; /* number of times to skip bkpt */ 46 1.1 cgd int count; /* current count */ 47 1.1 cgd int flags; /* flags: */ 48 1.1 cgd #define BKPT_SINGLE_STEP 0x2 /* to simulate single step */ 49 1.1 cgd #define BKPT_TEMP 0x4 /* temporary */ 50 1.1 cgd int bkpt_inst; /* saved instruction at bkpt */ 51 1.1 cgd struct db_breakpoint *link; /* link in in-use or free chain */ 52 1.1 cgd }; 53 1.1 cgd typedef struct db_breakpoint *db_breakpoint_t; 54 1.1 cgd 55 1.1 cgd extern db_breakpoint_t db_find_breakpoint(); 56 1.1 cgd extern db_breakpoint_t db_find_breakpoint_here(); 57 1.1 cgd extern void db_set_breakpoints(); 58 1.1 cgd extern void db_clear_breakpoints(); 59 1.1 cgd 60 1.1 cgd extern db_breakpoint_t db_set_temp_breakpoint(/* db_addr_t addr */); 61 1.1 cgd extern void db_delete_temp_breakpoint(/* db_breakpoint_t bkpt */); 62 1.1 cgd 63 1.1 cgd #endif _DDB_DB_BREAK_H_ 64