summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Dachsberger <andreas.dachsberger@embedded-brains.de>2019-04-08 11:18:36 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-05-13 07:42:03 +0200
commitd5b63c2b212907a41dbe450f8176e32e2225a321 (patch)
treeea19138ebb48ae34b7837e4f4ee46239c5308c71
parentdoxygen: score: adjust doc in coresem.h to doxygen guidelines (diff)
downloadrtems-d5b63c2b212907a41dbe450f8176e32e2225a321.tar.bz2
doxygen: score: adjust doc in coresemimpl.h to doxygen guidelines
Update #3706.
-rw-r--r--cpukit/include/rtems/score/coresemimpl.h89
1 files changed, 63 insertions, 26 deletions
diff --git a/cpukit/include/rtems/score/coresemimpl.h b/cpukit/include/rtems/score/coresemimpl.h
index 661a213f85..b8beff2a45 100644
--- a/cpukit/include/rtems/score/coresemimpl.h
+++ b/cpukit/include/rtems/score/coresemimpl.h
@@ -1,6 +1,8 @@
/**
* @file
*
+ * @ingroup RTEMSScoreSemaphore
+ *
* @brief Inlined Routines Associated with the SuperCore Semaphore
*
* This include file contains all of the inlined routines associated
@@ -33,26 +35,35 @@ extern "C" {
/**
* @addtogroup RTEMSScoreSemaphore
+ *
+ * @{
*/
-/**@{**/
/**
- * @brief Initialize the semaphore based on the parameters passed.
+ * @brief Initializes the semaphore based on the parameters passed.
*
- * This package is the implementation of the CORE Semaphore Handler.
- * This core object utilizes standard Dijkstra counting semaphores to provide
- * synchronization and mutual exclusion capabilities.
+ * This package is the implementation of the CORE Semaphore Handler.
+ * This core object utilizes standard Dijkstra counting semaphores to provide
+ * synchronization and mutual exclusion capabilities.
*
- * This routine initializes the semaphore based on the parameters passed.
+ * This routine initializes the semaphore based on the parameters passed.
*
- * @param[in] the_semaphore is the semaphore to initialize
- * @param[in] initial_value is the initial count of the semaphore
+ * @param[out] the_semaphore The semaphore to initialize.
+ * @param initial_value The initial count of the semaphore.
*/
void _CORE_semaphore_Initialize(
CORE_semaphore_Control *the_semaphore,
uint32_t initial_value
);
+/**
+ * @brief Acquires the semaphore critical.
+ *
+ * This routine acquires the semaphore.
+ *
+ * @param[in, out] the_semaphore The semaphore to acquire.
+ * @param queue_context The thread queue context.
+ */
RTEMS_INLINE_ROUTINE void _CORE_semaphore_Acquire_critical(
CORE_semaphore_Control *the_semaphore,
Thread_queue_Context *queue_context
@@ -61,6 +72,14 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Acquire_critical(
_Thread_queue_Acquire_critical( &the_semaphore->Wait_queue, queue_context );
}
+/**
+ * @brief Releases the semaphore.
+ *
+ * This routine releases the semaphore.
+ *
+ * @param[in, out] the_semaphore The semaphore to release.
+ * @param queue_context The thread queue context.
+ */
RTEMS_INLINE_ROUTINE void _CORE_semaphore_Release(
CORE_semaphore_Control *the_semaphore,
Thread_queue_Context *queue_context
@@ -69,6 +88,15 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Release(
_Thread_queue_Release( &the_semaphore->Wait_queue, queue_context );
}
+/**
+ * @brief Destroys the semaphore.
+ *
+ * This routine destroys the semaphore.
+ *
+ * @param[out] the_semaphore The semaphore to destroy.
+ * @param operations The thread queue operations.
+ * @param queue_context The thread queue context.
+ */
RTEMS_INLINE_ROUTINE void _CORE_semaphore_Destroy(
CORE_semaphore_Control *the_semaphore,
const Thread_queue_Operations *operations,
@@ -85,18 +113,20 @@ RTEMS_INLINE_ROUTINE void _CORE_semaphore_Destroy(
}
/**
- * @brief Surrender a unit to a semaphore.
+ * @brief Surrenders a unit to the semaphore.
*
- * This routine frees a unit to the semaphore. If a task was blocked waiting
- * for a unit from this semaphore, then that task will be readied and the unit
- * given to that task. Otherwise, the unit will be returned to the semaphore.
+ * This routine frees a unit to the semaphore. If a task was blocked waiting
+ * for a unit from this semaphore, then that task will be readied and the unit
+ * given to that task. Otherwise, the unit will be returned to the semaphore.
*
- * @param[in] the_semaphore is the semaphore to surrender
- * @param[in] operations The thread queue operations.
- * @param[in] queue_context is a temporary variable used to contain the ISR
- * disable level cookie
+ * @param[in, out] the_semaphore is the semaphore to surrender
+ * @param operations The thread queue operations.
+ * @param maximum_count The maximum number of units in the semaphore.
+ * @param queue_context is a temporary variable used to contain the ISR
+ * disable level cookie.
*
- * @retval an indication of whether the routine succeeded or failed
+ * @retval STATUS_SUCCESSFUL The unit was successfully freed to the semaphore.
+ * @retval STATUS_MAXIMUM_COUNT_EXCEEDED The maximum number of units was exceeded.
*/
RTEMS_INLINE_ROUTINE Status_Control _CORE_semaphore_Surrender(
CORE_semaphore_Control *the_semaphore,
@@ -136,11 +166,11 @@ RTEMS_INLINE_ROUTINE Status_Control _CORE_semaphore_Surrender(
}
/**
- * This routine returns the current count associated with the semaphore.
+ * @brief Returns the current count associated with the semaphore.
*
- * @param[in] the_semaphore is the semaphore to obtain the count of
+ * @param the_semaphore The semaphore to obtain the count of.
*
- * @return the current count of this semaphore
+ * @return the current count of this semaphore.
*/
RTEMS_INLINE_ROUTINE uint32_t _CORE_semaphore_Get_count(
const CORE_semaphore_Control *the_semaphore
@@ -150,17 +180,24 @@ RTEMS_INLINE_ROUTINE uint32_t _CORE_semaphore_Get_count(
}
/**
+ * @brief Seizes the semaphore
+ *
* This routine attempts to receive a unit from the_semaphore.
* If a unit is available or if the wait flag is false, then the routine
* returns. Otherwise, the calling task is blocked until a unit becomes
* available.
*
- * @param[in] the_semaphore is the semaphore to obtain
- * @param[in] operations The thread queue operations.
- * @param[in] executing The currently executing thread.
- * @param[in] wait is true if the thread is willing to wait
- * @param[in] queue_context is a temporary variable used to contain the ISR
- * disable level cookie
+ * @param[in, out] the_semaphore The semaphore to obtain.
+ * @param operations The thread queue operations.
+ * @param executing The currently executing thread.
+ * @param wait Indicates whether the calling thread is willing to wait.
+ * @param queue_context is a temporary variable used to contain the ISR
+ * disable level cookie.
+ *
+ * @retval STATUS_SUCCESSFUL The semaphore was successfully seized.
+ * @retval STATUS_UNSATISFIED The semaphore is currently not free and the
+ * calling thread not willing to wait.
+ * @retval STATUS_TIMEOUT A timeout occured.
*/
RTEMS_INLINE_ROUTINE Status_Control _CORE_semaphore_Seize(
CORE_semaphore_Control *the_semaphore,