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);
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_join_at_exit(States_Control the_states)
Checks if WAITING_FOR_JOIN_AT_EXIT state is set.
Definition: statesimpl.h:267
RTEMS_INLINE_ROUTINE bool _States_Is_ready(States_Control the_states)
Checks if the state is ready.
Definition: statesimpl.h:195
#define STATES_INTERRUPTIBLE_BY_SIGNAL
Definition: statesimpl.h:110
#define STATES_LOCALLY_BLOCKED
Definition: statesimpl.h:122
#define STATES_WAITING_FOR_JOIN_AT_EXIT
Definition: statesimpl.h:90
RTEMS_INLINE_ROUTINE bool _States_Is_suspended(States_Control the_states)
Checks if SUSPENDED state is set.
Definition: statesimpl.h:231
#define STATES_WAITING_FOR_RPC_REPLY
Definition: statesimpl.h:113
RTEMS_INLINE_ROUTINE bool _States_Is_locally_blocked(States_Control the_states)
Checks if the state is blocked waiting on a local resource.
Definition: statesimpl.h:306
RTEMS_INLINE_ROUTINE bool _States_Is_interruptible_by_signal(States_Control the_states)
Checks if the state is set to be interruptible.
Definition: statesimpl.h:285
#define STATES_READY
Definition: statesimpl.h:45
#define STATES_DORMANT
Definition: statesimpl.h:119
RTEMS_INLINE_ROUTINE bool _States_Is_dormant(States_Control the_states)
Checks if DORMANT state is set.
Definition: statesimpl.h:213
RTEMS_INLINE_ROUTINE 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.
Definition: statesimpl.h:157
RTEMS_INLINE_ROUTINE 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.
Definition: statesimpl.h:176
RTEMS_INLINE_ROUTINE bool _States_Is_waiting_for_rpc_reply(States_Control the_states)
Checks if WAITING_FOR_TIME state is set.
Definition: statesimpl.h:249
#define STATES_SUSPENDED
Definition: statesimpl.h:96
uint32_t States_Control
Definition: states.h:46
Thread Execution State Information.