RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
rtems
partdata.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_PARTDATA_H
38
#define _RTEMS_RTEMS_PARTDATA_H
39
40
#include <
rtems/rtems/part.h
>
41
#include <
rtems/score/isrlock.h
>
42
#include <
rtems/score/objectdata.h
>
43
44
#ifdef __cplusplus
45
extern
"C"
{
46
#endif
47
53
57
typedef
struct
{
61
Objects_Control
Object
;
62
63
#if defined(RTEMS_SMP)
68
ISR_lock_Control Lock;
69
#endif
70
77
const
void
*
base_address
;
78
85
const
void
*
limit_address
;
86
90
size_t
buffer_size
;
91
95
rtems_attribute
attribute_set
;
96
100
uintptr_t
number_of_used_blocks
;
101
105
Chain_Control
Memory
;
106
}
Partition_Control
;
107
116
extern
Objects_Information
_Partition_Information
;
117
118
#if defined(RTEMS_MULTIPROCESSING)
119
struct
_Thread_Control
;
120
130
void
_Partition_MP_Send_extract_proxy (
131
struct
_Thread_Control
*the_thread,
132
Objects_Id
id
133
);
134
#endif
135
144
#define PARTITION_INFORMATION_DEFINE( _max ) \
145
OBJECTS_INFORMATION_DEFINE( \
146
_Partition, \
147
OBJECTS_CLASSIC_API, \
148
OBJECTS_RTEMS_PARTITIONS, \
149
Partition_Control, \
150
_max, \
151
OBJECTS_NO_STRING_NAME, \
152
_Partition_MP_Send_extract_proxy \
153
)
154
156
157
#ifdef __cplusplus
158
}
159
#endif
160
161
#endif
162
/* end of include file */
rtems_attribute
uint32_t rtems_attribute
This type represents Classic API attributes.
Definition
attr.h:96
_Partition_Information
Objects_Information _Partition_Information
The Partition Manager objects information is used to manage the objects of this class.
Objects_Id
uint32_t Objects_Id
Definition
object.h:101
isrlock.h
This header file provides the interfaces of the ISR Locks.
objectdata.h
This header file provides data structures used by the implementation and the Application Configuratio...
part.h
This header file provides the Partition Manager API.
Objects_Control
Definition
objectdata.h:61
Objects_Information
The information structure used to manage each API class of objects.
Definition
objectdata.h:198
Partition_Control
The Partition Control Block (PTCB) represents a partition.
Definition
partdata.h:57
Partition_Control::attribute_set
rtems_attribute attribute_set
This member contains the attribute set provided at creation time.
Definition
partdata.h:95
Partition_Control::limit_address
const void * limit_address
This member contains the limit address of the buffer area.
Definition
partdata.h:85
Partition_Control::number_of_used_blocks
uintptr_t number_of_used_blocks
This member contains the count of allocated buffers.
Definition
partdata.h:100
Partition_Control::buffer_size
size_t buffer_size
This member contains the size of each buffer in bytes.
Definition
partdata.h:90
Partition_Control::Memory
Chain_Control Memory
This chain is used to manage unallocated buffers.
Definition
partdata.h:105
Partition_Control::base_address
const void * base_address
This member contains the base address of the buffer area.
Definition
partdata.h:77
Partition_Control::Object
Objects_Control Object
This member turns the PTCB into an object.
Definition
partdata.h:61
_Thread_Control
Definition
thread.h:837
Chain_Control
This union represents a chain control block.
Definition
chain.h:96
Generated by
1.18.0