db_watch.h revision 2112
11573Srgrimes/*
21573Srgrimes * Mach Operating System
31573Srgrimes * Copyright (c) 1991,1990 Carnegie Mellon University
41573Srgrimes * All Rights Reserved.
51573Srgrimes *
61573Srgrimes * Permission to use, copy, modify and distribute this software and its
71573Srgrimes * documentation is hereby granted, provided that both the copyright
81573Srgrimes * notice and this permission notice appear in all copies of the
91573Srgrimes * software, derivative works or modified versions, and any portions
101573Srgrimes * thereof, and that both notices appear in supporting documentation.
111573Srgrimes *
121573Srgrimes * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS
131573Srgrimes * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
141573Srgrimes * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
151573Srgrimes *
161573Srgrimes * Carnegie Mellon requests users of this software to return to
171573Srgrimes *
181573Srgrimes *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
191573Srgrimes *  School of Computer Science
201573Srgrimes *  Carnegie Mellon University
211573Srgrimes *  Pittsburgh PA 15213-3890
221573Srgrimes *
231573Srgrimes * any improvements or extensions that they make and grant Carnegie the
241573Srgrimes * rights to redistribute these changes.
251573Srgrimes *
261573Srgrimes *	$Id: db_watch.h,v 1.2 1993/10/16 16:47:33 rgrimes Exp $
271573Srgrimes */
281573Srgrimes
291573Srgrimes/*
301573Srgrimes * 	Author: David B. Golub, Carnegie Mellon University
311573Srgrimes *	Date:	10/90
321573Srgrimes */
331573Srgrimes
341573Srgrimes#ifndef	_DDB_DB_WATCH_
351573Srgrimes#define	_DDB_DB_WATCH_
361573Srgrimes
3790045Sobrien#include <vm/vm_map.h>
3890045Sobrien#include <machine/db_machdep.h>
391573Srgrimes
4071579Sdeischen/*
411573Srgrimes * Watchpoint.
421573Srgrimes */
43143305Sphk
44143305Sphktypedef struct db_watchpoint {
451573Srgrimes	vm_map_t map;			/* in this map */
461573Srgrimes	db_addr_t loaddr;		/* from this address */
4713545Sjulian	db_addr_t hiaddr;		/* to this address */
4810954Speter	struct db_watchpoint *link;	/* link in in-use or free chain */
4913545Sjulian} *db_watchpoint_t;
501573Srgrimes
511573Srgrimesextern boolean_t db_find_watchpoint(/* vm_map_t map, db_addr_t addr,
5213545Sjulian				     db_regs_t *regs */);
53146186Sdelphij
5471579Sdeischen
5513545Sjulian
5671579Sdeischenextern void db_set_watchpoint(/* vm_map_t map, db_addr_t addr, vm_size_t size */);
5771579Sdeischenextern void db_delete_watchpoint(/* vm_map_t map, db_addr_t addr */);
58143305Sphkextern void db_list_watchpoints();
5971579Sdeischen
6071579Sdeischen#endif	_DDB_DB_WATCH_
6171579Sdeischen