RTEMS  5.0.0
Data Fields
Semaphore_Control Struct Reference

#include <semdata.h>

Data Fields

Objects_Control Object
 
union {
   Thread_queue_Control   Wait_queue
 The thread queue present in all other variants.
 
   CORE_ceiling_mutex_Control   Mutex
 
   CORE_semaphore_Control   Semaphore
 
Core_control
 
unsigned int variant: 3
 The semaphore variant. More...
 
unsigned int discipline: 1
 The semaphore thread queue discipline. More...
 

Detailed Description

The following defines the control block used to manage each semaphore.

Field Documentation

◆ Core_control

union { ... } Semaphore_Control::Core_control

This contains the memory associated with the SuperCore Semaphore or Mutex instance that provides the primary functionality of each Classic API Semaphore instance. The structure used is dependent on the attributes specified by the user on the create directive.

Note
Only one of these has meaning in a particular Classic API Semaphore instance.

◆ discipline

unsigned int Semaphore_Control::discipline

The semaphore thread queue discipline.

See also
Semaphore_Discipline.

◆ Mutex

CORE_ceiling_mutex_Control Semaphore_Control::Mutex

This is the SuperCore Mutex instance associated with this Classic API Semaphore instance.

◆ Object

Objects_Control Semaphore_Control::Object

This field is the object management portion of a Semaphore instance.

◆ Semaphore

CORE_semaphore_Control Semaphore_Control::Semaphore

This is the SuperCore Semaphore instance associated with this Classic API Semaphore instance.

◆ variant

unsigned int Semaphore_Control::variant

The semaphore variant.

See also
Semaphore_Variant.

The documentation for this struct was generated from the following file: