19 #ifndef _RTEMS_POSIX_SEMAPHOREIMPL_H    20 #define _RTEMS_POSIX_SEMAPHOREIMPL_H    35 #define POSIX_SEMAPHORE_MAGIC 0x5d367fe7UL    38   _POSIX_Semaphore_Allocate_unprotected( 
void )
    66   return sem->_Semaphore._Queue._name != 
NULL;
    71   return sem->_Semaphore._Queue._heads != 
NULL;
    81   _Semaphore_Initialize_named( &sem->_Semaphore, name, value );
    87   _Semaphore_Destroy( &sem->_Semaphore );
   106     &the_semaphore->Object
   112   size_t                    *name_length_p,
   113   Objects_Get_by_name_error *error
   124 #define POSIX_SEMAPHORE_VALIDATE_OBJECT( sem ) \   128         || ( (uintptr_t) ( sem ) ^ POSIX_SEMAPHORE_MAGIC ) != ( sem )->_flags \   130       rtems_set_errno_and_return_minus_one( EINVAL ); \ Semaphore Implementation.
 
RTEMS_INLINE_ROUTINE Objects_Control * _Objects_Allocate_unprotected(Objects_Information *information)
Allocates an object without locking the allocator mutex.
Definition: objectimpl.h:874
 
Data which Ease the Burden of Consistently Setting Errno.
 
POSIX API Implementation.
 
Definition: semaphore.h:44
 
#define RTEMS_CONTAINER_OF(_m, _type, _member_name)
Returns a pointer to the container of a specified member pointer.
Definition: basedefs.h:430
 
Objects_Control * _Objects_Get_by_name(const Objects_Information *information, const char *name, size_t *name_length_p, Objects_Get_by_name_error *error)
Gets an object control block identified by its name.
Definition: objectnametoidstring.c:26
 
#define POSIX_SEMAPHORE_MAGIC
This is a random number used to check if a semaphore object is properly initialized.
Definition: semaphoreimpl.h:35
 
RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Namespace_remove(POSIX_Semaphore_Control *the_semaphore)
POSIX Semaphore Namespace Remove.
Definition: semaphoreimpl.h:100
 
RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Free(POSIX_Semaphore_Control *the_semaphore)
POSIX Semaphore Free.
Definition: semaphoreimpl.h:50
 
Objects_Information _POSIX_Semaphore_Information
The POSIX Semaphore objects information.
 
RTEMS_INLINE_ROUTINE void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.
Definition: objectimpl.h:930
 
Private Support Information for POSIX Semaphores.
 
void _Objects_Namespace_remove_string(const Objects_Information *information, Objects_Control *the_object)
Removes object with a string name from its namespace.
Definition: objectnamespaceremove.c:25
 
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
 
void _POSIX_Semaphore_Delete(POSIX_Semaphore_Control *the_semaphore)
POSIX Semaphore Delete.
Definition: semaphoredeletesupp.c:23
 
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77