diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-17 13:52:00 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-18 09:58:56 +0200 |
commit | 2bbea657ae366f6b73dd6ca5db98af7ea3c29759 (patch) | |
tree | fcbee133028ad2e37bb6c15cdfc1b9f7eb25fdf4 /cpukit/rtems/inline | |
parent | libtests/gxx01: Avoid random memory read/write (diff) | |
download | rtems-2bbea657ae366f6b73dd6ca5db98af7ea3c29759.tar.bz2 |
rtems: Create semaphore implementation header
Move implementation specific parts of sem.h and sem.inl into new header
file semimpl.h. The sem.h contains now only the application visible
API.
Diffstat (limited to 'cpukit/rtems/inline')
-rw-r--r-- | cpukit/rtems/inline/rtems/rtems/sem.inl | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/cpukit/rtems/inline/rtems/rtems/sem.inl b/cpukit/rtems/inline/rtems/rtems/sem.inl deleted file mode 100644 index d1cdbb20e6..0000000000 --- a/cpukit/rtems/inline/rtems/rtems/sem.inl +++ /dev/null @@ -1,98 +0,0 @@ -/** - * @file rtems/rtems/sem.inl - * - * This file contains the static inlin implementation of the inlined - * routines from the Semaphore Manager. - */ - -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_SEM_H -# error "Never use <rtems/rtems/sem.inl> directly; include <rtems/rtems/sem.h> instead." -#endif - -#ifndef _RTEMS_RTEMS_SEM_INL -#define _RTEMS_RTEMS_SEM_INL - -/** - * @addtogroup ClassicSem - * @{ - */ - -/** - * @brief Allocates a semaphore control block from - * the inactive chain of free semaphore control blocks. - * - * This function allocates a semaphore control block from - * the inactive chain of free semaphore control blocks. - */ -RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Allocate( void ) -{ - return (Semaphore_Control *) _Objects_Allocate( &_Semaphore_Information ); -} - -/** - * @brief Frees a semaphore control block to the - * inactive chain of free semaphore control blocks. - * - * This routine frees a semaphore control block to the - * inactive chain of free semaphore control blocks. - */ -RTEMS_INLINE_ROUTINE void _Semaphore_Free ( - Semaphore_Control *the_semaphore -) -{ - _Objects_Free( &_Semaphore_Information, &the_semaphore->Object ); -} - -/** - * @brief Maps semaphore IDs to semaphore control blocks. - * - * This function maps semaphore IDs to semaphore control blocks. - * If ID corresponds to a local semaphore, then it returns - * the_semaphore control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the semaphore ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_semaphore is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_semaphore is undefined. - */ -RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get ( - Objects_Id id, - Objects_Locations *location -) -{ - return (Semaphore_Control *) - _Objects_Get( &_Semaphore_Information, id, location ); -} - -/** - * @brief Maps semaphore IDs to semaphore control blocks. - * - * This function maps semaphore IDs to semaphore control blocks. - * If ID corresponds to a local semaphore, then it returns - * the_semaphore control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the semaphore ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_semaphore is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_semaphore is undefined. - */ -RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get_interrupt_disable ( - Objects_Id id, - Objects_Locations *location, - ISR_Level *level -) -{ - return (Semaphore_Control *) - _Objects_Get_isr_disable( &_Semaphore_Information, id, location, level ); -} - -/**@}*/ - -#endif -/* end of include file */ |