From 067a96ad0c3b0818d71d9aaadaee4b520d940de1 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 18 Apr 2008 15:02:20 +0000 Subject: 2008-04-18 Joel Sherrill * rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/options.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/asr.inl, rtems/inline/rtems/rtems/attr.inl, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/dpmem.inl, rtems/inline/rtems/rtems/event.inl, rtems/inline/rtems/rtems/eventset.inl, rtems/inline/rtems/rtems/message.inl, rtems/inline/rtems/rtems/modes.inl, rtems/inline/rtems/rtems/options.inl, rtems/inline/rtems/rtems/part.inl, rtems/inline/rtems/rtems/ratemon.inl, rtems/inline/rtems/rtems/region.inl, rtems/inline/rtems/rtems/sem.inl, rtems/inline/rtems/rtems/status.inl, rtems/inline/rtems/rtems/support.inl, rtems/inline/rtems/rtems/tasks.inl, rtems/inline/rtems/rtems/timer.inl: Initial conversion of Classic API header files to Doxygen. * rtems/Doxyfile: New file. --- cpukit/rtems/include/rtems/rtems/sem.h | 152 +++++++++------------------------ 1 file changed, 40 insertions(+), 112 deletions(-) (limited to 'cpukit/rtems/include/rtems/rtems/sem.h') diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h index a5cb09f3fd..9b64e9a810 100644 --- a/cpukit/rtems/include/rtems/rtems/sem.h +++ b/cpukit/rtems/include/rtems/rtems/sem.h @@ -1,8 +1,6 @@ /** * @file rtems/rtems/sem.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Semaphore Manager. This manager utilizes standard Dijkstra * counting semaphores to provide synchronization and mutual exclusion @@ -10,13 +8,14 @@ * * Directives provided are: * - * + create a semaphore - * + get an ID of a semaphore - * + delete a semaphore - * + acquire a semaphore - * + release a semaphore - * - * COPYRIGHT (c) 1989-2007. + * - create a semaphore + * - get an ID of a semaphore + * - delete a semaphore + * - acquire a semaphore + * - release a semaphore + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -45,10 +44,16 @@ extern "C" { #include #include -/* - * The following defines the control block used to manage each semaphore. +/** + * @defgroup ClassicSem Classic API Semaphore + * + * This encapsulates functionality which XXX */ +/**@{*/ +/** + * The following defines the control block used to manage each semaphore. + */ typedef struct { Objects_Control Object; rtems_attribute attribute_set; @@ -58,29 +63,23 @@ typedef struct { } Core_control; } Semaphore_Control; -/* +/** * The following defines the information control block used to manage * this class of objects. */ - RTEMS_SEM_EXTERN Objects_Information _Semaphore_Information; -/* - * _Semaphore_Manager_initialization - * - * DESCRIPTION: +/** + * @brief Semaphore_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Semaphore_Manager_initialization( uint32_t maximum_semaphores ); -/* - * rtems_semaphore_create - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_create * * This routine implements the rtems_semaphore_create directive. The * semaphore will have the name name. The starting count for @@ -88,7 +87,6 @@ void _Semaphore_Manager_initialization( * the semaphore is global or local and the thread queue * discipline. It returns the id of the created semaphore in ID. */ - rtems_status_code rtems_semaphore_create( rtems_name name, uint32_t count, @@ -97,10 +95,8 @@ rtems_status_code rtems_semaphore_create( rtems_id *id ); -/* - * rtems_semaphore_ident - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_ident * * This routine implements the rtems_semaphore_ident directive. * This directive returns the semaphore ID associated with name. @@ -110,30 +106,24 @@ rtems_status_code rtems_semaphore_create( * The search can be limited to a particular node or allowed to * encompass all nodes. */ - rtems_status_code rtems_semaphore_ident( rtems_name name, uint32_t node, rtems_id *id ); -/* - * rtems_semaphore_delete - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_delete * * This routine implements the rtems_semaphore_delete directive. The * semaphore indicated by ID is deleted. */ - rtems_status_code rtems_semaphore_delete( rtems_id id ); -/* - * rtems_semaphore_obtain - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_obtain * * This routine implements the rtems_semaphore_obtain directive. It * attempts to obtain a unit from the semaphore associated with ID. @@ -143,17 +133,14 @@ rtems_status_code rtems_semaphore_delete( * clock ticks. Whether the task blocks or returns immediately * is based on the RTEMS_NO_WAIT option in the option_set. */ - rtems_status_code rtems_semaphore_obtain( rtems_id id, uint32_t option_set, rtems_interval timeout ); -/* - * rtems_semaphore_release - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_release * * This routine implements the rtems_semaphore_release directive. It * frees a unit to the semaphore associated with ID. If a task was @@ -161,112 +148,51 @@ rtems_status_code rtems_semaphore_obtain( * be readied and the unit given to that task. Otherwise, the unit * will be returned to the semaphore. */ - rtems_status_code rtems_semaphore_release( rtems_id id ); -/* - * rtems_semaphore_flush - * - * This directive allows a thread to flush the threads +/** + * @brief rtems_semaphore_flush * pending on the semaphore. */ - rtems_status_code rtems_semaphore_flush( rtems_id id ); -/* - * _Semaphore_Seize - * - * DESCRIPTION: +/** + * @brief _Semaphore_Seize * * This routine attempts to receive a unit from the_semaphore. * If a unit is available or if the RTEMS_NO_WAIT option is enabled in * option_set, then the routine returns. Otherwise, the calling task * is blocked until a unit becomes available. */ - boolean _Semaphore_Seize( Semaphore_Control *the_semaphore, uint32_t option_set ); -/* - * _Semaphore_Translate_core_mutex_return_code - * - * DESCRIPTION: +/** + * @brief _Semaphore_Translate_core_mutex_return_code * * This function returns a RTEMS status code based on the mutex * status code specified. */ - rtems_status_code _Semaphore_Translate_core_mutex_return_code ( uint32_t the_mutex_status ); -/* - * _Semaphore_Translate_core_semaphore_return_code - * - * DESCRIPTION: +/** + * @brief _Semaphore_Translate_core_semaphore_return_code * * This function returns a RTEMS status code based on the semaphore * status code specified. */ - rtems_status_code _Semaphore_Translate_core_semaphore_return_code ( uint32_t the_mutex_status ); -/*PAGE - * - * _Semaphore_Core_mutex_mp_support - * - * DESCRIPTION: - * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core mutex. This function - * is called by the core. - */ - -#if defined(RTEMS_MULTIPROCESSING) -void _Semaphore_Core_mutex_mp_support ( - Thread_Control *the_thread, - rtems_id id -); -#endif - -/*PAGE - * - * _Semaphore_Core_mp_support - * - * DESCRIPTION: - * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core semaphore. This function - * is called by the core. - */ - -void _Semaphore_Core_semaphore_mp_support ( - Thread_Control *the_thread, - rtems_id id -); - -/*PAGE - * - * _POSIX_Semaphore_MP_support - * - * DESCRIPTION: - * - * XXX - */ - -void _POSIX_Semaphore_MP_support( - Thread_Control *the_thread, - Objects_Id id -); - #ifndef __RTEMS_APPLICATION__ #include #endif @@ -278,5 +204,7 @@ void _POSIX_Semaphore_MP_support( } #endif +/**@}*/ + #endif /* end of include file */ -- cgit v1.2.3