1 | .. SPDX-License-Identifier: CC-BY-SA-4.0 |
---|
2 | |
---|
3 | .. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) |
---|
4 | |
---|
5 | POSIX API Configuration |
---|
6 | ======================= |
---|
7 | |
---|
8 | The parameters in this section are used to configure resources for the POSIX |
---|
9 | API supported by RTEMS. Most POSIX API objects are available by default since |
---|
10 | RTEMS 5.1. The queued signals and timers are only available if RTEMS was built |
---|
11 | with the ``--enable-posix`` build configuration option. |
---|
12 | |
---|
13 | .. index:: CONFIGURE_MAXIMUM_POSIX_KEYS |
---|
14 | |
---|
15 | .. _CONFIGURE_MAXIMUM_POSIX_KEYS: |
---|
16 | |
---|
17 | CONFIGURE_MAXIMUM_POSIX_KEYS |
---|
18 | ---------------------------- |
---|
19 | |
---|
20 | CONSTANT: |
---|
21 | ``CONFIGURE_MAXIMUM_POSIX_KEYS`` |
---|
22 | |
---|
23 | DATA TYPE: |
---|
24 | Unsigned integer (``uint32_t``). |
---|
25 | |
---|
26 | RANGE: |
---|
27 | Zero or positive. |
---|
28 | |
---|
29 | DEFAULT VALUE: |
---|
30 | The default value is 0. |
---|
31 | |
---|
32 | DESCRIPTION: |
---|
33 | ``CONFIGURE_MAXIMUM_POSIX_KEYS`` is the maximum number of POSIX API Keys |
---|
34 | that can be concurrently active. |
---|
35 | |
---|
36 | NOTES: |
---|
37 | This object class can be configured in unlimited allocation mode. |
---|
38 | |
---|
39 | .. index:: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS |
---|
40 | |
---|
41 | .. _CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS: |
---|
42 | |
---|
43 | CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS |
---|
44 | --------------------------------------- |
---|
45 | |
---|
46 | CONSTANT: |
---|
47 | ``CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS`` |
---|
48 | |
---|
49 | DATA TYPE: |
---|
50 | Unsigned integer (``uint32_t``). |
---|
51 | |
---|
52 | RANGE: |
---|
53 | Zero or positive. |
---|
54 | |
---|
55 | DEFAULT VALUE: |
---|
56 | The default value is |
---|
57 | :ref:`CONFIGURE_MAXIMUM_POSIX_KEYS <CONFIGURE_MAXIMUM_POSIX_KEYS>` * |
---|
58 | :ref:`CONFIGURE_MAXIMUM_TASKS <CONFIGURE_MAXIMUM_TASKS>` + |
---|
59 | :ref:`CONFIGURE_MAXIMUM_POSIX_THREADS <CONFIGURE_MAXIMUM_POSIX_THREADS>`. |
---|
60 | |
---|
61 | DESCRIPTION: |
---|
62 | ``CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS`` is the maximum number of key |
---|
63 | value pairs used by POSIX API Keys that can be concurrently active. |
---|
64 | |
---|
65 | NOTES: |
---|
66 | This object class can be configured in unlimited allocation mode. |
---|
67 | |
---|
68 | A key value pair is created by :c:func:`pthread_setspecific` if the value |
---|
69 | is not :c:macro:`NULL`, otherwise it is deleted. |
---|
70 | |
---|
71 | .. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES |
---|
72 | |
---|
73 | .. _CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES: |
---|
74 | |
---|
75 | CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES |
---|
76 | -------------------------------------- |
---|
77 | |
---|
78 | CONSTANT: |
---|
79 | ``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES`` |
---|
80 | |
---|
81 | DATA TYPE: |
---|
82 | Unsigned integer (``uint32_t``). |
---|
83 | |
---|
84 | RANGE: |
---|
85 | Zero or positive. |
---|
86 | |
---|
87 | DEFAULT VALUE: |
---|
88 | The default value is 0. |
---|
89 | |
---|
90 | DESCRIPTION: |
---|
91 | ``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES`` is the maximum number of POSIX |
---|
92 | API Message Queues that can be concurrently active. |
---|
93 | |
---|
94 | NOTES: |
---|
95 | This object class can be configured in unlimited allocation mode. You have |
---|
96 | to account for the memory used to store the messages of each message queue, |
---|
97 | see :ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`. |
---|
98 | |
---|
99 | .. index:: CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS |
---|
100 | |
---|
101 | .. _CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS: |
---|
102 | |
---|
103 | CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS |
---|
104 | -------------------------------------- |
---|
105 | |
---|
106 | CONSTANT: |
---|
107 | ``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS`` |
---|
108 | |
---|
109 | DATA TYPE: |
---|
110 | Unsigned integer (``uint32_t``). |
---|
111 | |
---|
112 | RANGE: |
---|
113 | Zero or positive. |
---|
114 | |
---|
115 | DEFAULT VALUE: |
---|
116 | The default value is 0. |
---|
117 | |
---|
118 | DESCRIPTION: |
---|
119 | ``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS`` is the maximum number of POSIX |
---|
120 | API Queued Signals that can be concurrently active. |
---|
121 | |
---|
122 | NOTES: |
---|
123 | Unlimited objects are not available for queued signals. |
---|
124 | |
---|
125 | Queued signals are only available if RTEMS was built with the |
---|
126 | ``--enable-posix`` build configuration option. |
---|
127 | |
---|
128 | .. index:: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES |
---|
129 | |
---|
130 | .. _CONFIGURE_MAXIMUM_POSIX_SEMAPHORES: |
---|
131 | |
---|
132 | CONFIGURE_MAXIMUM_POSIX_SEMAPHORES |
---|
133 | ---------------------------------- |
---|
134 | |
---|
135 | CONSTANT: |
---|
136 | ``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES`` |
---|
137 | |
---|
138 | DATA TYPE: |
---|
139 | Unsigned integer (``uint32_t``). |
---|
140 | |
---|
141 | RANGE: |
---|
142 | Zero or positive. |
---|
143 | |
---|
144 | DEFAULT VALUE: |
---|
145 | The default value is 0. |
---|
146 | |
---|
147 | DESCRIPTION: |
---|
148 | ``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES`` is the maximum number of POSIX API |
---|
149 | Named Semaphores that can be concurrently active. |
---|
150 | |
---|
151 | NOTES: |
---|
152 | This object class can be configured in unlimited allocation mode. |
---|
153 | |
---|
154 | Named semaphores are created with ``sem_open()``. Semaphores initialized |
---|
155 | with ``sem_init()`` are not affected by this configuration option since the |
---|
156 | storage space for these semaphores is user-provided. |
---|
157 | |
---|
158 | .. index:: CONFIGURE_MAXIMUM_POSIX_TIMERS |
---|
159 | |
---|
160 | .. _CONFIGURE_MAXIMUM_POSIX_TIMERS: |
---|
161 | |
---|
162 | CONFIGURE_MAXIMUM_POSIX_TIMERS |
---|
163 | ------------------------------ |
---|
164 | |
---|
165 | CONSTANT: |
---|
166 | ``CONFIGURE_MAXIMUM_POSIX_TIMERS`` |
---|
167 | |
---|
168 | DATA TYPE: |
---|
169 | Unsigned integer (``uint32_t``). |
---|
170 | |
---|
171 | RANGE: |
---|
172 | Zero or positive. |
---|
173 | |
---|
174 | DEFAULT VALUE: |
---|
175 | The default value is 0. |
---|
176 | |
---|
177 | DESCRIPTION: |
---|
178 | ``CONFIGURE_MAXIMUM_POSIX_TIMERS`` is the maximum number of POSIX API |
---|
179 | Timers that can be concurrently active. |
---|
180 | |
---|
181 | NOTES: |
---|
182 | This object class can be configured in unlimited allocation mode. |
---|
183 | |
---|
184 | Timers are only available if RTEMS was built with the |
---|
185 | ``--enable-posix`` build configuration option. |
---|
186 | |
---|
187 | .. index:: CONFIGURE_MAXIMUM_POSIX_THREADS |
---|
188 | |
---|
189 | .. _CONFIGURE_MAXIMUM_POSIX_THREADS: |
---|
190 | |
---|
191 | CONFIGURE_MAXIMUM_POSIX_THREADS |
---|
192 | ------------------------------- |
---|
193 | |
---|
194 | CONSTANT: |
---|
195 | ``CONFIGURE_MAXIMUM_POSIX_THREADS`` |
---|
196 | |
---|
197 | DATA TYPE: |
---|
198 | Unsigned integer (``uint32_t``). |
---|
199 | |
---|
200 | RANGE: |
---|
201 | Zero or positive. |
---|
202 | |
---|
203 | DEFAULT VALUE: |
---|
204 | The default value is 0. |
---|
205 | |
---|
206 | DESCRIPTION: |
---|
207 | ``CONFIGURE_MAXIMUM_POSIX_THREADS`` is the maximum number of POSIX API |
---|
208 | Threads that can be concurrently active. |
---|
209 | |
---|
210 | NOTES: |
---|
211 | This object class can be configured in unlimited allocation mode. |
---|
212 | |
---|
213 | This calculations for the required memory in the RTEMS Workspace for |
---|
214 | threads assume that each thread has a minimum stack size and has floating |
---|
215 | point support enabled. The configuration parameter |
---|
216 | ``CONFIGURE_EXTRA_TASK_STACKS`` is used to specify thread stack |
---|
217 | requirements *ABOVE* the minimum size required. See :ref:`Reserve |
---|
218 | Task/Thread Stack Memory Above Minimum` for more information about |
---|
219 | ``CONFIGURE_EXTRA_TASK_STACKS``. |
---|
220 | |
---|
221 | The maximum number of Classic API Tasks is specified by |
---|
222 | :ref:`CONFIGURE_MAXIMUM_TASKS <CONFIGURE_MAXIMUM_TASKS>`. |
---|
223 | |
---|
224 | All POSIX threads have floating point enabled. |
---|
225 | |
---|
226 | .. index:: CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE |
---|
227 | .. index:: minimum POSIX thread stack size |
---|
228 | |
---|
229 | .. _CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE: |
---|
230 | |
---|
231 | CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE |
---|
232 | ----------------------------------------- |
---|
233 | |
---|
234 | CONSTANT: |
---|
235 | ``CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE`` |
---|
236 | |
---|
237 | DATA TYPE: |
---|
238 | Unsigned integer (``size_t``). |
---|
239 | |
---|
240 | RANGE: |
---|
241 | Positive. |
---|
242 | |
---|
243 | DEFAULT VALUE: |
---|
244 | The default value is two times the value of |
---|
245 | :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE <CONFIGURE_MINIMUM_TASK_STACK_SIZE>`. |
---|
246 | |
---|
247 | DESCRIPTION: |
---|
248 | This configuration parameter defines the minimum stack size in bytes for |
---|
249 | every POSIX thread in the system. |
---|
250 | |
---|
251 | NOTES: |
---|
252 | None. |
---|