mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-10-06 10:59:48 +08:00
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:
committed by
Gedare Bloom
parent
fb4f96c8c5
commit
59e9989ecc
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user