00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _RTEMS_SCORE_STATES_H
00019 #define _RTEMS_SCORE_STATES_H
00020
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00037 typedef uint32_t States_Control;
00038
00039
00040
00041
00042
00043
00045 #define STATES_ALL_SET 0xfffff
00046
00047 #define STATES_READY 0x00000
00048
00049 #define STATES_DORMANT 0x00001
00050
00051 #define STATES_SUSPENDED 0x00002
00052
00053 #define STATES_TRANSIENT 0x00004
00054
00055 #define STATES_DELAYING 0x00008
00056
00057 #define STATES_WAITING_FOR_TIME 0x00010
00058
00059 #define STATES_WAITING_FOR_BUFFER 0x00020
00060
00061 #define STATES_WAITING_FOR_SEGMENT 0x00040
00062
00063 #define STATES_WAITING_FOR_MESSAGE 0x00080
00064
00065 #define STATES_WAITING_FOR_EVENT 0x00100
00066
00067 #define STATES_WAITING_FOR_SEMAPHORE 0x00200
00068
00069 #define STATES_WAITING_FOR_MUTEX 0x00400
00070
00071 #define STATES_WAITING_FOR_CONDITION_VARIABLE 0x00800
00072
00073 #define STATES_WAITING_FOR_JOIN_AT_EXIT 0x01000
00074
00075 #define STATES_WAITING_FOR_RPC_REPLY 0x02000
00076
00077 #define STATES_WAITING_FOR_PERIOD 0x04000
00078
00079 #define STATES_WAITING_FOR_SIGNAL 0x08000
00080
00081 #define STATES_WAITING_FOR_BARRIER 0x10000
00082
00083 #define STATES_WAITING_FOR_RWLOCK 0x20000
00084
00088 #define STATES_INTERRUPTIBLE_BY_SIGNAL 0x10000000
00089
00091 #define STATES_LOCALLY_BLOCKED ( STATES_WAITING_FOR_BUFFER | \
00092 STATES_WAITING_FOR_SEGMENT | \
00093 STATES_WAITING_FOR_MESSAGE | \
00094 STATES_WAITING_FOR_SEMAPHORE | \
00095 STATES_WAITING_FOR_MUTEX | \
00096 STATES_WAITING_FOR_CONDITION_VARIABLE | \
00097 STATES_WAITING_FOR_JOIN_AT_EXIT | \
00098 STATES_WAITING_FOR_SIGNAL | \
00099 STATES_WAITING_FOR_BARRIER | \
00100 STATES_WAITING_FOR_RWLOCK )
00101
00104 #define STATES_WAITING_ON_THREAD_QUEUE \
00105 ( STATES_LOCALLY_BLOCKED | \
00106 STATES_WAITING_FOR_RPC_REPLY )
00107
00109 #define STATES_BLOCKED ( STATES_DELAYING | \
00110 STATES_WAITING_FOR_TIME | \
00111 STATES_WAITING_FOR_PERIOD | \
00112 STATES_WAITING_FOR_EVENT | \
00113 STATES_WAITING_ON_THREAD_QUEUE | \
00114 STATES_INTERRUPTIBLE_BY_SIGNAL )
00115
00116 #ifndef __RTEMS_APPLICATION__
00117 #include <rtems/score/states.inl>
00118 #endif
00119
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123
00126 #endif
00127