[PATCH 07/21] rtems: Move internal structures to messagedata.h

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Nov 8 12:52:00 UTC 2018


Update #3598.
---
 cpukit/headers.am                        |  1 +
 cpukit/include/rtems/confdefs.h          |  1 +
 cpukit/include/rtems/rtems/message.h     | 45 ++++----------------------
 cpukit/include/rtems/rtems/messagedata.h | 54 ++++++++++++++++++++++++++++++++
 cpukit/include/rtems/rtems/messageimpl.h |  9 +++---
 5 files changed, 67 insertions(+), 43 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/messagedata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 765c835d3d..cd0abfabec 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -243,6 +243,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/eventmp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/intr.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/mainpage.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/message.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/messagedata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/messageimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/modes.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/modesimpl.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 2bb9fb027f..713064f6af 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -34,6 +34,7 @@
 #include <rtems/score/wkspace.h>
 #include <rtems/rtems/barrierdata.h>
 #include <rtems/rtems/dpmemdata.h>
+#include <rtems/rtems/messagedata.h>
 #include <rtems/rtems/ratemondata.h>
 #include <rtems/posix/key.h>
 #include <rtems/posix/mqueue.h>
diff --git a/cpukit/include/rtems/rtems/message.h b/cpukit/include/rtems/rtems/message.h
index 8ae9e156a1..768b0badd5 100644
--- a/cpukit/include/rtems/rtems/message.h
+++ b/cpukit/include/rtems/rtems/message.h
@@ -1,25 +1,9 @@
 /**
- * @file rtems/rtems/message.h
+ * @file
  *
- * @defgroup ClassicMessageQueue Message Queues
+ * @ingroup ClassicMessageQueue
  *
- * @ingroup ClassicRTEMS
- * @brief Message Queue Manager
- *
- * This include file contains all the constants and structures associated
- * with the Message Queue Manager. This manager provides a mechanism for
- * communication and synchronization between tasks using messages.
- *
- * Directives provided are:
- *
- * - create a queue
- * - get ID of a queue
- * - delete a queue
- * - put a message at the rear of a queue
- * - put a message at the front of a queue
- * - broadcast N messages to a queue
- * - receive message from a queue
- * - flush all messages on a queue
+ * @brief Classic Message Queue Manager API
  */
 
 /* COPYRIGHT (c) 1989-2013.
@@ -33,32 +17,15 @@
 #ifndef _RTEMS_RTEMS_MESSAGE_H
 #define _RTEMS_RTEMS_MESSAGE_H
 
-#include <rtems/rtems/types.h>
-#include <rtems/rtems/status.h>
-#include <rtems/rtems/options.h>
 #include <rtems/rtems/attr.h>
-#include <rtems/score/object.h>
-#include <rtems/score/coremsg.h>
+#include <rtems/rtems/options.h>
+#include <rtems/rtems/status.h>
+#include <rtems/rtems/types.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/**
- *  @ingroup ClassicMessageQueueImpl
- *
- *  The following records define the control block used to manage
- *  each message queue.
- */
-typedef struct {
-  /** This field is the inherited object characteristics. */
-  Objects_Control             Object;
-  /** This field is the instance of the SuperCore Message Queue. */
-  CORE_message_queue_Control  message_queue;
-  /** This field is the attribute set as defined by the API. */
-  rtems_attribute             attribute_set;
-}   Message_queue_Control;
-
 /**
  *  @defgroup ClassicMessageQueue Message Queues
  *
diff --git a/cpukit/include/rtems/rtems/messagedata.h b/cpukit/include/rtems/rtems/messagedata.h
new file mode 100644
index 0000000000..be09d8ed86
--- /dev/null
+++ b/cpukit/include/rtems/rtems/messagedata.h
@@ -0,0 +1,54 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicMessageQueue
+ *
+ * @brief Classic Message Queue Manager API
+ */
+
+/* COPYRIGHT (c) 1989-2013.
+ * 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.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_MESSAGEDATA_H
+#define _RTEMS_RTEMS_MESSAGEDATA_H
+
+#include <rtems/rtems/message.h>
+#include <rtems/score/object.h>
+#include <rtems/score/coremsg.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicMessageQueueImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following records define the control block used to manage
+ *  each message queue.
+ */
+typedef struct {
+  /** This field is the inherited object characteristics. */
+  Objects_Control             Object;
+  /** This field is the instance of the SuperCore Message Queue. */
+  CORE_message_queue_Control  message_queue;
+  /** This field is the attribute set as defined by the API. */
+  rtems_attribute             attribute_set;
+}   Message_queue_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/messageimpl.h b/cpukit/include/rtems/rtems/messageimpl.h
index df7cea6829..098e310804 100644
--- a/cpukit/include/rtems/rtems/messageimpl.h
+++ b/cpukit/include/rtems/rtems/messageimpl.h
@@ -1,8 +1,9 @@
 /**
- * @file rtems/rtems/message.inl
+ * @file
  *
- *  This include file contains the static inline implementation of all
- *  inlined routines in the Message Manager.
+ * @ingroup ClassicMessageQueueImpl
+ *
+ * @brief Classic Message Queue Manager Implementation
  */
 
 /*  COPYRIGHT (c) 1989-2008.
@@ -16,7 +17,7 @@
 #ifndef _RTEMS_RTEMS_MESSAGEIMPL_H
 #define _RTEMS_RTEMS_MESSAGEIMPL_H
 
-#include <rtems/rtems/message.h>
+#include <rtems/rtems/messagedata.h>
 #include <rtems/score/objectimpl.h>
 #include <rtems/score/coremsgimpl.h>
 
-- 
2.16.4




More information about the devel mailing list