Commit 95d11725 authored by Chris Friedt's avatar Chris Friedt Committed by Alberto Escolar
Browse files

doc: posix: options: explicitly note kconfig options



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

Signed-off-by: default avatarChris Friedt <cfriedt@tenstorrent.com>
parent 3ec76e82
Loading
Loading
Loading
Loading
+81 −5
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ POSIX Option Groups
POSIX_BARRIERS
++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_BARRIERS`.

.. csv-table:: POSIX_BARRIERS
   :header: API, Supported
   :widths: 50,10
@@ -75,6 +77,8 @@ to :ref:`details<language_support>`.
POSIX_C_LIB_EXT
+++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_C_LIB_EXT`.

.. csv-table:: POSIX_C_LIB_EXT
   :header: API, Supported
   :widths: 50,10
@@ -100,6 +104,8 @@ POSIX_C_LIB_EXT
POSIX_CLOCK_SELECTION
+++++++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_CLOCK_SELECTION`.

.. csv-table:: POSIX_CLOCK_SELECTION
   :header: API, Supported
   :widths: 50,10
@@ -113,6 +119,8 @@ POSIX_CLOCK_SELECTION
POSIX_DEVICE_IO
+++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_DEVICE_IO`.

.. csv-table:: POSIX_DEVICE_IO
   :header: API, Supported
   :widths: 50,10
@@ -172,7 +180,7 @@ POSIX_DEVICE_IO
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
   :header: API, Supported
@@ -196,8 +204,6 @@ This table lists service support status in Zephyr for `POSIX_FD_MGMT`:
POSIX_FILE_LOCKING
++++++++++++++++++

This table lists service support status in Zephyr for `POSIX_FD_MGMT`:

.. csv-table:: POSIX_FILE_LOCKING
   :header: API, Supported
   :widths: 50,10
@@ -215,6 +221,8 @@ This table lists service support status in Zephyr for `POSIX_FD_MGMT`:
POSIX_FILE_SYSTEM
+++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_FILE_SYSTEM`.

.. csv-table:: POSIX_FILE_SYSTEM
   :header: API, Supported
   :widths: 50,10
@@ -251,6 +259,8 @@ POSIX_FILE_SYSTEM
POSIX_MAPPED_FILES
++++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_MAPPED_FILES`.

.. csv-table:: POSIX_MAPPED_FILES
   :header: API, Supported
   :widths: 50,10
@@ -264,6 +274,8 @@ POSIX_MAPPED_FILES
POSIX_MEMORY_PROTECTION
+++++++++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_MEMORY_PROTECTION`.

.. csv-table:: POSIX_MEMORY_PROTECTION
   :header: API, Supported
   :widths: 50,10
@@ -275,6 +287,8 @@ POSIX_MEMORY_PROTECTION
POSIX_MULTI_PROCESS
+++++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_MULTI_PROCESS`.

.. csv-table:: POSIX_MULTI_PROCESS
   :header: API, Supported
   :widths: 50,10
@@ -312,6 +326,8 @@ POSIX_NETWORKING
The function ``sockatmark()`` is not yet supported and is expected to fail setting ``errno``
to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`.

Enable this option group with :kconfig:option:`CONFIG_POSIX_NETWORKING`.

.. csv-table:: POSIX_NETWORKING
   :header: API, Supported
   :widths: 50,10
@@ -386,6 +402,8 @@ POSIX_PIPE
POSIX_REALTIME_SIGNALS
++++++++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_REALTIME_SIGNALS`.

.. csv-table:: POSIX_REALTIME_SIGNALS
   :header: API, Supported
   :widths: 50,10
@@ -399,6 +417,8 @@ POSIX_REALTIME_SIGNALS
POSIX_SEMAPHORES
++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_SEMAPHORES`.

.. csv-table:: POSIX_SEMAPHORES
   :header: API, Supported
   :widths: 50,10
@@ -433,6 +453,8 @@ POSIX_SIGNALS
Signal services are a basic mechanism within POSIX-based systems and are
required for error and event handling.

Enable this option group with :kconfig:option:`CONFIG_POSIX_SIGNALS`.

.. csv-table:: POSIX_SIGNALS
   :header: API, Supported
   :widths: 50,10
@@ -463,6 +485,8 @@ POSIX_SINGLE_PROCESS
The POSIX_SINGLE_PROCESS option group contains services for single
process applications.

Enable this option group with :kconfig:option:`CONFIG_POSIX_SINGLE_PROCESS`.

.. csv-table:: POSIX_SINGLE_PROCESS
   :header: API, Supported
   :widths: 50,10
@@ -481,6 +505,8 @@ process applications.
POSIX_SPIN_LOCKS
++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_SPIN_LOCKS`.

.. csv-table:: POSIX_SPIN_LOCKS
   :header: API, Supported
   :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
multiple processes.

Enable this option group with :kconfig:option:`CONFIG_POSIX_THREADS`.

.. csv-table:: POSIX_THREADS_BASE
   :header: API, Supported
   :widths: 50,10
@@ -559,7 +587,7 @@ multiple processes.
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
   :header: API, Supported
@@ -575,6 +603,8 @@ This table lists service support status in Zephyr:
POSIX_TIMERS
++++++++++++

Enable this option group with :kconfig:option:`CONFIG_POSIX_TIMERS`.

.. csv-table:: POSIX_TIMERS
   :header: API, Supported
   :widths: 50,10
@@ -594,6 +624,8 @@ POSIX_TIMERS
XSI_SYSTEM_LOGGING
++++++++++++++++++

Enable this option group with :kconfig:option:`CONFIG_XSI_SYSTEM_LOGGING`.

.. csv-table:: XSI_SYSTEM_LOGGING
   :header: API, Supported
   :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
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
   :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
``errno`` to ``ENOSYS``:ref:`†<posix_undefined_behaviour>`.

Enable this option with :kconfig:option:`CONFIG_POSIX_ASYNCHRONOUS_IO`.

.. csv-table:: _POSIX_ASYNCHRONOUS_IO
   :header: API, Supported
   :widths: 50,10
@@ -655,6 +689,8 @@ provided so that conformant applications can still link. These functions will fa
_POSIX_CPUTIME
++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_CPUTIME`.

.. csv-table:: _POSIX_CPUTIME
   :header: API, Supported
   :widths: 50,10
@@ -666,6 +702,8 @@ _POSIX_CPUTIME
_POSIX_FSYNC
++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_FSYNC`.

.. csv-table:: _POSIX_FSYNC
   :header: API, Supported
   :widths: 50,10
@@ -681,6 +719,8 @@ Internet Protocol Version 6 is supported.

For more information, please refer to :ref:`Networking <networking>`.

Enable this option with :kconfig:option:`CONFIG_POSIX_IPV6`.

.. _posix_option_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
set ``errno`` to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`.

Enable this option with :kconfig:option:`CONFIG_POSIX_MEMLOCK`.

.. csv-table:: _POSIX_MEMLOCK
   :header: API, Supported
   :widths: 50,10
@@ -702,6 +744,8 @@ set ``errno`` to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`.
_POSIX_MEMLOCK_RANGE
++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_MEMLOCK_RANGE`.

.. csv-table:: _POSIX_MEMLOCK_RANGE
   :header: API, Supported
   :widths: 50,10
@@ -714,6 +758,8 @@ _POSIX_MEMLOCK_RANGE
_POSIX_MESSAGE_PASSING
++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_MESSAGE_PASSING`.

.. csv-table:: _POSIX_MESSAGE_PASSING
   :header: API, Supported
   :widths: 50,10
@@ -732,6 +778,8 @@ _POSIX_MESSAGE_PASSING
_POSIX_MONOTONIC_CLOCK
++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_MONOTONIC_CLOCK`.

.. csv-table:: _POSIX_MONOTONIC_CLOCK
   :header: API, Supported
   :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``
to ``ENOSYS``:ref:`†<posix_undefined_behaviour>`.

Enable this option with :kconfig:option:`CONFIG_POSIX_PRIORITY_SCHEDULING`.

.. csv-table:: _POSIX_PRIORITY_SCHEDULING
   :header: API, Supported
   :widths: 50,10
@@ -769,11 +819,15 @@ Raw sockets are supported.

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_READER_WRITER_LOCKS
++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_READER_WRITER_LOCKS`.

.. csv-table:: _POSIX_READER_WRITER_LOCKS
   :header: API, Supported
   :widths: 50,10
@@ -795,6 +849,8 @@ _POSIX_READER_WRITER_LOCKS
_POSIX_SHARED_MEMORY_OBJECTS
++++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_SHARED_MEMORY_OBJECTS`.

.. csv-table:: _POSIX_SHARED_MEMORY_OBJECTS
   :header: API, Supported
   :widths: 50,10
@@ -809,6 +865,8 @@ _POSIX_SHARED_MEMORY_OBJECTS
_POSIX_SYNCHRONIZED_IO
++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_SYNCHRONIZED_IO`.

.. csv-table:: _POSIX_SYNCHRONIZED_IO
   :header: API, Supported
   :widths: 50,10
@@ -822,6 +880,8 @@ _POSIX_SYNCHRONIZED_IO
_POSIX_THREAD_ATTR_STACKADDR
++++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_ATTR_STACKADDR`.

.. csv-table:: _POSIX_THREAD_ATTR_STACKADDR
   :header: API, Supported
   :widths: 50,10
@@ -834,6 +894,8 @@ _POSIX_THREAD_ATTR_STACKADDR
_POSIX_THREAD_ATTR_STACKSIZE
++++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_ATTR_STACKSIZE`.

.. csv-table:: _POSIX_THREAD_ATTR_STACKSIZE
   :header: API, Supported
   :widths: 50,10
@@ -846,6 +908,8 @@ _POSIX_THREAD_ATTR_STACKSIZE
_POSIX_THREAD_CPUTIME
+++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_CPUTIME`.

.. csv-table:: _POSIX_THREAD_CPUTIME
   :header: API, Supported
   :widths: 50,10
@@ -858,6 +922,8 @@ _POSIX_THREAD_CPUTIME
_POSIX_THREAD_PRIO_INHERIT
++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_PRIO_INHERIT`.

.. csv-table:: _POSIX_THREAD_PRIO_INHERIT
   :header: API, Supported
   :widths: 50,10
@@ -870,6 +936,8 @@ _POSIX_THREAD_PRIO_INHERIT
_POSIX_THREAD_PRIO_PROTECT
++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_PRIO_PROTECT`.

.. csv-table:: _POSIX_THREAD_PRIO_PROTECT
   :header: API, Supported
   :widths: 50,10
@@ -886,6 +954,8 @@ _POSIX_THREAD_PRIO_PROTECT
_POSIX_THREAD_PRIORITY_SCHEDULING
+++++++++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING`.

.. csv-table:: _POSIX_THREAD_PRIORITY_SCHEDULING
   :header: API, Supported
   :widths: 50,10
@@ -905,6 +975,8 @@ _POSIX_THREAD_PRIORITY_SCHEDULING
_POSIX_THREAD_SAFE_FUNCTIONS
++++++++++++++++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_THREAD_SAFE_FUNCTIONS`.

.. csv-table:: _POSIX_THREAD_SAFE_FUNCTIONS
    :header: API, Supported
    :widths: 50,10
@@ -934,6 +1006,8 @@ _POSIX_THREAD_SAFE_FUNCTIONS
_POSIX_TIMEOUTS
+++++++++++++++

Enable this option with :kconfig:option:`CONFIG_POSIX_TIMEOUTS`.

.. csv-table:: _POSIX_TIMEOUTS
   :header: API, Supported
   :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``
:ref:`†<posix_undefined_behaviour>`.

Enable this option with :kconfig:option:`CONFIG_XOPEN_STREAMS`.

.. csv-table:: _XOPEN_STREAMS
   :header: API, Supported
   :widths: 50,10