[PATCH 08/21] rtems: Move internal structures to partdata.h
Sebastian Huber
sebastian.huber at embedded-brains.de
Thu Nov 8 12:52:01 UTC 2018
Update #3598.
---
cpukit/headers.am | 1 +
cpukit/include/rtems/confdefs.h | 1 +
cpukit/include/rtems/rtems/part.h | 43 ++----------------------
cpukit/include/rtems/rtems/partdata.h | 63 +++++++++++++++++++++++++++++++++++
cpukit/include/rtems/rtems/partimpl.h | 2 +-
cpukit/libmisc/monitor/mon-part.c | 1 +
6 files changed, 70 insertions(+), 41 deletions(-)
create mode 100644 cpukit/include/rtems/rtems/partdata.h
diff --git a/cpukit/headers.am b/cpukit/headers.am
index cd0abfabec..a274647105 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -253,6 +253,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/object.h
include_rtems_rtems_HEADERS += include/rtems/rtems/options.h
include_rtems_rtems_HEADERS += include/rtems/rtems/optionsimpl.h
include_rtems_rtems_HEADERS += include/rtems/rtems/part.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/partdata.h
include_rtems_rtems_HEADERS += include/rtems/rtems/partimpl.h
include_rtems_rtems_HEADERS += include/rtems/rtems/partmp.h
include_rtems_rtems_HEADERS += include/rtems/rtems/ratemon.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 713064f6af..4eed0d2cfc 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -35,6 +35,7 @@
#include <rtems/rtems/barrierdata.h>
#include <rtems/rtems/dpmemdata.h>
#include <rtems/rtems/messagedata.h>
+#include <rtems/rtems/partdata.h>
#include <rtems/rtems/ratemondata.h>
#include <rtems/posix/key.h>
#include <rtems/posix/mqueue.h>
diff --git a/cpukit/include/rtems/rtems/part.h b/cpukit/include/rtems/rtems/part.h
index 769f3c6904..7208f88e6b 100644
--- a/cpukit/include/rtems/rtems/part.h
+++ b/cpukit/include/rtems/rtems/part.h
@@ -1,23 +1,9 @@
/**
- * @file rtems/rtems/part.h
+ * @file
*
- * @defgroup ClassicPart Partitions
+ * @ingroup ClassicPart
*
- * @ingroup ClassicRTEMS
- * @brief Partition Manager
- *
- * This include file contains all the constants and structures associated
- * with the Partition Manager. This manager provides facilities to
- * dynamically allocate memory in fixed-sized units which are returned
- * as buffers.
- *
- * Directives provided are:
- *
- * - create a partition
- * - get an ID of a partition
- * - delete a partition
- * - get a buffer from a partition
- * - return a buffer to a partition
+ * @brief Classic Partition Manager API
*/
/* COPYRIGHT (c) 1989-2008.
@@ -34,7 +20,6 @@
#include <rtems/rtems/attr.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/types.h>
-#include <rtems/score/isrlock.h>
#ifdef __cplusplus
extern "C" {
@@ -50,28 +35,6 @@ extern "C" {
*/
/**@{*/
-/**
- * The following defines the control block used to manage each partition.
- */
-typedef struct {
- /** This field is the object management portion of a Partition instance. */
- Objects_Control Object;
- /** This field is the lock of the Partition. */
- ISR_LOCK_MEMBER( Lock )
- /** This field is the physical starting address of the Partition. */
- void *starting_address;
- /** This field is the size of the Partition in bytes. */
- uintptr_t length;
- /** This field is the size of each buffer in bytes */
- size_t buffer_size;
- /** This field is the attribute set provided at create time. */
- rtems_attribute attribute_set;
- /** This field is the of allocated buffers. */
- uintptr_t number_of_used_blocks;
- /** This field is the chain used to manage unallocated buffers. */
- Chain_Control Memory;
-} Partition_Control;
-
/**
* @brief RTEMS Partition Create
*
diff --git a/cpukit/include/rtems/rtems/partdata.h b/cpukit/include/rtems/rtems/partdata.h
new file mode 100644
index 0000000000..4423de09f7
--- /dev/null
+++ b/cpukit/include/rtems/rtems/partdata.h
@@ -0,0 +1,63 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicPartImpl
+ *
+ * @brief Classic Partition Manager Data Structures
+ */
+
+/* COPYRIGHT (c) 1989-2008.
+ * 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_PARTDATA_H
+#define _RTEMS_RTEMS_PARTDATA_H
+
+#include <rtems/rtems/part.h>
+#include <rtems/score/isrlock.h>
+#include <rtems/score/object.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicPartImpl
+ *
+ * @{
+ */
+
+/**
+ * The following defines the control block used to manage each partition.
+ */
+typedef struct {
+ /** This field is the object management portion of a Partition instance. */
+ Objects_Control Object;
+ /** This field is the lock of the Partition. */
+ ISR_LOCK_MEMBER( Lock )
+ /** This field is the physical starting address of the Partition. */
+ void *starting_address;
+ /** This field is the size of the Partition in bytes. */
+ uintptr_t length;
+ /** This field is the size of each buffer in bytes */
+ size_t buffer_size;
+ /** This field is the attribute set provided at create time. */
+ rtems_attribute attribute_set;
+ /** This field is the of allocated buffers. */
+ uintptr_t number_of_used_blocks;
+ /** This field is the chain used to manage unallocated buffers. */
+ Chain_Control Memory;
+} Partition_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/partimpl.h b/cpukit/include/rtems/rtems/partimpl.h
index 02d3ff8b44..d795748723 100644
--- a/cpukit/include/rtems/rtems/partimpl.h
+++ b/cpukit/include/rtems/rtems/partimpl.h
@@ -17,7 +17,7 @@
#ifndef _RTEMS_RTEMS_PARTIMPL_H
#define _RTEMS_RTEMS_PARTIMPL_H
-#include <rtems/rtems/part.h>
+#include <rtems/rtems/partdata.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/objectimpl.h>
diff --git a/cpukit/libmisc/monitor/mon-part.c b/cpukit/libmisc/monitor/mon-part.c
index b428f9e868..18034cd58f 100644
--- a/cpukit/libmisc/monitor/mon-part.c
+++ b/cpukit/libmisc/monitor/mon-part.c
@@ -9,6 +9,7 @@
#include <rtems.h>
#include <rtems/monitor.h>
#include <rtems/rtems/attrimpl.h>
+#include <rtems/rtems/partdata.h>
#include <stdio.h>
#include <string.h> /* memcpy() */
--
2.16.4
More information about the devel
mailing list