1.. _posix_aep: 2 3POSIX Application Environment Profiles (AEP) 4############################################ 5 6Although inactive, `IEEE 1003.13-2003`_ defined a number of AEP that inspired the modern 7subprofiling options of `IEEE 1003.1-2017`_. The single-purpose realtime system profiles 8are listed below, for reference, in terms that agree with the current POSIX-1 standard. PSE54 9is not considered at this time. 10 11.. _posix_aep_pse51: 12 13Minimal Realtime System Profile (PSE51) 14======================================= 15 16.. Conforming implementations shall define _POSIX_AEP_REALTIME_MINIMAL to the value 200312L 17 18.. csv-table:: PSE51 System Interfaces 19 :header: Symbol, Support, Remarks 20 :widths: 50, 10, 50 21 22 _POSIX_AEP_REALTIME_MINIMAL, -1, 23 24.. csv-table:: PSE51 Option Groups 25 :header: Symbol, Support, Remarks 26 :widths: 50, 10, 50 27 28 POSIX_C_LANG_JUMP, yes, :ref:`POSIX_C_LANG_JUMP <posix_option_group_c_lang_jump>` 29 POSIX_C_LANG_SUPPORT, yes, :ref:`POSIX_C_LANG_SUPPORT <posix_option_group_c_lang_support>` 30 POSIX_DEVICE_IO,, :ref:`†<posix_undefined_behaviour>` 31 POSIX_FILE_LOCKING,, 32 POSIX_SIGNALS,, :ref:`†<posix_undefined_behaviour>` 33 POSIX_SINGLE_PROCESS,, :ref:`†<posix_undefined_behaviour>` 34 POSIX_THREADS_BASE, yes, :ref:`†<posix_undefined_behaviour>` 35 XSI_THREADS_EXT, yes, :ref:`†<posix_undefined_behaviour>` 36 37.. csv-table:: PSE51 Option Requirements 38 :header: Symbol, Support, Remarks 39 :widths: 50, 10, 50 40 41 _POSIX_CLOCK_SELECTION, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 42 _POSIX_FSYNC, -1, 43 _POSIX_MEMLOCK, -1, 44 _POSIX_MEMLOCK_RANGE, -1, 45 _POSIX_MONOTONIC_CLOCK, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 46 _POSIX_REALTIME_SIGNALS, -1, 47 _POSIX_SEMAPHORES, 200809L, :kconfig:option:`CONFIG_PTHREAD_IPC` 48 _POSIX_SHARED_MEMORY_OBJECTS, -1, 49 _POSIX_SYNCHRONIZED_IO, -1, 50 _POSIX_THREAD_ATTR_STACKADDR, 200809L, :kconfig:option:`CONFIG_PTHREAD` 51 _POSIX_THREAD_ATTR_STACKSIZE, 200809L, :kconfig:option:`CONFIG_PTHREAD` 52 _POSIX_THREAD_CPUTIME, -1, 53 _POSIX_THREAD_PRIO_INHERIT, 200809L, :kconfig:option:`CONFIG_PTHREAD_MUTEX` 54 _POSIX_THREAD_PRIO_PROTECT, -1, 55 _POSIX_THREAD_PRIORITY_SCHEDULING, -1, :kconfig:option:`CONFIG_POSIX_PRIORITY_SCHEDULING` (will fail with ``ENOSYS``:ref:`†<posix_undefined_behaviour>`) 56 _POSIX_THREAD_SPORADIC_SERVER, -1, 57 _POSIX_TIMEOUTS, 200809L, :kconfig:option:`CONFIG_PTHREAD_IPC` 58 _POSIX_TIMERS, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 59 60.. _posix_aep_pse52: 61 62Realtime Controller System Profile (PSE52) 63========================================== 64 65.. Conforming implementations shall define _POSIX_AEP_REALTIME_CONTROLLER to the value 200312L 66 67.. csv-table:: PSE52 System Interfaces 68 :header: Symbol, Support, Remarks 69 :widths: 50, 10, 50 70 71 _POSIX_AEP_REALTIME_CONTROLLER, -1, 72 73.. csv-table:: PSE52 Option Groups 74 :header: Symbol, Support, Remarks 75 :widths: 50, 10, 50 76 77 POSIX_C_LANG_JUMP, yes, :ref:`POSIX_C_LANG_JUMP <posix_option_group_c_lang_jump>` 78 POSIX_C_LANG_MATH, yes, :ref:`POSIX_C_LANG_MATH <posix_option_group_c_lang_math>` 79 POSIX_C_LANG_SUPPORT, yes, :ref:`POSIX_C_LANG_SUPPORT <posix_option_group_c_lang_support>` 80 POSIX_DEVICE_IO,, :ref:`†<posix_undefined_behaviour>` 81 POSIX_FD_MGMT,, 82 POSIX_FILE_LOCKING,, 83 POSIX_FILE_SYSTEM,, 84 POSIX_SIGNALS,, :ref:`†<posix_undefined_behaviour>` 85 POSIX_SINGLE_PROCESS,, :ref:`†<posix_undefined_behaviour>` 86 POSIX_THREADS_BASE, yes, :ref:`†<posix_undefined_behaviour>` 87 XSI_THREADS_EXT, yes, :ref:`†<posix_undefined_behaviour>` 88 89.. csv-table:: PSE52 Option Requirements 90 :header: Symbol, Support, Remarks 91 :widths: 50, 10, 50 92 93 _POSIX_CLOCK_SELECTION, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 94 _POSIX_FSYNC, -1, 95 _POSIX_MAPPED_FILES, -1, 96 _POSIX_MEMLOCK, -1, 97 _POSIX_MEMLOCK_RANGE, -1, 98 _POSIX_MESSAGE_PASSING, 200809L, :kconfig:option:`CONFIG_POSIX_MQUEUE` 99 _POSIX_MONOTONIC_CLOCK, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 100 _POSIX_REALTIME_SIGNALS, -1, 101 _POSIX_SEMAPHORES, 200809L, :kconfig:option:`CONFIG_PTHREAD_IPC` 102 _POSIX_SHARED_MEMORY_OBJECTS, -1, 103 _POSIX_SYNCHRONIZED_IO, -1, 104 _POSIX_THREAD_ATTR_STACKADDR, 200809L, :kconfig:option:`CONFIG_PTHREAD` 105 _POSIX_THREAD_ATTR_STACKSIZE, 200809L, :kconfig:option:`CONFIG_PTHREAD` 106 _POSIX_THREAD_CPUTIME, -1, 107 _POSIX_THREAD_PRIO_INHERIT, 200809L, :kconfig:option:`CONFIG_PTHREAD_MUTEX` 108 _POSIX_THREAD_PRIO_PROTECT, -1, 109 _POSIX_THREAD_PRIORITY_SCHEDULING, -1, 110 _POSIX_THREAD_SPORADIC_SERVER, -1, 111 _POSIX_TIMEOUTS, 200809L, :kconfig:option:`CONFIG_PTHREAD_IPC` 112 _POSIX_TIMERS, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 113 _POSIX_TRACE, -1, 114 _POSIX_TRACE_EVENT_FILTER, -1, 115 _POSIX_TRACE_LOG, -1, 116 117.. _posix_aep_pse53: 118 119Dedicated Realtime System Profile (PSE53) 120========================================= 121 122.. Conforming implementations shall define _POSIX_AEP_REALTIME_DEDICATED to the value 200312L 123 124.. csv-table:: PSE53 System Interfaces 125 :header: Symbol, Support, Remarks 126 :widths: 50, 10, 50 127 128 _POSIX_AEP_REALTIME_DEDICATED, -1, 129 130.. csv-table:: PSE53 Option Groups 131 :header: Symbol, Support, Remarks 132 :widths: 50, 10, 50 133 134 POSIX_C_LANG_JUMP, yes, :ref:`POSIX_C_LANG_JUMP <posix_option_group_c_lang_jump>` 135 POSIX_C_LANG_MATH, yes, :ref:`POSIX_C_LANG_MATH <posix_option_group_c_lang_math>` 136 POSIX_C_LANG_SUPPORT, yes, :ref:`POSIX_C_LANG_SUPPORT <posix_option_group_c_lang_support>` 137 POSIX_DEVICE_IO,, :ref:`†<posix_undefined_behaviour>` 138 POSIX_FD_MGMT,, 139 POSIX_FILE_LOCKING,, 140 POSIX_FILE_SYSTEM,, 141 POSIX_MULTI_PROCESS,, :ref:`†<posix_undefined_behaviour>` 142 POSIX_NETWORKING, yes, :ref:`†<posix_undefined_behaviour>` 143 POSIX_PIPE,, :ref:`†<posix_undefined_behaviour>` 144 POSIX_SIGNALS,, :ref:`†<posix_undefined_behaviour>` 145 POSIX_SIGNAL_JUMP,, :ref:`†<posix_undefined_behaviour>` 146 POSIX_SINGLE_PROCESS,, :ref:`†<posix_undefined_behaviour>` 147 POSIX_THREADS_BASE, yes, :ref:`†<posix_undefined_behaviour>` 148 XSI_THREADS_EXT, yes, :ref:`†<posix_undefined_behaviour>` 149 150.. csv-table:: PSE53 Option Requirements 151 :header: Symbol, Support, Remarks 152 :widths: 50, 10, 50 153 154 _POSIX_ASYNCHRONOUS_IO, -1, 155 _POSIX_CLOCK_SELECTION, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 156 _POSIX_CPUTIME, -1, 157 _POSIX_FSYNC, -1, 158 _POSIX_MAPPED_FILES, -1, 159 _POSIX_MEMLOCK, -1, 160 _POSIX_MEMLOCK_RANGE, -1, 161 _POSIX_MEMORY_PROTECTION, -1, 162 _POSIX_MESSAGE_PASSING, 200809L, :kconfig:option:`CONFIG_POSIX_MQUEUE` 163 _POSIX_MONOTONIC_CLOCK, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 164 _POSIX_PRIORITIZED_IO, -1, 165 _POSIX_PRIORITY_SCHEDULING, -1, 166 _POSIX_RAW_SOCKETS, 200809L, :kconfig:option:`CONFIG_NET_SOCKETS` 167 _POSIX_REALTIME_SIGNALS, -1, 168 _POSIX_SEMAPHORES, 200809L, :kconfig:option:`CONFIG_PTHREAD_IPC` 169 _POSIX_SHARED_MEMORY_OBJECTS, -1, 170 _POSIX_SPAWN, -1, 171 _POSIX_SPORADIC_SERVER, -1, 172 _POSIX_SYNCHRONIZED_IO, -1, 173 _POSIX_THREAD_ATTR_STACKADDR, 200809L, :kconfig:option:`CONFIG_PTHREAD` 174 _POSIX_THREAD_ATTR_STACKSIZE, 200809L, :kconfig:option:`CONFIG_PTHREAD` 175 _POSIX_THREAD_CPUTIME, -1, 176 _POSIX_THREAD_PRIO_INHERIT, 200809L, :kconfig:option:`CONFIG_PTHREAD_MUTEX` 177 _POSIX_THREAD_PRIO_PROTECT, -1, 178 _POSIX_THREAD_PRIORITY_SCHEDULING, -1, 179 _POSIX_THREAD_PROCESS_SHARED, -1, 180 _POSIX_THREAD_SPORADIC_SERVER, -1, 181 _POSIX_TIMEOUTS, 200809L, :kconfig:option:`CONFIG_PTHREAD_IPC` 182 _POSIX_TIMERS, 200809L, :kconfig:option:`CONFIG_POSIX_CLOCK` 183 _POSIX_TRACE, -1, 184 _POSIX_TRACE_EVENT_FILTER, -1, 185 _POSIX_TRACE_LOG, -1, 186 187.. _IEEE 1003.1-2017: https://standards.ieee.org/ieee/1003.1/7101/ 188.. _IEEE 1003.13-2003: https://standards.ieee.org/ieee/1003.13/3322/ 189