summaryrefslogtreecommitdiffstats
path: root/cpukit/posix
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-19 10:51:44 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-22 16:57:21 +0200
commit6b4a3770cd0749bfeb593a8c6213805fb6df65a0 (patch)
tree08be5c3f8418bf25adb1b8d16332618da5dddb3e /cpukit/posix
parentrtems: Create barrier implementation header (diff)
downloadrtems-6b4a3770cd0749bfeb593a8c6213805fb6df65a0.tar.bz2
posix: Create barrier implementation header
Move implementation specific parts of barrier.h and barrier.inl into new header file barrierimpl.h. The barrier.h contains now only the application visible API.
Diffstat (limited to 'cpukit/posix')
-rw-r--r--cpukit/posix/Makefile.am2
-rw-r--r--cpukit/posix/include/rtems/posix/barrier.h51
-rw-r--r--cpukit/posix/include/rtems/posix/barrierimpl.h (renamed from cpukit/posix/inline/rtems/posix/barrier.inl)45
-rw-r--r--cpukit/posix/preinstall.am8
-rw-r--r--cpukit/posix/src/pbarrier.c2
-rw-r--r--cpukit/posix/src/pbarrierdestroy.c2
-rw-r--r--cpukit/posix/src/pbarrierinit.c2
-rw-r--r--cpukit/posix/src/pbarriertranslatereturncode.c2
-rw-r--r--cpukit/posix/src/pbarrierwait.c2
9 files changed, 59 insertions, 57 deletions
diff --git a/cpukit/posix/Makefile.am b/cpukit/posix/Makefile.am
index 0accfd4239..a7a4111236 100644
--- a/cpukit/posix/Makefile.am
+++ b/cpukit/posix/Makefile.am
@@ -45,6 +45,7 @@ include_rtems_posix_HEADERS += include/rtems/posix/threadsup.h
include_rtems_posix_HEADERS += include/rtems/posix/time.h
include_rtems_posix_HEADERS += include/rtems/posix/timer.h
include_rtems_posix_HEADERS += include/rtems/posix/barrier.h
+include_rtems_posix_HEADERS += include/rtems/posix/barrierimpl.h
include_rtems_posix_HEADERS += include/rtems/posix/rwlock.h
include_rtems_posix_HEADERS += include/rtems/posix/spinlock.h
@@ -53,7 +54,6 @@ include_rtems_posix_HEADERS += inline/rtems/posix/key.inl
include_rtems_posix_HEADERS += inline/rtems/posix/pthread.inl
include_rtems_posix_HEADERS += inline/rtems/posix/priority.inl
include_rtems_posix_HEADERS += inline/rtems/posix/timer.inl
-include_rtems_posix_HEADERS += inline/rtems/posix/barrier.inl
include_rtems_posix_HEADERS += inline/rtems/posix/rwlock.inl
include_rtems_posix_HEADERS += inline/rtems/posix/spinlock.inl
diff --git a/cpukit/posix/include/rtems/posix/barrier.h b/cpukit/posix/include/rtems/posix/barrier.h
index 73c63f7162..3ad9bf82d8 100644
--- a/cpukit/posix/include/rtems/posix/barrier.h
+++ b/cpukit/posix/include/rtems/posix/barrier.h
@@ -25,6 +25,13 @@
#ifndef _RTEMS_POSIX_BARRIER_H
#define _RTEMS_POSIX_BARRIER_H
+#include <rtems/score/object.h>
+#include <rtems/score/corebarrier.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @defgroup POSIXBarrier POSIX Barriers
*
@@ -36,13 +43,6 @@
*/
/**@{**/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems/score/object.h>
-#include <rtems/score/corebarrier.h>
-
/**
* This type defines the control block used to manage each barrier.
*/
@@ -54,44 +54,11 @@ typedef struct {
CORE_barrier_Control Barrier;
} POSIX_Barrier_Control;
-/**
- * The following defines the information control block used to manage
- * this class of objects.
- */
-
-POSIX_EXTERN Objects_Information _POSIX_Barrier_Information;
-
-/**
- * @brief POSIX barrier manager initialization.
- *
- * This routine performs the initialization necessary for this manager.
- */
-
-void _POSIX_Barrier_Manager_initialization(void);
-
-/**
- * @brief POSIX translate barrier return code.
- *
- * This routine translates SuperCore Barrier status codes into the
- * corresponding POSIX ones.
- *
- * @param[in] the_barrier_status is the SuperCore status.
- *
- * @return the corresponding POSIX status
- */
-int _POSIX_Barrier_Translate_core_barrier_return_code(
- CORE_barrier_Status the_barrier_status
-);
-
-#ifndef __RTEMS_APPLICATION__
-#include <rtems/posix/barrier.inl>
-#endif
-
-/** @} */
-
#ifdef __cplusplus
}
#endif
+/** @} */
+
#endif
/* end of include file */
diff --git a/cpukit/posix/inline/rtems/posix/barrier.inl b/cpukit/posix/include/rtems/posix/barrierimpl.h
index 6e439d8c66..180c169c6d 100644
--- a/cpukit/posix/inline/rtems/posix/barrier.inl
+++ b/cpukit/posix/include/rtems/posix/barrierimpl.h
@@ -16,15 +16,46 @@
* http://www.rtems.com/license/LICENSE.
*/
-#ifndef _RTEMS_POSIX_BARRIER_H
-# error "Never use <rtems/posix/barrier.inl> directly; include <rtems/posix/barrier.h> instead."
-#endif
+#ifndef _RTEMS_POSIX_BARRIERIMPL_H
+#define _RTEMS_POSIX_BARRIERIMPL_H
-#ifndef _RTEMS_POSIX_BARRIER_INL
-#define _RTEMS_POSIX_BARRIER_INL
+#include <rtems/posix/barrier.h>
#include <pthread.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * The following defines the information control block used to manage
+ * this class of objects.
+ */
+
+POSIX_EXTERN Objects_Information _POSIX_Barrier_Information;
+
+/**
+ * @brief POSIX barrier manager initialization.
+ *
+ * This routine performs the initialization necessary for this manager.
+ */
+
+void _POSIX_Barrier_Manager_initialization(void);
+
+/**
+ * @brief POSIX translate barrier return code.
+ *
+ * This routine translates SuperCore Barrier status codes into the
+ * corresponding POSIX ones.
+ *
+ * @param[in] the_barrier_status is the SuperCore status.
+ *
+ * @return the corresponding POSIX status
+ */
+int _POSIX_Barrier_Translate_core_barrier_return_code(
+ CORE_barrier_Status the_barrier_status
+);
+
/**
* @brief Allocate a barrier control block.
*
@@ -92,5 +123,9 @@ RTEMS_INLINE_ROUTINE bool _POSIX_Barrier_Is_null (
return ( the_barrier == NULL );
}
+#ifdef __cplusplus
+}
+#endif
+
#endif
/* end of include file */
diff --git a/cpukit/posix/preinstall.am b/cpukit/posix/preinstall.am
index aee07c023e..c84a54b1b9 100644
--- a/cpukit/posix/preinstall.am
+++ b/cpukit/posix/preinstall.am
@@ -124,6 +124,10 @@ $(PROJECT_INCLUDE)/rtems/posix/barrier.h: include/rtems/posix/barrier.h $(PROJEC
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/barrier.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/barrier.h
+$(PROJECT_INCLUDE)/rtems/posix/barrierimpl.h: include/rtems/posix/barrierimpl.h $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/barrierimpl.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/barrierimpl.h
+
$(PROJECT_INCLUDE)/rtems/posix/rwlock.h: include/rtems/posix/rwlock.h $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/rwlock.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/rwlock.h
@@ -152,10 +156,6 @@ $(PROJECT_INCLUDE)/rtems/posix/timer.inl: inline/rtems/posix/timer.inl $(PROJECT
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/timer.inl
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/timer.inl
-$(PROJECT_INCLUDE)/rtems/posix/barrier.inl: inline/rtems/posix/barrier.inl $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/barrier.inl
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/barrier.inl
-
$(PROJECT_INCLUDE)/rtems/posix/rwlock.inl: inline/rtems/posix/rwlock.inl $(PROJECT_INCLUDE)/rtems/posix/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/posix/rwlock.inl
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/posix/rwlock.inl
diff --git a/cpukit/posix/src/pbarrier.c b/cpukit/posix/src/pbarrier.c
index 5023b5c01a..ff548bb385 100644
--- a/cpukit/posix/src/pbarrier.c
+++ b/cpukit/posix/src/pbarrier.c
@@ -29,7 +29,7 @@
#include <rtems/system.h>
#include <rtems/config.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
/**
* @brief _POSIX_Barrier_Manager_initialization
diff --git a/cpukit/posix/src/pbarrierdestroy.c b/cpukit/posix/src/pbarrierdestroy.c
index baf788e083..a178ec659e 100644
--- a/cpukit/posix/src/pbarrierdestroy.c
+++ b/cpukit/posix/src/pbarrierdestroy.c
@@ -22,7 +22,7 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
/**
* This directive allows a thread to delete a barrier specified by
diff --git a/cpukit/posix/src/pbarrierinit.c b/cpukit/posix/src/pbarrierinit.c
index edf7e7ca32..1cade2963d 100644
--- a/cpukit/posix/src/pbarrierinit.c
+++ b/cpukit/posix/src/pbarrierinit.c
@@ -24,7 +24,7 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
/*
* pthread_barrier_init
diff --git a/cpukit/posix/src/pbarriertranslatereturncode.c b/cpukit/posix/src/pbarriertranslatereturncode.c
index e9552d1f7d..f2ba58c315 100644
--- a/cpukit/posix/src/pbarriertranslatereturncode.c
+++ b/cpukit/posix/src/pbarriertranslatereturncode.c
@@ -24,7 +24,7 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
/*
* _POSIX_Barrier_Translate_core_barrier_return_code
diff --git a/cpukit/posix/src/pbarrierwait.c b/cpukit/posix/src/pbarrierwait.c
index e55faa8fde..036932ed96 100644
--- a/cpukit/posix/src/pbarrierwait.c
+++ b/cpukit/posix/src/pbarrierwait.c
@@ -22,7 +22,7 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/posix/barrier.h>
+#include <rtems/posix/barrierimpl.h>
/**
* This directive allows a thread to wait at a barrier.