RTEMS CPU Kit with SuperCore  4.11.2
Macros | Typedefs | Functions | Variables
threadqimpl.h File Reference

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>
Include dependency graph for threadqimpl.h:
This graph shows which files directly or indirectly include this file:

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
 

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.