From 0e8656b49eecdff64d639e765ef861cd974392e9 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 19 Jul 2013 14:39:45 +0200 Subject: posix: Create rwlock implementation header Move implementation specific parts of rwlock.h and rwlock.inl into new header file rwlockimpl.h. The rwlock.h contains now only the application visible API. --- cpukit/posix/inline/rtems/posix/rwlock.inl | 96 ------------------------------ 1 file changed, 96 deletions(-) delete mode 100644 cpukit/posix/inline/rtems/posix/rwlock.inl (limited to 'cpukit/posix/inline/rtems') diff --git a/cpukit/posix/inline/rtems/posix/rwlock.inl b/cpukit/posix/inline/rtems/posix/rwlock.inl deleted file mode 100644 index ac641c926b..0000000000 --- a/cpukit/posix/inline/rtems/posix/rwlock.inl +++ /dev/null @@ -1,96 +0,0 @@ -/** - * @file - * - * @brief Inlined Routines from the POSIX RWLock Manager - * - * This file contains the static inlin implementation of the inlined - * routines from the POSIX RWLock Manager. - */ - -/* - * COPYRIGHT (c) 1989-2011. - * 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_POSIX_RWLOCK_H -# error "Never use directly; include instead." -#endif - -#ifndef _RTEMS_POSIX_RWLOCK_INL -#define _RTEMS_POSIX_RWLOCK_INL - -#include - -/** - * @brief Allocate a RWLock control block. - * - * This function allocates a RWLock control block from - * the inactive chain of free RWLock control blocks. - */ -RTEMS_INLINE_ROUTINE POSIX_RWLock_Control *_POSIX_RWLock_Allocate( void ) -{ - return (POSIX_RWLock_Control *) - _Objects_Allocate( &_POSIX_RWLock_Information ); -} - -/** - * @brief Free a RWLock control block. - * - * This routine frees a RWLock control block to the - * inactive chain of free RWLock control blocks. - */ -RTEMS_INLINE_ROUTINE void _POSIX_RWLock_Free ( - POSIX_RWLock_Control *the_RWLock -) -{ - _Objects_Free( &_POSIX_RWLock_Information, &the_RWLock->Object ); -} - -/** - * @brief Get a RWLock control block. - * - * This function maps RWLock IDs to RWLock control blocks. - * If ID corresponds to a local RWLock, then it returns - * the_RWLock control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the RWLock ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_RWLock is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_RWLock is undefined. - */ -RTEMS_INLINE_ROUTINE POSIX_RWLock_Control *_POSIX_RWLock_Get ( - pthread_rwlock_t *RWLock, - Objects_Locations *location -) -{ - return (POSIX_RWLock_Control *) _Objects_Get( - &_POSIX_RWLock_Information, - (Objects_Id) *RWLock, - location - ); -} - -/** - * @brief Check if a RWLock control block is NULL. - * - * This function returns @c TRUE if the_RWLock is @c NULL and @c FALSE - * otherwise. - * - * @param[in] the_RWLock is the pointer to the RWLock control block - * to be checked. - * - * @retval TRUE The RWLock control block is @c NULL. - * @retval FALSE The RWLock control block is not @c NULL. - */ -RTEMS_INLINE_ROUTINE bool _POSIX_RWLock_Is_null ( - POSIX_RWLock_Control *the_RWLock -) -{ - return ( the_RWLock == NULL ); -} - -#endif -/* end of include file */ -- cgit v1.2.3