RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
unlimited.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 */
35
36#ifndef _RTEMS_CONFDEFS_UNLIMITED_H
37#define _RTEMS_CONFDEFS_UNLIMITED_H
38
39#ifndef __CONFIGURATION_TEMPLATE_h
40#error "Do not include this file directly, use <rtems/confdefs.h> instead"
41#endif
42
43#ifdef CONFIGURE_INIT
44
45#ifdef CONFIGURE_UNLIMITED_OBJECTS
46
47#include <rtems/config.h>
48
49#if !defined(CONFIGURE_UNIFIED_WORK_AREAS) \
50 && !defined(CONFIGURE_EXECUTIVE_RAM_SIZE) \
51 && !defined(CONFIGURE_MEMORY_OVERHEAD)
52 #error "CONFIGURE_UNLIMITED_OBJECTS requires one of CONFIGURE_UNIFIED_WORK_AREAS, CONFIGURE_EXECUTIVE_RAM_SIZE, and CONFIGURE_MEMORY_OVERHEAD"
53#endif
54
55#ifndef CONFIGURE_UNLIMITED_ALLOCATION_SIZE
56 #define CONFIGURE_UNLIMITED_ALLOCATION_SIZE 8
57#endif
58
59#ifndef CONFIGURE_MAXIMUM_TASKS
60 #define CONFIGURE_MAXIMUM_TASKS \
61 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
62#endif
63
64#ifndef CONFIGURE_MAXIMUM_TIMERS
65 #define CONFIGURE_MAXIMUM_TIMERS \
66 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
67#endif
68
69#ifndef CONFIGURE_MAXIMUM_SEMAPHORES
70 #define CONFIGURE_MAXIMUM_SEMAPHORES \
71 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
72#endif
73
74#ifndef CONFIGURE_MAXIMUM_MESSAGE_QUEUES
75 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES \
76 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
77#endif
78
79#ifndef CONFIGURE_MAXIMUM_PARTITIONS
80 #define CONFIGURE_MAXIMUM_PARTITIONS \
81 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
82#endif
83
84#ifndef CONFIGURE_MAXIMUM_REGIONS
85 #define CONFIGURE_MAXIMUM_REGIONS \
86 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
87#endif
88
89#ifndef CONFIGURE_MAXIMUM_PORTS
90 #define CONFIGURE_MAXIMUM_PORTS \
91 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
92#endif
93
94#ifndef CONFIGURE_MAXIMUM_PERIODS
95 #define CONFIGURE_MAXIMUM_PERIODS \
96 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
97#endif
98
99#ifndef CONFIGURE_MAXIMUM_BARRIERS
100 #define CONFIGURE_MAXIMUM_BARRIERS \
101 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
102#endif
103
104#ifndef CONFIGURE_MAXIMUM_POSIX_KEYS
105 #define CONFIGURE_MAXIMUM_POSIX_KEYS \
106 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
107#endif
108
109#ifndef CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
110 #define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS \
111 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
112#endif
113
114#ifndef CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
115 #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES \
116 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
117#endif
118
119#ifndef CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
120 #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \
121 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
122#endif
123
124#ifndef CONFIGURE_MAXIMUM_POSIX_SHMS
125 #define CONFIGURE_MAXIMUM_POSIX_SHMS \
126 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
127#endif
128
129#ifndef CONFIGURE_MAXIMUM_POSIX_THREADS
130 #define CONFIGURE_MAXIMUM_POSIX_THREADS \
131 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
132#endif
133
134#if defined(RTEMS_POSIX_API) && !defined(CONFIGURE_MAXIMUM_POSIX_TIMERS)
135 #define CONFIGURE_MAXIMUM_POSIX_TIMERS \
136 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
137#endif
138
139#endif /* CONFIGURE_UNLIMITED_OBJECTS */
140
141#endif /* CONFIGURE_INIT */
142
143#endif /* _RTEMS_CONFDEFS_UNLIMITED_H */