RTEMS 6.1-rc5
Loading...
Searching...
No Matches
Modules | Files | Data Structures | Macros | Enumerations | Variables
Semaphore Manager

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

Modules

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

Files

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

Data Structures

struct  Semaphore_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.