diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-12-01 18:57:36 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-12-01 18:57:36 +0000 |
commit | 2b2bda48c1909457cfff0132ed346fe5578f6e03 (patch) | |
tree | eb5d4e88b58a35f5ac2fdc1d462f81b709381a38 /cpukit/posix/macros/rtems/posix/mqueue.inl | |
parent | 2000-11-30 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-2b2bda48c1909457cfff0132ed346fe5578f6e03.tar.bz2 |
2000-12-01 Joel Sherrill <joel@OARcorp.com>
* Added macro support to POSIX API. This is known to compile.
* macros/rtems/posix/cond.inl, macros/rtems/posix/intr.inl,
macros/rtems/posix/key.inl, macros/rtems/posix/mqueue.inl,
macros/rtems/posix/mutex.inl, macros/rtems/posix/priority.inl,
macros/rtems/posix/pthread.inl, macros/rtems/posix/semaphore.inl,
macros/rtems/posix/timer.inl: New files.
* configure.in: Removed error check for enabling macros.
* rtems/posix/mutex.h: #if 0'ed out prototypes for inlined routines
since you cannot have prototypes for macros.
* macros/rtems/posix/Makefile.am: Added files.
Diffstat (limited to 'cpukit/posix/macros/rtems/posix/mqueue.inl')
-rw-r--r-- | cpukit/posix/macros/rtems/posix/mqueue.inl | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/cpukit/posix/macros/rtems/posix/mqueue.inl b/cpukit/posix/macros/rtems/posix/mqueue.inl new file mode 100644 index 0000000000..dd941ca99c --- /dev/null +++ b/cpukit/posix/macros/rtems/posix/mqueue.inl @@ -0,0 +1,80 @@ +/* rtems/posix/mqueue.inl + * + * This include file contains the macro implementation of the private + * inlined routines for POSIX Message Queue. + * + * COPYRIGHT (c) 1989-1999. + * 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.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#ifndef __RTEMS_POSIX_MESSAGE_QUEUE_inl +#define __RTEMS_POSIX_MESSAGE_QUEUE_inl + +/*PAGE + * + * _POSIX_Message_queue_Allocate + */ + +#define _POSIX_Message_queue_Allocate() \ + (POSIX_Message_queue_Control *) \ + _Objects_Allocate( &_POSIX_Message_queue_Information ) + +/*PAGE + * + * _POSIX_Message_queue_Free + */ + +#define _POSIX_Message_queue_Free( _the_mq ) \ + _Objects_Free( &_POSIX_Message_queue_Information, &(_the_mq)->Object ) + +/*PAGE + * + * _POSIX_Message_queue_Namespace_remove + */ + +#define _POSIX_Message_queue_Namespace_remove( _the_mq ) \ + _Objects_Namespace_remove( \ + &_POSIX_Message_queue_Information, &(_the_mq)->Object ) + +/*PAGE + * + * _POSIX_Message_queue_Get + */ + +#define _POSIX_Message_queue_Get( _id, _location ) \ + (POSIX_Message_queue_Control *) \ + _Objects_Get( &_POSIX_Message_queue_Information, (_id), (_location) ) + +/*PAGE + * + * _POSIX_Message_queue_Is_null + */ + +#define _POSIX_Message_queue_Is_null( _the_mq ) \ + (!(_the_mq)) + +/*PAGE + * + * _POSIX_Message_queue_Priority_to_core + */ + +#define _POSIX_Message_queue_Priority_to_core( _priority ) \ + ((_priority) * -1) + +/* + * _POSIX_Message_queue_Priority_from_core + */ + +/* absolute value without a library dependency */ +#define _POSIX_Message_queue_Priority_from_core( _priority ) \ + ((((_priority) >= 0) ? (_priority) : -(_priority))) + +#endif +/* end of include file */ + |