[rtems commit] rtems: Create status implementation header

Sebastian Huber sebh at rtems.org
Tue Jul 23 13:09:29 UTC 2013


Module:    rtems
Branch:    master
Commit:    faa2f8c4e9145c629ad7670d0869c1caed33abc2
Changeset: http://git.rtems.org/rtems/commit/?id=faa2f8c4e9145c629ad7670d0869c1caed33abc2

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jul 23 10:54:37 2013 +0200

rtems: Create status implementation header

Move implementation specific parts of status.h and status.inl into new
header file statusimpl.h.  The status.h contains now only the
application visible API.

---

 cpukit/rtems/Makefile.am                      |    2 +-
 cpukit/rtems/include/rtems/rtems/status.h     |   42 ++++++++++++-----
 cpukit/rtems/include/rtems/rtems/statusimpl.h |   49 ++++++++++++++++++++
 cpukit/rtems/inline/rtems/rtems/status.inl    |   60 -------------------------
 cpukit/rtems/preinstall.am                    |    8 ++--
 cpukit/rtems/src/barrierident.c               |    2 +-
 cpukit/rtems/src/dpmemident.c                 |    2 +-
 cpukit/rtems/src/msgqident.c                  |    2 +-
 cpukit/rtems/src/partident.c                  |    2 +-
 cpukit/rtems/src/ratemonident.c               |    2 +-
 cpukit/rtems/src/regionident.c                |    2 +-
 cpukit/rtems/src/rtemsobjectgetclassicname.c  |    2 +-
 cpukit/rtems/src/semident.c                   |    2 +-
 cpukit/rtems/src/status.c                     |    2 +-
 cpukit/rtems/src/taskident.c                  |    2 +-
 cpukit/rtems/src/timerident.c                 |    2 +-
 cpukit/sapi/src/extensionident.c              |    1 +
 17 files changed, 95 insertions(+), 89 deletions(-)

diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am
index 5d39b48..ebac296 100644
--- a/cpukit/rtems/Makefile.am
+++ b/cpukit/rtems/Makefile.am
@@ -39,6 +39,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/semimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/signal.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/smp.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/status.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/statusimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/support.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/tasks.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/timer.h
@@ -70,7 +71,6 @@ include_rtems_rtems_HEADERS += inline/rtems/rtems/options.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/part.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/ratemon.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/region.inl
-include_rtems_rtems_HEADERS += inline/rtems/rtems/status.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/support.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/tasks.inl
 include_rtems_rtems_HEADERS += inline/rtems/rtems/timer.inl
diff --git a/cpukit/rtems/include/rtems/rtems/status.h b/cpukit/rtems/include/rtems/rtems/status.h
index 9732d29..4dad087 100644
--- a/cpukit/rtems/include/rtems/rtems/status.h
+++ b/cpukit/rtems/include/rtems/rtems/status.h
@@ -21,6 +21,12 @@
 #ifndef _RTEMS_RTEMS_STATUS_H
 #define _RTEMS_RTEMS_STATUS_H
 
+#include <rtems/score/basedefs.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  *  @defgroup ClassicStatus Status Codes
  *
@@ -30,10 +36,6 @@
  */
 /**@{*/
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /**
  *  @brief Classic API Status
  *
@@ -188,23 +190,37 @@ typedef enum {
 #define RTEMS_STATUS_CODES_LAST  RTEMS_PROXY_BLOCKING
 
 /**
- *  @brief Status Object Name Errors to Status Array
+ *  @brief Checks if the status code is equal to RTEMS_SUCCESSFUL.
  *
- *  This array is used to map SuperCore Object Handler return
- *  codes to Classic API status codes.
+ *  This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL,
+ *  and FALSE otherwise.
  */
-extern const rtems_status_code _Status_Object_name_errors_to_status[];
+RTEMS_INLINE_ROUTINE bool rtems_is_status_successful(
+  rtems_status_code code
+)
+{
+  return (code == RTEMS_SUCCESSFUL);
+}
 
-/*
- *  Applications are allowed to use the macros to compare status codes.
+/**
+ *  @brief Checks if the status code1 is equal to code2.
+ *
+ *  This function returns TRUE if the status code1 is equal to code2,
+ *  and FALSE otherwise.
  */
-#include <rtems/rtems/status.inl>
+RTEMS_INLINE_ROUTINE bool rtems_are_statuses_equal(
+  rtems_status_code code1,
+  rtems_status_code code2
+)
+{
+   return (code1 == code2);
+}
+
+/**@}*/
 
 #ifdef __cplusplus
 }
 #endif
 
-/**@}*/
-
 #endif
 /* end of include file */
diff --git a/cpukit/rtems/include/rtems/rtems/statusimpl.h b/cpukit/rtems/include/rtems/rtems/statusimpl.h
new file mode 100644
index 0000000..1f74c6e
--- /dev/null
+++ b/cpukit/rtems/include/rtems/rtems/statusimpl.h
@@ -0,0 +1,49 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicStatusImpl
+ *
+ * @brief Classic Status Implementation
+ */
+
+/*  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.com/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_STATUSIMPL_H
+#define _RTEMS_RTEMS_STATUSIMPL_H
+
+#include <rtems/rtems/status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @defgroup ClassicStatusImpl Classic Status Implementation
+ *
+ * @ingroup ClassicStatus
+ *
+ * @{
+ */
+
+/**
+ *  @brief Status Object Name Errors to Status Array
+ *
+ *  This array is used to map SuperCore Object Handler return
+ *  codes to Classic API status codes.
+ */
+extern const rtems_status_code _Status_Object_name_errors_to_status[];
+
+/**@}*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/rtems/inline/rtems/rtems/status.inl b/cpukit/rtems/inline/rtems/rtems/status.inl
deleted file mode 100644
index caeb03d..0000000
--- a/cpukit/rtems/inline/rtems/rtems/status.inl
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * @file rtems/rtems/status.inl
- *
- *  This include file contains the implementations of the inlined
- *  routines for the status package.
- */
-
-/*  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.com/license/LICENSE.
- */
-
-#ifndef _RTEMS_RTEMS_STATUS_H
-# error "Never use <rtems/rtems/status.inl> directly; include <rtems/rtems/status.h> instead."
-#endif
-
-#ifndef _RTEMS_RTEMS_STATUS_INL
-#define _RTEMS_RTEMS_STATUS_INL
-
-#include <rtems/score/basedefs.h>
-
-/**
- *  @addtogroup ClassicStatus
- *  @{
- */
-
-/**
- *  @brief Checks if the status code is equal to RTEMS_SUCCESSFUL.
- *
- *  This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL,
- *  and FALSE otherwise.
- */
-RTEMS_INLINE_ROUTINE bool rtems_is_status_successful(
-  rtems_status_code code
-)
-{
-  return (code == RTEMS_SUCCESSFUL);
-}
-
-/**
- *  @brief Checks if the status code1 is equal to code2.
- *
- *  This function returns TRUE if the status code1 is equal to code2,
- *  and FALSE otherwise.
- */
-RTEMS_INLINE_ROUTINE bool rtems_are_statuses_equal(
-  rtems_status_code code1,
-  rtems_status_code code2
-)
-{
-   return (code1 == code2);
-}
-
-/**@}*/
-
-#endif
-/* end of include file */
diff --git a/cpukit/rtems/preinstall.am b/cpukit/rtems/preinstall.am
index 18e3f47..561a825 100644
--- a/cpukit/rtems/preinstall.am
+++ b/cpukit/rtems/preinstall.am
@@ -127,6 +127,10 @@ $(PROJECT_INCLUDE)/rtems/rtems/status.h: include/rtems/rtems/status.h $(PROJECT_
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/status.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/status.h
 
+$(PROJECT_INCLUDE)/rtems/rtems/statusimpl.h: include/rtems/rtems/statusimpl.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/statusimpl.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/statusimpl.h
+
 $(PROJECT_INCLUDE)/rtems/rtems/support.h: include/rtems/rtems/support.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/support.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/support.h
@@ -225,10 +229,6 @@ $(PROJECT_INCLUDE)/rtems/rtems/region.inl: inline/rtems/rtems/region.inl $(PROJE
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/region.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/region.inl
 
-$(PROJECT_INCLUDE)/rtems/rtems/status.inl: inline/rtems/rtems/status.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/status.inl
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/status.inl
-
 $(PROJECT_INCLUDE)/rtems/rtems/support.inl: inline/rtems/rtems/support.inl $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/support.inl
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/support.inl
diff --git a/cpukit/rtems/src/barrierident.c b/cpukit/rtems/src/barrierident.c
index ce801f4..96aa349 100644
--- a/cpukit/rtems/src/barrierident.c
+++ b/cpukit/rtems/src/barrierident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/object.h>
 #include <rtems/rtems/options.h>
diff --git a/cpukit/rtems/src/dpmemident.c b/cpukit/rtems/src/dpmemident.c
index 8004c19..13512be 100644
--- a/cpukit/rtems/src/dpmemident.c
+++ b/cpukit/rtems/src/dpmemident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
 #include <rtems/rtems/dpmem.h>
diff --git a/cpukit/rtems/src/msgqident.c b/cpukit/rtems/src/msgqident.c
index 1605f53..d6b4cce 100644
--- a/cpukit/rtems/src/msgqident.c
+++ b/cpukit/rtems/src/msgqident.c
@@ -30,7 +30,7 @@
 #if defined(RTEMS_MULTIPROCESSING)
 #include <rtems/score/mpci.h>
 #endif
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/attr.h>
 #include <rtems/rtems/messageimpl.h>
 #include <rtems/rtems/options.h>
diff --git a/cpukit/rtems/src/partident.c b/cpukit/rtems/src/partident.c
index 44b0339..d13af32 100644
--- a/cpukit/rtems/src/partident.c
+++ b/cpukit/rtems/src/partident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/address.h>
 #include <rtems/score/object.h>
diff --git a/cpukit/rtems/src/ratemonident.c b/cpukit/rtems/src/ratemonident.c
index def9580..1e45175 100644
--- a/cpukit/rtems/src/ratemonident.c
+++ b/cpukit/rtems/src/ratemonident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/isr.h>
 #include <rtems/score/object.h>
diff --git a/cpukit/rtems/src/regionident.c b/cpukit/rtems/src/regionident.c
index ca15664..8d6e088 100644
--- a/cpukit/rtems/src/regionident.c
+++ b/cpukit/rtems/src/regionident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/object.h>
 #include <rtems/rtems/options.h>
diff --git a/cpukit/rtems/src/rtemsobjectgetclassicname.c b/cpukit/rtems/src/rtemsobjectgetclassicname.c
index 559b2e7..1d9d1db 100644
--- a/cpukit/rtems/src/rtemsobjectgetclassicname.c
+++ b/cpukit/rtems/src/rtemsobjectgetclassicname.c
@@ -20,7 +20,7 @@
 
 #include <rtems/system.h>
 #include <rtems/score/object.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/types.h>
 #include <rtems/rtems/object.h>
 
diff --git a/cpukit/rtems/src/semident.c b/cpukit/rtems/src/semident.c
index b26e1f1..bdecff5 100644
--- a/cpukit/rtems/src/semident.c
+++ b/cpukit/rtems/src/semident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/rtems/attr.h>
 #include <rtems/score/isr.h>
diff --git a/cpukit/rtems/src/status.c b/cpukit/rtems/src/status.c
index f89a5e7..1d8c4fa 100644
--- a/cpukit/rtems/src/status.c
+++ b/cpukit/rtems/src/status.c
@@ -13,7 +13,7 @@
  *  http://www.rtems.com/license/LICENSE.
  */
 
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 
 const rtems_status_code _Status_Object_name_errors_to_status[] = {
   /** This maps OBJECTS_SUCCESSFUL to RTEMS_SUCCESSFUL. */
diff --git a/cpukit/rtems/src/taskident.c b/cpukit/rtems/src/taskident.c
index 5d5f5bf..fdd7f69 100644
--- a/cpukit/rtems/src/taskident.c
+++ b/cpukit/rtems/src/taskident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/rtems/modes.h>
 #include <rtems/score/object.h>
diff --git a/cpukit/rtems/src/timerident.c b/cpukit/rtems/src/timerident.c
index 2687ef7..ea7911d 100644
--- a/cpukit/rtems/src/timerident.c
+++ b/cpukit/rtems/src/timerident.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <rtems/system.h>
-#include <rtems/rtems/status.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>
diff --git a/cpukit/sapi/src/extensionident.c b/cpukit/sapi/src/extensionident.c
index 7fa56e9..8817469 100644
--- a/cpukit/sapi/src/extensionident.c
+++ b/cpukit/sapi/src/extensionident.c
@@ -20,6 +20,7 @@
 #endif
 
 #include <rtems/system.h>
+#include <rtems/rtems/statusimpl.h>
 #include <rtems/rtems/support.h>
 #include <rtems/score/object.h>
 #include <rtems/score/thread.h>




More information about the vc mailing list