[rtems commit] score: Move internal structures to objectdata.h

Sebastian Huber sebh at rtems.org
Mon Nov 12 14:40:47 UTC 2018


Module:    rtems
Branch:    master
Commit:    a6e7d5e492fd5e4c361d4d9aa13eb0eb951b386a
Changeset: http://git.rtems.org/rtems/commit/?id=a6e7d5e492fd5e4c361d4d9aa13eb0eb951b386a

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Nov 12 09:00:36 2018 +0100

score: Move internal structures to objectdata.h

Update #3598.

---

 cpukit/headers.am                        |  1 +
 cpukit/include/rtems/extensiondata.h     |  2 +-
 cpukit/include/rtems/posix/mqueue.h      |  2 +-
 cpukit/include/rtems/posix/semaphore.h   |  2 +-
 cpukit/include/rtems/posix/shm.h         |  2 +-
 cpukit/include/rtems/posix/timer.h       |  2 +-
 cpukit/include/rtems/rtems/barrierdata.h |  2 +-
 cpukit/include/rtems/rtems/dpmemdata.h   |  2 +-
 cpukit/include/rtems/rtems/messagedata.h |  2 +-
 cpukit/include/rtems/rtems/partdata.h    |  2 +-
 cpukit/include/rtems/rtems/regiondata.h  |  2 +-
 cpukit/include/rtems/rtems/timerdata.h   |  2 +-
 cpukit/include/rtems/score/object.h      | 58 -------------------
 cpukit/include/rtems/score/objectdata.h  | 98 ++++++++++++++++++++++++++++++++
 cpukit/include/rtems/score/objectimpl.h  |  2 +-
 cpukit/include/rtems/score/thread.h      |  2 +-
 16 files changed, 112 insertions(+), 71 deletions(-)

diff --git a/cpukit/headers.am b/cpukit/headers.am
index fa51f8d..a318349 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -330,6 +330,7 @@ include_rtems_score_HEADERS += include/rtems/score/mrsp.h
 include_rtems_score_HEADERS += include/rtems/score/mrspimpl.h
 include_rtems_score_HEADERS += include/rtems/score/muteximpl.h
 include_rtems_score_HEADERS += include/rtems/score/object.h
+include_rtems_score_HEADERS += include/rtems/score/objectdata.h
 include_rtems_score_HEADERS += include/rtems/score/objectimpl.h
 include_rtems_score_HEADERS += include/rtems/score/objectmp.h
 include_rtems_score_HEADERS += include/rtems/score/onceimpl.h
diff --git a/cpukit/include/rtems/extensiondata.h b/cpukit/include/rtems/extensiondata.h
index ba32a2b..4c3be8a 100644
--- a/cpukit/include/rtems/extensiondata.h
+++ b/cpukit/include/rtems/extensiondata.h
@@ -19,7 +19,7 @@
 #define _RTEMS_EXTENSIONDATA_H
 
 #include <rtems/extension.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpukit/include/rtems/posix/mqueue.h b/cpukit/include/rtems/posix/mqueue.h
index 6211c68..bec82ee 100644
--- a/cpukit/include/rtems/posix/mqueue.h
+++ b/cpukit/include/rtems/posix/mqueue.h
@@ -34,7 +34,7 @@
 #include <signal.h>
 #include <mqueue.h> /* struct mq_attr */
 #include <rtems/score/coremsg.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpukit/include/rtems/posix/semaphore.h b/cpukit/include/rtems/posix/semaphore.h
index 734d8bb..16b6d71 100644
--- a/cpukit/include/rtems/posix/semaphore.h
+++ b/cpukit/include/rtems/posix/semaphore.h
@@ -20,7 +20,7 @@
 #define _RTEMS_POSIX_SEMAPHORE_H
 
 #include <semaphore.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpukit/include/rtems/posix/shm.h b/cpukit/include/rtems/posix/shm.h
index 310af66..ae0416e 100644
--- a/cpukit/include/rtems/posix/shm.h
+++ b/cpukit/include/rtems/posix/shm.h
@@ -15,7 +15,7 @@
 #ifndef _RTEMS_POSIX_SHM_H
 #define _RTEMS_POSIX_SHM_H
 
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 #include <rtems/score/threadq.h>
 
 #include <sys/types.h>
diff --git a/cpukit/include/rtems/posix/timer.h b/cpukit/include/rtems/posix/timer.h
index 52732af..2cbc56e 100644
--- a/cpukit/include/rtems/posix/timer.h
+++ b/cpukit/include/rtems/posix/timer.h
@@ -19,7 +19,7 @@
 #ifndef _RTEMS_POSIX_TIMER_H
 #define _RTEMS_POSIX_TIMER_H
 
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 #include <rtems/score/watchdog.h>
 
 #include <pthread.h>
diff --git a/cpukit/include/rtems/rtems/barrierdata.h b/cpukit/include/rtems/rtems/barrierdata.h
index a19ed88..12b2eab 100644
--- a/cpukit/include/rtems/rtems/barrierdata.h
+++ b/cpukit/include/rtems/rtems/barrierdata.h
@@ -19,7 +19,7 @@
 #define _RTEMS_RTEMS_BARRIERDATA_H
 
 #include <rtems/rtems/barrier.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 #include <rtems/score/corebarrier.h>
 
 #ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/dpmemdata.h b/cpukit/include/rtems/rtems/dpmemdata.h
index 293ad15..86302f9 100644
--- a/cpukit/include/rtems/rtems/dpmemdata.h
+++ b/cpukit/include/rtems/rtems/dpmemdata.h
@@ -18,7 +18,7 @@
 #define _RTEMS_RTEMS_DPMEMDATA_H
 
 #include <rtems/rtems/dpmem.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpukit/include/rtems/rtems/messagedata.h b/cpukit/include/rtems/rtems/messagedata.h
index be09d8e..b035dff 100644
--- a/cpukit/include/rtems/rtems/messagedata.h
+++ b/cpukit/include/rtems/rtems/messagedata.h
@@ -18,8 +18,8 @@
 #define _RTEMS_RTEMS_MESSAGEDATA_H
 
 #include <rtems/rtems/message.h>
-#include <rtems/score/object.h>
 #include <rtems/score/coremsg.h>
+#include <rtems/score/objectdata.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpukit/include/rtems/rtems/partdata.h b/cpukit/include/rtems/rtems/partdata.h
index 4423de0..3b030c8 100644
--- a/cpukit/include/rtems/rtems/partdata.h
+++ b/cpukit/include/rtems/rtems/partdata.h
@@ -19,7 +19,7 @@
 
 #include <rtems/rtems/part.h>
 #include <rtems/score/isrlock.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/cpukit/include/rtems/rtems/regiondata.h b/cpukit/include/rtems/rtems/regiondata.h
index 75fc950..cfbc07f 100644
--- a/cpukit/include/rtems/rtems/regiondata.h
+++ b/cpukit/include/rtems/rtems/regiondata.h
@@ -19,7 +19,7 @@
 
 #include <rtems/rtems/region.h>
 #include <rtems/score/heap.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 #include <rtems/score/threadq.h>
 
 #ifdef __cplusplus
diff --git a/cpukit/include/rtems/rtems/timerdata.h b/cpukit/include/rtems/rtems/timerdata.h
index a3a13b7..db32739 100644
--- a/cpukit/include/rtems/rtems/timerdata.h
+++ b/cpukit/include/rtems/rtems/timerdata.h
@@ -21,7 +21,7 @@
 #define _RTEMS_RTEMS_TIMERDATA_H
 
 #include <rtems/rtems/timer.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 #include <rtems/score/watchdog.h>
 
 #ifdef __cplusplus
diff --git a/cpukit/include/rtems/score/object.h b/cpukit/include/rtems/score/object.h
index adafcaa..9c2699d 100644
--- a/cpukit/include/rtems/score/object.h
+++ b/cpukit/include/rtems/score/object.h
@@ -22,8 +22,6 @@
 
 #include <rtems/score/basedefs.h>
 #include <rtems/score/cpu.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/rbtree.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -215,62 +213,6 @@ typedef enum {
 #define OBJECTS_APIS_LAST OBJECTS_POSIX_API
 
 /**
- *  The following defines the Object Control Block used to manage
- *  each object local to this node.
- */
-typedef struct {
-  /** This is the chain node portion of an object. */
-  Chain_Node     Node;
-  /** This is the object's ID. */
-  Objects_Id     id;
-  /** This is the object's name. */
-  Objects_Name   name;
-} Objects_Control;
-
-#if defined( RTEMS_MULTIPROCESSING )
-/**
- * @brief This defines the Global Object Control Block used to manage objects
- * resident on other nodes.
- */
-typedef struct {
-  /**
-   * @brief Nodes to manage active and inactive global objects.
-   */
-  union {
-    /**
-     * @brief Inactive global objects reside on a chain.
-     */
-    Chain_Node Inactive;
-
-    struct {
-      /**
-       * @brief Node to lookup an active global object by identifier.
-       */
-      RBTree_Node Id_lookup;
-
-      /**
-       * @brief Node to lookup an active global object by name.
-       */
-      RBTree_Node Name_lookup;
-    } Active;
-  } Nodes;
-
-  /**
-   * @brief The global object identifier.
-   */
-  Objects_Id id;
-
-  /**
-   * @brief The global object name.
-   *
-   * Using an unsigned thirty two bit value is broken but works.  If any API is
-   * MP with variable length names .. BOOM!!!!
-   */
-  uint32_t name;
-} Objects_MP_Control;
-#endif
-
-/**
  *  No object can have this ID.
  */
 #define OBJECTS_ID_NONE 0
diff --git a/cpukit/include/rtems/score/objectdata.h b/cpukit/include/rtems/score/objectdata.h
new file mode 100644
index 0000000..51258fa
--- /dev/null
+++ b/cpukit/include/rtems/score/objectdata.h
@@ -0,0 +1,98 @@
+/**
+ * @file
+ *
+ * @ingroup ScoreObject
+ *
+ * @brief Object Handler Data Structures
+ */
+
+/*
+ *  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.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_SCORE_OBJECTDATA_H
+#define _RTEMS_SCORE_OBJECTDATA_H
+
+#include <rtems/score/object.h>
+#include <rtems/score/chain.h>
+#include <rtems/score/rbtree.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ScoreObject
+ *
+ * @{
+ */
+
+/**
+ *  The following defines the Object Control Block used to manage
+ *  each object local to this node.
+ */
+typedef struct {
+  /** This is the chain node portion of an object. */
+  Chain_Node     Node;
+  /** This is the object's ID. */
+  Objects_Id     id;
+  /** This is the object's name. */
+  Objects_Name   name;
+} Objects_Control;
+
+#if defined( RTEMS_MULTIPROCESSING )
+/**
+ * @brief This defines the Global Object Control Block used to manage objects
+ * resident on other nodes.
+ */
+typedef struct {
+  /**
+   * @brief Nodes to manage active and inactive global objects.
+   */
+  union {
+    /**
+     * @brief Inactive global objects reside on a chain.
+     */
+    Chain_Node Inactive;
+
+    struct {
+      /**
+       * @brief Node to lookup an active global object by identifier.
+       */
+      RBTree_Node Id_lookup;
+
+      /**
+       * @brief Node to lookup an active global object by name.
+       */
+      RBTree_Node Name_lookup;
+    } Active;
+  } Nodes;
+
+  /**
+   * @brief The global object identifier.
+   */
+  Objects_Id id;
+
+  /**
+   * @brief The global object name.
+   *
+   * Using an unsigned thirty two bit value is broken but works.  If any API is
+   * MP with variable length names .. BOOM!!!!
+   */
+  uint32_t name;
+} Objects_MP_Control;
+#endif
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/score/objectimpl.h b/cpukit/include/rtems/score/objectimpl.h
index bf4d45d..8934e24 100644
--- a/cpukit/include/rtems/score/objectimpl.h
+++ b/cpukit/include/rtems/score/objectimpl.h
@@ -19,7 +19,7 @@
 #ifndef _RTEMS_SCORE_OBJECTIMPL_H
 #define _RTEMS_SCORE_OBJECTIMPL_H
 
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 #include <rtems/score/apimutex.h>
 #include <rtems/score/isrlock.h>
 #include <rtems/score/threaddispatch.h>
diff --git a/cpukit/include/rtems/score/thread.h b/cpukit/include/rtems/score/thread.h
index c665fcc..7e24af4 100644
--- a/cpukit/include/rtems/score/thread.h
+++ b/cpukit/include/rtems/score/thread.h
@@ -27,7 +27,7 @@
 #include <rtems/score/mppkt.h>
 #endif
 #include <rtems/score/isrlock.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectdata.h>
 #include <rtems/score/priority.h>
 #include <rtems/score/schedulernode.h>
 #include <rtems/score/stack.h>




More information about the vc mailing list