summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/macros/rtems/rtems/message.inl
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/macros/rtems/rtems/message.inl')
-rw-r--r--cpukit/rtems/macros/rtems/rtems/message.inl118
1 files changed, 118 insertions, 0 deletions
diff --git a/cpukit/rtems/macros/rtems/rtems/message.inl b/cpukit/rtems/macros/rtems/rtems/message.inl
new file mode 100644
index 0000000000..5415708ac5
--- /dev/null
+++ b/cpukit/rtems/macros/rtems/rtems/message.inl
@@ -0,0 +1,118 @@
+/* message.inl
+ *
+ * This include file contains the macro implementation of all
+ * inlined routines in the Message Manager.
+ *
+ * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
+ * On-Line Applications Research Corporation (OAR).
+ * All rights assigned to U.S. Government, 1994.
+ *
+ * This material may be reproduced by or for the U.S. Government pursuant
+ * to the copyright license under the clause at DFARS 252.227-7013. This
+ * notice must appear in all copies of this file and its derivatives.
+ *
+ * $Id$
+ */
+
+#ifndef __MESSAGE_QUEUE_inl
+#define __MESSAGE_QUEUE_inl
+
+/*PAGE
+ *
+ * _Message_queue_Copy_buffer
+ */
+
+#define _Message_queue_Copy_buffer( _source, _destination ) \
+ *(Message_queue_Buffer *)(_destination) = \
+ *(Message_queue_Buffer *)(_source)
+
+/*PAGE
+ *
+ * _Message_queue_Allocate_message_buffer
+ *
+ */
+
+#define _Message_queue_Allocate_message_buffer() \
+ (Message_queue_Buffer_control *) \
+ _Chain_Get( &_Message_queue_Inactive_messages )
+
+/*PAGE
+ *
+ * _Message_queue_Free_message_buffer
+ *
+ */
+
+#define _Message_queue_Free_message_buffer( _the_message ) \
+ _Chain_Append( &_Message_queue_Inactive_messages, &(_the_message)->Node )
+
+/*PAGE
+ *
+ * _Message_queue_Get_pending_message
+ *
+ */
+
+#define _Message_queue_Get_pending_message( _the_message_queue ) \
+ (Message_queue_Buffer_control *) \
+ _Chain_Get_unprotected( &(_the_message_queue)->Pending_messages )
+
+/*PAGE
+ *
+ * _Message_queue_Append
+ *
+ */
+
+#define _Message_queue_Append( _the_message_queue, _the_message ) \
+ _Chain_Append( &(_the_message_queue)->Pending_messages, \
+ &(_the_message)->Node )
+
+/*PAGE
+ *
+ * _Message_queue_Prepend
+ *
+ */
+
+#define _Message_queue_Prepend( _the_message_queue, _the_message ) \
+ _Chain_Prepend( &(_the_message_queue)->Pending_messages, \
+ &(_the_message)->Node )
+
+/*PAGE
+ *
+ * _Message_queue_Is_null
+ *
+ */
+
+#define _Message_queue_Is_null( _the_message_queue ) \
+ ( (_the_message_queue) == NULL )
+
+/*PAGE
+ *
+ * _Message_queue_Allocate
+ *
+ */
+
+#define _Message_queue_Allocate() \
+ (Message_queue_Control *) \
+ _Objects_Allocate( &_Message_queue_Information )
+
+/*PAGE
+ *
+ * _Message_queue_Free
+ *
+ */
+
+#define _Message_queue_Free( _the_message_queue ) \
+ _Objects_Free( &_Message_queue_Information, \
+ &(_the_message_queue)->Object )
+
+/*PAGE
+ *
+ * _Message_queue_Get
+ *
+ */
+
+#define _Message_queue_Get( _id, _location ) \
+ (Message_queue_Control *) \
+ _Objects_Get( &_Message_queue_Information, (_id), (_location) )
+
+#endif
+/* end of include file */