diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-11-01 13:22:41 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-11-01 13:22:41 +0000 |
commit | baff4dafe1ff85d128a55e7b73780ca28f5c7faf (patch) | |
tree | e2acdf92de467f283ecd11fe621a67e79301e1cc /cpukit/score/include/rtems/score/threadq.h | |
parent | 2004-11-01 Ralf Corsepius <ralf_corsepius@rtems.org> (diff) | |
download | rtems-baff4dafe1ff85d128a55e7b73780ca28f5c7faf.tar.bz2 |
2004-11-01 Joel Sherrill <joel@oarcorp.com>
* score/cpu/no_cpu/rtems/score/cpu.h, 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/copyrt.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/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/coremsg.inl,
score/inline/rtems/score/coremutex.inl,
score/inline/rtems/score/coresem.inl,
score/inline/rtems/score/heap.inl, score/inline/rtems/score/isr.inl,
score/inline/rtems/score/mppkt.inl,
score/inline/rtems/score/objectmp.inl,
score/inline/rtems/score/priority.inl,
score/inline/rtems/score/stack.inl,
score/inline/rtems/score/states.inl,
score/inline/rtems/score/sysstate.inl,
score/inline/rtems/score/thread.inl,
score/inline/rtems/score/threadmp.inl,
score/inline/rtems/score/tod.inl,
score/inline/rtems/score/tqdata.inl,
score/inline/rtems/score/userext.inl,
score/inline/rtems/score/watchdog.inl,
score/inline/rtems/score/wkspace.inl: Add Doxygen comments -- working
modifications which are not complete and may have broken code.
Committing so work and testing can proceed.
* score/Doxyfile, score/mainpage.h: New files.
Diffstat (limited to 'cpukit/score/include/rtems/score/threadq.h')
-rw-r--r-- | cpukit/score/include/rtems/score/threadq.h | 135 |
1 files changed, 33 insertions, 102 deletions
diff --git a/cpukit/score/include/rtems/score/threadq.h b/cpukit/score/include/rtems/score/threadq.h index cbbb85e345..83b2563b96 100644 --- a/cpukit/score/include/rtems/score/threadq.h +++ b/cpukit/score/include/rtems/score/threadq.h @@ -1,9 +1,12 @@ -/* threadq.h +/** + * @file threadq.h * * This include file contains all the constants and structures associated * with the manipulation of objects. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* + * COPYRIGHT (c) 1989-2004. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -16,6 +19,13 @@ #ifndef __THREAD_QUEUE_h #define __THREAD_QUEUE_h +/** + * @defgroup ScoreThreadQ Thread Queue Handler + * + * This group contains functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -26,132 +36,87 @@ extern "C" { #include <rtems/score/thread.h> #include <rtems/score/watchdog.h> -/* +/** * Constant for indefinite wait. */ - #define THREAD_QUEUE_WAIT_FOREVER WATCHDOG_NO_TIMEOUT -/* +/** * The following type defines the callout used when a remote task * is extracted from a local thread queue. */ - typedef void ( *Thread_queue_Flush_callout )( Thread_Control * ); -/* - * The following type defines the callout used when a local task - * is extracted from a remote thread queue (i.e. it's proxy must - * extracted from the remote queue). - */ - -#if 0 -typedef void ( *Thread_queue_Extract_callout )( - Thread_Control * - ); - -SCORE_EXTERN Thread_queue_Extract_callout - _Thread_queue_Extract_table[ OBJECTS_CLASSES_LAST + 1 ]; -#endif - -/* - * _Thread_queue_Dequeue - * - * DESCRIPTION: +/** @brief Thread queue Dequeue * * This function returns a pointer to a thread waiting on * the_thread_queue. The selection of this thread is based on * the discipline of the_thread_queue. If no threads are waiting * on the_thread_queue, then NULL is returned. */ - Thread_Control *_Thread_queue_Dequeue( Thread_queue_Control *the_thread_queue ); -/* - * _Thread_queue_Enqueue - * - * DESCRIPTION: +/** @brief Thread queue Enqueue * * This routine enqueues the currently executing thread on * the_thread_queue with an optional timeout. */ - void _Thread_queue_Enqueue( Thread_queue_Control *the_thread_queue, Watchdog_Interval timeout ); -/* - * _Thread_queue_Extract - * - * DESCRIPTION: +/** @brief Thread queue Extract * * This routine removes the_thread from the_thread_queue * and cancels any timeouts associated with this blocking. */ - void _Thread_queue_Extract( Thread_queue_Control *the_thread_queue, Thread_Control *the_thread ); -/* - * _Thread_queue_Extract_with_proxy - * - * DESCRIPTION: +/** @brief Thread queue Extract with proxy * * This routine extracts the_thread from the_thread_queue * and ensures that if there is a proxy for this task on * another node, it is also dealt with. */ - boolean _Thread_queue_Extract_with_proxy( Thread_Control *the_thread ); -/* - * _Thread_queue_First - * - * DESCRIPTION: +/** @brief Thread queue First * * This function returns a pointer to the "first" thread * on the_thread_queue. The "first" thread is selected * based on the discipline of the_thread_queue. */ - Thread_Control *_Thread_queue_First( Thread_queue_Control *the_thread_queue ); -/* - * _Thread_queue_Flush - * - * DESCRIPTION: +/** @brief Thread queue Flush * * This routine unblocks all threads blocked on the_thread_queue * and cancels any associated timeouts. */ - void _Thread_queue_Flush( Thread_queue_Control *the_thread_queue, Thread_queue_Flush_callout remote_extract_callout, uint32_t status ); -/* - * _Thread_queue_Initialize - * - * DESCRIPTION: +/** @brief Thread queue Initialize * * This routine initializes the_thread_queue based on the * discipline indicated in attribute_set. The state set on * threads which block on the_thread_queue is state. */ - void _Thread_queue_Initialize( Thread_queue_Control *the_thread_queue, Thread_queue_Disciplines the_discipline, @@ -159,126 +124,91 @@ void _Thread_queue_Initialize( uint32_t timeout_status ); -/* - * _Thread_queue_Dequeue_priority - * - * DESCRIPTION: +/** @brief Thread queue Dequeue priority * * This function returns a pointer to the highest priority * thread waiting on the_thread_queue. If no threads are waiting * on the_thread_queue, then NULL is returned. */ - Thread_Control *_Thread_queue_Dequeue_priority( Thread_queue_Control *the_thread_queue ); -/* - * _Thread_queue_Enqueue_priority - * - * DESCRIPTION: +/** @brief Thread queue Enqueue priority * * This routine enqueues the currently executing thread on * the_thread_queue with an optional timeout using the * priority discipline. */ - void _Thread_queue_Enqueue_priority( Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, Watchdog_Interval timeout ); -/* - * _Thread_queue_Extract_priority - * - * DESCRIPTION: +/** @brief Thread queue Extract priority * * This routine removes the_thread from the_thread_queue * and cancels any timeouts associated with this blocking. */ - void _Thread_queue_Extract_priority( Thread_queue_Control *the_thread_queue, Thread_Control *the_thread ); -/* - * _Thread_queue_First_priority - * - * DESCRIPTION: +/** @brief Thread queue First priority * * This function returns a pointer to the "first" thread * on the_thread_queue. The "first" thread is the highest * priority thread waiting on the_thread_queue. */ - Thread_Control *_Thread_queue_First_priority( Thread_queue_Control *the_thread_queue ); -/* - * _Thread_queue_Dequeue_FIFO - * - * DESCRIPTION: +/** @brief Thread queue Dequeue FIFO * * This function returns a pointer to the thread which has * been waiting the longest on the_thread_queue. If no * threads are waiting on the_thread_queue, then NULL is returned. */ - Thread_Control *_Thread_queue_Dequeue_fifo( Thread_queue_Control *the_thread_queue ); -/* - * _Thread_queue_Enqueue_FIFO - * - * DESCRIPTION: +/** @brief Thread queue Enqueue FIFO * * This routine enqueues the currently executing thread on * the_thread_queue with an optional timeout using the * FIFO discipline. */ - void _Thread_queue_Enqueue_fifo( Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, Watchdog_Interval timeout ); -/* - * _Thread_queue_Extract_FIFO - * - * DESCRIPTION: +/** @brief Thread queue Extract FIFO * * This routine removes the_thread from the_thread_queue * and cancels any timeouts associated with this blocking. */ - void _Thread_queue_Extract_fifo( Thread_queue_Control *the_thread_queue, Thread_Control *the_thread ); -/* - * _Thread_queue_First_FIFO - * - * DESCRIPTION: +/** @brief Thread queue First FIFO * * This function returns a pointer to the "first" thread * on the_thread_queue. The first thread is the thread * which has been waiting longest on the_thread_queue. */ - Thread_Control *_Thread_queue_First_fifo( Thread_queue_Control *the_thread_queue ); -/* - * _Thread_queue_timeout - * - * DESCRIPTION: +/** @brief Thread queue timeout * * This routine is invoked when a task's request has not * been satisfied after the timeout interval specified to @@ -286,7 +216,6 @@ Thread_Control *_Thread_queue_First_fifo( * its status code will be set in it's control block to indicate * that a timeout has occurred. */ - void _Thread_queue_Timeout ( Objects_Id id, void *ignored @@ -296,5 +225,7 @@ void _Thread_queue_Timeout ( } #endif +/**@}*/ + #endif /* end of include file */ |