RTEMS
|
Files | |
file | semdata.h |
Classic Semaphore Manager Data Structures. | |
file | semimpl.h |
Classic Semaphore Manager Implementation. | |
file | semident.c |
rtems_semaphore_ident() Implementation | |
Classes | |
struct | Semaphore_Control |
Macros | |
#define | SEMAPHORE_INFORMATION_DEFINE(max, scheduler_count) |
Macro to define the objects information for the Classic Semaphore objects. More... | |
Enumerations | |
enum | Semaphore_Variant { SEMAPHORE_VARIANT_MUTEX_INHERIT_PRIORITY, SEMAPHORE_VARIANT_MUTEX_PRIORITY_CEILING, SEMAPHORE_VARIANT_MUTEX_NO_PROTOCOL, SEMAPHORE_VARIANT_SIMPLE_BINARY, SEMAPHORE_VARIANT_COUNTING, SEMAPHORE_VARIANT_MRSP } |
Classic semaphore variants. More... | |
enum | Semaphore_Discipline { SEMAPHORE_DISCIPLINE_PRIORITY, SEMAPHORE_DISCIPLINE_FIFO } |
Functions | |
static __inline__ uintptr_t | _Semaphore_Get_flags (const Semaphore_Control *the_semaphore) |
static __inline__ void | _Semaphore_Set_flags (Semaphore_Control *the_semaphore, uintptr_t flags) |
static __inline__ Semaphore_Variant | _Semaphore_Get_variant (uintptr_t flags) |
static __inline__ uintptr_t | _Semaphore_Set_variant (uintptr_t flags, Semaphore_Variant variant) |
static __inline__ Semaphore_Discipline | _Semaphore_Get_discipline (uintptr_t flags) |
static __inline__ uintptr_t | _Semaphore_Set_discipline (uintptr_t flags, Semaphore_Discipline discipline) |
static __inline__ const Thread_queue_Operations * | _Semaphore_Get_operations (uintptr_t flags) |
static __inline__ Semaphore_Control * | _Semaphore_Allocate (void) |
Allocates a semaphore control block from the inactive chain of free semaphore control blocks. More... | |
static __inline__ void | _Semaphore_Free (Semaphore_Control *the_semaphore) |
Frees a semaphore control block to the inactive chain of free semaphore control blocks. More... | |
static __inline__ Semaphore_Control * | _Semaphore_Get (Objects_Id id, Thread_queue_Context *queue_context) |
Variables | |
Objects_Information | _Semaphore_Information |
The Classic Semaphore objects information. | |
#define SEMAPHORE_INFORMATION_DEFINE | ( | max, | |
scheduler_count | |||
) |
Macro to define the objects information for the Classic Semaphore objects.
This macro should only be used by <rtems/confdefs.h>.
max | The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set). |
scheduler_count | The configured scheduler count (only used in SMP configurations). |
enum Semaphore_Variant |
|
static |
|
static |