RTEMS 6.1-rc6
Loading...
Searching...
No Matches
partdata.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
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>
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
57typedef struct {
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
91
96
101
107
117
118#if defined(RTEMS_MULTIPROCESSING)
119struct _Thread_Control;
120
130void _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
157#ifdef __cplusplus
158}
159#endif
160
161#endif
162/* end of include file */
uint32_t rtems_attribute
This type represents Classic API attributes.
Definition: attr.h:96
Objects_Information _Partition_Information
The Partition Manager objects information is used to manage the objects of this class.
uint32_t Objects_Id
Definition: object.h:101
This header file provides the interfaces of the ISR Locks.
This header file provides data structures used by the implementation and the Application Configuratio...
This header file provides the Partition Manager API.
Definition: objectdata.h:61
The information structure used to manage each API class of objects.
Definition: objectdata.h:198
The Partition Control Block (PTCB) represents a partition.
Definition: partdata.h:57
rtems_attribute attribute_set
This member contains the attribute set provided at creation time.
Definition: partdata.h:95
const void * limit_address
This member contains the limit address of the buffer area.
Definition: partdata.h:85
uintptr_t number_of_used_blocks
This member contains the count of allocated buffers.
Definition: partdata.h:100
size_t buffer_size
This member contains the size of each buffer in bytes.
Definition: partdata.h:90
Chain_Control Memory
This chain is used to manage unallocated buffers.
Definition: partdata.h:105
const void * base_address
This member contains the base address of the buffer area.
Definition: partdata.h:77
Objects_Control Object
This member turns the PTCB into an object.
Definition: partdata.h:61
Definition: thread.h:837
This union represents a chain control block.
Definition: chain.h:96