21 #ifndef _RTEMS_SCORE_STATESIMPL_H 22 #define _RTEMS_SCORE_STATESIMPL_H 45 #define STATES_READY 0x00000000 48 #define STATES_WAITING_FOR_MUTEX 0x00000001 51 #define STATES_WAITING_FOR_SEMAPHORE 0x00000002 54 #define STATES_WAITING_FOR_EVENT 0x00000004 57 #define STATES_WAITING_FOR_SYSTEM_EVENT 0x00000008 60 #define STATES_WAITING_FOR_MESSAGE 0x00000010 63 #define STATES_WAITING_FOR_CONDITION_VARIABLE 0x00000020 66 #define STATES_WAITING_FOR_FUTEX 0x00000040 69 #define STATES_WAITING_FOR_BSD_WAKEUP 0x00000080 75 #define STATES_WAITING_FOR_TIME 0x00000100 78 #define STATES_WAITING_FOR_PERIOD 0x00000200 81 #define STATES_WAITING_FOR_SIGNAL 0x00000400 84 #define STATES_WAITING_FOR_BARRIER 0x00000800 87 #define STATES_WAITING_FOR_RWLOCK 0x00001000 90 #define STATES_WAITING_FOR_JOIN_AT_EXIT 0x00002000 93 #define STATES_WAITING_FOR_JOIN 0x00004000 96 #define STATES_SUSPENDED 0x00008000 99 #define STATES_WAITING_FOR_SEGMENT 0x00010000 102 #define STATES_LIFE_IS_CHANGING 0x00020000 105 #define STATES_DEBUGGER 0x08000000 110 #define STATES_INTERRUPTIBLE_BY_SIGNAL 0x10000000 113 #define STATES_WAITING_FOR_RPC_REPLY 0x20000000 116 #define STATES_ZOMBIE 0x40000000 119 #define STATES_DORMANT 0x80000000 122 #define STATES_LOCALLY_BLOCKED ( STATES_WAITING_FOR_SEGMENT | \ 123 STATES_WAITING_FOR_MESSAGE | \ 124 STATES_WAITING_FOR_SEMAPHORE | \ 125 STATES_WAITING_FOR_MUTEX | \ 126 STATES_WAITING_FOR_CONDITION_VARIABLE | \ 127 STATES_WAITING_FOR_JOIN | \ 128 STATES_WAITING_FOR_SIGNAL | \ 129 STATES_WAITING_FOR_BARRIER | \ 130 STATES_WAITING_FOR_BSD_WAKEUP | \ 131 STATES_WAITING_FOR_FUTEX | \ 132 STATES_WAITING_FOR_RWLOCK ) 135 #define STATES_BLOCKED ( STATES_LOCALLY_BLOCKED | \ 136 STATES_WAITING_FOR_TIME | \ 137 STATES_WAITING_FOR_PERIOD | \ 138 STATES_WAITING_FOR_EVENT | \ 139 STATES_WAITING_FOR_RPC_REPLY | \ 140 STATES_WAITING_FOR_SYSTEM_EVENT | \ 141 STATES_INTERRUPTIBLE_BY_SIGNAL ) 144 #define STATES_ALL_SET 0xffffffff 162 return (current_state | states_to_set);
181 return (current_state & ~states_to_clear);
static __inline__ bool _States_Is_waiting_for_join_at_exit(States_Control the_states)
Checks if WAITING_FOR_JOIN_AT_EXIT state is set.
#define STATES_LOCALLY_BLOCKED
static __inline__ bool _States_Is_waiting_for_rpc_reply(States_Control the_states)
Checks if WAITING_FOR_TIME state is set.
#define STATES_INTERRUPTIBLE_BY_SIGNAL
Thread Execution State Information.
static __inline__ States_Control _States_Set(States_Control states_to_set, States_Control current_state)
Returns the result of setting the states to set to the given state.
static __inline__ bool _States_Is_dormant(States_Control the_states)
Checks if DORMANT state is set.
static __inline__ bool _States_Is_suspended(States_Control the_states)
Checks if SUSPENDED state is set.
static __inline__ bool _States_Is_interruptible_by_signal(States_Control the_states)
Checks if the state is set to be interruptible.
static __inline__ bool _States_Is_ready(States_Control the_states)
Checks if the state is ready.
This header file provides basic definitions used by the API and the implementation.
#define RTEMS_INLINE_ROUTINE
Gives a hint to the compiler in a function declaration to inline this function.
#define STATES_WAITING_FOR_JOIN_AT_EXIT
#define STATES_WAITING_FOR_RPC_REPLY
static __inline__ States_Control _States_Clear(States_Control states_to_clear, States_Control current_state)
Clears the states into the passed current state and returns the result.
static __inline__ bool _States_Is_locally_blocked(States_Control the_states)
Checks if the state is blocked waiting on a local resource.