summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/rtems/sem.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-08 10:45:44 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-12 13:25:40 +0100
commit739df1f58390e4f755807df0da99c6a38a334246 (patch)
tree837506f22753f35849ddfe1eadf8906674a60d33 /cpukit/include/rtems/rtems/sem.h
parentrtems: Move internal structures to regiondata.h (diff)
downloadrtems-739df1f58390e4f755807df0da99c6a38a334246.tar.bz2
rtems: Move internal structures to semdata.h
Update #3598.
Diffstat (limited to '')
-rw-r--r--cpukit/include/rtems/rtems/sem.h84
1 files changed, 3 insertions, 81 deletions
diff --git a/cpukit/include/rtems/rtems/sem.h b/cpukit/include/rtems/rtems/sem.h
index 41b0061979..8e83848465 100644
--- a/cpukit/include/rtems/rtems/sem.h
+++ b/cpukit/include/rtems/rtems/sem.h
@@ -3,22 +3,7 @@
*
* @ingroup ClassicSem
*
- * @brief Classic Semaphores API
- *
- * This include file contains all the constants and structures associated
- * with the Semaphore Manager. This manager utilizes standard Dijkstra
- * counting semaphores to provide synchronization and mutual exclusion
- * capabilities.
- *
- * Directives provided are:
- *
- * - create a semaphore
- * - get an ID of a semaphore
- * - delete a semaphore
- * - acquire a semaphore
- * - release a semaphore
- * - flush a semaphore
- * - set ceiling priority for a semaphore
+ * @brief Classic Semaphores Manager API
*/
/*
@@ -33,15 +18,10 @@
#ifndef _RTEMS_RTEMS_SEM_H
#define _RTEMS_RTEMS_SEM_H
-#include <rtems/rtems/types.h>
+#include <rtems/rtems/attr.h>
#include <rtems/rtems/options.h>
-#include <rtems/rtems/support.h>
#include <rtems/rtems/tasks.h>
-#include <rtems/rtems/attr.h>
-#include <rtems/score/coremutex.h>
-#include <rtems/score/object.h>
-#include <rtems/score/coresem.h>
-#include <rtems/score/mrsp.h>
+#include <rtems/rtems/types.h>
#ifdef __cplusplus
extern "C" {
@@ -58,64 +38,6 @@ extern "C" {
/**@{*/
/**
- * The following defines the control block used to manage each semaphore.
- */
-typedef struct {
- /** This field is the object management portion of a Semaphore instance. */
- Objects_Control Object;
-
- /**
- * This contains the memory associated with the SuperCore Semaphore or
- * Mutex instance that provides the primary functionality of each
- * Classic API Semaphore instance. The structure used is dependent
- * on the attributes specified by the user on the create directive.
- *
- * @note Only one of these has meaning in a particular Classic API
- * Semaphore instance.
- */
- union {
- /**
- * @brief The thread queue present in all other variants.
- */
- Thread_queue_Control Wait_queue;
-
- /**
- * This is the SuperCore Mutex instance associated with this Classic
- * API Semaphore instance.
- */
- CORE_ceiling_mutex_Control Mutex;
-
- /**
- * This is the SuperCore Semaphore instance associated with this Classic
- * API Semaphore instance.
- */
- CORE_semaphore_Control Semaphore;
-
-#if defined(RTEMS_SMP)
- MRSP_Control MRSP;
-#endif
- } Core_control;
-
- /**
- * @brief The semaphore variant.
- *
- * @see Semaphore_Variant.
- */
- unsigned int variant : 3;
-
- /**
- * @brief The semaphore thread queue discipline.
- *
- * @see Semaphore_Discipline.
- */
- unsigned int discipline : 1;
-
-#if defined(RTEMS_MULTIPROCESSING)
- unsigned int is_global : 1;
-#endif
-} Semaphore_Control;
-
-/**
* @brief rtems_semaphore_create
*
* This routine implements the rtems_semaphore_create directive. The