RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
rtems
partimpl.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
11
12
/* COPYRIGHT (c) 1989-2008.
13
* On-Line Applications Research Corporation (OAR).
14
*
15
* Redistribution and use in source and binary forms, with or without
16
* modification, are permitted provided that the following conditions
17
* are met:
18
* 1. Redistributions of source code must retain the above copyright
19
* notice, this list of conditions and the following disclaimer.
20
* 2. Redistributions in binary form must reproduce the above copyright
21
* notice, this list of conditions and the following disclaimer in the
22
* documentation and/or other materials provided with the distribution.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*/
36
37
#ifndef _RTEMS_RTEMS_PARTIMPL_H
38
#define _RTEMS_RTEMS_PARTIMPL_H
39
40
#include <
rtems/rtems/partdata.h
>
41
#include <
rtems/score/objectimpl.h
>
42
43
#ifdef __cplusplus
44
extern
"C"
{
45
#endif
46
56
65
static
inline
Partition_Control
*_Partition_Get(
66
Objects_Id
id
,
67
ISR_lock_Context
*lock_context
68
)
69
{
70
return
(
Partition_Control
*)
_Objects_Get
(
71
id
,
72
lock_context,
73
&
_Partition_Information
74
);
75
}
76
84
static
inline
void
_Partition_Acquire_critical(
85
Partition_Control
*the_partition,
86
ISR_lock_Context
*lock_context
87
)
88
{
89
_ISR_lock_Acquire
( &the_partition->Lock, lock_context );
90
}
91
99
static
inline
void
_Partition_Release(
100
Partition_Control
*the_partition,
101
ISR_lock_Context
*lock_context
102
)
103
{
104
_ISR_lock_Release_and_ISR_enable
( &the_partition->Lock, lock_context );
105
}
106
108
109
#ifdef __cplusplus
110
}
111
#endif
112
113
#if defined(RTEMS_MULTIPROCESSING)
114
#include <
rtems/rtems/partmp.h
>
115
#endif
116
117
#endif
118
/* end of include file */
_Partition_Information
Objects_Information _Partition_Information
The Partition Manager objects information is used to manage the objects of this class.
_ISR_lock_Acquire
#define _ISR_lock_Acquire(_lock, _context)
Acquires an ISR lock inside an ISR disabled section.
Definition
isrlock.h:259
_ISR_lock_Release_and_ISR_enable
#define _ISR_lock_Release_and_ISR_enable(_lock, _context)
Releases an ISR lock.
Definition
isrlock.h:229
Objects_Id
uint32_t Objects_Id
Definition
object.h:101
_Objects_Get
Objects_Control * _Objects_Get(Objects_Id id, ISR_lock_Context *lock_context, const Objects_Information *information)
Maps the specified object identifier to the associated local object control block.
Definition
objectgetlocal.c:43
partdata.h
This header file provides data structures used by the implementation and the Application Configuratio...
partmp.h
This header file provides the implementation interfaces of the Partition Manager Multiprocessing (MP)...
objectimpl.h
This header file provides interfaces of the Object Handler which are only used by the implementation.
ISR_lock_Context
Local ISR lock context for acquire and release pairs.
Definition
isrlock.h:94
Partition_Control
The Partition Control Block (PTCB) represents a partition.
Definition
partdata.h:57
Generated by
1.18.0