RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
posix
spinlockimpl.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
11
12
/*
13
* COPYRIGHT (c) 1989-2011.
14
* On-Line Applications Research Corporation (OAR).
15
*
16
* Copyright (c) 2016 embedded brains GmbH & Co. KG
17
*
18
* Redistribution and use in source and binary forms, with or without
19
* modification, are permitted provided that the following conditions
20
* are met:
21
* 1. Redistributions of source code must retain the above copyright
22
* notice, this list of conditions and the following disclaimer.
23
* 2. Redistributions in binary form must reproduce the above copyright
24
* notice, this list of conditions and the following disclaimer in the
25
* documentation and/or other materials provided with the distribution.
26
*
27
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
31
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37
* POSSIBILITY OF SUCH DAMAGE.
38
*/
39
40
#ifndef _RTEMS_POSIX_SPINLOCKIMPL_H
41
#define _RTEMS_POSIX_SPINLOCKIMPL_H
42
43
#include <
pthread.h
>
44
45
#include <
rtems/score/isrlevel.h
>
46
47
#if defined(RTEMS_SMP)
48
#include <
rtems/score/percpu.h
>
49
#include <
rtems/score/smplockticket.h
>
50
#endif
51
52
#ifdef __cplusplus
53
extern
"C"
{
54
#endif
55
56
typedef
struct
{
57
#if defined(RTEMS_SMP)
58
SMP_ticket_lock_Control Lock;
59
#else
60
unsigned
int
reserved[ 2 ];
61
#endif
62
ISR_Level
interrupt_state;
63
}
POSIX_Spinlock_Control
;
64
65
static
inline
POSIX_Spinlock_Control
*_POSIX_Spinlock_Get(
66
pthread_spinlock_t *lock
67
)
68
{
69
return
(
POSIX_Spinlock_Control
*) lock;
70
}
71
72
#ifdef __cplusplus
73
}
74
#endif
75
76
#endif
77
/* end of include file */
ISR_Level
uint32_t ISR_Level
Definition
isrlevel.h:60
isrlevel.h
This header file provides the ISR_Level related interfaces of the ISR Handler.
pthread.h
POSIX Threads Private Support.
percpu.h
This header file provides the interfaces of the Per-CPU Information.
smplockticket.h
This header file provides the interfaces of the SMP Locks related to ticket locks.
POSIX_Spinlock_Control
Definition
spinlockimpl.h:56
Generated by
1.18.0