diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-01-05 20:26:01 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-01-05 20:26:01 +0000 |
commit | 3507c6df7041f19ec33c6056076520849dd59ac3 (patch) | |
tree | 894513e5249272ca6b59e48b0bae503bb410000b /cpukit/posix/inline/rtems/posix/key.inl | |
parent | 2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-3507c6df7041f19ec33c6056076520849dd59ac3.tar.bz2 |
2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/gxx_wrappers.c, posix/include/mqueue.h,
posix/include/rtems/posix/semaphore.h,
posix/inline/rtems/posix/barrier.inl,
posix/inline/rtems/posix/key.inl,
posix/inline/rtems/posix/mqueue.inl,
posix/inline/rtems/posix/rwlock.inl,
posix/inline/rtems/posix/semaphore.inl,
posix/inline/rtems/posix/spinlock.inl,
posix/inline/rtems/posix/timer.inl, posix/src/condget.c,
posix/src/mqueuenametoid.c, posix/src/mutexget.c,
posix/src/semaphorenametoid.c, posix/src/semopen.c,
sapi/src/itronapi.c, sapi/src/posixapi.c: Make changes necessary for
all tests to run on SPARC with 16-bit Ids. This required ensuring
that all POSIX and compilering binding code makes a distinction
between the public Id type (e.g. pthread_t, etc.) and the RTEMS
Object_Id type. All POSIX Object Get routines should not take the
POSIX Id type as the argument. Sixteen bit RTEMS Ids should be placed
into the 32-bits reserved by the POSIX API type in a uniform manner
now. This removed all assumptions that the external Id types in POSIX
and ITRON are the same as the internal Object Id type.
Diffstat (limited to 'cpukit/posix/inline/rtems/posix/key.inl')
-rw-r--r-- | cpukit/posix/inline/rtems/posix/key.inl | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/cpukit/posix/inline/rtems/posix/key.inl b/cpukit/posix/inline/rtems/posix/key.inl index 6fbce5a7ee..c5c6324d06 100644 --- a/cpukit/posix/inline/rtems/posix/key.inl +++ b/cpukit/posix/inline/rtems/posix/key.inl @@ -1,12 +1,11 @@ /** - * @file rtems/posix/key.inl - */ - -/* rtems/posix/key.inl + * @file rtems/posix/key.inl * * This include file contains the static inline implementation of the private * inlined routines for POSIX key's. - * + */ + +/* * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * @@ -24,9 +23,11 @@ #ifndef _RTEMS_POSIX_KEY_INL #define _RTEMS_POSIX_KEY_INL -/*PAGE +/** + * @brief _POSIX_Keys_Allocate * - * _POSIX_Keys_Allocate + * This function allocates a keys control block from + * the inactive chain of free keys control blocks. */ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void ) @@ -34,11 +35,12 @@ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void ) return (POSIX_Keys_Control *) _Objects_Allocate( &_POSIX_Keys_Information ); } -/*PAGE +/** + * @brief _POSIX_Keys_Free * - * _POSIX_Keys_Free + * This routine frees a keys control block to the + * inactive chain of free keys control blocks. */ - RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free ( POSIX_Keys_Control *the_key ) @@ -46,25 +48,32 @@ RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free ( _Objects_Free( &_POSIX_Keys_Information, &the_key->Object ); } -/*PAGE +/** + * @brief _POSIX_Keys_Get * - * _POSIX_Keys_Get + * This function maps key IDs to key control blocks. + * If ID corresponds to a local keys, then it returns + * the_key control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the keys ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_key is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_key is undefined. */ RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Get ( - Objects_Id id, + pthread_key_t id, Objects_Locations *location ) { return (POSIX_Keys_Control *) - _Objects_Get( &_POSIX_Keys_Information, id, location ); + _Objects_Get( &_POSIX_Keys_Information, (Objects_Id) id, location ); } -/*PAGE +/** + * @brief _POSIX_Keys_Is_null * - * _POSIX_Keys_Is_null + * This function returns TRUE if the_key is NULL and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE bool _POSIX_Keys_Is_null ( POSIX_Keys_Control *the_key ) |