summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/states.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2006-01-16 15:13:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2006-01-16 15:13:58 +0000
commit6a074363a2657a86b5f1ea0fc1185f68ad9f3c08 (patch)
tree3785d2da164f2c26988014ad5dbae6e35aa24147 /cpukit/score/include/rtems/score/states.h
parent2006-01-16 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-6a074363a2657a86b5f1ea0fc1185f68ad9f3c08.tar.bz2
2006-01-16 Joel Sherrill <joel@OARcorp.com>
Large patch to improve Doxygen output. As a side-effect, grammar and spelling errors were corrected, spacing errors were address, and some variable names were improved. * libmisc/monitor/mon-object.c, libmisc/monitor/monitor.h: Account for changing OBJECTS_NO_CLASS to OBJECTS_CLASSIC_NO_CLASS. * score/Doxyfile: Set output directory. Predefine some macro values. Turn on graphical output. * score/include/rtems/debug.h, score/include/rtems/seterr.h, score/include/rtems/system.h, score/include/rtems/score/address.h, score/include/rtems/score/apiext.h, score/include/rtems/score/apimutex.h, score/include/rtems/score/bitfield.h, score/include/rtems/score/chain.h, score/include/rtems/score/context.h, score/include/rtems/score/coremsg.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/coresem.h, score/include/rtems/score/heap.h, score/include/rtems/score/interr.h, score/include/rtems/score/isr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/mppkt.h, score/include/rtems/score/object.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/priority.h, score/include/rtems/score/stack.h, score/include/rtems/score/states.h, score/include/rtems/score/sysstate.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/tod.h, score/include/rtems/score/tqdata.h, score/include/rtems/score/userext.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h, score/inline/rtems/score/address.inl, score/inline/rtems/score/chain.inl, score/inline/rtems/score/coremutex.inl, score/inline/rtems/score/coresem.inl, score/inline/rtems/score/heap.inl, score/inline/rtems/score/object.inl, score/inline/rtems/score/stack.inl, score/inline/rtems/score/thread.inl, score/inline/rtems/score/tqdata.inl, score/macros/README, score/src/heap.c, score/src/threadmp.c, score/src/threadready.c, score/src/threadstartmultitasking.c: Improve generated Doxygen output. Fix spelling and grammar errors in comments. Correct names of some variables and propagate changes.
Diffstat (limited to 'cpukit/score/include/rtems/score/states.h')
-rw-r--r--cpukit/score/include/rtems/score/states.h33
1 files changed, 29 insertions, 4 deletions
diff --git a/cpukit/score/include/rtems/score/states.h b/cpukit/score/include/rtems/score/states.h
index 2b3cac9eb8..8e0b07f138 100644
--- a/cpukit/score/include/rtems/score/states.h
+++ b/cpukit/score/include/rtems/score/states.h
@@ -5,7 +5,7 @@
*/
/*
- * COPYRIGHT (c) 1989-2004.
+ * COPYRIGHT (c) 1989-2006.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -21,7 +21,8 @@
/**
* @defgroup ScoreStates Thread States Handler
*
- * This group contains functionality which XXX
+ * This handler encapsulates functionality which relates to the management of
+ * the state bitmap associated with each thread.
*/
/**@{*/
@@ -29,11 +30,10 @@
extern "C" {
#endif
-/*
+/**
* The following type defines the control block used to manage a
* thread's state.
*/
-
typedef uint32_t States_Control;
/*
@@ -41,26 +41,48 @@ typedef uint32_t States_Control;
* be used to compose and manipulate a thread's state.
*/
+/** This macro corresponds to all states being set. */
#define STATES_ALL_SET 0xfffff /* all states */
+/** This macro corresponds to a task being ready. */
#define STATES_READY 0x00000 /* ready to run */
+/** This macro corresponds to a task being created but not yet started. */
#define STATES_DORMANT 0x00001 /* created not started */
+/** This macro corresponds to a task being suspended. */
#define STATES_SUSPENDED 0x00002 /* waiting for resume */
+/** This macro corresponds to a task being in an internal state transition. */
#define STATES_TRANSIENT 0x00004 /* in transition */
+/** This macro corresponds to a task which is waiting for a timeout. */
#define STATES_DELAYING 0x00008 /* wait for timeout */
+/** This macro corresponds to a task waiting until a specific TOD. */
#define STATES_WAITING_FOR_TIME 0x00010 /* wait for TOD */
+/** This macro corresponds to a task waiting for a variable length buffer. */
#define STATES_WAITING_FOR_BUFFER 0x00020
+/** This macro corresponds to a task waiting for a fixed size segment. */
#define STATES_WAITING_FOR_SEGMENT 0x00040
+/** This macro corresponds to a task waiting for a message. */
#define STATES_WAITING_FOR_MESSAGE 0x00080
+/** This macro corresponds to a task waiting for an event. */
#define STATES_WAITING_FOR_EVENT 0x00100
+/** This macro corresponds to a task waiting for a semaphore. */
#define STATES_WAITING_FOR_SEMAPHORE 0x00200
+/** This macro corresponds to a task waiting for a mutex. */
#define STATES_WAITING_FOR_MUTEX 0x00400
+/** This macro corresponds to a task waiting for a condition variable. */
#define STATES_WAITING_FOR_CONDITION_VARIABLE 0x00800
+/** This macro corresponds to a task waiting for a join while exiting. */
#define STATES_WAITING_FOR_JOIN_AT_EXIT 0x01000
+/** This macro corresponds to a task waiting for a reply to an MPCI request. */
#define STATES_WAITING_FOR_RPC_REPLY 0x02000
+/** This macro corresponds to a task waiting for a period. */
#define STATES_WAITING_FOR_PERIOD 0x04000
+/** This macro corresponds to a task waiting for a signal. */
#define STATES_WAITING_FOR_SIGNAL 0x08000
+/** This macro corresponds to a task which is in an interruptible
+ * blocking state.
+ */
#define STATES_INTERRUPTIBLE_BY_SIGNAL 0x10000
+/** This macro corresponds to a task waiting for a local object operation. */
#define STATES_LOCALLY_BLOCKED ( STATES_WAITING_FOR_BUFFER | \
STATES_WAITING_FOR_SEGMENT | \
STATES_WAITING_FOR_MESSAGE | \
@@ -70,10 +92,13 @@ typedef uint32_t States_Control;
STATES_WAITING_FOR_JOIN_AT_EXIT | \
STATES_WAITING_FOR_SIGNAL )
+/** This macro corresponds to a task waiting which is blocked on
+ * a thread queue. */
#define STATES_WAITING_ON_THREAD_QUEUE \
( STATES_LOCALLY_BLOCKED | \
STATES_WAITING_FOR_RPC_REPLY )
+/** This macro corresponds to a task waiting which is blocked. */
#define STATES_BLOCKED ( STATES_DELAYING | \
STATES_WAITING_FOR_TIME | \
STATES_WAITING_FOR_PERIOD | \