RTEMS 6.3
Loading...
Searching...
No Matches
coremutex.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12
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
68
82
97
101typedef struct {
106
111
112#if defined(RTEMS_SMP)
116 const struct _Scheduler_Control *scheduler;
117#endif
119
121
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...