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