Home | History | Annotate | Line # | Download | only in ddb
db_break.h revision 1.7
      1  1.7  mycroft /*	$NetBSD: db_break.h,v 1.7 1994/10/09 08:29:58 mycroft 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 
     37  1.1      cgd /*
     38  1.7  mycroft  * Breakpoints.
     39  1.1      cgd  */
     40  1.6  mycroft typedef struct db_breakpoint {
     41  1.1      cgd 	vm_map_t map;			/* in this map */
     42  1.1      cgd 	db_addr_t address;		/* set here */
     43  1.1      cgd 	int	init_count;		/* number of times to skip bkpt */
     44  1.1      cgd 	int	count;			/* current count */
     45  1.1      cgd 	int	flags;			/* flags: */
     46  1.1      cgd #define	BKPT_SINGLE_STEP	0x2	    /* to simulate single step */
     47  1.1      cgd #define	BKPT_TEMP		0x4	    /* temporary */
     48  1.1      cgd 	int	bkpt_inst;		/* saved instruction at bkpt */
     49  1.1      cgd 	struct db_breakpoint *link;	/* link in in-use or free chain */
     50  1.6  mycroft } *db_breakpoint_t;
     51  1.1      cgd 
     52  1.6  mycroft db_breakpoint_t	db_find_breakpoint __P((vm_map_t, db_addr_t));
     53  1.6  mycroft db_breakpoint_t	db_find_breakpoint_here __P((db_addr_t));
     54  1.6  mycroft void db_set_breakpoints __P((void));
     55  1.6  mycroft void db_clear_breakpoints __P((void));
     56  1.6  mycroft 
     57  1.6  mycroft db_breakpoint_t	db_set_temp_breakpoint __P((db_addr_t));
     58  1.6  mycroft void db_delete_temp_breakpoint __P((db_breakpoint_t));
     59  1.6  mycroft 
     60  1.6  mycroft boolean_t db_map_equal __P((vm_map_t, vm_map_t));
     61  1.6  mycroft boolean_t db_map_current __P((vm_map_t));
     62  1.6  mycroft vm_map_t db_map_addr __P((vm_offset_t));
     63  1.1      cgd 
     64  1.1      cgd #endif	_DDB_DB_BREAK_H_
     65