cpukit/posix: Add the missing manager groups

Eight POSIX managers had no group.  The mutex, the condition variable,
the read-write lock, the barrier, the spinlock, the memory management,
the clock and the scheduler were affected.  Their files had to use the
RTEMSImplPOSIX group of the whole API.

Define one group for each of these managers.  The clock and the
scheduler have no header of their own, so posixapi.h holds their
definitions.

Updates #5717.

Assisted-by: Claude:claude-opus-5 claude-code
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
This commit is contained in:
Sebastian Huber
2026-09-01 20:17:20 +00:00
committed by Gedare Bloom
parent fb4f96c8c5
commit 59e9989ecc
7 changed files with 88 additions and 0 deletions
+12
View File
@@ -50,6 +50,16 @@
extern "C" {
#endif
/**
* @defgroup RTEMSImplPOSIXBarrier POSIX Barrier
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX barrier implementation.
*
* @{
*/
#define POSIX_BARRIER_MAGIC 0x1cf03773UL
#define POSIX_BARRIER_TQ_OPERATIONS &_Thread_queue_Operations_FIFO
@@ -110,6 +120,8 @@ static inline void _POSIX_Barrier_Queue_release(
} \
} while ( 0 )
/** @} */
#ifdef __cplusplus
}
#endif
+12
View File
@@ -46,6 +46,16 @@
extern "C" {
#endif
/**
* @defgroup RTEMSImplPOSIXConditionVariable POSIX Condition Variable
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX condition variable implementation.
*
* @{
*/
typedef struct {
unsigned long flags;
Thread_queue_Syslock_queue Queue;
@@ -194,6 +204,8 @@ bool _POSIX_Condition_variables_Auto_initialization(
} \
} while ( 0 )
/** @} */
#ifdef __cplusplus
}
#endif
+12
View File
@@ -43,6 +43,16 @@
extern "C" {
#endif
/**
* @defgroup RTEMSImplPOSIXMman POSIX Memory Management
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX memory management implementation.
*
* @{
*/
/* FIXME: add Doxygen */
/**
@@ -68,6 +78,8 @@ static inline void mmap_mappings_lock_release( void )
rtems_libio_unlock();
}
/** @} */
#ifdef __cplusplus
}
#endif
+12
View File
@@ -48,6 +48,16 @@
extern "C" {
#endif
/**
* @defgroup RTEMSImplPOSIXMutex POSIX Mutex
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX mutex implementation.
*
* @{
*/
typedef struct {
unsigned long flags;
Mutex_recursive_Control Recursive;
@@ -450,6 +460,8 @@ bool _POSIX_Mutex_Auto_initialization( POSIX_Mutex_Control *the_mutex );
} \
} while ( 0 )
/** @} */
#ifdef __cplusplus
}
#endif
+16
View File
@@ -116,5 +116,21 @@ static inline bool _POSIX_Is_valid_clock_id( clockid_t clock_id )
/** @} */
/**
* @defgroup RTEMSImplPOSIXClock POSIX Clock
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX clock implementation.
*/
/**
* @defgroup RTEMSImplPOSIXScheduler POSIX Scheduler
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX scheduler implementation.
*/
#endif
/* end of include file */
+12
View File
@@ -47,6 +47,16 @@
extern "C" {
#endif
/**
* @defgroup RTEMSImplPOSIXRWLock POSIX Read-Write Lock
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX read-write lock implementation.
*
* @{
*/
#define POSIX_RWLOCK_MAGIC 0x9621dabdUL
typedef struct {
@@ -75,6 +85,8 @@ bool _POSIX_RWLock_Auto_initialization( POSIX_RWLock_Control *the_rwlock );
} \
} while ( 0 )
/** @} */
#ifdef __cplusplus
}
#endif
+12
View File
@@ -53,6 +53,16 @@
extern "C" {
#endif
/**
* @defgroup RTEMSImplPOSIXSpinlock POSIX Spinlock
*
* @ingroup RTEMSImplPOSIX
*
* @brief This group contains the POSIX spinlock implementation.
*
* @{
*/
typedef struct {
#if defined( RTEMS_SMP )
SMP_ticket_lock_Control Lock;
@@ -69,6 +79,8 @@ static inline POSIX_Spinlock_Control *_POSIX_Spinlock_Get(
return (POSIX_Spinlock_Control *) lock;
}
/** @} */
#ifdef __cplusplus
}
#endif