]> git.saurik.com Git - apple/xnu.git/blob - osfmk/mach/thread_status.h
1e2940d484b0033e007d5f09825410b263a9d34e
[apple/xnu.git] / osfmk / mach / thread_status.h
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 * Revision 1.2.14.4 1995/01/06 19:52:10 devrcs
28 * mk6 CR668 - 1.3b26 merge
29 * [1994/10/14 03:43:20 dwm]
30 *
31 * Revision 1.2.14.3 1994/09/23 02:43:32 ezf
32 * change marker to not FREE
33 * [1994/09/22 21:43:20 ezf]
34 *
35 * Revision 1.2.14.2 1994/08/07 20:50:16 bolinger
36 * Merge up to colo_b7.
37 * [1994/08/01 21:02:13 bolinger]
38 *
39 * Revision 1.2.14.1 1994/06/26 22:59:09 bolinger
40 * Temporary patch to enable thread state large enough to suit 860.
41 * [1994/06/26 22:55:25 bolinger]
42 *
43 * Revision 1.2.11.2 1994/06/25 03:47:26 dwm
44 * mk6 CR98 - use new MD THREAD_STATE_MAX
45 * [1994/06/24 21:55:03 dwm]
46 *
47 * Revision 1.2.11.1 1993/12/10 19:37:05 dwm
48 * Re-hack of workaround: KERNEL_STACK_SIZE back to 1 page;
49 * lower THREAD_STATE_MAX to 64 ints instead.
50 * [1993/12/10 19:36:37 dwm]
51 *
52 * Revision 1.2.3.3 1993/08/03 18:54:25 gm
53 * CR9600: Change thread_state_flavor_t typedef from unsigned int to int.
54 * [1993/08/02 18:57:55 gm]
55 *
56 * Revision 1.2.3.2 1993/06/09 02:43:53 gm
57 * Added to OSF/1 R1.3 from NMK15.0.
58 * [1993/06/02 21:18:31 jeffc]
59 *
60 * Revision 1.2 1993/04/19 16:39:58 devrcs
61 * ansi C conformance changes
62 * [1993/02/02 18:54:42 david]
63 *
64 * Add new thread_state types. [sp@gr.osf.org]
65 * [1992/12/23 13:12:08 david]
66 *
67 * Revision 1.1 1992/09/30 02:32:17 robert
68 * Initial revision
69 *
70 * $EndLog$
71 */
72 /* CMU_HIST */
73 /*
74 * Revision 2.3 91/05/14 17:01:22 mrt
75 * Correcting copyright
76 *
77 * Revision 2.2 91/02/05 17:36:42 mrt
78 * Changed to new Mach copyright
79 * [91/02/01 17:21:56 mrt]
80 *
81 * Revision 2.1 89/08/03 16:06:18 rwd
82 * Created.
83 *
84 * Revision 2.4 89/02/25 18:41:29 gm0w
85 * Changes for cleanup.
86 *
87 * Revision 2.3 89/02/07 00:53:47 mwyoung
88 * Relocated from mach/thread_status.h
89 *
90 * Revision 2.2 88/08/25 18:21:12 mwyoung
91 * Adjusted include file references.
92 * [88/08/16 04:16:13 mwyoung]
93 *
94 * Add THREAD_STATE_FLAVOR_LIST; remove old stuff.
95 * [88/08/11 18:49:48 mwyoung]
96 *
97 *
98 * 15-Jan-88 David Golub (dbg) at Carnegie-Mellon University
99 * Replaced with variable-length array for flexibile interface.
100 *
101 * 28-Apr-87 Avadis Tevanian (avie) at Carnegie-Mellon University
102 * Latest hacks to keep MiG happy wrt refarrays.
103 *
104 * 27-Mar-87 Avadis Tevanian (avie) at Carnegie-Mellon University
105 * Created.
106 *
107 */
108 /* CMU_ENDHIST */
109 /*
110 * Mach Operating System
111 * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University
112 * All Rights Reserved.
113 *
114 * Permission to use, copy, modify and distribute this software and its
115 * documentation is hereby granted, provided that both the copyright
116 * notice and this permission notice appear in all copies of the
117 * software, derivative works or modified versions, and any portions
118 * thereof, and that both notices appear in supporting documentation.
119 *
120 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
121 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
122 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
123 *
124 * Carnegie Mellon requests users of this software to return to
125 *
126 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
127 * School of Computer Science
128 * Carnegie Mellon University
129 * Pittsburgh PA 15213-3890
130 *
131 * any improvements or extensions that they make and grant Carnegie Mellon
132 * the rights to redistribute these changes.
133 */
134 /*
135 */
136 /*
137 * File: mach/thread_status.h
138 * Author: Avadis Tevanian, Jr.
139 *
140 * This file contains the structure definitions for the user-visible
141 * thread state. This thread state is examined with the thread_get_state
142 * kernel call and may be changed with the thread_set_state kernel call.
143 *
144 */
145
146 #ifndef THREAD_STATUS_H_
147 #define THREAD_STATUS_H_
148
149 /*
150 * The actual structure that comprises the thread state is defined
151 * in the machine dependent module.
152 */
153 #include <mach/machine/vm_types.h>
154 #include <mach/machine/thread_status.h>
155 #include <mach/machine/thread_state.h>
156
157 /*
158 * Generic definition for machine-dependent thread status.
159 */
160
161 typedef natural_t *thread_state_t; /* Variable-length array */
162
163 /* THREAD_STATE_MAX is now defined in <mach/machine/thread_state.h> */
164 typedef int thread_state_data_t[THREAD_STATE_MAX];
165
166 #define THREAD_STATE_FLAVOR_LIST 0 /* List of valid flavors */
167
168 typedef int thread_state_flavor_t;
169 typedef thread_state_flavor_t *thread_state_flavor_array_t;
170
171 #endif /* THREAD_STATUS_H_ */