|
#define | POSIX_MUTEX_PROTOCOL_MASK 0x3UL |
|
#define | POSIX_MUTEX_RECURSIVE 0x4UL |
|
#define | POSIX_MUTEX_FLAGS_MASK 0x7UL |
|
#define | POSIX_MUTEX_MAGIC 0x961c13b8UL |
|
#define | POSIX_MUTEX_NO_PROTOCOL_TQ_OPERATIONS &_Thread_queue_Operations_FIFO |
|
#define | POSIX_MUTEX_PRIORITY_INHERIT_TQ_OPERATIONS &_Thread_queue_Operations_priority_inherit |
|
#define | POSIX_MUTEX_PRIORITY_CEILING_TQ_OPERATIONS &_Thread_queue_Operations_priority |
|
#define | POSIX_MUTEX_ABSTIME_TRY_LOCK ((uintptr_t) 1) |
|
#define | POSIX_MUTEX_VALIDATE_OBJECT(the_mutex, flags) |
|
|
RTEMS_INLINE_ROUTINE Thread_Control * | _POSIX_Mutex_Acquire (POSIX_Mutex_Control *the_mutex, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE void | _POSIX_Mutex_Release (POSIX_Mutex_Control *the_mutex, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE POSIX_Mutex_Protocol | _POSIX_Mutex_Get_protocol (unsigned long flags) |
|
RTEMS_INLINE_ROUTINE bool | _POSIX_Mutex_Is_recursive (unsigned long flags) |
|
RTEMS_INLINE_ROUTINE Thread_Control * | _POSIX_Mutex_Get_owner (const POSIX_Mutex_Control *the_mutex) |
|
RTEMS_INLINE_ROUTINE bool | _POSIX_Mutex_Is_locked (const POSIX_Mutex_Control *the_mutex) |
|
Status_Control | _POSIX_Mutex_Seize_slow (POSIX_Mutex_Control *the_mutex, const Thread_queue_Operations *operations, Thread_Control *executing, const struct timespec *abstime, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE void | _POSIX_Mutex_Set_owner (POSIX_Mutex_Control *the_mutex, Thread_Control *owner) |
|
RTEMS_INLINE_ROUTINE bool | _POSIX_Mutex_Is_owner (const POSIX_Mutex_Control *the_mutex, const Thread_Control *the_thread) |
|
RTEMS_INLINE_ROUTINE Status_Control | _POSIX_Mutex_Seize (POSIX_Mutex_Control *the_mutex, unsigned long flags, const Thread_queue_Operations *operations, Thread_Control *executing, const struct timespec *abstime, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE Status_Control | _POSIX_Mutex_Surrender (POSIX_Mutex_Control *the_mutex, const Thread_queue_Operations *operations, Thread_Control *executing, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE const Scheduler_Control * | _POSIX_Mutex_Get_scheduler (const POSIX_Mutex_Control *the_mutex) |
|
RTEMS_INLINE_ROUTINE void | _POSIX_Mutex_Set_priority (POSIX_Mutex_Control *the_mutex, Priority_Control priority_ceiling, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE Priority_Control | _POSIX_Mutex_Get_priority (const POSIX_Mutex_Control *the_mutex) |
|
RTEMS_INLINE_ROUTINE Status_Control | _POSIX_Mutex_Ceiling_set_owner (POSIX_Mutex_Control *the_mutex, Thread_Control *owner, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE Status_Control | _POSIX_Mutex_Ceiling_seize (POSIX_Mutex_Control *the_mutex, unsigned long flags, Thread_Control *executing, const struct timespec *abstime, Thread_queue_Context *queue_context) |
|
RTEMS_INLINE_ROUTINE Status_Control | _POSIX_Mutex_Ceiling_surrender (POSIX_Mutex_Control *the_mutex, Thread_Control *executing, Thread_queue_Context *queue_context) |
|
int | _POSIX_Mutex_Lock_support (pthread_mutex_t *mutex, const struct timespec *abstime, Thread_queue_Enqueue_callout enqueue_callout) |
|
bool | _POSIX_Mutex_Auto_initialization (POSIX_Mutex_Control *the_mutex) |
|
Private Inlined Routines for POSIX Mutex's.
This include file contains the static inline implementation of the private inlined routines for POSIX mutex's.