summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/inline/rtems/rtems/dpmem.inl
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-23 13:00:31 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-23 15:12:54 +0200
commit562815cf0bae82467311becd5cf670ba35cd94b8 (patch)
tree674af72b4b378e5ffdfd7ba54a7eea679f4de968 /cpukit/rtems/inline/rtems/rtems/dpmem.inl
parentrtems: Create event implementation header (diff)
downloadrtems-562815cf0bae82467311becd5cf670ba35cd94b8.tar.bz2
rtems: Create dpmem implementation header
Move implementation specific parts of dpmem.h and dpmem.inl into new header file dpmemimpl.h. The dpmem.h contains now only the application visible API.
Diffstat (limited to '')
-rw-r--r--cpukit/rtems/include/rtems/rtems/dpmemimpl.h (renamed from cpukit/rtems/inline/rtems/rtems/dpmem.inl)47
1 files changed, 38 insertions, 9 deletions
diff --git a/cpukit/rtems/inline/rtems/rtems/dpmem.inl b/cpukit/rtems/include/rtems/rtems/dpmemimpl.h
index 19a4addbca..1fa636dc35 100644
--- a/cpukit/rtems/inline/rtems/rtems/dpmem.inl
+++ b/cpukit/rtems/include/rtems/rtems/dpmemimpl.h
@@ -1,8 +1,9 @@
/**
- * @file rtems/rtems/dpmem.inl
+ * @file
*
- * This include file contains the inline routine used in conjunction
- * with the Dual Ported Memory Manager
+ * @ingroup ClassicDPMEMImpl
+ *
+ * @brief Dual Ported Memory Manager Implementation
*/
/* COPYRIGHT (c) 1989-2008.
@@ -13,17 +14,41 @@
* http://www.rtems.com/license/LICENSE.
*/
-#ifndef _RTEMS_RTEMS_DPMEM_H
-# error "Never use <rtems/rtems/dpmem.inl> directly; include <rtems/rtems/dpmem.h> instead."
-#endif
-
#ifndef _RTEMS_RTEMS_DPMEM_INL
#define _RTEMS_RTEMS_DPMEM_INL
+#include <rtems/rtems/dpmem.h>
+
+/**
+ * @defgroup ClassicDPMEMImpl Dual Ported Memory Manager Implementation
+ *
+ * @ingroup ClassicDPMEM
+ *
+ * @{
+ */
+
+/**
+ * This constant is defined to extern most of the time when using
+ * this header file. However by defining it to nothing, the data
+ * declared in this header file can be instantiated. This is done
+ * in a single per manager file.
+ */
+#ifndef RTEMS_DPMEM_EXTERN
+#define RTEMS_DPMEM_EXTERN extern
+#endif
+
+/**
+ * @brief Define the internal Dual Ported Memory information
+ * The following define the internal Dual Ported Memory information.
+ */
+RTEMS_DPMEM_EXTERN Objects_Information _Dual_ported_memory_Information;
+
/**
- * @addtogroup ClassicDPMEM
- * @{
+ * @brief Dual Ported Memory Manager Initialization
+ *
+ * This routine performs the initialization necessary for this manager.
*/
+void _Dual_ported_memory_Manager_initialization(void);
/**
* @brief Allocates a port control block from the inactive chain
@@ -86,5 +111,9 @@ RTEMS_INLINE_ROUTINE bool _Dual_ported_memory_Is_null(
/**@}*/
+#ifdef __cplusplus
+}
+#endif
+
#endif
/* end of include file */