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.31.1  1997/03/27  18:46:44  barbou
41 * 	ri-osc CR1566: Add db_show_one_thread() prototype. [dwm]
42 * 	[1995/08/28  15:47:07  bolinger]
43 * 	[97/02/25            barbou]
44 *
45 * Revision 1.1.16.6  1995/02/23  21:43:39  alanl
46 * 	Merge with DIPC2_SHARED.
47 * 	[1995/01/05  13:30:16  alanl]
48 *
49 * Revision 1.1.21.2  1994/12/09  22:11:02  dwm
50 * 	mk6 CR801 - merge up from nmk18b4 to nmk18b7
51 * 	* Rev 1.1.16.4  1994/10/11  16:36:02  emcmanus
52 * 	  Added db_show_shuttle() and db_show_runq() prototypes.
53 * 	[1994/12/09  20:36:53  dwm]
54 *
55 * Revision 1.1.21.1  1994/11/10  06:06:47  dwm
56 * 	mk6 CR764 - s/spinlock/simple_lock/ (name change only)
57 * 	[1994/11/10  05:24:14  dwm]
58 *
59 * Revision 1.1.16.3  1994/09/23  01:21:01  ezf
60 * 	change marker to not FREE
61 * 	[1994/09/22  21:10:46  ezf]
62 *
63 * Revision 1.1.16.2  1994/09/16  15:30:07  emcmanus
64 * 	Add prototype for db_show_subsystem.
65 * 	[1994/09/16  15:29:05  emcmanus]
66 *
67 * Revision 1.1.16.1  1994/06/11  21:12:10  bolinger
68 * 	Merge up to NMK17.2.
69 * 	[1994/06/11  20:04:06  bolinger]
70 *
71 * Revision 1.1.18.2  1994/12/06  19:43:09  alanl
72 * 	Intel merge, Oct 94 code drop.
73 * 	Added prototypes for db_show_{one,all}_task_vm
74 * 	[94/11/28            mmp]
75 *
76 * Revision 1.1.18.1  1994/08/05  19:35:57  mmp
77 * 	Remove duplicate prototype for db_show_port_id.
78 * 	[1994/08/05  19:31:44  mmp]
79 *
80 * Revision 1.1.10.3  1994/04/15  18:41:54  paire
81 * 	Changed db_task_from_space prototype.
82 * 	[94/03/31            paire]
83 *
84 * Revision 1.1.10.2  1994/03/07  16:37:54  paire
85 * 	Added ANSI prototype for db_port_kmsg_count routine.
86 * 	[94/02/15            paire]
87 *
88 * Revision 1.1.10.1  1994/02/08  10:58:27  bernadat
89 * 	Added	db_show_one_space
90 * 		db_show_all_spaces
91 * 		db_sys
92 * 	prototypes
93 * 	[94/02/07            bernadat]
94 *
95 * Revision 1.1.2.3  1993/09/17  21:34:40  robert
96 * 	change marker to OSF_FREE_COPYRIGHT
97 * 	[1993/09/17  21:27:24  robert]
98 *
99 * Revision 1.1.2.2  1993/07/27  18:28:01  elliston
100 * 	Add ANSI prototypes.  CR #9523.
101 * 	[1993/07/27  18:12:43  elliston]
102 *
103 * $EndLog$
104 */
105
106#ifndef	_DDB_DB_PRINT_H_
107#define	_DDB_DB_PRINT_H_
108
109#include <mach/boolean.h>
110#include <machine/db_machdep.h>
111
112/* Prototypes for functions exported by this module.
113 */
114void db_show_regs(
115	db_expr_t	addr,
116	boolean_t	have_addr,
117	db_expr_t	count,
118	char		*modif);
119
120void db_show_all_acts(
121	db_expr_t	addr,
122	boolean_t	have_addr,
123	db_expr_t	count,
124	char *		modif);
125
126void db_show_one_act(
127	db_expr_t	addr,
128	boolean_t	have_addr,
129	db_expr_t	count,
130	char *		modif);
131
132void db_show_one_thread(
133	db_expr_t	addr,
134	boolean_t	have_addr,
135	db_expr_t	count,
136	char *		modif);
137
138void db_show_one_task(
139	db_expr_t	addr,
140	boolean_t	have_addr,
141	db_expr_t	count,
142	char *		modif);
143
144void db_show_shuttle(
145	db_expr_t	addr,
146	boolean_t	have_addr,
147	db_expr_t	count,
148	char *		modif);
149
150void db_show_port_id(
151	db_expr_t	addr,
152	boolean_t	have_addr,
153	db_expr_t	count,
154	char *		modif);
155
156void db_show_one_task_vm(
157	db_expr_t	addr,
158	boolean_t	have_addr,
159	db_expr_t	count,
160	char		*modif);
161
162void db_show_all_task_vm(
163	db_expr_t	addr,
164	boolean_t	have_addr,
165	db_expr_t	count,
166	char		*modif);
167
168void db_show_one_space(
169	db_expr_t	addr,
170	boolean_t	have_addr,
171	db_expr_t	count,
172	char *		modif);
173
174void db_show_all_spaces(
175	db_expr_t	addr,
176	boolean_t	have_addr,
177	db_expr_t	count,
178	char *		modif);
179
180void db_sys(void);
181
182int db_port_kmsg_count(
183	ipc_port_t	port);
184
185db_addr_t db_task_from_space(
186	ipc_space_t	space,
187	int		*task_id);
188
189void db_show_one_simple_lock(
190	db_expr_t	addr,
191	boolean_t	have_addr,
192	db_expr_t	count,
193	char *		modif);
194
195void db_show_one_mutex(
196	db_expr_t	addr,
197	boolean_t	have_addr,
198	db_expr_t	count,
199	char *		modif);
200
201void db_show_runq(
202	db_expr_t	addr,
203	boolean_t	have_addr,
204	db_expr_t	count,
205	char *		modif);
206
207void db_show_one_lock(lock_t *);
208
209#endif	/* !_DDB_DB_PRINT_H_ */
210