diff options
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 */ |