RTEMS  5.1
coremutex.h
Go to the documentation of this file.
1 
14 /*
15  * COPYRIGHT (c) 1989-2011.
16  * On-Line Applications Research Corporation (OAR).
17  *
18  * The license and distribution terms for this file may be
19  * found in the file LICENSE in this distribution or at
20  * http://www.rtems.org/license/LICENSE.
21  */
22 
23 #ifndef _RTEMS_SCORE_COREMUTEX_H
24 #define _RTEMS_SCORE_COREMUTEX_H
25 
26 #include <rtems/score/thread.h>
27 #include <rtems/score/threadq.h>
28 #include <rtems/score/priority.h>
29 #include <rtems/score/watchdog.h>
30 #include <rtems/score/interr.h>
31 
32 struct _Scheduler_Control;
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
56 typedef struct {
64 
68 typedef struct {
73 
77  unsigned int nest_level;
79 
83 typedef struct {
88 
93 
94 #if defined(RTEMS_SMP)
95 
98  const struct _Scheduler_Control *scheduler;
99 #endif
101 
104 #ifdef __cplusplus
105 }
106 #endif
107 
108 #endif
109 /* end of include file */
Priority_Node Priority_ceiling
The priority ceiling node for the mutex owner.
Definition: coremutex.h:92
Constants and Prototypes Related to the Internal Error Handler.
Thread_queue_Control Wait_queue
The thread queue of this mutex.
Definition: coremutex.h:62
The priority node to build up a priority aggregation.
Definition: priority.h:98
unsigned int nest_level
The nest level in case of a recursive seize.
Definition: coremutex.h:77
CORE_recursive_mutex_Control Recursive
The plain recursive mutex.
Definition: coremutex.h:87
Definition: threadq.h:552
Constants and Structures Needed to Declare a Thread Queue.
CORE_mutex_Control Mutex
The plain non-recursive mutex.
Definition: coremutex.h:72
Priority Handler API.
Constants and Structures Associated with Watchdog Timers.
The recursive mutex control.
Definition: coremutex.h:68
Control block used to manage each mutex.
Definition: coremutex.h:56
Scheduler control.
Definition: scheduler.h:269
The recursive mutex control with priority ceiling protocol support.
Definition: coremutex.h:83
Constants and Structures Related with the Thread Control Block.