|
|
1.1.1.2 root 1: /*
1.1 root 2: * Mach Operating System
3: * Copyright (c) 1991,1990 Carnegie Mellon University
4: * All Rights Reserved.
1.1.1.2 root 5: *
1.1 root 6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
1.1.1.2 root 11: *
1.1 root 12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
1.1.1.2 root 15: *
1.1 root 16: * Carnegie Mellon requests users of this software to return to
1.1.1.2 root 17: *
1.1 root 18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
1.1.1.2 root 22: *
1.1 root 23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26: /*
27: * Author: David B. Golub, Carnegie Mellon University
28: * Date: 10/90
29: */
30:
31: #if MACH_KDB
32:
33: #ifndef _DDB_DB_WATCH_
34: #define _DDB_DB_WATCH_
35:
36: #include <mach/machine/vm_types.h>
37: #include <kern/task.h>
38: #include <machine/db_machdep.h>
39:
40: /*
41: * Watchpoint.
42: */
43:
44: typedef struct db_watchpoint {
45: task_t task; /* in this map */
46: db_addr_t loaddr; /* from this address */
47: db_addr_t hiaddr; /* to this address */
48: struct db_watchpoint *link; /* link in in-use or free chain */
49: } *db_watchpoint_t;
50:
1.1.1.3 root 51: extern boolean_t db_find_watchpoint(vm_map_t map, db_addr_t addr,
1.1.1.4 ! root 52: db_regs_t *regs);
1.1.1.3 root 53: extern void db_set_watchpoints(void);
54: extern void db_clear_watchpoints(void);
55:
1.1.1.4 ! root 56: extern void db_set_watchpoint(const task_t task, db_addr_t addr, vm_size_t size);
! 57: extern void db_delete_watchpoint(const task_t task, db_addr_t addr);
1.1.1.3 root 58: extern void db_list_watchpoints(void);
59:
1.1.1.4 ! root 60: void db_listwatch_cmd(void);
1.1.1.3 root 61:
62: void db_deletewatch_cmd(
63: db_expr_t addr,
64: int have_addr,
65: db_expr_t count,
1.1.1.4 ! root 66: const char * modif);
1.1.1.3 root 67:
68: void db_watchpoint_cmd(
69: db_expr_t addr,
70: int have_addr,
71: db_expr_t count,
1.1.1.4 ! root 72: const char * modif);
1.1 root 73:
1.1.1.2 root 74: #endif /* _DDB_DB_WATCH_ */
1.1 root 75:
1.1.1.2 root 76: #endif /* MACH_KDB */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.