RTEMS: cpukit/include/rtems/rtems/semimpl.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Enumerations | Functions
semimpl.h File Reference
Internal » Classic » Semaphore Manager Implementation

Classic Semaphore Manager Implementation. More...

`#include <rtems/rtems/semdata.h>`
`#include <rtems/score/coremuteximpl.h>`
`#include <rtems/score/coresemimpl.h>`
`#include <rtems/score/mrspimpl.h>`

Go to the source code of this file.

## 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 }
| Classic semaphore variants. More...
enum | Semaphore_Discipline { SEMAPHORE_DISCIPLINE_PRIORITY , SEMAPHORE_DISCIPLINE_FIFO }

## Functions
RTEMS_INLINE_ROUTINE uintptr_t | _Semaphore_Get_flags (const Semaphore_Control *the_semaphore)
RTEMS_INLINE_ROUTINE void | _Semaphore_Set_flags (Semaphore_Control *the_semaphore, uintptr_t flags)
RTEMS_INLINE_ROUTINE Semaphore_Variant | _Semaphore_Get_variant (uintptr_t flags)
RTEMS_INLINE_ROUTINE uintptr_t | _Semaphore_Set_variant (uintptr_t flags, Semaphore_Variant variant)
RTEMS_INLINE_ROUTINE Semaphore_Discipline | _Semaphore_Get_discipline (uintptr_t flags)
RTEMS_INLINE_ROUTINE uintptr_t | _Semaphore_Set_discipline (uintptr_t flags, Semaphore_Discipline discipline)
RTEMS_INLINE_ROUTINE const Thread_queue_Operations * | _Semaphore_Get_operations (uintptr_t flags)
RTEMS_INLINE_ROUTINE Semaphore_Control * | _Semaphore_Allocate (void)
| Allocates a semaphore control block from the inactive chain of free semaphore control blocks.
RTEMS_INLINE_ROUTINE void | _Semaphore_Free (Semaphore_Control *the_semaphore)
| Frees a semaphore control block to the inactive chain of free semaphore control blocks.
RTEMS_INLINE_ROUTINE Semaphore_Control * | _Semaphore_Get (Objects_Id id, Thread_queue_Context *queue_context)

## Detailed Description

Classic Semaphore Manager Implementation.