RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
rtems
dpmemimpl.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_DPMEM_INL
38
#define _RTEMS_RTEMS_DPMEM_INL
39
40
#include <
rtems/rtems/dpmemdata.h
>
41
#include <
rtems/score/objectimpl.h
>
42
43
#ifdef __cplusplus
44
extern
"C"
{
45
#endif
46
56
64
static
inline
Dual_ported_memory_Control
65
*_Dual_ported_memory_Allocate (
void
)
66
{
67
return
(
Dual_ported_memory_Control
*)
68
_Objects_Allocate
( &
_Dual_ported_memory_Information
);
69
}
70
78
static
inline
void
_Dual_ported_memory_Free (
79
Dual_ported_memory_Control
*the_port
80
)
81
{
82
_Objects_Free( &
_Dual_ported_memory_Information
, &the_port->
Object
);
83
}
84
85
static
inline
Dual_ported_memory_Control
*_Dual_ported_memory_Get(
86
Objects_Id
id
,
87
ISR_lock_Context
*lock_context
88
)
89
{
90
return
(
Dual_ported_memory_Control
*)
91
_Objects_Get
(
id
, lock_context, &
_Dual_ported_memory_Information
);
92
}
93
95
96
#ifdef __cplusplus
97
}
98
#endif
99
100
#endif
/* _RTEMS_RTEMS_DPMEM_INL */
101
/* end of include file */
dpmemdata.h
This header file provides data structures used by the implementation and the Application Configuratio...
_Dual_ported_memory_Information
Objects_Information _Dual_ported_memory_Information
The Classic Dual Ported Memory objects information.
_Objects_Allocate
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
Definition
objectallocate.c:43
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
objectimpl.h
This header file provides interfaces of the Object Handler which are only used by the implementation.
Dual_ported_memory_Control
Definition
dpmemdata.h:59
Dual_ported_memory_Control::Object
Objects_Control Object
Definition
dpmemdata.h:61
ISR_lock_Context
Local ISR lock context for acquire and release pairs.
Definition
isrlock.h:94
Generated by
1.18.0