.. _posix_aep: POSIX Application Environment Profiles (AEP) ############################################ Although inactive, `IEEE 1003.13-2003`_ defined a number of AEP that inspired the modern subprofiling options of `IEEE 1003.1-2017`_. The single-purpose realtime system profiles are listed below, for reference, in terms that agree with the current POSIX-1 standard. PSE54 is not considered at this time. System Interfaces ================= The required POSIX :ref:`System Interfaces` are supported for each Application Environment Profile. .. figure:: si.svg :align: center :scale: 150% :alt: Required System Interfaces System Interfaces .. _posix_aep_pse51: Minimal Realtime System Profile (PSE51) ======================================= The *Minimal Realtime System Profile* (PSE51) includes all of the :ref:`System Interfaces` along with several additional features. .. figure:: aep-pse51.svg :align: center :scale: 150% :alt: Minimal Realtime System Profile (PSE51) Minimal Realtime System Profile (PSE51) .. Conforming implementations shall define _POSIX_AEP_REALTIME_MINIMAL to the value 200312L .. csv-table:: PSE51 System Interfaces :header: Symbol, Support, Remarks :widths: 50, 10, 50 _POSIX_AEP_REALTIME_MINIMAL, -1, :kconfig:option:`CONFIG_POSIX_AEP_REALTIME_MINIMAL` .. csv-table:: PSE51 Option Groups :header: Symbol, Support, Remarks :widths: 50, 10, 50 :ref:`POSIX_C_LANG_JUMP `, yes, :ref:`POSIX_C_LANG_SUPPORT `, yes, :ref:`POSIX_DEVICE_IO `, yes, :kconfig:option:`CONFIG_POSIX_DEVICE_IO` :ref:`POSIX_SIGNALS `, yes, :kconfig:option:`CONFIG_POSIX_SIGNALS` :ref:`†` :ref:`POSIX_SINGLE_PROCESS `, yes, :kconfig:option:`CONFIG_POSIX_SINGLE_PROCESS` :ref:`XSI_THREADS_EXT `, yes, :kconfig:option:`CONFIG_XSI_THREADS_EXT` .. csv-table:: PSE51 Option Requirements :header: Symbol, Support, Remarks :widths: 50, 10, 50 :ref:`_POSIX_FSYNC `, 200809L, :kconfig:option:`CONFIG_POSIX_FSYNC` :ref:`_POSIX_MEMLOCK `, 200809L, :kconfig:option:`CONFIG_POSIX_MEMLOCK` :ref:`†` :ref:`_POSIX_MEMLOCK_RANGE `, 200809L, :kconfig:option:`CONFIG_POSIX_MEMLOCK_RANGE` :ref:`_POSIX_MONOTONIC_CLOCK `, 200809L, :kconfig:option:`CONFIG_POSIX_MONOTONIC_CLOCK` :ref:`_POSIX_SHARED_MEMORY_OBJECTS `, 200809L, :kconfig:option:`CONFIG_POSIX_SHARED_MEMORY_OBJECTS` :ref:`_POSIX_SYNCHRONIZED_IO `, 200809L, :kconfig:option:`CONFIG_POSIX_SYNCHRONIZED_IO` :ref:`_POSIX_THREAD_ATTR_STACKADDR`, 200809L, :kconfig:option:`CONFIG_POSIX_THREAD_ATTR_STACKADDR` :ref:`_POSIX_THREAD_ATTR_STACKSIZE`, 200809L, :kconfig:option:`CONFIG_POSIX_THREAD_ATTR_STACKSIZE` :ref:`_POSIX_THREAD_CPUTIME `, 200809L, :kconfig:option:`CONFIG_POSIX_CPUTIME` :ref:`_POSIX_THREAD_PRIO_INHERIT `, 200809L, :kconfig:option:`CONFIG_POSIX_THREAD_PRIO_INHERIT` :ref:`_POSIX_THREAD_PRIO_PROTECT `, 200809L, :kconfig:option:`CONFIG_POSIX_THREAD_PRIO_PROTECT` :ref:`_POSIX_THREAD_PRIORITY_SCHEDULING `, 200809L, :kconfig:option:`CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING` _POSIX_THREAD_SPORADIC_SERVER, -1, .. _posix_aep_pse52: Realtime Controller System Profile (PSE52) ========================================== The *Realtime Controller System Profile* (PSE52) includes all features from PSE51 and the :ref:`System Interfaces`. .. figure:: aep-pse52.svg :align: center :scale: 150% :alt: Realtime Controller System Profile (PSE52) Realtime Controller System Profile (PSE52) .. Conforming implementations shall define _POSIX_AEP_REALTIME_CONTROLLER to the value 200312L .. csv-table:: PSE52 System Interfaces :header: Symbol, Support, Remarks :widths: 50, 10, 50 _POSIX_AEP_REALTIME_CONTROLLER, -1, :kconfig:option:`CONFIG_POSIX_AEP_REALTIME_CONTROLLER` .. csv-table:: PSE52 Option Groups :header: Symbol, Support, Remarks :widths: 50, 10, 50 :ref:`POSIX_C_LANG_MATH `, yes, :ref:`POSIX_FD_MGMT `,, :kconfig:option:`CONFIG_POSIX_FD_MGMT` :ref:`POSIX_FILE_SYSTEM `,, :kconfig:option:`CONFIG_POSIX_FILE_SYSTEM` .. csv-table:: PSE52 Option Requirements :header: Symbol, Support, Remarks :widths: 50, 10, 50 :ref:`_POSIX_MESSAGE_PASSING `, 200809L, :kconfig:option:`CONFIG_POSIX_MESSAGE_PASSING` _POSIX_TRACE, -1, _POSIX_TRACE_EVENT_FILTER, -1, _POSIX_TRACE_LOG, -1, .. _posix_aep_pse53: Dedicated Realtime System Profile (PSE53) ========================================= The *Dedicated Realtime System Profile* (PSE53) includes all features from PSE52, PSE51, and the :ref:`System Interfaces`. .. figure:: aep-pse53.svg :align: center :scale: 150% :alt: Dedicated Realtime System Profile (PSE53) Dedicated Realtime System Profile (PSE53) .. Conforming implementations shall define _POSIX_AEP_REALTIME_DEDICATED to the value 200312L .. csv-table:: PSE53 System Interfaces :header: Symbol, Support, Remarks :widths: 50, 10, 50 _POSIX_AEP_REALTIME_DEDICATED, -1, :kconfig:option:`CONFIG_POSIX_AEP_REALTIME_DEDICATED` .. csv-table:: PSE53 Option Groups :header: Symbol, Support, Remarks :widths: 50, 10, 50 :ref:`POSIX_MULTI_PROCESS`,, :kconfig:option:`CONFIG_POSIX_MULTI_PROCESS`:ref:`†` :ref:`POSIX_NETWORKING `, yes, :kconfig:option:`CONFIG_POSIX_NETWORKING` :ref:`POSIX_PIPE `,, :ref:`POSIX_SIGNAL_JUMP `,, .. csv-table:: PSE53 Option Requirements :header: Symbol, Support, Remarks :widths: 50, 10, 50 :ref:`_POSIX_CPUTIME `, 200809L, :kconfig:option:`CONFIG_POSIX_CPUTIME` _POSIX_PRIORITIZED_IO, -1, :ref:`_POSIX_PRIORITY_SCHEDULING `, -1, :ref:`_POSIX_RAW_SOCKETS `, 200809L, :kconfig:option:`CONFIG_POSIX_RAW_SOCKETS` _POSIX_SPAWN, -1, :ref:`†` _POSIX_SPORADIC_SERVER, -1, :ref:`†` .. _IEEE 1003.1-2017: https://standards.ieee.org/ieee/1003.1/7101/ .. _IEEE 1003.13-2003: https://standards.ieee.org/ieee/1003.13/3322/