summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix/semaphore.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-18 13:50:25 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-22 16:56:57 +0200
commit9c743e8e72b602319bf5a4a35a2fea4d60e7dc2e (patch)
treed01b078a0a32dc95513f34102611ebd448f7acf3 /cpukit/posix/include/rtems/posix/semaphore.h
parentscore: Error for non-preemptible tasks on SMP (diff)
downloadrtems-9c743e8e72b602319bf5a4a35a2fea4d60e7dc2e.tar.bz2
posix: Create semaphore implementation header
Move implementation specific parts of semaphore.h and semaphore.inl into new header file semaphoreimpl.h. The semaphore.h contains now only the application visible API.
Diffstat (limited to 'cpukit/posix/include/rtems/posix/semaphore.h')
-rw-r--r--cpukit/posix/include/rtems/posix/semaphore.h134
1 files changed, 9 insertions, 125 deletions
diff --git a/cpukit/posix/include/rtems/posix/semaphore.h b/cpukit/posix/include/rtems/posix/semaphore.h
index 92be580c0f..81fee49cce 100644
--- a/cpukit/posix/include/rtems/posix/semaphore.h
+++ b/cpukit/posix/include/rtems/posix/semaphore.h
@@ -19,6 +19,14 @@
#ifndef _RTEMS_POSIX_SEMAPHORE_H
#define _RTEMS_POSIX_SEMAPHORE_H
+#include <semaphore.h>
+#include <rtems/score/object.h>
+#include <rtems/score/coresem.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @defgroup POSIXSemaphorePrivate POSIX Semaphore Private Support
*
@@ -28,14 +36,6 @@
*/
/**@{*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <semaphore.h>
-#include <rtems/score/coresem.h>
-#include <rtems/posix/posixapi.h>
-
/*
* Data Structure used to manage a POSIX semaphore
*/
@@ -57,127 +57,11 @@ typedef struct {
#endif
} POSIX_Semaphore_Control;
-/*
- * The following defines the information control block used to manage
- * this class of objects.
- */
-
-POSIX_EXTERN Objects_Information _POSIX_Semaphore_Information;
-
-/*
- * _POSIX_Semaphore_Manager_initialization
- *
- * DESCRIPTION:
- *
- * This routine performs the initialization necessary for this manager.
- */
-
-void _POSIX_Semaphore_Manager_initialization(void);
-
-/*
- * _POSIX_Semaphore_Allocate
- *
- * DESCRIPTION:
- *
- * This function allocates a semaphore control block from
- * the inactive chain of free semaphore control blocks.
- */
-
-RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Allocate( void );
-
-/*
- * _POSIX_Semaphore_Free
- *
- * DESCRIPTION:
- *
- * This routine frees a semaphore control block to the
- * inactive chain of free semaphore control blocks.
- */
-
-RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Free (
- POSIX_Semaphore_Control *the_semaphore
-);
-
-/*
- * _POSIX_Semaphore_Get
- *
- * DESCRIPTION:
- *
- * This function maps semaphore IDs to semaphore control blocks.
- * If ID corresponds to a local semaphore, then it returns
- * the_semaphore control pointer which maps to ID and location
- * is set to OBJECTS_LOCAL. if the semaphore ID is global and
- * resides on a remote node, then location is set to OBJECTS_REMOTE,
- * and the_semaphore is undefined. Otherwise, location is set
- * to OBJECTS_ERROR and the_semaphore is undefined.
- */
-
-RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Get (
- sem_t *id,
- Objects_Locations *location
-);
-
-/*
- * _POSIX_Semaphore_Create_support
- *
- * DESCRIPTION:
- *
- * This routine supports the sem_init and sem_open routines.
- */
-
-int _POSIX_Semaphore_Create_support(
- const char *name,
- size_t name_len,
- int pshared,
- unsigned int value,
- POSIX_Semaphore_Control **the_sem
-);
-
-/**
- * @brief POSIX delete a semaphore.
- *
- * DESCRIPTION:
- *
- * This routine supports the sem_close and sem_unlink routines.
- */
-void _POSIX_Semaphore_Delete(
- POSIX_Semaphore_Control *the_semaphore
-);
-
-/**
- * @brief POSIX semaphore wait support.
- *
- * DESCRIPTION:
- *
- * This routine supports the sem_wait, sem_trywait, and sem_timedwait
- * services.
- */
-int _POSIX_Semaphore_Wait_support(
- sem_t *sem,
- bool blocking,
- Watchdog_Interval timeout
-);
-
-/*
- * _POSIX_Semaphore_Translate_core_semaphore_return_code
- *
- * DESCRIPTION:
- *
- * A support routine which converts core semaphore status codes into the
- * appropriate POSIX status values.
- */
-
-int _POSIX_Semaphore_Translate_core_semaphore_return_code(
- CORE_semaphore_Status the_semaphore_status
-);
-
-#include <rtems/posix/semaphore.inl>
+/** @} */
#ifdef __cplusplus
}
#endif
-/** @} */
-
#endif
/* end of include file */