1 #ifndef ___LWP_STATES_H__
2 #define ___LWP_STATES_H__
3 
4 #include <gctypes.h>
5 
6 #define LWP_STATES_READY					0x00000000
7 #define LWP_STATES_DORMANT					0x00000001
8 #define LWP_STATES_SUSPENDED				0x00000002
9 #define LWP_STATES_TRANSIENT				0x00000004
10 #define LWP_STATES_DELAYING					0x00000008
11 #define LWP_STATES_WAITING_FOR_TIME			0x00000010
12 #define LWP_STATES_WAITING_FOR_BUFFER		0x00000020
13 #define LWP_STATES_WAITING_FOR_SEGMENT		0x00000040
14 #define LWP_STATES_WAITING_FOR_MESSAGE		0x00000080
15 #define LWP_STATES_WAITING_FOR_EVENT		0x00000100
16 #define LWP_STATES_WAITING_FOR_MUTEX		0x00000200
17 #define LWP_STATES_WAITING_FOR_SEMAPHORE	0x00000400
18 #define LWP_STATES_WAITING_FOR_CONDVAR		0x00000800
19 #define LWP_STATES_WAITING_FOR_JOINATEXIT	0x00001000
20 #define LWP_STATES_WAITING_FOR_RPCREPLAY	0x00002000
21 #define LWP_STATES_WAITING_FOR_PERIOD		0x00004000
22 #define LWP_STATES_WAITING_FOR_SIGNAL		0x00008000
23 #define LWP_STATES_INTERRUPTIBLE_BY_SIGNAL	0x00010000
24 
25 #define LWP_STATES_LOCALLY_BLOCKED			(LWP_STATES_WAITING_FOR_BUFFER | LWP_STATES_WAITING_FOR_SEGMENT |	\
26 											 LWP_STATES_WAITING_FOR_MESSAGE | LWP_STATES_WAITING_FOR_SEMAPHORE |	\
27 											 LWP_STATES_WAITING_FOR_MUTEX | LWP_STATES_WAITING_FOR_CONDVAR |	\
28 											 LWP_STATES_WAITING_FOR_JOINATEXIT | LWP_STATES_WAITING_FOR_SIGNAL)
29 
30 #define LWP_STATES_WAITING_ON_THREADQ		(LWP_STATES_LOCALLY_BLOCKED | LWP_STATES_WAITING_FOR_RPCREPLAY)
31 
32 #define LWP_STATES_BLOCKED					(LWP_STATES_DELAYING | LWP_STATES_WAITING_FOR_TIME |	\
33 											 LWP_STATES_WAITING_FOR_PERIOD | LWP_STATES_WAITING_FOR_EVENT |	\
34 											 LWP_STATES_WAITING_ON_THREADQ | LWP_STATES_INTERRUPTIBLE_BY_SIGNAL)
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 #ifdef LIBOGC_INTERNAL
41 #include <libogc/lwp_states.inl>
42 #endif
43 
44 #ifdef __cplusplus
45 	}
46 #endif
47 
48 #endif
49