summaryrefslogtreecommitdiffstats
path: root/c-user/config/posix-api.rst
diff options
context:
space:
mode:
Diffstat (limited to 'c-user/config/posix-api.rst')
-rw-r--r--c-user/config/posix-api.rst620
1 files changed, 368 insertions, 252 deletions
diff --git a/c-user/config/posix-api.rst b/c-user/config/posix-api.rst
index 1359909..f788c08 100644
--- a/c-user/config/posix-api.rst
+++ b/c-user/config/posix-api.rst
@@ -1,16 +1,39 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
-.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+.. Copyright (C) 2020, 2021 embedded brains GmbH & Co. KG
+.. Copyright (C) 1988, 2022 On-Line Applications Research Corporation (OAR)
+
+.. This file is part of the RTEMS quality process and was automatically
+.. generated. If you find something that needs to be fixed or
+.. worded better please post a report or patch to an RTEMS mailing list
+.. or raise a bug report:
+..
+.. https://www.rtems.org/bugs.html
+..
+.. For information on updating and regenerating please refer to the How-To
+.. section in the Software Requirements Engineering chapter of the
+.. RTEMS Software Engineering manual. The manual is provided as a part of
+.. a release. For development sources please refer to the online
+.. documentation at:
+..
+.. https://docs.rtems.org
+
+.. Generated from spec:/acfg/if/group-posix
POSIX API Configuration
=======================
This section describes configuration options related to the POSIX API. Most
POSIX API objects are available by default since RTEMS 5.1. The queued signals
-and timers are only available if RTEMS was built with the ``--enable-posix``
+and timers are only available if RTEMS was built with the enable POSIX
build configuration option.
+.. Generated from spec:/acfg/if/max-posix-keys
+
+.. raw:: latex
+
+ \clearpage
+
.. index:: CONFIGURE_MAXIMUM_POSIX_KEYS
.. _CONFIGURE_MAXIMUM_POSIX_KEYS:
@@ -18,39 +41,50 @@ build configuration option.
CONFIGURE_MAXIMUM_POSIX_KEYS
----------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_KEYS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_POSIX_KEYS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
+
+The default value is 0.
+
+.. rubric:: DESCRIPTION:
+
+The value of this configuration option defines the maximum number of POSIX
+API Keys that can be concurrently active.
-OPTION TYPE:
- This configuration option is an integer define.
+.. rubric:: NOTES:
-DEFAULT VALUE:
- The default value is 0.
+This object class can be configured in unlimited allocation mode, see
+:ref:`ConfigUnlimitedObjects`.
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+.. rubric:: CONSTRAINTS:
- * It shall be greater than or equal to 0.
+The following constraints apply to this configuration option:
- * It shall be less than or equal to 65535.
+* The value of the configuration option shall be greater than or equal to zero.
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+* The value of the configuration option shall be less than or equal to 65535.
- * It may be defined through
- :c:func:`rtems_resource_unlimited` the enable unlimited objects for this
- object class, if the value passed to :c:func:`rtems_resource_unlimited`
- satisfies all other constraints of this configuration option.
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
-DESCRIPTION:
- The value of this configuration option defines the maximum number of POSIX
- API Keys that can be concurrently active.
+* The value of the configuration option may be defined through
+ :ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
+ object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
+ satisfies all other constraints of the configuration option.
-NOTES:
- This object class can be configured in unlimited allocation mode, see
- :ref:`ConfigUnlimitedObjects`.
+.. Generated from spec:/acfg/if/max-posix-key-value-pairs
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
@@ -59,45 +93,56 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
---------------------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
+
+The default value is
+:ref:`CONFIGURE_MAXIMUM_POSIX_KEYS` *
+( :ref:`CONFIGURE_MAXIMUM_TASKS` +
+:ref:`CONFIGURE_MAXIMUM_POSIX_THREADS` ).
+
+.. rubric:: DESCRIPTION:
+
+The value of this configuration option defines the maximum number of key
+value pairs used by POSIX API Keys that can be concurrently active.
+
+.. rubric:: NOTES:
-OPTION TYPE:
- This configuration option is an integer define.
+This object class can be configured in unlimited allocation mode, see
+:ref:`ConfigUnlimitedObjects`.
-DEFAULT VALUE:
- The default value is
- :ref:`CONFIGURE_MAXIMUM_POSIX_KEYS` *
- :ref:`CONFIGURE_MAXIMUM_TASKS` +
- :ref:`CONFIGURE_MAXIMUM_POSIX_THREADS`.
+A key value pair is created by :c:func:`pthread_setspecific` if the value
+is not `NULL <https://en.cppreference.com/w/c/types/NULL>`_, otherwise it is deleted.
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+.. rubric:: CONSTRAINTS:
- * It shall be greater than or equal to 0.
+The following constraints apply to this configuration option:
- * It shall be less than or equal to 65535.
+* The value of the configuration option shall be greater than or equal to zero.
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+* The value of the configuration option shall be less than or equal to 65535.
- * It may be defined through
- :c:func:`rtems_resource_unlimited` the enable unlimited objects for this
- object class, if the value passed to :c:func:`rtems_resource_unlimited`
- satisfies all other constraints of this configuration option.
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
-DESCRIPTION:
- The value of this configuration option defines the maximum number of key
- value pairs used by POSIX API Keys that can be concurrently active.
+* The value of the configuration option may be defined through
+ :ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
+ object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
+ satisfies all other constraints of the configuration option.
-NOTES:
- This object class can be configured in unlimited allocation mode, see
- :ref:`ConfigUnlimitedObjects`.
+.. Generated from spec:/acfg/if/max-posix-message-queues
- A key value pair is created by :c:func:`pthread_setspecific` if the value
- is not :c:macro:`NULL`, otherwise it is deleted.
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
@@ -106,45 +151,57 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
--------------------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
+
+The default value is 0.
+
+.. rubric:: DESCRIPTION:
+
+The value of this configuration option defines the maximum number of POSIX
+API Message Queues that can be concurrently active.
+
+.. rubric:: NOTES:
+
+This object class can be configured in unlimited allocation mode, see
+:ref:`ConfigUnlimitedObjects`. You have to account for the memory used to
+store the messages of each message queue, see
+:ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
-OPTION TYPE:
- This configuration option is an integer define.
+.. rubric:: CONSTRAINTS:
-DEFAULT VALUE:
- The default value is 0.
+The following constraints apply to this configuration option:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+* The value of the configuration option shall be greater than or equal to zero.
- * It shall be greater than or equal to 0.
+* The value of the configuration option shall be less than or equal to 65535.
- * It shall be less than or equal to 65535.
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+* The value of the configuration option shall be small enough so that the RTEMS
+ Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
+ overflow an integer of type `uintptr_t
+ <https://en.cppreference.com/w/c/types/integer>`_.
- * It shall be small enough so that the
- RTEMS Workspace size calculation carried out by ``<rtems/confdefs.h>`` does
- not overflow an integer of type ``uintptr_t``.
+* The value of the configuration option may be defined through
+ :ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
+ object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
+ satisfies all other constraints of the configuration option.
- * It may be defined through
- :c:func:`rtems_resource_unlimited` the enable unlimited objects for this
- object class, if the value passed to :c:func:`rtems_resource_unlimited`
- satisfies all other constraints of this configuration option.
+.. Generated from spec:/acfg/if/max-posix-queued-signals
-DESCRIPTION:
- The value of this configuration option defines the maximum number of POSIX
- API Message Queues that can be concurrently active.
+.. raw:: latex
-NOTES:
- This object class can be configured in unlimited allocation mode, see
- :ref:`ConfigUnlimitedObjects`. You have to account for the memory used to
- store the messages of each message queue, see
- :ref:`CONFIGURE_MESSAGE_BUFFER_MEMORY`.
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
@@ -153,43 +210,55 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
--------------------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS``
+.. rubric:: CONSTANT:
-OPTION TYPE:
- This configuration option is an integer define.
+``CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS``
-DEFAULT VALUE:
- The default value is 0.
+.. rubric:: OPTION TYPE:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+This configuration option is an integer define.
- * It shall be greater than or equal to 0.
+.. rubric:: DEFAULT VALUE:
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+The default value is 0.
- * It shall be small enough so that the
- RTEMS Workspace size calculation carried out by ``<rtems/confdefs.h>`` does
- not overflow an integer of type ``uintptr_t``.
+.. rubric:: DESCRIPTION:
- * It shall be zero if the POSIX API is not
- enabled (e.g. RTEMS was built without the ``--enable-posix`` build
- configuration option). Otherwise a compile time error in the configuration
- file will occur.
+The value of this configuration option defines the maximum number of POSIX
+API Queued Signals that can be concurrently active.
-DESCRIPTION:
- The value of this configuration option defines the maximum number of POSIX
- API Queued Signals that can be concurrently active.
+.. rubric:: NOTES:
-NOTES:
- Unlimited objects are not available for queued signals.
+Unlimited objects are not available for queued signals.
- Queued signals are only available if RTEMS was built with the
- ``--enable-posix`` build configuration option.
+Queued signals are only available if RTEMS was built with the POSIX API
+build configuration option enabled.
+
+.. rubric:: CONSTRAINTS:
+
+The following constraints apply to this configuration option:
+
+* The value of the configuration option shall be greater than or equal to zero.
+
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
+
+* The value of the configuration option shall be small enough so that the RTEMS
+ Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
+ overflow an integer of type `uintptr_t
+ <https://en.cppreference.com/w/c/types/integer>`_.
+
+* The value of the configuration option shall be zero if the POSIX API is not
+ enabled (e.g. RTEMS was built without the ``RTEMS_POSIX_API = True`` build
+ configuration option). Otherwise a compile time error in the configuration
+ file will occur.
+
+.. Generated from spec:/acfg/if/max-posix-semaphores
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
@@ -198,47 +267,60 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
----------------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_POSIX_SEMAPHORES``
-OPTION TYPE:
- This configuration option is an integer define.
+.. rubric:: OPTION TYPE:
-DEFAULT VALUE:
- The default value is 0.
+This configuration option is an integer define.
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+.. rubric:: DEFAULT VALUE:
- * It shall be greater than or equal to 0.
+The default value is 0.
- * It shall be less than or equal to 65535.
+.. rubric:: DESCRIPTION:
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+The value of this configuration option defines the maximum number of POSIX
+API Named Semaphores that can be concurrently active.
- * It shall be small enough so that the
- RTEMS Workspace size calculation carried out by ``<rtems/confdefs.h>`` does
- not overflow an integer of type ``uintptr_t``.
+.. rubric:: NOTES:
- * It may be defined through
- :c:func:`rtems_resource_unlimited` the enable unlimited objects for this
- object class, if the value passed to :c:func:`rtems_resource_unlimited`
- satisfies all other constraints of this configuration option.
+This object class can be configured in unlimited allocation mode, see
+:ref:`ConfigUnlimitedObjects`.
-DESCRIPTION:
- The value of this configuration option defines the maximum number of POSIX
- API Named Semaphores that can be concurrently active.
+Named semaphores are created with :c:func:`sem_open`. Semaphores
+initialized with :c:func:`sem_init` are not affected by this
+configuration option since the storage space for these semaphores is
+user-provided.
-NOTES:
- This object class can be configured in unlimited allocation mode, see
- :ref:`ConfigUnlimitedObjects`.
+.. rubric:: CONSTRAINTS:
- Named semaphores are created with :c:func:`sem_open()`. Semaphores
- initialized with :c:func:`sem_init()` are not affected by this configuration
- option since the storage space for these semaphores is user-provided.
+The following constraints apply to this configuration option:
+
+* The value of the configuration option shall be greater than or equal to zero.
+
+* The value of the configuration option shall be less than or equal to 65535.
+
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
+
+* The value of the configuration option shall be small enough so that the RTEMS
+ Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
+ overflow an integer of type `uintptr_t
+ <https://en.cppreference.com/w/c/types/integer>`_.
+
+* The value of the configuration option may be defined through
+ :ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
+ object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
+ satisfies all other constraints of the configuration option.
+
+.. Generated from spec:/acfg/if/max-posix-shms
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_POSIX_SHMS
@@ -247,43 +329,55 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_SHMS
----------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_SHMS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_POSIX_SHMS``
+
+.. rubric:: OPTION TYPE:
-OPTION TYPE:
- This configuration option is an integer define.
+This configuration option is an integer define.
-DEFAULT VALUE:
- The default value is 0.
+.. rubric:: DEFAULT VALUE:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+The default value is 0.
- * It shall be greater than or equal to 0.
+.. rubric:: DESCRIPTION:
- * It shall be less than or equal to 65535.
+The value of this configuration option defines the maximum number of POSIX
+API Shared Memory objects that can be concurrently active.
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+.. rubric:: NOTES:
- * It shall be small enough so that the
- RTEMS Workspace size calculation carried out by ``<rtems/confdefs.h>`` does
- not overflow an integer of type ``uintptr_t``.
+This object class can be configured in unlimited allocation mode, see
+:ref:`ConfigUnlimitedObjects`.
- * It may be defined through
- :c:func:`rtems_resource_unlimited` the enable unlimited objects for this
- object class, if the value passed to :c:func:`rtems_resource_unlimited`
- satisfies all other constraints of this configuration option.
+.. rubric:: CONSTRAINTS:
-DESCRIPTION:
- The value of this configuration option defines the maximum number of POSIX
- API Shared Memory objects that can be concurrently active.
+The following constraints apply to this configuration option:
-NOTES:
- This object class can be configured in unlimited allocation mode, see
- :ref:`ConfigUnlimitedObjects`.
+* The value of the configuration option shall be greater than or equal to zero.
+
+* The value of the configuration option shall be less than or equal to 65535.
+
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
+
+* The value of the configuration option shall be small enough so that the RTEMS
+ Workspace size calculation carried out by ``<rtems/confdefs.h>`` does not
+ overflow an integer of type `uintptr_t
+ <https://en.cppreference.com/w/c/types/integer>`_.
+
+* The value of the configuration option may be defined through
+ :ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
+ object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
+ satisfies all other constraints of the configuration option.
+
+.. Generated from spec:/acfg/if/max-posix-threads
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_POSIX_THREADS
@@ -292,51 +386,60 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_THREADS
-------------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_THREADS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_POSIX_THREADS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
-OPTION TYPE:
- This configuration option is an integer define.
+.. rubric:: DEFAULT VALUE:
-DEFAULT VALUE:
- The default value is 0.
+The default value is 0.
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+.. rubric:: DESCRIPTION:
- * It shall be greater than or equal to 0.
+The value of this configuration option defines the maximum number of POSIX
+API Threads that can be concurrently active.
- * It shall be less than or equal to 65535.
+.. rubric:: NOTES:
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+This object class can be configured in unlimited allocation mode, see
+:ref:`ConfigUnlimitedObjects`.
- * It shall be small enough so that the task
- stack space calculation carried out by ``<rtems/confdefs.h>`` does not
- overflow an integer of type ``uintptr_t``.
+This calculations for the required memory in the RTEMS Workspace for threads
+assume that each thread has a minimum stack size and has floating point
+support enabled. The configuration option :ref:`CONFIGURE_EXTRA_TASK_STACKS` is used
+to specify thread stack requirements **above** the minimum size required.
-DESCRIPTION:
- The value of this configuration option defines the maximum number of POSIX
- API Threads that can be concurrently active.
+The maximum number of Classic API Tasks is specified by
+:ref:`CONFIGURE_MAXIMUM_TASKS`.
-NOTES:
- This object class can be configured in unlimited allocation mode, see
- :ref:`ConfigUnlimitedObjects`.
+All POSIX threads have floating point enabled.
- This calculations for the required memory in the RTEMS Workspace for
- threads assume that each thread has a minimum stack size and has floating
- point support enabled. The configuration option
- :ref:`CONFIGURE_EXTRA_TASK_STACKS` is used to specify thread stack
- requirements **above** the minimum size required. See :ref:`Reserve
- Task/Thread Stack Memory Above Minimum` for more information about
- ``CONFIGURE_EXTRA_TASK_STACKS``.
+.. rubric:: CONSTRAINTS:
- The maximum number of Classic API Tasks is specified by
- :ref:`CONFIGURE_MAXIMUM_TASKS`.
+The following constraints apply to this configuration option:
- All POSIX threads have floating point enabled.
+* The value of the configuration option shall be greater than or equal to zero.
+
+* The value of the configuration option shall be less than or equal to 65535.
+
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
+
+* The value of the configuration option shall be small enough so that the task
+ stack space calculation carried out by ``<rtems/confdefs.h>`` does not
+ overflow an integer of type `uintptr_t
+ <https://en.cppreference.com/w/c/types/integer>`_.
+
+.. Generated from spec:/acfg/if/max-posix-timers
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MAXIMUM_POSIX_TIMERS
@@ -345,47 +448,58 @@ NOTES:
CONFIGURE_MAXIMUM_POSIX_TIMERS
------------------------------
-CONSTANT:
- ``CONFIGURE_MAXIMUM_POSIX_TIMERS``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MAXIMUM_POSIX_TIMERS``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
-OPTION TYPE:
- This configuration option is an integer define.
+The default value is 0.
-DEFAULT VALUE:
- The default value is 0.
+.. rubric:: DESCRIPTION:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+The value of this configuration option defines the maximum number of POSIX
+API Timers that can be concurrently active.
- * It shall be greater than or equal to 0.
+.. rubric:: NOTES:
- * It shall be less than or equal to 65535.
+This object class can be configured in unlimited allocation mode, see
+:ref:`ConfigUnlimitedObjects`.
- * It shall be less than or equal to a
- BSP-specific and application-specific value which depends on the size of the
- memory available to the application.
+Timers are only available if RTEMS was built with the POSIX API build
+configuration option enabled.
- * It may be defined through
- :c:func:`rtems_resource_unlimited` the enable unlimited objects for this
- object class, if the value passed to :c:func:`rtems_resource_unlimited`
- satisfies all other constraints of this configuration option.
+.. rubric:: CONSTRAINTS:
- * It shall be zero if the POSIX API is not
- enabled (e.g. RTEMS was built without the ``--enable-posix`` build
- configuration option). Otherwise a compile time error in the configuration
- file will occur.
+The following constraints apply to this configuration option:
-DESCRIPTION:
- The value of this configuration option defines the maximum number of POSIX
- API Timers that can be concurrently active.
+* The value of the configuration option shall be greater than or equal to zero.
-NOTES:
- This object class can be configured in unlimited allocation mode, see
- :ref:`ConfigUnlimitedObjects`.
+* The value of the configuration option shall be less than or equal to 65535.
- Timers are only available if RTEMS was built with the
- ``--enable-posix`` build configuration option.
+* The value of the configuration option shall be less than or equal to a
+ BSP-specific and application-specific value which depends on the size of the
+ memory available to the application.
+
+* The value of the configuration option may be defined through
+ :ref:`InterfaceRtemsResourceUnlimited` the enable unlimited objects for the
+ object class, if the value passed to :ref:`InterfaceRtemsResourceUnlimited`
+ satisfies all other constraints of the configuration option.
+
+* The value of the configuration option shall be zero if the POSIX API is not
+ enabled (e.g. RTEMS was built without the ``RTEMS_POSIX_API = True`` build
+ configuration option). Otherwise a compile time error in the configuration
+ file will occur.
+
+.. Generated from spec:/acfg/if/min-posix-thread-stack-size
+
+.. raw:: latex
+
+ \clearpage
.. index:: CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
.. index:: minimum POSIX thread stack size
@@ -395,30 +509,32 @@ NOTES:
CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
-----------------------------------------
-CONSTANT:
- ``CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE``
+.. rubric:: CONSTANT:
+
+``CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE``
+
+.. rubric:: OPTION TYPE:
+
+This configuration option is an integer define.
+
+.. rubric:: DEFAULT VALUE:
-OPTION TYPE:
- This configuration option is an integer define.
+The default value is two times the value of
+:ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
-DEFAULT VALUE:
- The default value is two times the value of
- :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.
+.. rubric:: DESCRIPTION:
-VALUE CONSTRAINTS:
- The value of this configuration option shall satisfy all of the following
- constraints:
+The value of this configuration option defines the minimum stack size in
+bytes for every POSIX thread in the system.
- * It shall be small enough so that the task
- stack space calculation carried out by ``<rtems/confdefs.h>`` does not
- overflow an integer of type ``uintptr_t``.
+.. rubric:: CONSTRAINTS:
- * It shall be greater than or equal to a
- BSP-specific and application-specific minimum value.
+The following constraints apply to this configuration option:
-DESCRIPTION:
- The value of this configuration option defines the minimum stack size in
- bytes for every POSIX thread in the system.
+* The value of the configuration option shall be small enough so that the task
+ stack space calculation carried out by ``<rtems/confdefs.h>`` does not
+ overflow an integer of type `uintptr_t
+ <https://en.cppreference.com/w/c/types/integer>`_.
-NOTES:
- None.
+* The value of the configuration option shall be greater than or equal to a
+ BSP-specific and application-specific minimum value.