1 /*
2 * Mach Operating System
3 * Copyright (c) 1993,1991,1990 Carnegie Mellon University
4 * All Rights Reserved.
5 *
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.
11 *
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.
15 *
16 * Carnegie Mellon requests users of this software to return to
17 *
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
22 *
23 * any improvements or extensions that they make and grant Carnegie Mellon
24 * the rights to redistribute these changes.
25 */
26 /*
27 * HISTORY
28 * $Log: db_task_thread.h,v $
29 * Revision 2.3 93/11/17 16:25:51 dbg
30 * Added ANSI function prototypes.
31 * [93/10/07 dbg]
32 *
33 * Revision 2.2 91/10/09 16:03:18 af
34 * Created for task/thread handling.
35 * [91/08/29 tak]
36 *
37 */
38
39 #ifndef _DDB_DB_TASK_THREAD_H_
40 #define _DDB_DB_TASK_THREAD_H_
41
42 #include <kern/task.h>
43 #include <kern/thread.h>
44 #include <ddb/db_variables.h>
45
46
47 #define db_current_task() \
48 ((current_thread())? current_thread()->task: TASK_NULL)
49 #define db_target_space(thread, user_space) \
50 ((!(user_space))? TASK_NULL: \
51 (thread)? (thread)->task: db_current_task())
52 #define db_is_current_task(task) \
53 ((task) == TASK_NULL || (task) == db_current_task())
54
55 extern task_t db_default_task; /* default target task */
56 extern thread_t db_default_thread; /* default target thread */
57
58 extern int
59 db_lookup_task(
60 task_t target_task);
61
62 extern int
63 db_lookup_thread(
64 thread_t target_thread);
65
66 extern int
67 db_lookup_task_thread(
68 task_t task,
69 thread_t target_thread);
70
71 extern boolean_t
72 db_check_thread_address_valid(
73 db_addr_t address);
74
75 extern boolean_t
76 db_get_next_thread(
77 thread_t *threadp,
78 int position);
79
80 extern void
81 db_init_default_thread(void);
82
83 extern void
84 db_set_default_thread(
85 struct db_variable *vp,
86 db_expr_t *valuep,
87 int rw_flag,
88 db_var_aux_param_t ap);
89
90 extern void
91 db_get_task_thread(
92 struct db_variable *vp,
93 db_expr_t *valuep,
94 int rw_flag,
95 db_var_aux_param_t ap);
96
97 #endif /* _DDB_DB_TASK_THREAD_H_ */
Cache object: 7c57a4afdd847faa6e651ec8b253b0e0
|