RTEMS  5.1
Enumerations | Functions
semimpl.h File Reference

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. More...
 
RTEMS_INLINE_ROUTINE void _Semaphore_Free (Semaphore_Control *the_semaphore)
 Frees a semaphore control block to the inactive chain of free semaphore control blocks. More...
 
RTEMS_INLINE_ROUTINE Semaphore_Control_Semaphore_Get (Objects_Id id, Thread_queue_Context *queue_context)
 

Detailed Description

Classic Semaphore Manager Implementation.