[rtems commit] score: Move object MP content to public API
Sebastian Huber
sebh at rtems.org
Sun Jul 28 11:54:49 UTC 2013
Module: rtems
Branch: master
Commit: 0a10eb30c2bb599c4587bafc5e7f10e098c8dd71
Changeset: http://git.rtems.org/rtems/commit/?id=0a10eb30c2bb599c4587bafc5e7f10e098c8dd71
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Sun Jul 28 13:49:28 2013 +0200
score: Move object MP content to public API
---
cpukit/score/include/rtems/score/object.h | 16 ++++++++++++++++
cpukit/score/include/rtems/score/objectmp.h | 18 ++++--------------
2 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h
index f06342f..b231039 100644
--- a/cpukit/score/include/rtems/score/object.h
+++ b/cpukit/score/include/rtems/score/object.h
@@ -233,6 +233,22 @@ typedef struct {
Objects_Name name;
} Objects_Control;
+#if defined( RTEMS_MULTIPROCESSING )
+/**
+ * This defines the Global Object Control Block used to manage
+ * objects resident on other nodes. It is derived from Object.
+ */
+typedef struct {
+ /** This is an object control structure. */
+ Objects_Control Object;
+ /** This is the name of the object. 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.
*/
diff --git a/cpukit/score/include/rtems/score/objectmp.h b/cpukit/score/include/rtems/score/objectmp.h
index 654d7aa..e069f82 100644
--- a/cpukit/score/include/rtems/score/objectmp.h
+++ b/cpukit/score/include/rtems/score/objectmp.h
@@ -19,6 +19,10 @@
#ifndef _RTEMS_SCORE_OBJECTMP_H
#define _RTEMS_SCORE_OBJECTMP_H
+#ifndef _RTEMS_SCORE_OBJECTIMPL_H
+# error "Never use <rtems/rtems/objectmp.h> directly; include <rtems/rtems/objectimpl.h> instead."
+#endif
+
#include <rtems/score/chainimpl.h>
#ifdef __cplusplus
@@ -37,20 +41,6 @@ extern "C" {
/**@{*/
/**
- * This defines the Global Object Control Block used to manage
- * objects resident on other nodes. It is derived from Object.
- */
-typedef struct {
- /** This is an object control structure. */
- Objects_Control Object;
- /** This is the name of the object. 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;
-
-/**
* @brief Intializes the inactive global object chain
* based on the maximum number of global objects configured.
*
More information about the vc
mailing list