doc: posix: options: explicitly note kconfig options

Note which Kconfig options activate which POSIX Options
and Option Groups.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
This commit is contained in:
Chris Friedt 2024-07-19 12:31:59 -04:00 committed by Alberto Escolar
commit 95d117259a

View file

@ -11,6 +11,8 @@ POSIX Option Groups
POSIX_BARRIERS POSIX_BARRIERS
++++++++++++++ ++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_BARRIERS`.
.. csv-table:: POSIX_BARRIERS .. csv-table:: POSIX_BARRIERS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -75,6 +77,8 @@ to :ref:`details<language_support>`.
POSIX_C_LIB_EXT POSIX_C_LIB_EXT
+++++++++++++++ +++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_C_LIB_EXT`.
.. csv-table:: POSIX_C_LIB_EXT .. csv-table:: POSIX_C_LIB_EXT
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -100,6 +104,8 @@ POSIX_C_LIB_EXT
POSIX_CLOCK_SELECTION POSIX_CLOCK_SELECTION
+++++++++++++++++++++ +++++++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_CLOCK_SELECTION`.
.. csv-table:: POSIX_CLOCK_SELECTION .. csv-table:: POSIX_CLOCK_SELECTION
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -113,6 +119,8 @@ POSIX_CLOCK_SELECTION
POSIX_DEVICE_IO POSIX_DEVICE_IO
+++++++++++++++ +++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_DEVICE_IO`.
.. csv-table:: POSIX_DEVICE_IO .. csv-table:: POSIX_DEVICE_IO
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -172,7 +180,7 @@ POSIX_DEVICE_IO
POSIX_FD_MGMT POSIX_FD_MGMT
+++++++++++++ +++++++++++++
This table lists service support status in Zephyr for `POSIX_FD_MGMT`: Enable this option group with :kconfig:option:`CONFIG_POSIX_FD_MGMT`.
.. csv-table:: POSIX_FD_MGMT .. csv-table:: POSIX_FD_MGMT
:header: API, Supported :header: API, Supported
@ -196,8 +204,6 @@ This table lists service support status in Zephyr for `POSIX_FD_MGMT`:
POSIX_FILE_LOCKING POSIX_FILE_LOCKING
++++++++++++++++++ ++++++++++++++++++
This table lists service support status in Zephyr for `POSIX_FD_MGMT`:
.. csv-table:: POSIX_FILE_LOCKING .. csv-table:: POSIX_FILE_LOCKING
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -215,6 +221,8 @@ This table lists service support status in Zephyr for `POSIX_FD_MGMT`:
POSIX_FILE_SYSTEM POSIX_FILE_SYSTEM
+++++++++++++++++ +++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_FILE_SYSTEM`.
.. csv-table:: POSIX_FILE_SYSTEM .. csv-table:: POSIX_FILE_SYSTEM
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -251,6 +259,8 @@ POSIX_FILE_SYSTEM
POSIX_MAPPED_FILES POSIX_MAPPED_FILES
++++++++++++++++++ ++++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_MAPPED_FILES`.
.. csv-table:: POSIX_MAPPED_FILES .. csv-table:: POSIX_MAPPED_FILES
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -264,6 +274,8 @@ POSIX_MAPPED_FILES
POSIX_MEMORY_PROTECTION POSIX_MEMORY_PROTECTION
+++++++++++++++++++++++ +++++++++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_MEMORY_PROTECTION`.
.. csv-table:: POSIX_MEMORY_PROTECTION .. csv-table:: POSIX_MEMORY_PROTECTION
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -275,6 +287,8 @@ POSIX_MEMORY_PROTECTION
POSIX_MULTI_PROCESS POSIX_MULTI_PROCESS
+++++++++++++++++++ +++++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_MULTI_PROCESS`.
.. csv-table:: POSIX_MULTI_PROCESS .. csv-table:: POSIX_MULTI_PROCESS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -312,6 +326,8 @@ POSIX_NETWORKING
The function ``sockatmark()`` is not yet supported and is expected to fail setting ``errno`` The function ``sockatmark()`` is not yet supported and is expected to fail setting ``errno``
to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`. to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`.
Enable this option group with :kconfig:option:`CONFIG_POSIX_NETWORKING`.
.. csv-table:: POSIX_NETWORKING .. csv-table:: POSIX_NETWORKING
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -386,6 +402,8 @@ POSIX_PIPE
POSIX_REALTIME_SIGNALS POSIX_REALTIME_SIGNALS
++++++++++++++++++++++ ++++++++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_REALTIME_SIGNALS`.
.. csv-table:: POSIX_REALTIME_SIGNALS .. csv-table:: POSIX_REALTIME_SIGNALS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -399,6 +417,8 @@ POSIX_REALTIME_SIGNALS
POSIX_SEMAPHORES POSIX_SEMAPHORES
++++++++++++++++ ++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_SEMAPHORES`.
.. csv-table:: POSIX_SEMAPHORES .. csv-table:: POSIX_SEMAPHORES
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -433,6 +453,8 @@ POSIX_SIGNALS
Signal services are a basic mechanism within POSIX-based systems and are Signal services are a basic mechanism within POSIX-based systems and are
required for error and event handling. required for error and event handling.
Enable this option group with :kconfig:option:`CONFIG_POSIX_SIGNALS`.
.. csv-table:: POSIX_SIGNALS .. csv-table:: POSIX_SIGNALS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -463,6 +485,8 @@ POSIX_SINGLE_PROCESS
The POSIX_SINGLE_PROCESS option group contains services for single The POSIX_SINGLE_PROCESS option group contains services for single
process applications. process applications.
Enable this option group with :kconfig:option:`CONFIG_POSIX_SINGLE_PROCESS`.
.. csv-table:: POSIX_SINGLE_PROCESS .. csv-table:: POSIX_SINGLE_PROCESS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -481,6 +505,8 @@ process applications.
POSIX_SPIN_LOCKS POSIX_SPIN_LOCKS
++++++++++++++++ ++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_SPIN_LOCKS`.
.. csv-table:: POSIX_SPIN_LOCKS .. csv-table:: POSIX_SPIN_LOCKS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -501,6 +527,8 @@ consists of a single (implicit) process with multiple threads. Therefore, the
standard requires all basic thread services, except those related to standard requires all basic thread services, except those related to
multiple processes. multiple processes.
Enable this option group with :kconfig:option:`CONFIG_POSIX_THREADS`.
.. csv-table:: POSIX_THREADS_BASE .. csv-table:: POSIX_THREADS_BASE
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -559,7 +587,7 @@ multiple processes.
POSIX_THREADS_EXT POSIX_THREADS_EXT
+++++++++++++++++ +++++++++++++++++
This table lists service support status in Zephyr: Enable this option group with :kconfig:option:`CONFIG_POSIX_THREADS_EXT`.
.. csv-table:: POSIX_THREADS_EXT .. csv-table:: POSIX_THREADS_EXT
:header: API, Supported :header: API, Supported
@ -575,6 +603,8 @@ This table lists service support status in Zephyr:
POSIX_TIMERS POSIX_TIMERS
++++++++++++ ++++++++++++
Enable this option group with :kconfig:option:`CONFIG_POSIX_TIMERS`.
.. csv-table:: POSIX_TIMERS .. csv-table:: POSIX_TIMERS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -594,6 +624,8 @@ POSIX_TIMERS
XSI_SYSTEM_LOGGING XSI_SYSTEM_LOGGING
++++++++++++++++++ ++++++++++++++++++
Enable this option group with :kconfig:option:`CONFIG_XSI_SYSTEM_LOGGING`.
.. csv-table:: XSI_SYSTEM_LOGGING .. csv-table:: XSI_SYSTEM_LOGGING
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -612,7 +644,7 @@ The XSI_THREADS_EXT option group is required because it provides
functions to control a thread's stack. This is considered useful for any functions to control a thread's stack. This is considered useful for any
real-time application. real-time application.
This table lists service support status in Zephyr: Enable this option group with :kconfig:option:`CONFIG_XSI_THREADS_EXT`.
.. csv-table:: XSI_THREADS_EXT .. csv-table:: XSI_THREADS_EXT
:header: API, Supported :header: API, Supported
@ -637,6 +669,8 @@ Functions part of the ``_POSIX_ASYNCHRONOUS_IO`` Option are not implemented in Z
provided so that conformant applications can still link. These functions will fail, setting provided so that conformant applications can still link. These functions will fail, setting
``errno`` to ``ENOSYS``:ref:`†<posix_undefined_behaviour>`. ``errno`` to ``ENOSYS``:ref:`†<posix_undefined_behaviour>`.
Enable this option with :kconfig:option:`CONFIG_POSIX_ASYNCHRONOUS_IO`.
.. csv-table:: _POSIX_ASYNCHRONOUS_IO .. csv-table:: _POSIX_ASYNCHRONOUS_IO
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -655,6 +689,8 @@ provided so that conformant applications can still link. These functions will fa
_POSIX_CPUTIME _POSIX_CPUTIME
++++++++++++++ ++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_CPUTIME`.
.. csv-table:: _POSIX_CPUTIME .. csv-table:: _POSIX_CPUTIME
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -666,6 +702,8 @@ _POSIX_CPUTIME
_POSIX_FSYNC _POSIX_FSYNC
++++++++++++ ++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_FSYNC`.
.. csv-table:: _POSIX_FSYNC .. csv-table:: _POSIX_FSYNC
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -681,6 +719,8 @@ Internet Protocol Version 6 is supported.
For more information, please refer to :ref:`Networking <networking>`. For more information, please refer to :ref:`Networking <networking>`.
Enable this option with :kconfig:option:`CONFIG_POSIX_IPV6`.
.. _posix_option_memlock: .. _posix_option_memlock:
_POSIX_MEMLOCK _POSIX_MEMLOCK
@ -690,6 +730,8 @@ Zephyr's :ref:`Demand Paging API <memory_management_api_demand_paging>` does not
pinning or unpinning all virtual memory regions. The functions below are expected to fail and pinning or unpinning all virtual memory regions. The functions below are expected to fail and
set ``errno`` to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`. set ``errno`` to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`.
Enable this option with :kconfig:option:`CONFIG_POSIX_MEMLOCK`.
.. csv-table:: _POSIX_MEMLOCK .. csv-table:: _POSIX_MEMLOCK
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -702,6 +744,8 @@ set ``errno`` to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`.
_POSIX_MEMLOCK_RANGE _POSIX_MEMLOCK_RANGE
++++++++++++++++++++ ++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_MEMLOCK_RANGE`.
.. csv-table:: _POSIX_MEMLOCK_RANGE .. csv-table:: _POSIX_MEMLOCK_RANGE
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -714,6 +758,8 @@ _POSIX_MEMLOCK_RANGE
_POSIX_MESSAGE_PASSING _POSIX_MESSAGE_PASSING
++++++++++++++++++++++ ++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_MESSAGE_PASSING`.
.. csv-table:: _POSIX_MESSAGE_PASSING .. csv-table:: _POSIX_MESSAGE_PASSING
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -732,6 +778,8 @@ _POSIX_MESSAGE_PASSING
_POSIX_MONOTONIC_CLOCK _POSIX_MONOTONIC_CLOCK
++++++++++++++++++++++ ++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_MONOTONIC_CLOCK`.
.. csv-table:: _POSIX_MONOTONIC_CLOCK .. csv-table:: _POSIX_MONOTONIC_CLOCK
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -747,6 +795,8 @@ As processes are not yet supported in Zephyr, the functions ``sched_rr_get_inter
``sched_setparam()``, and ``sched_setscheduler()`` are expected to fail setting ``errno`` ``sched_setparam()``, and ``sched_setscheduler()`` are expected to fail setting ``errno``
to ``ENOSYS``:ref:`†<posix_undefined_behaviour>`. to ``ENOSYS``:ref:`†<posix_undefined_behaviour>`.
Enable this option with :kconfig:option:`CONFIG_POSIX_PRIORITY_SCHEDULING`.
.. csv-table:: _POSIX_PRIORITY_SCHEDULING .. csv-table:: _POSIX_PRIORITY_SCHEDULING
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -769,11 +819,15 @@ Raw sockets are supported.
For more information, please refer to :kconfig:option:`CONFIG_NET_SOCKETS_PACKET`. For more information, please refer to :kconfig:option:`CONFIG_NET_SOCKETS_PACKET`.
Enable this option with :kconfig:option:`CONFIG_POSIX_RAW_SOCKETS`.
.. _posix_option_reader_writer_locks: .. _posix_option_reader_writer_locks:
_POSIX_READER_WRITER_LOCKS _POSIX_READER_WRITER_LOCKS
++++++++++++++++++++++++++ ++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_READER_WRITER_LOCKS`.
.. csv-table:: _POSIX_READER_WRITER_LOCKS .. csv-table:: _POSIX_READER_WRITER_LOCKS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -795,6 +849,8 @@ _POSIX_READER_WRITER_LOCKS
_POSIX_SHARED_MEMORY_OBJECTS _POSIX_SHARED_MEMORY_OBJECTS
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_SHARED_MEMORY_OBJECTS`.
.. csv-table:: _POSIX_SHARED_MEMORY_OBJECTS .. csv-table:: _POSIX_SHARED_MEMORY_OBJECTS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -809,6 +865,8 @@ _POSIX_SHARED_MEMORY_OBJECTS
_POSIX_SYNCHRONIZED_IO _POSIX_SYNCHRONIZED_IO
++++++++++++++++++++++ ++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_SYNCHRONIZED_IO`.
.. csv-table:: _POSIX_SYNCHRONIZED_IO .. csv-table:: _POSIX_SYNCHRONIZED_IO
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -822,6 +880,8 @@ _POSIX_SYNCHRONIZED_IO
_POSIX_THREAD_ATTR_STACKADDR _POSIX_THREAD_ATTR_STACKADDR
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_ATTR_STACKADDR`.
.. csv-table:: _POSIX_THREAD_ATTR_STACKADDR .. csv-table:: _POSIX_THREAD_ATTR_STACKADDR
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -834,6 +894,8 @@ _POSIX_THREAD_ATTR_STACKADDR
_POSIX_THREAD_ATTR_STACKSIZE _POSIX_THREAD_ATTR_STACKSIZE
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_ATTR_STACKSIZE`.
.. csv-table:: _POSIX_THREAD_ATTR_STACKSIZE .. csv-table:: _POSIX_THREAD_ATTR_STACKSIZE
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -846,6 +908,8 @@ _POSIX_THREAD_ATTR_STACKSIZE
_POSIX_THREAD_CPUTIME _POSIX_THREAD_CPUTIME
+++++++++++++++++++++ +++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_CPUTIME`.
.. csv-table:: _POSIX_THREAD_CPUTIME .. csv-table:: _POSIX_THREAD_CPUTIME
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -858,6 +922,8 @@ _POSIX_THREAD_CPUTIME
_POSIX_THREAD_PRIO_INHERIT _POSIX_THREAD_PRIO_INHERIT
++++++++++++++++++++++++++ ++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_PRIO_INHERIT`.
.. csv-table:: _POSIX_THREAD_PRIO_INHERIT .. csv-table:: _POSIX_THREAD_PRIO_INHERIT
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -870,6 +936,8 @@ _POSIX_THREAD_PRIO_INHERIT
_POSIX_THREAD_PRIO_PROTECT _POSIX_THREAD_PRIO_PROTECT
++++++++++++++++++++++++++ ++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_PRIO_PROTECT`.
.. csv-table:: _POSIX_THREAD_PRIO_PROTECT .. csv-table:: _POSIX_THREAD_PRIO_PROTECT
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -886,6 +954,8 @@ _POSIX_THREAD_PRIO_PROTECT
_POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_THREAD_PRIORITY_SCHEDULING
+++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING`.
.. csv-table:: _POSIX_THREAD_PRIORITY_SCHEDULING .. csv-table:: _POSIX_THREAD_PRIORITY_SCHEDULING
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -905,6 +975,8 @@ _POSIX_THREAD_PRIORITY_SCHEDULING
_POSIX_THREAD_SAFE_FUNCTIONS _POSIX_THREAD_SAFE_FUNCTIONS
++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_SAFE_FUNCTIONS`.
.. csv-table:: _POSIX_THREAD_SAFE_FUNCTIONS .. csv-table:: _POSIX_THREAD_SAFE_FUNCTIONS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -934,6 +1006,8 @@ _POSIX_THREAD_SAFE_FUNCTIONS
_POSIX_TIMEOUTS _POSIX_TIMEOUTS
+++++++++++++++ +++++++++++++++
Enable this option with :kconfig:option:`CONFIG_POSIX_TIMEOUTS`.
.. csv-table:: _POSIX_TIMEOUTS .. csv-table:: _POSIX_TIMEOUTS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10
@ -956,6 +1030,8 @@ implemented in Zephyr but are provided so that conformant applications can still
Unimplemented functions in this option group will fail, setting ``errno`` to ``ENOSYS`` Unimplemented functions in this option group will fail, setting ``errno`` to ``ENOSYS``
:ref:`†<posix_undefined_behaviour>`. :ref:`†<posix_undefined_behaviour>`.
Enable this option with :kconfig:option:`CONFIG_XOPEN_STREAMS`.
.. csv-table:: _XOPEN_STREAMS .. csv-table:: _XOPEN_STREAMS
:header: API, Supported :header: API, Supported
:widths: 50,10 :widths: 50,10