RTEMS 6.3
Loading...
Searching...
No Matches
Semaphore Manager

This group contains the Semaphore Manager implementation. More...

Topics

 Semaphore Manager Multiprocessing (MP) Support
 This group contains the implementation to support the Semaphore Manager in multiprocessing (MP) configurations.

Files

file  cpukit/include/rtems/rtems/sem.h
 This header file defines the Semaphore Manager API.
file  cpukit/include/rtems/rtems/semdata.h
 This header file provides data structures used by the implementation and the Application Configuration to define _Semaphore_Information.
file  cpukit/include/rtems/rtems/semimpl.h
 This header file provides the implementation interfaces of the Semaphore Manager.
file  cpukit/rtems/src/sem.c
 This source file contains a definition of the _Semaphore_Information with zero objects.
file  cpukit/rtems/src/semcreate.c
 This source file contains the implementation of rtems_semaphore_create() and the Semaphore Manager system initialization.
file  cpukit/rtems/src/semdelete.c
 This source file contains the implementation of rtems_semaphore_delete().
file  cpukit/rtems/src/semflush.c
 This source file contains the implementation of rtems_semaphore_flush().
file  cpukit/rtems/src/semident.c
 This source file contains the implementation of rtems_semaphore_ident().
file  cpukit/rtems/src/semobtain.c
 This source file contains the implementation of rtems_semaphore_obtain().
file  cpukit/rtems/src/semrelease.c
 This source file contains the implementation of rtems_semaphore_release().
file  cpukit/rtems/src/semsetpriority.c
 This source file contains the implementation of rtems_semaphore_set_priority().

Data Structures

struct  Semaphore_Control
union  Semaphore_Control::[union].Core_control

Macros

#define SEMAPHORE_INFORMATION_DEFINE(max, scheduler_count)
 Macro to define the objects information for the Classic Semaphore objects.

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 }

Variables

Objects_Information _Semaphore_Information
 The Classic Semaphore objects information.

Detailed Description

This group contains the Semaphore Manager implementation.

Macro Definition Documentation

◆ SEMAPHORE_INFORMATION_DEFINE

#define SEMAPHORE_INFORMATION_DEFINE ( max,
scheduler_count )
Value:
_Semaphore, \
OBJECTS_CLASSIC_API, \
OBJECTS_RTEMS_SEMAPHORES, \
max, \
_Semaphore_MP_Send_extract_proxy \
)
#define OBJECTS_NO_STRING_NAME
Constant for the object information string name length to indicate that this object class has no stri...
Definition objectdata.h:123
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition objectdata.h:449
Definition semdata.h:60

Macro to define the objects information for the Classic Semaphore objects.

This macro should only be used by <rtems/confdefs.h>.

Parameters
maxThe configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set).
scheduler_countThe configured scheduler count (only used in SMP configurations).

Enumeration Type Documentation

◆ Semaphore_Variant

Classic semaphore variants.

Must be in synchronization with Semaphore_Control::variant.