RTEMS 6.1-rc1
regiondata.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/* COPYRIGHT (c) 1989-2013.
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_REGIONDATA_H
38#define _RTEMS_RTEMS_REGIONDATA_H
39
40#include <rtems/rtems/region.h>
41#include <rtems/score/heap.h>
43#include <rtems/score/threadq.h>
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
60typedef struct {
61 Objects_Control Object;
62 Thread_queue_Control Wait_queue; /* waiting threads */
63 const Thread_queue_Operations *wait_operations;
64 uintptr_t maximum_segment_size; /* in bytes */
65 rtems_attribute attribute_set;
66 Heap_Control Memory;
68
73
83#define REGION_INFORMATION_DEFINE( max ) \
84 OBJECTS_INFORMATION_DEFINE( \
85 _Region, \
86 OBJECTS_CLASSIC_API, \
87 OBJECTS_RTEMS_REGIONS, \
88 Region_Control, \
89 max, \
90 OBJECTS_NO_STRING_NAME, \
91 NULL \
92 )
93
96#ifdef __cplusplus
97}
98#endif
99
100#endif
101/* end of include file */
uint32_t rtems_attribute
This type represents Classic API attributes.
Definition: attr.h:96
Objects_Information _Region_Information
The Classic Region objects information.
This header file provides interfaces of the Heap Handler which are used by the implementation and the...
This header file provides data structures used by the implementation and the Application Configuratio...
This header file defines the Region Manager API.
Control block used to manage a heap.
Definition: heap.h:339
Definition: objectdata.h:61
The information structure used to manage each API class of objects.
Definition: objectdata.h:198
Definition: regiondata.h:60
Definition: threadq.h:609
The thread queue operations are used to manage the threads of a thread queue.
Definition: threadq.h:554
This header file provides interfaces of the Thread Queue Handler which are used by the implementation...