RTEMS CPU Kit with SuperCore
4.11.2
|
Constants and Structures Associated with the Manipulation of Objects. More...
#include <rtems/score/threadq.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/rbtreeimpl.h>
#include <rtems/score/thread.h>
Go to the source code of this file.
Macros | |
#define | THREAD_QUEUE_FIFO_INITIALIZER(designator, name) |
#define | THREAD_QUEUE_PRIORITY_INITIALIZER(designator, name) |
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. | |
Functions | |
RTEMS_INLINE_ROUTINE void | _Thread_queue_Acquire_critical (Thread_queue_Control *the_thread_queue, ISR_lock_Context *lock_context) |
RTEMS_INLINE_ROUTINE void | _Thread_queue_Acquire (Thread_queue_Control *the_thread_queue, ISR_lock_Context *lock_context) |
RTEMS_INLINE_ROUTINE void | _Thread_queue_Release (Thread_queue_Control *the_thread_queue, ISR_lock_Context *lock_context) |
Thread_Control * | _Thread_queue_Dequeue (Thread_queue_Control *the_thread_queue) |
Gets a pointer to a thread waiting on the_thread_queue. More... | |
void | _Thread_queue_Enqueue_critical (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, States_Control state, Watchdog_Interval timeout, uint32_t timeout_code, ISR_lock_Context *lock_context) |
Blocks the thread and places it on the thread queue. More... | |
RTEMS_INLINE_ROUTINE void | _Thread_queue_Enqueue (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, States_Control state, Watchdog_Interval timeout, uint32_t timeout_code) |
Acquires the thread queue lock and calls _Thread_queue_Enqueue_critical(). | |
void | _Thread_queue_Extract_locked (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread) |
Extracts the thread from the thread queue, restores the default wait operations and restores the default thread lock. More... | |
void | _Thread_queue_Unblock_critical (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, ISR_lock_Context *lock_context) |
Unblocks the thread which was on the thread queue before. More... | |
void | _Thread_queue_Extract_critical (Thread_queue_Control *the_thread_queue, Thread_Control *the_thread, ISR_lock_Context *lock_context) |
Extracts the thread from the thread queue and unblocks it. More... | |
void | _Thread_queue_Extract (Thread_Control *the_thread) |
Extracts thread from thread queue. More... | |
void | _Thread_queue_Extract_with_proxy (Thread_Control *the_thread) |
Extracts the_thread from the_thread_queue. More... | |
RTEMS_INLINE_ROUTINE Thread_Control * | _Thread_queue_First_locked (Thread_queue_Control *the_thread_queue) |
Returns the first thread on the thread queue if it exists, otherwise NULL . More... | |
Thread_Control * | _Thread_queue_First (Thread_queue_Control *the_thread_queue) |
Returns the first thread on the thread queue if it exists, otherwise NULL . More... | |
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. More... | |
void | _Thread_queue_Initialize (Thread_queue_Control *the_thread_queue, Thread_queue_Disciplines the_discipline) |
Initialize the_thread_queue. More... | |
RTEMS_INLINE_ROUTINE void | _Thread_queue_Destroy (Thread_queue_Control *the_thread_queue) |
RBTree_Compare_result | _Thread_queue_Compare_priority (const RBTree_Node *left, const RBTree_Node *right) |
Compare two thread's priority for RBTree Insertion. More... | |
Variables | |
const Thread_queue_Operations | _Thread_queue_Operations_default |
const Thread_queue_Operations | _Thread_queue_Operations_FIFO |
const Thread_queue_Operations | _Thread_queue_Operations_priority |
Constants and Structures Associated with the Manipulation of Objects.
This include file contains all the constants and structures associated with the manipulation of objects.