summaryrefslogtreecommitdiffstats
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
parentrtems: Avoid include of <rtems/score/scheduler.h> (diff)
downloadrtems-a6e7d5e492fd5e4c361d4d9aa13eb0eb951b386a.tar.bz2
score: Move internal structures to objectdata.h
Update #3598.
-rw-r--r--cpukit/headers.am1
-rw-r--r--cpukit/include/rtems/extensiondata.h2
-rw-r--r--cpukit/include/rtems/posix/mqueue.h2
-rw-r--r--cpukit/include/rtems/posix/semaphore.h2
-rw-r--r--cpukit/include/rtems/posix/shm.h2
-rw-r--r--cpukit/include/rtems/posix/timer.h2
-rw-r--r--cpukit/include/rtems/rtems/barrierdata.h2
-rw-r--r--cpukit/include/rtems/rtems/dpmemdata.h2
-rw-r--r--cpukit/include/rtems/rtems/messagedata.h2
-rw-r--r--cpukit/include/rtems/rtems/partdata.h2
-rw-r--r--cpukit/include/rtems/rtems/regiondata.h2
-rw-r--r--cpukit/include/rtems/rtems/timerdata.h2
-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
16 files changed, 112 insertions, 71 deletions
diff --git a/cpukit/headers.am b/cpukit/headers.am
index fa51f8dcee..a3183496be 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 ba32a2b319..4c3be8a5a2 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 6211c68783..bec82ee3d9 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 734d8bb84b..16b6d711cc 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 310af6692b..ae0416e1fe 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 52732af991..2cbc56e873 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 a19ed88758..12b2eab2d8 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 293ad15ea5..86302f9089 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 be09d8ed86..b035dff97b 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 4423de09f7..3b030c8f34 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 75fc950691..cfbc07f713 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 a3a13b774e..db32739488 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 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>