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