summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-12 09:00:36 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-12 13:25:42 +0100
commita6e7d5e492fd5e4c361d4d9aa13eb0eb951b386a (patch)
treed81496a061d3bd558edcfca047c0babbe13213f3 /cpukit/include/rtems/score
parentrtems: Avoid include of <rtems/score/scheduler.h> (diff)
downloadrtems-a6e7d5e492fd5e4c361d4d9aa13eb0eb951b386a.tar.bz2
score: Move internal structures to objectdata.h
Update #3598.
Diffstat (limited to 'cpukit/include/rtems/score')
-rw-r--r--cpukit/include/rtems/score/object.h58
-rw-r--r--cpukit/include/rtems/score/objectdata.h98
-rw-r--r--cpukit/include/rtems/score/objectimpl.h2
-rw-r--r--cpukit/include/rtems/score/thread.h2
4 files changed, 100 insertions, 60 deletions
diff --git a/cpukit/include/rtems/score/object.h b/cpukit/include/rtems/score/object.h
index adafcaa72d..9c2699dbcb 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 0000000000..51258fa4a4
--- /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 bf4d45df4a..8934e24244 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 c665fccb69..7e24af43c9 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>