1/* 2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 */ 28/* 29 * @OSF_COPYRIGHT@ 30 */ 31/* 32 * HISTORY 33 * 34 * Revision 1.1.1.1 1998/09/22 21:05:48 wsanchez 35 * Import of Mac OS X kernel (~semeria) 36 * 37 * Revision 1.1.1.1 1998/03/07 02:26:09 wsanchez 38 * Import of OSF Mach kernel (~mburg) 39 * 40 * Revision 1.1.6.1 1994/09/23 01:23:04 ezf 41 * change marker to not FREE 42 * [1994/09/22 21:11:39 ezf] 43 * 44 * Revision 1.1.2.4 1993/07/27 18:28:34 elliston 45 * Add ANSI prototypes. CR #9523. 46 * [1993/07/27 18:13:34 elliston] 47 * 48 * Revision 1.1.2.3 1993/06/07 22:07:00 jeffc 49 * CR9176 - ANSI C violations: trailing tokens on CPP 50 * directives, extra semicolons after decl_ ..., asm keywords 51 * [1993/06/07 18:57:38 jeffc] 52 * 53 * Revision 1.1.2.2 1993/06/02 23:13:21 jeffc 54 * Added to OSF/1 R1.3 from NMK15.0. 55 * [1993/06/02 20:57:59 jeffc] 56 * 57 * Revision 1.1 1992/09/30 02:24:28 robert 58 * Initial revision 59 * 60 * $EndLog$ 61 */ 62/* CMU_HIST */ 63/* 64 * Revision 2.5 91/10/09 16:04:47 af 65 * Revision 2.4.3.1 91/10/05 13:09:14 jeffreyh 66 * Changed "map" field of db_watchpoint structure to "task", 67 * and also changed paramters of function declarations. 68 * [91/08/29 tak] 69 * 70 * Revision 2.4.3.1 91/10/05 13:09:14 jeffreyh 71 * Changed "map" field of db_watchpoint structure to "task", 72 * and also changed paramters of function declarations. 73 * [91/08/29 tak] 74 * 75 * Revision 2.4 91/05/14 15:37:46 mrt 76 * Correcting copyright 77 * 78 * Revision 2.3 91/02/05 17:07:31 mrt 79 * Changed to new Mach copyright 80 * [91/01/31 16:20:09 mrt] 81 * 82 * Revision 2.2 90/10/25 14:44:21 rwd 83 * Generalized the watchpoint support. 84 * [90/10/16 rwd] 85 * Created. 86 * [90/10/16 rpd] 87 * 88 */ 89/* CMU_ENDHIST */ 90/* 91 * Mach Operating System 92 * Copyright (c) 1991,1990 Carnegie Mellon University 93 * All Rights Reserved. 94 * 95 * Permission to use, copy, modify and distribute this software and its 96 * documentation is hereby granted, provided that both the copyright 97 * notice and this permission notice appear in all copies of the 98 * software, derivative works or modified versions, and any portions 99 * thereof, and that both notices appear in supporting documentation. 100 * 101 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 102 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 103 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 104 * 105 * Carnegie Mellon requests users of this software to return to 106 * 107 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 108 * School of Computer Science 109 * Carnegie Mellon University 110 * Pittsburgh PA 15213-3890 111 * 112 * any improvements or extensions that they make and grant Carnegie Mellon 113 * the rights to redistribute these changes. 114 */ 115/* 116 */ 117/* 118 * Author: David B. Golub, Carnegie Mellon University 119 * Date: 10/90 120 */ 121 122#ifndef _DDB_DB_WATCH_H_ 123#define _DDB_DB_WATCH_H_ 124 125#include <mach/machine/vm_types.h> 126#include <kern/task.h> 127#include <machine/db_machdep.h> 128 129/* 130 * Watchpoint. 131 */ 132 133typedef struct db_watchpoint { 134 task_t task; /* in this map */ 135 db_addr_t loaddr; /* from this address */ 136 db_addr_t hiaddr; /* to this address */ 137 struct db_watchpoint *link; /* link in in-use or free chain */ 138} *db_watchpoint_t; 139 140 141 142/* Prototypes for functions exported by this module. 143 */ 144 145void db_deletewatch_cmd(db_expr_t, boolean_t, db_expr_t, char *); 146 147void db_watchpoint_cmd(db_expr_t, boolean_t, db_expr_t, char *); 148 149void db_listwatch_cmd(db_expr_t, boolean_t, db_expr_t, char *); 150 151void db_clear_watchpoints(void); 152 153void db_set_watchpoints(void); 154 155boolean_t db_find_watchpoint( 156 vm_map_t map, 157 db_addr_t addr, 158 db_regs_t *regs); 159 160#endif /* !_DDB_DB_WATCH_H_ */ 161