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

doc: posix: options: alphabetize order of options, groups



Reorder posix options and option groups so that they are
in alphabetical order in the documentation.

Signed-off-by: default avatarChris Friedt <cfriedt@tenstorrent.com>
parent 099209b7
Loading
Loading
Loading
Loading
+307 −301
Original line number Diff line number Diff line
@@ -3,118 +3,23 @@
Subprofiling Option Groups
##########################

.. _posix_option_group_threads_base:
POSIX Option Groups
===================

POSIX_THREADS_BASE
==================
.. _posix_option_group_barriers:

The basic assumption in this profile is that the system
consists of a single (implicit) process with multiple threads. Therefore, the
standard requires all basic thread services, except those related to
multiple processes.
POSIX_BARRIERS
==============

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

    pthread_atfork(),yes
    pthread_attr_destroy(),yes
    pthread_attr_getdetachstate(),yes
    pthread_attr_getschedparam(),yes
    pthread_attr_init(),yes
    pthread_attr_setdetachstate(),yes
    pthread_attr_setschedparam(),yes
    pthread_barrier_destroy(),yes
    pthread_barrier_init(),yes
    pthread_barrier_wait(),yes
    pthread_barrierattr_destroy(),yes
    pthread_barrierattr_getpshared(),yes
    pthread_barrierattr_init(),yes
    pthread_barrierattr_setpshared(),yes
    pthread_cancel(),yes
    pthread_cleanup_pop(),yes
    pthread_cleanup_push(),yes
    pthread_cond_broadcast(),yes
    pthread_cond_destroy(),yes
    pthread_cond_init(),yes
    pthread_cond_signal(),yes
    pthread_cond_timedwait(),yes
    pthread_cond_wait(),yes
    pthread_condattr_destroy(),yes
    pthread_condattr_init(),yes
    pthread_create(),yes
    pthread_detach(),yes
    pthread_equal(),yes
    pthread_exit(),yes
    pthread_getspecific(),yes
    pthread_join(),yes
    pthread_key_create(),yes
    pthread_key_delete(),yes
    pthread_kill(),
    pthread_mutex_destroy(),yes
    pthread_mutex_init(),yes
    pthread_mutex_lock(),yes
    pthread_mutex_trylock(),yes
    pthread_mutex_unlock(),yes
    pthread_mutexattr_destroy(),yes
    pthread_mutexattr_init(),yes
    pthread_once(),yes
    pthread_self(),yes
    pthread_setcancelstate(),yes
    pthread_setcanceltype(),yes
    pthread_setspecific(),yes
    pthread_sigmask(),yes
    pthread_testcancel(),yes

.. _posix_option_group_posix_threads_ext:

POSIX_THREADS_EXT
=================

This table lists service support status in Zephyr:

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

    pthread_attr_getguardsize(),yes
    pthread_attr_setguardsize(),yes
    pthread_mutexattr_gettype(),yes
    pthread_mutexattr_settype(),yes

.. _posix_option_group_xsi_threads_ext:

XSI_THREADS_EXT
===============

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:

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

    pthread_attr_getstack(),yes
    pthread_attr_setstack(),yes
    pthread_getconcurrency(),yes
    pthread_setconcurrency(),yes

.. _posix_option_group_xsi_system_logging:

XSI_SYSTEM_LOGGING
==================

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

    closelog(),yes
    openlog(),yes
    setlogmask(),yes
    syslog(),yes

.. _posix_option_group_c_lang_jump:

@@ -190,81 +95,18 @@ POSIX_C_LIB_EXT
    strndup(),
    strnlen(), yes

.. _posix_option_group_realtime_signals:

POSIX_REALTIME_SIGNALS
======================

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

    sigqueue(),
    sigtimedwait(),
    sigwaitinfo(),

.. _posix_option_group_signal_jump:

POSIX_SIGNAL_JUMP
=================

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

    siglongjmp(),
    sigsetjmp(),

.. _posix_option_group_single_process:

POSIX_SINGLE_PROCESS
====================

The POSIX_SINGLE_PROCESS option group contains services for single
process applications.

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

    confstr(),yes
    environ,yes
    errno,yes
    getenv(),yes
    setenv(),yes
    sysconf(),yes
    uname(),yes
    unsetenv(),yes

.. _posix_option_group_signals:

POSIX_SIGNALS
=============
.. _posix_option_group_clock_selection:

Signal services are a basic mechanism within POSIX-based systems and are
required for error and event handling.
POSIX_CLOCK_SELECTION
=====================

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

    abort(),yes
    alarm(),
    kill(),
    pause(),
    raise(),
    sigaction(),
    sigaddset(),yes
    sigdelset(),yes
    sigemptyset(),yes
    sigfillset(),yes
    sigismember(),yes
    signal(),
    sigpending(),
    sigprocmask(),yes
    sigsuspend(),
    sigwait(),
    strsignal(),yes
    pthread_condattr_getclock(),yes
    pthread_condattr_setclock(),yes
    clock_nanosleep(),yes

.. _posix_option_group_device_io:

@@ -325,33 +167,48 @@ POSIX_DEVICE_IO
    vscanf(),
    write(),yes

.. _posix_option_group_barriers:
.. _posix_option_group_fd_mgmt:

POSIX_BARRIERS
==============
POSIX_FD_MGMT
=============

.. csv-table:: POSIX_BARRIERS
This table lists service support status in Zephyr for `POSIX_FD_MGMT`:

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

    pthread_barrier_destroy(),yes
    pthread_barrier_init(),yes
    pthread_barrier_wait(),yes
    pthread_barrierattr_destroy(),yes
    pthread_barrierattr_init(),yes
    dup(),
    dup2(),
    fcntl(),
    fgetpos(),
    fseek(),
    fseeko(),
    fsetpos(),
    ftell(),
    ftello(),
    ftruncate(),yes
    lseek(),
    rewind(),

.. _posix_option_group_clock_selection:
.. _posix_option_group_file_locking:

POSIX_CLOCK_SELECTION
=====================
POSIX_FILE_LOCKING
==================

.. csv-table:: POSIX_CLOCK_SELECTION
This table lists service support status in Zephyr for `POSIX_FD_MGMT`:

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

    pthread_condattr_getclock(),yes
    pthread_condattr_setclock(),yes
    clock_nanosleep(),yes
    flockfile(),
    ftrylockfile(),
    funlockfile(),
    getc_unlocked(),
    getchar_unlocked(),
    putc_unlocked(),
    putchar_unlocked(),

.. _posix_option_group_file_system:

@@ -402,11 +259,59 @@ POSIX_MAPPED_FILES
    msync(),yes
    munmap(),yes

.. _posix_option_group_memory_protection:

POSIX_MEMORY_PROTECTION
=======================

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

    mprotect(), yes :ref:`†<posix_undefined_behaviour>`

.. _posix_option_group_multi_process:

POSIX_MULTI_PROCESS
===================

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

    _Exit(), yes
    _exit(), yes
    assert(), yes
    atexit(),:ref:`†<posix_undefined_behaviour>`
    clock(),
    execl(),:ref:`†<posix_undefined_behaviour>`
    execle(),:ref:`†<posix_undefined_behaviour>`
    execlp(),:ref:`†<posix_undefined_behaviour>`
    execv(),:ref:`†<posix_undefined_behaviour>`
    execve(),:ref:`†<posix_undefined_behaviour>`
    execvp(),:ref:`†<posix_undefined_behaviour>`
    exit(), yes
    fork(),:ref:`†<posix_undefined_behaviour>`
    getpgrp(),:ref:`†<posix_undefined_behaviour>`
    getpgid(),:ref:`†<posix_undefined_behaviour>`
    getpid(), yes :ref:`†<posix_undefined_behaviour>`
    getppid(),:ref:`†<posix_undefined_behaviour>`
    getsid(),:ref:`†<posix_undefined_behaviour>`
    setsid(),:ref:`†<posix_undefined_behaviour>`
    sleep(),yes
    times(),
    wait(),:ref:`†<posix_undefined_behaviour>`
    waitid(),:ref:`†<posix_undefined_behaviour>`
    waitpid(),:ref:`†<posix_undefined_behaviour>`

.. _posix_option_group_networking:

POSIX_NETWORKING
================

The function ``sockatmark()`` is not yet supported and is expected to fail setting ``errno``
to ``ENOSYS`` :ref:`†<posix_undefined_behaviour>`.

.. csv-table:: POSIX_NETWORKING
   :header: API, Supported
   :widths: 50,10
@@ -474,26 +379,102 @@ POSIX_PIPE
   :header: API, Supported
   :widths: 50,10

    pipe(),
    pipe(),

.. _posix_option_group_realtime_signals:

POSIX_REALTIME_SIGNALS
======================

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

    sigqueue(),
    sigtimedwait(),
    sigwaitinfo(),

.. _posix_option_group_semaphores:

POSIX_SEMAPHORES
================

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

    sem_close(),yes
    sem_destroy(),yes
    sem_getvalue(),yes
    sem_init(),yes
    sem_open(),yes
    sem_post(),yes
    sem_trywait(),yes
    sem_unlink(),yes
    sem_wait(),yes

.. _posix_option_group_signal_jump:

POSIX_SIGNAL_JUMP
=================

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

    siglongjmp(),
    sigsetjmp(),

.. _posix_option_group_signals:

POSIX_SIGNALS
=============

Signal services are a basic mechanism within POSIX-based systems and are
required for error and event handling.

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

    abort(),yes
    alarm(),
    kill(),
    pause(),
    raise(),
    sigaction(),
    sigaddset(),yes
    sigdelset(),yes
    sigemptyset(),yes
    sigfillset(),yes
    sigismember(),yes
    signal(),
    sigpending(),
    sigprocmask(),yes
    sigsuspend(),
    sigwait(),
    strsignal(),yes

.. _posix_option_group_single_process:

.. _posix_option_group_semaphores:
POSIX_SINGLE_PROCESS
====================

POSIX_SEMAPHORES
================
The POSIX_SINGLE_PROCESS option group contains services for single
process applications.

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

    sem_close(),yes
    sem_destroy(),yes
    sem_getvalue(),yes
    sem_init(),yes
    sem_open(),yes
    sem_post(),yes
    sem_trywait(),yes
    sem_unlink(),yes
    sem_wait(),yes
    confstr(),yes
    environ,yes
    errno,yes
    getenv(),yes
    setenv(),yes
    sysconf(),yes
    uname(),yes
    unsetenv(),yes

.. _posix_option_group_spin_locks:

@@ -510,6 +491,85 @@ POSIX_SPIN_LOCKS
    pthread_spin_trylock(),yes
    pthread_spin_unlock(),yes

.. _posix_option_group_threads_base:

POSIX_THREADS_BASE
==================

The basic assumption in this profile is that the system
consists of a single (implicit) process with multiple threads. Therefore, the
standard requires all basic thread services, except those related to
multiple processes.

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

    pthread_atfork(),yes
    pthread_attr_destroy(),yes
    pthread_attr_getdetachstate(),yes
    pthread_attr_getschedparam(),yes
    pthread_attr_init(),yes
    pthread_attr_setdetachstate(),yes
    pthread_attr_setschedparam(),yes
    pthread_barrier_destroy(),yes
    pthread_barrier_init(),yes
    pthread_barrier_wait(),yes
    pthread_barrierattr_destroy(),yes
    pthread_barrierattr_getpshared(),yes
    pthread_barrierattr_init(),yes
    pthread_barrierattr_setpshared(),yes
    pthread_cancel(),yes
    pthread_cleanup_pop(),yes
    pthread_cleanup_push(),yes
    pthread_cond_broadcast(),yes
    pthread_cond_destroy(),yes
    pthread_cond_init(),yes
    pthread_cond_signal(),yes
    pthread_cond_timedwait(),yes
    pthread_cond_wait(),yes
    pthread_condattr_destroy(),yes
    pthread_condattr_init(),yes
    pthread_create(),yes
    pthread_detach(),yes
    pthread_equal(),yes
    pthread_exit(),yes
    pthread_getspecific(),yes
    pthread_join(),yes
    pthread_key_create(),yes
    pthread_key_delete(),yes
    pthread_kill(),
    pthread_mutex_destroy(),yes
    pthread_mutex_init(),yes
    pthread_mutex_lock(),yes
    pthread_mutex_trylock(),yes
    pthread_mutex_unlock(),yes
    pthread_mutexattr_destroy(),yes
    pthread_mutexattr_init(),yes
    pthread_once(),yes
    pthread_self(),yes
    pthread_setcancelstate(),yes
    pthread_setcanceltype(),yes
    pthread_setspecific(),yes
    pthread_sigmask(),yes
    pthread_testcancel(),yes

.. _posix_option_group_posix_threads_ext:

POSIX_THREADS_EXT
=================

This table lists service support status in Zephyr:

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

    pthread_attr_getguardsize(),yes
    pthread_attr_setguardsize(),yes
    pthread_mutexattr_gettype(),yes
    pthread_mutexattr_settype(),yes

.. _posix_option_group_timers:

POSIX_TIMERS
@@ -529,98 +589,44 @@ POSIX_TIMERS
    timer_getoverrun(),yes
    timer_settime(),yes

.. _posix_option_group_fd_mgmt:

POSIX_FD_MGMT
=============

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

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

    dup(),
    dup2(),
    fcntl(),
    fgetpos(),
    fseek(),
    fseeko(),
    fsetpos(),
    ftell(),
    ftello(),
    ftruncate(),yes
    lseek(),
    rewind(),

.. _posix_option_group_file_locking:
.. _posix_option_group_xsi_system_logging:

POSIX_FILE_LOCKING
XSI_SYSTEM_LOGGING
==================

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

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

    flockfile(),
    ftrylockfile(),
    funlockfile(),
    getc_unlocked(),
    getchar_unlocked(),
    putc_unlocked(),
    putchar_unlocked(),

.. _posix_option_group_memory_protection:

POSIX_MEMORY_PROTECTION
=======================
    closelog(),yes
    openlog(),yes
    setlogmask(),yes
    syslog(),yes

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

    mprotect(), yes :ref:`†<posix_undefined_behaviour>`
XSI_THREADS_EXT
===============

.. _posix_option_group_multi_process:
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.

POSIX_MULTI_PROCESS
===================
This table lists service support status in Zephyr:

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

    _Exit(), yes
    _exit(), yes
    assert(), yes
    atexit(),:ref:`†<posix_undefined_behaviour>`
    clock(),
    execl(),:ref:`†<posix_undefined_behaviour>`
    execle(),:ref:`†<posix_undefined_behaviour>`
    execlp(),:ref:`†<posix_undefined_behaviour>`
    execv(),:ref:`†<posix_undefined_behaviour>`
    execve(),:ref:`†<posix_undefined_behaviour>`
    execvp(),:ref:`†<posix_undefined_behaviour>`
    exit(), yes
    fork(),:ref:`†<posix_undefined_behaviour>`
    getpgrp(),:ref:`†<posix_undefined_behaviour>`
    getpgid(),:ref:`†<posix_undefined_behaviour>`
    getpid(), yes :ref:`†<posix_undefined_behaviour>`
    getppid(),:ref:`†<posix_undefined_behaviour>`
    getsid(),:ref:`†<posix_undefined_behaviour>`
    setsid(),:ref:`†<posix_undefined_behaviour>`
    sleep(),yes
    times(),
    wait(),:ref:`†<posix_undefined_behaviour>`
    waitid(),:ref:`†<posix_undefined_behaviour>`
    waitpid(),:ref:`†<posix_undefined_behaviour>`
    pthread_attr_getstack(),yes
    pthread_attr_setstack(),yes
    pthread_getconcurrency(),yes
    pthread_setconcurrency(),yes

.. _posix_options:

Additional POSIX Options
========================
POSIX Options
=============

.. _posix_option_asynchronous_io:

@@ -819,18 +825,6 @@ _POSIX_THREAD_ATTR_STACKADDR
    pthread_attr_getstackaddr(),yes
    pthread_attr_setstackaddr(),yes

.. _posix_option_thread_cputime:

_POSIX_THREAD_CPUTIME
+++++++++++++++++++++

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

    CLOCK_THREAD_CPUTIME_ID,yes
    pthread_getcpuclockid(),yes

.. _posix_option_thread_attr_stacksize:

_POSIX_THREAD_ATTR_STACKSIZE
@@ -843,24 +837,17 @@ _POSIX_THREAD_ATTR_STACKSIZE
    pthread_attr_getstacksize(),yes
    pthread_attr_setstacksize(),yes

.. _posix_option_thread_priority_scheduling:
.. _posix_option_thread_cputime:

_POSIX_THREAD_PRIORITY_SCHEDULING
+++++++++++++++++++++++++++++++++
_POSIX_THREAD_CPUTIME
+++++++++++++++++++++

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

    pthread_attr_getinheritsched(),yes
    pthread_attr_getschedpolicy(),yes
    pthread_attr_getscope(),yes
    pthread_attr_setinheritsched(),yes
    pthread_attr_setschedpolicy(),yes
    pthread_attr_setscope(),yes
    pthread_getschedparam(),yes
    pthread_setschedparam(),yes
    pthread_setschedprio(),yes
    CLOCK_THREAD_CPUTIME_ID,yes
    pthread_getcpuclockid(),yes

.. _posix_option_thread_prio_inherit:

@@ -890,6 +877,25 @@ _POSIX_THREAD_PRIO_PROTECT
    pthread_mutexattr_setprioceiling(),
    pthread_mutexattr_setprotocol(),yes

.. _posix_option_thread_priority_scheduling:

_POSIX_THREAD_PRIORITY_SCHEDULING
+++++++++++++++++++++++++++++++++

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

    pthread_attr_getinheritsched(),yes
    pthread_attr_getschedpolicy(),yes
    pthread_attr_getscope(),yes
    pthread_attr_setinheritsched(),yes
    pthread_attr_setschedpolicy(),yes
    pthread_attr_setscope(),yes
    pthread_getschedparam(),yes
    pthread_setschedparam(),yes
    pthread_setschedprio(),yes

.. _posix_thread_safe_functions:

_POSIX_THREAD_SAFE_FUNCTIONS