RTEMS 6.1-rc7
Loading...
Searching...
No Matches
coremutex.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
13/*
14 * COPYRIGHT (c) 1989-2011.
15 * On-Line Applications Research Corporation (OAR).
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions
19 * are met:
20 * 1. Redistributions of source code must retain the above copyright
21 * notice, this list of conditions and the following disclaimer.
22 * 2. Redistributions in binary form must reproduce the above copyright
23 * notice, this list of conditions and the following disclaimer in the
24 * documentation and/or other materials provided with the distribution.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
30 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 */
38
39#ifndef _RTEMS_SCORE_COREMUTEX_H
40#define _RTEMS_SCORE_COREMUTEX_H
41
42#include <rtems/score/thread.h>
43#include <rtems/score/threadq.h>
46#include <rtems/score/interr.h>
47
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
74typedef struct {
82
86typedef struct {
91
95 unsigned int nest_level;
97
101typedef struct {
106
111
112#if defined(RTEMS_SMP)
116 const struct _Scheduler_Control *scheduler;
117#endif
119
122#ifdef __cplusplus
123}
124#endif
125
126#endif
127/* end of include file */
This header file provides interfaces of the Watchdog Handler which are used by the implementation and...
This header file provides the interfaces of the Internal Error Handler.
This header file provides interfaces of the Priority Handler which are used by the implementation and...
This header file provides interfaces of the Thread Handler which are used by the implementation and t...
The recursive mutex control with priority ceiling protocol support.
Definition: coremutex.h:101
Priority_Node Priority_ceiling
The priority ceiling node for the mutex owner.
Definition: coremutex.h:110
CORE_recursive_mutex_Control Recursive
The plain recursive mutex.
Definition: coremutex.h:105
Control block used to manage each mutex.
Definition: coremutex.h:74
Thread_queue_Control Wait_queue
The thread queue of this mutex.
Definition: coremutex.h:80
The recursive mutex control.
Definition: coremutex.h:86
unsigned int nest_level
The nest level in case of a recursive seize.
Definition: coremutex.h:95
CORE_mutex_Control Mutex
The plain non-recursive mutex.
Definition: coremutex.h:90
The priority node to build up a priority aggregation.
Definition: priority.h:112
Definition: threadq.h:609
Scheduler control.
Definition: scheduler.h:337
This header file provides interfaces of the Thread Queue Handler which are used by the implementation...