RTEMS CPU Kit with SuperCore  4.10.99.0
Defines | Typedefs | Functions
rtems/score/threadq.h File Reference

Constants and Structures Associated with the Manipulation of Objects. More...

#include <rtems/score/tqdata.h>
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
#include <rtems/score/threadq.inl>
Include dependency graph for threadq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define THREAD_QUEUE_WAIT_FOREVER   WATCHDOG_NO_TIMEOUT
 Constant for indefinite wait.
#define _Thread_queue_Enqueue(_the_thread_queue, _timeout)
 Enqueues the currently executing thread on the_thread_queue.
#define _Thread_queue_Extract_priority(_the_thread_queue, _the_thread)   _Thread_queue_Extract_priority_helper( _the_thread_queue, _the_thread, false )
 Wraps the underlying call and hides the requeuing argument.

Typedefs

typedef void(* Thread_queue_Flush_callout )(Thread_Control *)
 The following type defines the callout used when a remote task is extracted from a local thread queue.
typedef void(* Thread_queue_Timeout_callout )(Objects_Id, void *)
 The following type defines the callout used for timeout processing methods.

Functions

Thread_Control_Thread_queue_Dequeue (Thread_queue_Control *the_thread_queue)
 Gets a pointer to a thread waiting on the_thread_queue.
void _Thread_queue_Enqueue_with_handler (Thread_queue_Control *the_thread_queue, Watchdog_Interval timeout, Thread_queue_Timeout_callout handler)
 Blocks a thread and places it on a thread.
void _Thread_queue_Requeue (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread)
 Invoked when a thread changes priority and is blocked.
void _Thread_queue_Extract (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread)
 Extracts thread from thread queue.
bool _Thread_queue_Extract_with_proxy (Thread_Control *the_thread)
 Extracts the_thread from the_thread_queue.
Thread_Control_Thread_queue_First (Thread_queue_Control *the_thread_queue)
 Gets a pointer to the "first" thread on the_thread_queue.
void _Thread_queue_Flush (Thread_queue_Control *the_thread_queue, Thread_queue_Flush_callout remote_extract_callout, uint32_t status)
 Unblocks all threads blocked on the_thread_queue.
void _Thread_queue_Initialize (Thread_queue_Control *the_thread_queue, Thread_queue_Disciplines the_discipline, States_Control state, uint32_t timeout_status)
 Initialize the_thread_queue.
Thread_Control_Thread_queue_Dequeue_priority (Thread_queue_Control *the_thread_queue)
 Removes a thread from the specified PRIORITY based threadq, unblocks it, and cancels its timeout timer.
Thread_blocking_operation_States _Thread_queue_Enqueue_priority (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, ISR_Level *level_p)
 Enqueues the currently executing thread on the_thread_queue.
void _Thread_queue_Extract_priority_helper (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, bool requeuing)
 Removes the_thread and cancels related timeouts.
Thread_Control_Thread_queue_First_priority (Thread_queue_Control *the_thread_queue)
 Get highest priority thread on the_thread_queue.
Thread_Control_Thread_queue_Dequeue_fifo (Thread_queue_Control *the_thread_queue)
 Gets a pointer to the thread which has been waiting the longest.
Thread_blocking_operation_States _Thread_queue_Enqueue_fifo (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, ISR_Level *level_p)
 Enqueues the currently executing thread on the_thread_queue.
void _Thread_queue_Extract_fifo (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread)
 Removes the_thread from the_thread_queue and cancels any timeouts.
Thread_Control_Thread_queue_First_fifo (Thread_queue_Control *the_thread_queue)
 Gets a pointer to the "first" thread on the_thread_queue.
void _Thread_queue_Timeout (Objects_Id id, void *ignored)
 Thread queue timeout.
void _Thread_queue_Process_timeout (Thread_Control *the_thread)
 Process thread queue timeout.

Detailed Description

Constants and Structures Associated with the Manipulation of Objects.

This include file contains all the constants and structures associated with the manipulation of objects.