RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
objectsclassic.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
13/*
14 * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38#ifndef _RTEMS_CONFDEFS_OBJECTSCLASSIC_H
39#define _RTEMS_CONFDEFS_OBJECTSCLASSIC_H
40
41#ifndef __CONFIGURATION_TEMPLATE_h
42#error "Do not include this file directly, use <rtems/confdefs.h> instead"
43#endif
44
45#ifdef CONFIGURE_INIT
46
48
49#if CONFIGURE_MAXIMUM_BARRIERS > 0
51#endif
52
53#if CONFIGURE_MAXIMUM_PORTS > 0
55#endif
56
57#if CONFIGURE_MAXIMUM_MESSAGE_QUEUES > 0
59#endif
60
61#if CONFIGURE_MAXIMUM_PARTITIONS > 0
62 #include <rtems/rtems/partdata.h>
63#endif
64
65#if CONFIGURE_MAXIMUM_PERIODS > 0
67#endif
68
69#if CONFIGURE_MAXIMUM_REGIONS > 0
71#endif
72
73#if CONFIGURE_MAXIMUM_SEMAPHORES > 0
75 #include <rtems/rtems/semdata.h>
76#endif
77
78#if CONFIGURE_MAXIMUM_TIMERS > 0
80#endif
81
82#ifdef __cplusplus
83extern "C" {
84#endif
85
86#if CONFIGURE_MAXIMUM_BARRIERS > 0
87 BARRIER_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_BARRIERS );
88#endif
89
90#if CONFIGURE_MAXIMUM_MESSAGE_QUEUES > 0
91 MESSAGE_QUEUE_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_MESSAGE_QUEUES );
92#endif
93
94#if CONFIGURE_MAXIMUM_PARTITIONS > 0
95 PARTITION_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_PARTITIONS );
96#endif
97
98#if CONFIGURE_MAXIMUM_PERIODS > 0
99 RATE_MONOTONIC_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_PERIODS );
100#endif
101
102#if CONFIGURE_MAXIMUM_PORTS > 0
103 DUAL_PORTED_MEMORY_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_PORTS );
104#endif
105
106#if CONFIGURE_MAXIMUM_REGIONS > 0
107 REGION_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_REGIONS );
108#endif
109
110#if CONFIGURE_MAXIMUM_SEMAPHORES > 0
112 CONFIGURE_MAXIMUM_SEMAPHORES,
113 _CONFIGURE_SCHEDULER_COUNT
114 );
115#endif
116
117#if CONFIGURE_MAXIMUM_TIMERS > 0
118 TIMER_INFORMATION_DEFINE( CONFIGURE_MAXIMUM_TIMERS );
119#endif
120
121#ifdef __cplusplus
122}
123#endif
124
125#endif /* CONFIGURE_INIT */
126
127#endif /* _RTEMS_CONFDEFS_OBJECTSCLASSIC_H */
Classic Barrier Manager Data Structures.
Evaluate Scheduler Configuration Options.
Classic Dual Ported Memory Manager Data Structures.
#define BARRIER_INFORMATION_DEFINE(max)
Macro to define the objects information for the Classic Barrier objects.
Definition: barrierdata.h:61
#define DUAL_PORTED_MEMORY_INFORMATION_DEFINE(max)
Macro to define the objects information for the Classic Dual Ported Memory objects.
Definition: dpmemdata.h:63
#define MESSAGE_QUEUE_INFORMATION_DEFINE(max)
Macro to define the objects information for the Classic Message Queue objects.
Definition: messagedata.h:75
#define PARTITION_INFORMATION_DEFINE(max)
Macro to define the objects information for the Classic Partition objects.
Definition: partdata.h:84
#define RATE_MONOTONIC_INFORMATION_DEFINE(max)
Macro to define the objects information for the Classic Rate Monotonic objects.
Definition: ratemondata.h:147
#define REGION_INFORMATION_DEFINE(max)
Macro to define the objects information for the Classic Region objects.
Definition: regiondata.h:63
#define SEMAPHORE_INFORMATION_DEFINE(max, scheduler_count)
Macro to define the objects information for the Classic Semaphore objects.
Definition: semdata.h:136
#define TIMER_INFORMATION_DEFINE(max)
Macro to define the objects information for the Classic Timer objects.
Definition: timerdata.h:74
Classic Message Queue Manager API.
Classic Partition Manager Data Structures.
Classic Rate Monotonic Scheduler Data Structures.
Classic Region Manager Data Structures.
Classic Semaphore Manager Data Structures.
Classic Partition Manager Data Structures.
Evaluate Unlimited Objects Configuration Options.