Add a page in the documentation listing supported and unsupported POSIX options. This is the first step to support POSIX Application Environment Profiles. Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
3347 lines
131 KiB
ReStructuredText
3347 lines
131 KiB
ReStructuredText
=====
|
|
POSIX
|
|
=====
|
|
|
|
Apache NuttX is **not** licensed to use the POSIX trademark. NuttX uses the
|
|
POSIX standard as a development guideline only.
|
|
|
|
This page summarizes supported POSIX features in NuttX.
|
|
|
|
POSIX Subprofiles
|
|
=================
|
|
|
|
POSIX PSE51 - Minimal
|
|
---------------------
|
|
|
|
Units of Functionality Requirements:
|
|
|
|
+------------------------------+----------------+---------+
|
|
| Symbol | Support | Remarks |
|
|
+==============================+================+=========+
|
|
| POSIX_ADA_LANG_SUPPORT | No | |
|
|
+------------------------------+----------------+---------+
|
|
| `POSIX_C_LANG_JUMP`_ | Yes | |
|
|
+------------------------------+----------------+---------+
|
|
| `POSIX_C_LANG_SUPPORT`_ | 94/105 [#fn1]_ | |
|
|
+------------------------------+----------------+---------+
|
|
| `POSIX_DEVICE_IO`_ | Yes | |
|
|
+------------------------------+----------------+---------+
|
|
| `POSIX_FILE_LOCKING`_ | Yes | |
|
|
+------------------------------+----------------+---------+
|
|
| `POSIX_SINGLE_PROCESS`_ | 7/9 | |
|
|
+------------------------------+----------------+---------+
|
|
| `POSIX_THREADS_BASE`_ | Yes | |
|
|
+------------------------------+----------------+---------+
|
|
| `POSIX_THREADS_EXT`_ [#fn2]_ | 2/4 | |
|
|
+------------------------------+----------------+---------+
|
|
| `XSI_THREADS_EXT`_ | 2/4 | |
|
|
+------------------------------+----------------+---------+
|
|
|
|
.. [#fn1] ``fenv.h`` related functions not supported.
|
|
.. [#fn2] In older revisions this was called ``XSI_THREAD_MUTEX_EXT``
|
|
and some of interfaces was moved from ``POSIX_THREADS_EXT``
|
|
to ``POSIX_THREADS_EXT``.
|
|
|
|
POSIX.1 Option Requirements:
|
|
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|Symbol | Support | Remarks |
|
|
+=================================================+=============+==================================+
|
|
|`_POSIX_CLOCK_SELECTION`_ | Yes | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_FSYNC`_ | Yes | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_MEMLOCK`_ | Yes [#fn3]_ | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_MEMLOCK_RANGE`_ | Yes [#fn3]_ | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_MONOTONIC_CLOCK`_ | Yes | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_NO_TRUNC`_ | No | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_REALTIME_SIGNALS`_ | 201712L | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_SEMAPHORES`_ | 201712L | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_SHARED_MEMORY_OBJECTS`_ | 201712L | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_SYNCHRONIZED_IO`_ | Yes | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_THREAD_ATTR_STACKADDR`_ | Yes | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_THREAD_ATTR_STACKSIZE`_ | Yes | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_THREAD_CPUTIME`_ | 201712L | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_THREAD_PRIO_INHERIT`_ | Yes | ``CONFIG_PRIORITY_INHERITANCE`` |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|`_POSIX_THREAD_PRIO_PROTECT`_ | Yes | ``CONFIG_PRIORITY_PROTECT`` |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
| `_POSIX_THREAD_PRIORITY_SCHEDULING`_ | 201712L | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
| `_POSIX_THREAD_SPORADIC_SERVER`_ | Yes | ``CONFIG_SCHED_SPORADIC`` |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
| `_POSIX_TIMEOUTS`_ [#fn4]_ | Yes | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
| `_POSIX_TIMERS`_ | Yes | ``!CONFIG_DISABLE_POSIX_TIMERS`` |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
| `_POSIX2_C_DEV`_ | Yes [#fn5]_ | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
| `_POSIX2_SW_DEV`_ | Yes [#fn5]_ | |
|
|
+-------------------------------------------------+-------------+----------------------------------+
|
|
|
|
.. [#fn3] NuttX provides dummy implementations for ``_POSIX_MEMLOCK`` and
|
|
``_POSIX_MEMLOCK_RANGE`` which is sufficient for devices without MMU,
|
|
but doesn't meet the requirement for devices with MMU.
|
|
.. [#fn4] Deprecated in new revisions of POSIX. Merged into other base options.
|
|
.. [#fn5] Requred only for the development platform.
|
|
For PSE54 this requirement is also for execution platform whis is
|
|
not supported.
|
|
|
|
Requirements for Other Standards:
|
|
|
|
+-----------------------------+---------+---------+
|
|
| Symbol | Support | Remarks |
|
|
+=============================+=========+=========+
|
|
| POSIX.26 | ? | |
|
|
+-----------------------------+---------+---------+
|
|
|
|
POSIX PSE52 - Real-Time Controller
|
|
----------------------------------
|
|
|
|
The Realtime Controller System Profile (PSE52) includes all features from PSE51.
|
|
|
|
Units of Functionality Requirements:
|
|
|
|
+-----------------------------+-------------+---------------------+
|
|
| Symbol | Support | Remarks |
|
|
+=============================+=============+=====================+
|
|
| `POSIX_C_LANG_MATH`_ | Yes [#fn6]_ | ``CONFIG_LIBM_XXX`` |
|
|
+-----------------------------+-------------+---------------------+
|
|
| `POSIX_FD_MGMT`_ | Yes | |
|
|
+-----------------------------+-------------+---------------------+
|
|
| `POSIX_FILE_SYSTEM`_ | Yes | |
|
|
+-----------------------------+-------------+---------------------+
|
|
|
|
.. [#fn6] NuttX supports different libm implementations with different sets of
|
|
supported functions. libm support in NuttX is controlled by Kconfig
|
|
choice option.
|
|
|
|
POSIX.1 Option Requirements
|
|
|
|
+------------------------------------+---------+----------------------------+
|
|
| Symbol | Support | Remarks |
|
|
+====================================+=========+============================+
|
|
| `_POSIX_MAPPED_FILES`_ | 201712L | |
|
|
+------------------------------------+---------+----------------------------+
|
|
| `_POSIX_MESSAGE_PASSING`_ | Yes | ``!CONFIG_DISABLE_MQUEUE`` |
|
|
+------------------------------------+---------+----------------------------+
|
|
| _POSIX_TRACE [#fn7]_ | No | |
|
|
+------------------------------------+---------+----------------------------+
|
|
| _POSIX_TRACE_EVENT_FILTER [#fn7]_ | No | |
|
|
+------------------------------------+---------+----------------------------+
|
|
| _POSIX_TRACE_LOG [#fn7]_ | No | |
|
|
+------------------------------------+---------+----------------------------+
|
|
|
|
.. [#fn7] ``_POSIX_TRACE*`` are obsolete.
|
|
|
|
POSIX PSE53 - Dedicated
|
|
-----------------------
|
|
|
|
The Dedicated Realtime System Profile (PSE53) includes all features from PSE52 and PSE51.
|
|
|
|
Units of Functionality Requirements:
|
|
|
|
+-----------------------------+---------+------------------+
|
|
| Symbol | Support | Remarks |
|
|
+=============================+=========+==================+
|
|
| POSIX_EVENT_MGMT [#fn8]_ | Yes | |
|
|
+-----------------------------+---------+------------------+
|
|
| `POSIX_MULTI_PROCESS`_ | 25/29 | |
|
|
+-----------------------------+---------+------------------+
|
|
| `POSIX_NETWORKING`_ | Yes | ``CONFIG_NET`` |
|
|
+-----------------------------+---------+------------------+
|
|
| `POSIX_PIPE`_ | Yes | ``CONFIG_PIPES`` |
|
|
+-----------------------------+---------+------------------+
|
|
| `POSIX_SIGNAL_JUMP`_ | No | |
|
|
+-----------------------------+---------+------------------+
|
|
|
|
.. [#fn8] Deprecated in new revisions of POSIX.
|
|
Merged into ``POSIX_DEVICE_IO``.
|
|
|
|
POSIX.1 Option Requirements
|
|
|
|
+---------------------------------+-------------+---------------------------+
|
|
| Symbol | Support | Remarks |
|
|
+=================================+=============+===========================+
|
|
| `_POSIX_ASYNCHRONOUS_IO`_ | 201712L | ``CONFIG_FS_AIO`` |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_CPUTIME`_ | 201712L | |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_MEMORY_PROTECTION`_ | Yes [#fn9]_ | |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_PRIORITIZED_IO`_ | 201712L | |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_PRIORITY_SCHEDULING`_ | Yes | |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_RAW_SOCKETS`_ | Yes | |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_SPAWN`_ | 13/17 | ``CONFIG_BUILD_KERNEL`` |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_SPORADIC_SERVER`_ | Yes | ``CONFIG_SCHED_SPORADIC`` |
|
|
+---------------------------------+-------------+---------------------------+
|
|
| `_POSIX_THREAD_PROCESS_SHARED`_ | 201712L | |
|
|
+---------------------------------+-------------+---------------------------+
|
|
|
|
.. [#fn9] NuttX provides dummy implementations for ``_POSIX_MEMORY_PROTECTION``
|
|
which is sufficient for devices without MMU, but doesn't meet the
|
|
requirement for devices with MMU.
|
|
|
|
POSIX PSE54 - Multipurpose
|
|
--------------------------
|
|
|
|
The Multipurpose Realtime System Profile (PSE54) includes all features from PSE53, PSE52 and PSE51.
|
|
|
|
Units of Functionality Requirements:
|
|
|
|
+------------------------------+---------+--------------------------------+
|
|
| Symbol | Support | Remarks |
|
|
+==============================+=========+================================+
|
|
| `POSIX_C_LANG_WIDE_CHAR`_ | | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_DEVICE_SPECIFIC`_ | 3/15 | ``CONFIG_TERMIOS=y`` |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_FIFO`_ | Yes | ``CONFIG_DEV_FIFO_SIZE > 0`` |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_FILE_ATTRIBUTES`_ | Yes | ``CONFIG_PSEUDOFS_ATTRIBUTES`` |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_FILE_SYSTEM_EXT`_ | Yes | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_JOB_CONTROL`_ | 1/4 | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_REGEXP`_ | Yes | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_SHELL_FUNC`_ | 3/5 | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_STRING_MATCHING`_ | Yes | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_SYMBOLIC_LINKS`_ | Yes | ``CONFIG_PSEUDOFS_SOFTLINKS`` |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_SYSTEM_DATABASE`_ | Yes | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `POSIX_USER_GROUPS`_ | 8/10 | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| POSIX_WIDE_CHAR_IO [#fn10]_ | | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `XSI_DYNAMIC_LINKING`_ | Yes | |
|
|
+------------------------------+---------+--------------------------------+
|
|
| `XSI_SYSTEM_LOGGING`_ | 1/4 | |
|
|
+------------------------------+---------+--------------------------------+
|
|
|
|
.. [#fn10] Deprecated in new revision of POSIX.
|
|
Moved to ``POSIX_WIDE_CHAR_DEVICE_IO``.
|
|
|
|
POSIX.1 Option Requirements
|
|
|
|
+-----------------------------+---------+---------+
|
|
| Symbol | Support | Remarks |
|
|
+=============================+=========+=========+
|
|
| `_POSIX_ADVISORY_INFO`_ | 2/4 | |
|
|
+-----------------------------+---------+---------+
|
|
| `_POSIX_SAVED_IDS`_ | No | |
|
|
+-----------------------------+---------+---------+
|
|
| `_POSIX_VDISABLE`_ | No | |
|
|
+-----------------------------+---------+---------+
|
|
| `_POSIX2_CHAR_TERM`_ | ? | |
|
|
+-----------------------------+---------+---------+
|
|
| `_POSIX2_FORT_RUN`_ | No | |
|
|
+-----------------------------+---------+---------+
|
|
| `_POSIX2_UPE`_ | No | |
|
|
+-----------------------------+---------+---------+
|
|
|
|
Functionality Requirements
|
|
==========================
|
|
|
|
POSIX_C_LANG_JUMP
|
|
-----------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`longjmp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setjmp` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_C_LANG_SUPPORT
|
|
--------------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| abs() | Yes |
|
|
+--------------------------------+---------+
|
|
| asctime() | Yes |
|
|
+--------------------------------+---------+
|
|
| asctime_r() | Yes |
|
|
+--------------------------------+---------+
|
|
| atof() | Yes |
|
|
+--------------------------------+---------+
|
|
| atoi() | Yes |
|
|
+--------------------------------+---------+
|
|
| atol() | Yes |
|
|
+--------------------------------+---------+
|
|
| atoll() | Yes |
|
|
+--------------------------------+---------+
|
|
| bsearch() | Yes |
|
|
+--------------------------------+---------+
|
|
| calloc() | Yes |
|
|
+--------------------------------+---------+
|
|
| ctime() | Yes |
|
|
+--------------------------------+---------+
|
|
| ctime_r() | Yes |
|
|
+--------------------------------+---------+
|
|
| difftime() | Yes |
|
|
+--------------------------------+---------+
|
|
| div() | Yes |
|
|
+--------------------------------+---------+
|
|
| feclearexcept() | No |
|
|
+--------------------------------+---------+
|
|
| fegetenv() | No |
|
|
+--------------------------------+---------+
|
|
| fegetexceptflag() | No |
|
|
+--------------------------------+---------+
|
|
| fegetround() | No |
|
|
+--------------------------------+---------+
|
|
| feholdexcept() | No |
|
|
+--------------------------------+---------+
|
|
| feraiseexcept() | No |
|
|
+--------------------------------+---------+
|
|
| fesetenv() | No |
|
|
+--------------------------------+---------+
|
|
| fesetexceptflag() | No |
|
|
+--------------------------------+---------+
|
|
| fesetround() | No |
|
|
+--------------------------------+---------+
|
|
| fetestexcept() | No |
|
|
+--------------------------------+---------+
|
|
| feupdateenv() | No |
|
|
+--------------------------------+---------+
|
|
| free() | Yes |
|
|
+--------------------------------+---------+
|
|
| gmtime() | Yes |
|
|
+--------------------------------+---------+
|
|
| gmtime_r() | Yes |
|
|
+--------------------------------+---------+
|
|
| imaxabs() | Yes |
|
|
+--------------------------------+---------+
|
|
| imaxdiv() | Yes |
|
|
+--------------------------------+---------+
|
|
| isalnum() | Yes |
|
|
+--------------------------------+---------+
|
|
| isalpha() | Yes |
|
|
+--------------------------------+---------+
|
|
| isblank() | Yes |
|
|
+--------------------------------+---------+
|
|
| iscntrl() | Yes |
|
|
+--------------------------------+---------+
|
|
| isdigit() | Yes |
|
|
+--------------------------------+---------+
|
|
| isgraph() | Yes |
|
|
+--------------------------------+---------+
|
|
| islower() | Yes |
|
|
+--------------------------------+---------+
|
|
| isprint() | Yes |
|
|
+--------------------------------+---------+
|
|
| ispunct() | Yes |
|
|
+--------------------------------+---------+
|
|
| isspace() | Yes |
|
|
+--------------------------------+---------+
|
|
| isupper() | Yes |
|
|
+--------------------------------+---------+
|
|
| isxdigit() | Yes |
|
|
+--------------------------------+---------+
|
|
| labs() | Yes |
|
|
+--------------------------------+---------+
|
|
| ldiv() | Yes |
|
|
+--------------------------------+---------+
|
|
| llabs() | Yes |
|
|
+--------------------------------+---------+
|
|
| lldiv() | Yes |
|
|
+--------------------------------+---------+
|
|
| localeconv() | Yes |
|
|
+--------------------------------+---------+
|
|
| localtime() | Yes |
|
|
+--------------------------------+---------+
|
|
| localtime_r() | Yes |
|
|
+--------------------------------+---------+
|
|
| malloc() | Yes |
|
|
+--------------------------------+---------+
|
|
| memchr() | Yes |
|
|
+--------------------------------+---------+
|
|
| memcmp() | Yes |
|
|
+--------------------------------+---------+
|
|
| memcpy() | Yes |
|
|
+--------------------------------+---------+
|
|
| memmove() | Yes |
|
|
+--------------------------------+---------+
|
|
| memset() | Yes |
|
|
+--------------------------------+---------+
|
|
| mktime() | Yes |
|
|
+--------------------------------+---------+
|
|
| qsort() | Yes |
|
|
+--------------------------------+---------+
|
|
| rand() | Yes |
|
|
+--------------------------------+---------+
|
|
| rand_r() | Yes |
|
|
+--------------------------------+---------+
|
|
| realloc() | Yes |
|
|
+--------------------------------+---------+
|
|
| setlocale() | Yes |
|
|
+--------------------------------+---------+
|
|
| snprintf() | Yes |
|
|
+--------------------------------+---------+
|
|
| sprintf() | Yes |
|
|
+--------------------------------+---------+
|
|
| srand() | Yes |
|
|
+--------------------------------+---------+
|
|
| sscanf() | Yes |
|
|
+--------------------------------+---------+
|
|
| strcat() | Yes |
|
|
+--------------------------------+---------+
|
|
| strchr() | Yes |
|
|
+--------------------------------+---------+
|
|
| strcmp() | Yes |
|
|
+--------------------------------+---------+
|
|
| strcoll() | Yes |
|
|
+--------------------------------+---------+
|
|
| strcpy() | Yes |
|
|
+--------------------------------+---------+
|
|
| strcspn() | Yes |
|
|
+--------------------------------+---------+
|
|
| strerror() | Yes |
|
|
+--------------------------------+---------+
|
|
| strerror_r() | Yes |
|
|
+--------------------------------+---------+
|
|
| strftime() | Yes |
|
|
+--------------------------------+---------+
|
|
| strlen() | Yes |
|
|
+--------------------------------+---------+
|
|
| strncat() | Yes |
|
|
+--------------------------------+---------+
|
|
| strncmp() | Yes |
|
|
+--------------------------------+---------+
|
|
| strncpy() | Yes |
|
|
+--------------------------------+---------+
|
|
| strpbrk() | Yes |
|
|
+--------------------------------+---------+
|
|
| strrchr() | Yes |
|
|
+--------------------------------+---------+
|
|
| strspn() | Yes |
|
|
+--------------------------------+---------+
|
|
| strstr() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtod() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtof() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtoimax() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtok() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtok_r() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtol() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtold() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtoll() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtoul() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtoull() | Yes |
|
|
+--------------------------------+---------+
|
|
| strtoumax() | Yes |
|
|
+--------------------------------+---------+
|
|
| strxfrm() | Yes |
|
|
+--------------------------------+---------+
|
|
| time() | Yes |
|
|
+--------------------------------+---------+
|
|
| tolower() | Yes |
|
|
+--------------------------------+---------+
|
|
| toupper() | Yes |
|
|
+--------------------------------+---------+
|
|
| tzname | Yes |
|
|
+--------------------------------+---------+
|
|
| tzset() | Yes |
|
|
+--------------------------------+---------+
|
|
| va_arg() | Yes |
|
|
+--------------------------------+---------+
|
|
| va_copy() | Yes |
|
|
+--------------------------------+---------+
|
|
| va_end() | Yes |
|
|
+--------------------------------+---------+
|
|
| va_start() | Yes |
|
|
+--------------------------------+---------+
|
|
| vsnprintf() | Yes |
|
|
+--------------------------------+---------+
|
|
| vsprintf() | Yes |
|
|
+--------------------------------+---------+
|
|
| vsscanf() | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_DEVICE_IO
|
|
---------------
|
|
|
|
Device Input and Output:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`FD_CLR` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`FD_ISSET` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`FD_SET` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`FD_ZERO` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`clearerr` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`close` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fclose` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fdopen` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`feof` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ferror` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`flush` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fgetc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fgets` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fileno` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fopen` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fprintf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fputc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fputs` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fread` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`freopen` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fscanf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fwrite` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getchar` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`open` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`perror` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`poll` | Yes |
|
|
+--------------------------------+---------+
|
|
| posix_close() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ppoll` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`printf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pread` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pselect` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`putc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`putchar` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`puts` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pwrite` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`read` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`scanf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`select` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setbuf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setvbuf` | Yes |
|
|
+--------------------------------+---------+
|
|
| stderr | Yes |
|
|
+--------------------------------+---------+
|
|
| stdin | Yes |
|
|
+--------------------------------+---------+
|
|
| stdout | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ungetc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vfprintf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vfscanf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vprintf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vscanf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`write` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
|
|
POSIX_FILE_LOCKING
|
|
------------------
|
|
|
|
Thread-Safe Stdio Locking:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`flockfile` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ftrylockfile` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`funlockfile` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getc_unlocked` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getchar_unlocked` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`putc_unlocked` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`putchar_unlocked` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_SINGLE_PROCESS
|
|
--------------------
|
|
|
|
Single Process:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| confstr() | No |
|
|
+--------------------------------+---------+
|
|
| environ | Yes |
|
|
+--------------------------------+---------+
|
|
| errno | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getenv` | Yes |
|
|
+--------------------------------+---------+
|
|
| secure_getenv() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setenv` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sysconf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`uname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`unsetenv` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_THREADS_BASE
|
|
------------------
|
|
|
|
Base Threads:
|
|
|
|
+-----------------------------------------+---------+
|
|
| API | Support |
|
|
+=========================================+=========+
|
|
| :c:func:`pthread_atfork` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_destroy` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_getdetachstate` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_getschedparam` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_init` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_setdetachstate` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_setschedparam` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cancel` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cleanup_pop` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cleanup_push` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cond_broadcast` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cond_clockwait` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cond_destroy` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cond_init` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cond_signal` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cond_timedwait` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_cond_wait` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_condattr_destroy` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_condattr_init` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_create` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_detach` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_equal` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_exit` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_getspecific` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_join` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_key_create` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_key_delete` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_kill` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_clocklock` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_destroy` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_init` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_lock` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_timedlock` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_trylock` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_unlock` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_destroy` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_init` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_once` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_self` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_setcancelstate` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_setcanceltype` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_setspecific` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_sigmask` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_testcancel` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`sched_yield` | Yes |
|
|
+-----------------------------------------+---------+
|
|
|
|
POSIX_THREADS_EXT
|
|
-----------------
|
|
|
|
Extended Threads:
|
|
|
|
+-------------------------------------+---------+
|
|
| API | Support |
|
|
+=====================================+=========+
|
|
| pthread_attr_getguardsize() | No |
|
|
+-------------------------------------+---------+
|
|
| pthread_attr_setguardsize() | No |
|
|
+-------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_gettype` | Yes |
|
|
+-------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_settype` | Yes |
|
|
+-------------------------------------+---------+
|
|
|
|
POSIX_C_LANG_MATH
|
|
-----------------
|
|
|
|
Depends on the enabled ``libm`` implementation [#fn11]_.
|
|
|
|
Maths Library:
|
|
|
|
+--------------------------------+
|
|
| API |
|
|
+================================+
|
|
| CMPLX() |
|
|
+--------------------------------+
|
|
| CMPLXF() |
|
|
+--------------------------------+
|
|
| CMPLXL() |
|
|
+--------------------------------+
|
|
| acos() |
|
|
+--------------------------------+
|
|
| acosf() |
|
|
+--------------------------------+
|
|
| acosh() |
|
|
+--------------------------------+
|
|
| acoshf() |
|
|
+--------------------------------+
|
|
| acoshl() |
|
|
+--------------------------------+
|
|
| acosl() |
|
|
+--------------------------------+
|
|
| asin() |
|
|
+--------------------------------+
|
|
| asinf() |
|
|
+--------------------------------+
|
|
| asinh() |
|
|
+--------------------------------+
|
|
| asinhf() |
|
|
+--------------------------------+
|
|
| asinhl() |
|
|
+--------------------------------+
|
|
| asinl() |
|
|
+--------------------------------+
|
|
| atan() |
|
|
+--------------------------------+
|
|
| atan2() |
|
|
+--------------------------------+
|
|
| atan2f() |
|
|
+--------------------------------+
|
|
| atan2l() |
|
|
+--------------------------------+
|
|
| atanf() |
|
|
+--------------------------------+
|
|
| atanh() |
|
|
+--------------------------------+
|
|
| atanhf() |
|
|
+--------------------------------+
|
|
| atanhl() |
|
|
+--------------------------------+
|
|
| atanl() |
|
|
+--------------------------------+
|
|
| cabs() |
|
|
+--------------------------------+
|
|
| cabsf() |
|
|
+--------------------------------+
|
|
| cabsl() |
|
|
+--------------------------------+
|
|
| cacos() |
|
|
+--------------------------------+
|
|
| cacosf() |
|
|
+--------------------------------+
|
|
| cacosh() |
|
|
+--------------------------------+
|
|
| cacoshf() |
|
|
+--------------------------------+
|
|
| cacoshl() |
|
|
+--------------------------------+
|
|
| cacosl() |
|
|
+--------------------------------+
|
|
| carg() |
|
|
+--------------------------------+
|
|
| cargf() |
|
|
+--------------------------------+
|
|
| cargl() |
|
|
+--------------------------------+
|
|
| casin() |
|
|
+--------------------------------+
|
|
| casinf() |
|
|
+--------------------------------+
|
|
| casinh() |
|
|
+--------------------------------+
|
|
| casinhf() |
|
|
+--------------------------------+
|
|
| casinhl() |
|
|
+--------------------------------+
|
|
| casinl() |
|
|
+--------------------------------+
|
|
| catan() |
|
|
+--------------------------------+
|
|
| catanf() |
|
|
+--------------------------------+
|
|
| catanh() |
|
|
+--------------------------------+
|
|
| catanhf() |
|
|
+--------------------------------+
|
|
| catanhl() |
|
|
+--------------------------------+
|
|
| catanl() |
|
|
+--------------------------------+
|
|
| cbrt() |
|
|
+--------------------------------+
|
|
| cbrtf() |
|
|
+--------------------------------+
|
|
| cbrtl() |
|
|
+--------------------------------+
|
|
| ccos() |
|
|
+--------------------------------+
|
|
| ccosf() |
|
|
+--------------------------------+
|
|
| ccosh() |
|
|
+--------------------------------+
|
|
| ccoshf() |
|
|
+--------------------------------+
|
|
| ccoshl() |
|
|
+--------------------------------+
|
|
| ccosl() |
|
|
+--------------------------------+
|
|
| ceil() |
|
|
+--------------------------------+
|
|
| ceilf() |
|
|
+--------------------------------+
|
|
| ceill() |
|
|
+--------------------------------+
|
|
| cexp() |
|
|
+--------------------------------+
|
|
| cexpf() |
|
|
+--------------------------------+
|
|
| cexpl() |
|
|
+--------------------------------+
|
|
| cimag() |
|
|
+--------------------------------+
|
|
| cimagf() |
|
|
+--------------------------------+
|
|
| cimagl() |
|
|
+--------------------------------+
|
|
| clog() |
|
|
+--------------------------------+
|
|
| clogf() |
|
|
+--------------------------------+
|
|
| clogl() |
|
|
+--------------------------------+
|
|
| conj() |
|
|
+--------------------------------+
|
|
| conjf() |
|
|
+--------------------------------+
|
|
| conjl() |
|
|
+--------------------------------+
|
|
| copysign() |
|
|
+--------------------------------+
|
|
| copysignf() |
|
|
+--------------------------------+
|
|
| copysignl() |
|
|
+--------------------------------+
|
|
| cos() |
|
|
+--------------------------------+
|
|
| cosf() |
|
|
+--------------------------------+
|
|
| cosh() |
|
|
+--------------------------------+
|
|
| coshf() |
|
|
+--------------------------------+
|
|
| coshl() |
|
|
+--------------------------------+
|
|
| cosl() |
|
|
+--------------------------------+
|
|
| cpow() |
|
|
+--------------------------------+
|
|
| cpowf() |
|
|
+--------------------------------+
|
|
| cpowl() |
|
|
+--------------------------------+
|
|
| cproj() |
|
|
+--------------------------------+
|
|
| cprojf() |
|
|
+--------------------------------+
|
|
| cprojl() |
|
|
+--------------------------------+
|
|
| creal() |
|
|
+--------------------------------+
|
|
| crealf() |
|
|
+--------------------------------+
|
|
| creall() |
|
|
+--------------------------------+
|
|
| csin() |
|
|
+--------------------------------+
|
|
| csinf() |
|
|
+--------------------------------+
|
|
| csinh() |
|
|
+--------------------------------+
|
|
| csinhf() |
|
|
+--------------------------------+
|
|
| csinhl() |
|
|
+--------------------------------+
|
|
| csinl() |
|
|
+--------------------------------+
|
|
| csqrt() |
|
|
+--------------------------------+
|
|
| csqrtf() |
|
|
+--------------------------------+
|
|
| csqrtl() |
|
|
+--------------------------------+
|
|
| ctan() |
|
|
+--------------------------------+
|
|
| ctanf() |
|
|
+--------------------------------+
|
|
| ctanh() |
|
|
+--------------------------------+
|
|
| ctanhf() |
|
|
+--------------------------------+
|
|
| ctanhl() |
|
|
+--------------------------------+
|
|
| ctanl() |
|
|
+--------------------------------+
|
|
| erf() |
|
|
+--------------------------------+
|
|
| erfc() |
|
|
+--------------------------------+
|
|
| erfcf() |
|
|
+--------------------------------+
|
|
| erfcl() |
|
|
+--------------------------------+
|
|
| erff() |
|
|
+--------------------------------+
|
|
| erfl() |
|
|
+--------------------------------+
|
|
| exp() |
|
|
+--------------------------------+
|
|
| exp2() |
|
|
+--------------------------------+
|
|
| exp2f() |
|
|
+--------------------------------+
|
|
| exp2l() |
|
|
+--------------------------------+
|
|
| expf() |
|
|
+--------------------------------+
|
|
| expl() |
|
|
+--------------------------------+
|
|
| expm1() |
|
|
+--------------------------------+
|
|
| expm1f() |
|
|
+--------------------------------+
|
|
| expm1l() |
|
|
+--------------------------------+
|
|
| fabs() |
|
|
+--------------------------------+
|
|
| fabsf() |
|
|
+--------------------------------+
|
|
| fabsl() |
|
|
+--------------------------------+
|
|
| fdim() |
|
|
+--------------------------------+
|
|
| fdimf() |
|
|
+--------------------------------+
|
|
| fdiml() |
|
|
+--------------------------------+
|
|
| floor() |
|
|
+--------------------------------+
|
|
| floorf() |
|
|
+--------------------------------+
|
|
| floorl() |
|
|
+--------------------------------+
|
|
| fma() |
|
|
+--------------------------------+
|
|
| fmaf() |
|
|
+--------------------------------+
|
|
| fmal() |
|
|
+--------------------------------+
|
|
| fmax() |
|
|
+--------------------------------+
|
|
| fmaxf() |
|
|
+--------------------------------+
|
|
| fmaxl() |
|
|
+--------------------------------+
|
|
| fmin() |
|
|
+--------------------------------+
|
|
| fminf() |
|
|
+--------------------------------+
|
|
| fminl() |
|
|
+--------------------------------+
|
|
| fmod() |
|
|
+--------------------------------+
|
|
| fmodf() |
|
|
+--------------------------------+
|
|
| fmodl() |
|
|
+--------------------------------+
|
|
| fpclassify() |
|
|
+--------------------------------+
|
|
| frexp() |
|
|
+--------------------------------+
|
|
| frexpf() |
|
|
+--------------------------------+
|
|
| frexpl() |
|
|
+--------------------------------+
|
|
| hypot() |
|
|
+--------------------------------+
|
|
| hypotf() |
|
|
+--------------------------------+
|
|
| hypotl() |
|
|
+--------------------------------+
|
|
| ilogb() |
|
|
+--------------------------------+
|
|
| ilogbf() |
|
|
+--------------------------------+
|
|
| ilogbl() |
|
|
+--------------------------------+
|
|
| isfinite() |
|
|
+--------------------------------+
|
|
| isgreater() |
|
|
+--------------------------------+
|
|
| isgreaterequal() |
|
|
+--------------------------------+
|
|
| isinf() |
|
|
+--------------------------------+
|
|
| isless() |
|
|
+--------------------------------+
|
|
| islessequal() |
|
|
+--------------------------------+
|
|
| islessgreater() |
|
|
+--------------------------------+
|
|
| isnan() |
|
|
+--------------------------------+
|
|
| isnormal() |
|
|
+--------------------------------+
|
|
| isunordered() |
|
|
+--------------------------------+
|
|
| ldexp() |
|
|
+--------------------------------+
|
|
| ldexpf() |
|
|
+--------------------------------+
|
|
| ldexpl() |
|
|
+--------------------------------+
|
|
| lgamma() |
|
|
+--------------------------------+
|
|
| lgammaf() |
|
|
+--------------------------------+
|
|
| lgammal() |
|
|
+--------------------------------+
|
|
| llrint() |
|
|
+--------------------------------+
|
|
| llrintf() |
|
|
+--------------------------------+
|
|
| llrintl() |
|
|
+--------------------------------+
|
|
| llround() |
|
|
+--------------------------------+
|
|
| llroundf() |
|
|
+--------------------------------+
|
|
| llroundl() |
|
|
+--------------------------------+
|
|
| log() |
|
|
+--------------------------------+
|
|
| log10() |
|
|
+--------------------------------+
|
|
| log10f() |
|
|
+--------------------------------+
|
|
| log10l() |
|
|
+--------------------------------+
|
|
| log1p() |
|
|
+--------------------------------+
|
|
| log1pf() |
|
|
+--------------------------------+
|
|
| log1pl() |
|
|
+--------------------------------+
|
|
| log2() |
|
|
+--------------------------------+
|
|
| log2f() |
|
|
+--------------------------------+
|
|
| log2l() |
|
|
+--------------------------------+
|
|
| logb() |
|
|
+--------------------------------+
|
|
| logbf() |
|
|
+--------------------------------+
|
|
| logbl() |
|
|
+--------------------------------+
|
|
| logf() |
|
|
+--------------------------------+
|
|
| logl() |
|
|
+--------------------------------+
|
|
| lrint() |
|
|
+--------------------------------+
|
|
| lrintf() |
|
|
+--------------------------------+
|
|
| lrintl() |
|
|
+--------------------------------+
|
|
| lround() |
|
|
+--------------------------------+
|
|
| lroundf() |
|
|
+--------------------------------+
|
|
| lroundl() |
|
|
+--------------------------------+
|
|
| modf() |
|
|
+--------------------------------+
|
|
| modff() |
|
|
+--------------------------------+
|
|
| modfl() |
|
|
+--------------------------------+
|
|
| nan() |
|
|
+--------------------------------+
|
|
| nanf() |
|
|
+--------------------------------+
|
|
| nanl() |
|
|
+--------------------------------+
|
|
| nearbyint() |
|
|
+--------------------------------+
|
|
| nearbyintf() |
|
|
+--------------------------------+
|
|
| nearbyintl() |
|
|
+--------------------------------+
|
|
| nextafter() |
|
|
+--------------------------------+
|
|
| nextafterf() |
|
|
+--------------------------------+
|
|
| nextafterl() |
|
|
+--------------------------------+
|
|
| nexttoward() |
|
|
+--------------------------------+
|
|
| nexttowardf() |
|
|
+--------------------------------+
|
|
| nexttowardl() |
|
|
+--------------------------------+
|
|
| pow() |
|
|
+--------------------------------+
|
|
| powf() |
|
|
+--------------------------------+
|
|
| powl() |
|
|
+--------------------------------+
|
|
| remainder() |
|
|
+--------------------------------+
|
|
| remainderf() |
|
|
+--------------------------------+
|
|
| remainderl() |
|
|
+--------------------------------+
|
|
| remquo() |
|
|
+--------------------------------+
|
|
| remquof() |
|
|
+--------------------------------+
|
|
| remquol() |
|
|
+--------------------------------+
|
|
| rint() |
|
|
+--------------------------------+
|
|
| rintf() |
|
|
+--------------------------------+
|
|
| rintl() |
|
|
+--------------------------------+
|
|
| round() |
|
|
+--------------------------------+
|
|
| roundf() |
|
|
+--------------------------------+
|
|
| roundl() |
|
|
+--------------------------------+
|
|
| scalbln() |
|
|
+--------------------------------+
|
|
| scalblnf() |
|
|
+--------------------------------+
|
|
| scalblnl() |
|
|
+--------------------------------+
|
|
| scalbn() |
|
|
+--------------------------------+
|
|
| scalbnf() |
|
|
+--------------------------------+
|
|
| scalbnl() |
|
|
+--------------------------------+
|
|
| signbit() |
|
|
+--------------------------------+
|
|
| sin() |
|
|
+--------------------------------+
|
|
| sinf() |
|
|
+--------------------------------+
|
|
| sinh() |
|
|
+--------------------------------+
|
|
| sinhf() |
|
|
+--------------------------------+
|
|
| sinhl() |
|
|
+--------------------------------+
|
|
| sinl() |
|
|
+--------------------------------+
|
|
| sqrt() |
|
|
+--------------------------------+
|
|
| sqrtf() |
|
|
+--------------------------------+
|
|
| sqrtl() |
|
|
+--------------------------------+
|
|
| tan() |
|
|
+--------------------------------+
|
|
| tanf() |
|
|
+--------------------------------+
|
|
| tanh() |
|
|
+--------------------------------+
|
|
| tanhf() |
|
|
+--------------------------------+
|
|
| tanhl() |
|
|
+--------------------------------+
|
|
| tanl() |
|
|
+--------------------------------+
|
|
| tgamma() |
|
|
+--------------------------------+
|
|
| tgammaf() |
|
|
+--------------------------------+
|
|
| tgammal() |
|
|
+--------------------------------+
|
|
| trunc() |
|
|
+--------------------------------+
|
|
| truncf() |
|
|
+--------------------------------+
|
|
| truncl() |
|
|
+--------------------------------+
|
|
|
|
.. [#fn11] NuttX supports different ``libm`` implementations with different
|
|
sets of supported functions. ``libm`` support in NuttX is controlled
|
|
by Kconfig choice option.
|
|
|
|
POSIX_FD_MGMT
|
|
-------------
|
|
|
|
File Descriptor Management:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`dup` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dup2` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dup3` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fcntl` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fgetpos` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fseek` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fseeko` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fsetpos` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ftell` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ftello` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ftruncate` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`lseek` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`rewind` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_FILE_SYSTEM
|
|
-----------------
|
|
|
|
File System:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`access` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`chdir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`closedir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`creat` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fchdir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fpathconf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fstat` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fstatvfs` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`futimens` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getcwd` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`link` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mkdir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mkostemp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mkstemp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`opendir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pathconf` | Yes |
|
|
+--------------------------------+---------+
|
|
| posix_getdents() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`readdir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`remove` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`rename` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`rewinddir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`rmdir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`stat` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`statvfs` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tmpfile` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tmpnam` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`truncate` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`unlink` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_MULTI_PROCESS
|
|
-------------------
|
|
|
|
Multiple Processes:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`_Exit` | Yes |
|
|
+--------------------------------+---------+
|
|
| _Fork() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`_exit` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`assert` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`at_quick_exit` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`atexit` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`clock` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`execl` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`execle` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`execlp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`execv` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`execve` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`execvp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`exit` | Yes |
|
|
+--------------------------------+---------+
|
|
| fork() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpgrp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpgid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getppid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getrlimit` | Yes |
|
|
+--------------------------------+---------+
|
|
| getsid() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`quick_exit` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setrlimit` | Yes |
|
|
+--------------------------------+---------+
|
|
| setsid() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sleep` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`times` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`wait` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`waitid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`waitpid` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_NETWORKING
|
|
----------------
|
|
|
|
Networking:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`accept` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`accept4` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`be16toh` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`be32toh` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`be64toh` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`bind` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`connect` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`endhostent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`endnetent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`endprotoent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`endservent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`freeaddrinfo` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`gai_strerror` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getaddrinfo` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`gethostent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`gethostname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getnameinfo` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getnetbyaddr` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getnetbyname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getnetent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpeername` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getprotobyname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getprotobynumber` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getprotoent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getservbyname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getservbyport` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getservent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getsockname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getsockopt` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htobe16` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htobe32` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htobe64` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htole16` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htole32` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htole64` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htonl` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`htons` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`if_freenameindex` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`if_indextoname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`if_nameindex` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`if_nametoindex` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`inet_addr` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`inet_ntoa` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`inet_ntop` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`inet_pton` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`le16toh` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`le32toh` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`le64toh` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`listen` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ntohl` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ntohs` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`recv` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`recvfrom` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`recvmsg` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`send` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sendmsg` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sendto` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sethostent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setnetent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setprotoent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setservent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setsockopt` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`shutdown` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`socket` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sockatmark` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`socketpair` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_PIPE
|
|
----------
|
|
|
|
Pipe:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`pipe` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pipe2` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_SIGNAL_JUMP
|
|
-----------------
|
|
|
|
Signal Jump Functions:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| siglongjmp() | No |
|
|
+--------------------------------+---------+
|
|
| sigsetjmp() | No |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_C_LANG_WIDE_CHAR
|
|
----------------------
|
|
|
|
Wide-Character ISO C Library:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| btowc() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswalnum() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswalpha() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswblank() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswcntrl() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswctype() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswdigit() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswgraph() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswlower() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswprint() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswpunct() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswspace() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswupper() | Yes |
|
|
+--------------------------------+---------+
|
|
| iswxdigit() | Yes |
|
|
+--------------------------------+---------+
|
|
| mblen() | Yes |
|
|
+--------------------------------+---------+
|
|
| mbrlen() | Yes |
|
|
+--------------------------------+---------+
|
|
| mbrtowc() | Yes |
|
|
+--------------------------------+---------+
|
|
| mbsinit() | Yes |
|
|
+--------------------------------+---------+
|
|
| mbsrtowcs() | Yes |
|
|
+--------------------------------+---------+
|
|
| mbstowcs() | Yes |
|
|
+--------------------------------+---------+
|
|
| mbtowc() | Yes |
|
|
+--------------------------------+---------+
|
|
| swprintf() | Yes |
|
|
+--------------------------------+---------+
|
|
| swscanf() | Yes |
|
|
+--------------------------------+---------+
|
|
| towctrans() | Yes |
|
|
+--------------------------------+---------+
|
|
| towlower() | Yes |
|
|
+--------------------------------+---------+
|
|
| towupper() | Yes |
|
|
+--------------------------------+---------+
|
|
| vswprintf() | Yes |
|
|
+--------------------------------+---------+
|
|
| vswscanf() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcrtomb() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcscat() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcschr() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcscmp() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcscoll() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcscpy() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcscspn() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsftime() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcslen() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsncat() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsncmp() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsncpy() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcspbrk() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsrchr() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsrtombs() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsspn() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsstr() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstod() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstof() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstoimax() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstok() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstol() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstold() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstoll() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstombs() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstoul() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstoull() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcstoumax() | Yes |
|
|
+--------------------------------+---------+
|
|
| wcsxfrm() | Yes |
|
|
+--------------------------------+---------+
|
|
| wctob() | Yes |
|
|
+--------------------------------+---------+
|
|
| wctomb() | Yes |
|
|
+--------------------------------+---------+
|
|
| wctrans() | Yes |
|
|
+--------------------------------+---------+
|
|
| wctype() | Yes |
|
|
+--------------------------------+---------+
|
|
| wmemchr() | Yes |
|
|
+--------------------------------+---------+
|
|
| wmemcmp() | Yes |
|
|
+--------------------------------+---------+
|
|
| wmemcpy() | Yes |
|
|
+--------------------------------+---------+
|
|
| wmemmove() | Yes |
|
|
+--------------------------------+---------+
|
|
| wmemset() | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_DEVICE_SPECIFIC
|
|
---------------------
|
|
|
|
General Terminal:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`cfgetispeed` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`cfgetospeed` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`cfsetispeed` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`cfsetospeed` | Yes |
|
|
+--------------------------------+---------+
|
|
| ctermid() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`isatty` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tcdrain` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tcflow` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tcflush` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tcgetattr` | Yes |
|
|
+--------------------------------+---------+
|
|
| tcgetwinsize() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tcsendbreak` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tcsetattr` | Yes |
|
|
+--------------------------------+---------+
|
|
| tcsetwinsize() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ttyname` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_FIFO
|
|
----------
|
|
|
|
FIFO:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`mkfifo` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_FILE_ATTRIBUTES
|
|
---------------------
|
|
|
|
File Attributes:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`chmod` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`chown` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fchmod` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fchown` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`umask` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_FILE_SYSTEM_EXT
|
|
---------------------
|
|
|
|
File System Extensions:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`alphasort` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dirfd` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getdelim` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getline` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mkdtemp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`scandir` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_JOB_CONTROL
|
|
-----------------
|
|
|
|
Job Control:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| setpgid() | No |
|
|
+--------------------------------+---------+
|
|
| tcgetpgrp() | No |
|
|
+--------------------------------+---------+
|
|
| tcsetpgrp() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`tcgetsid` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_REGEXP
|
|
------------
|
|
|
|
Regular Expressions:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`regcomp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`regerror` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`regexec` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`regfree` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_SHELL_FUNC
|
|
----------------
|
|
|
|
Shell and Utilities:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`pclose` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`popen` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`system` | Yes |
|
|
+--------------------------------+---------+
|
|
| wordexp() | No |
|
|
+--------------------------------+---------+
|
|
| wordfree() | No |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_STRING_MATCHING
|
|
---------------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`fnmatch` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getopt` | Yes |
|
|
+--------------------------------+---------+
|
|
| optarg | Yes |
|
|
+--------------------------------+---------+
|
|
| optind | Yes |
|
|
+--------------------------------+---------+
|
|
| opterr | Yes |
|
|
+--------------------------------+---------+
|
|
| optopt | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_SYMBOLIC_LINKS
|
|
--------------------
|
|
|
|
Symbolic Links:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`lchown` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`lstat` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`readlink` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`realpath` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`symlink` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_SYSTEM_DATABASE
|
|
---------------------
|
|
|
|
System Database:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`getgrgid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getgrnam` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpwnam` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpwuid` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_USER_GROUPS
|
|
-----------------
|
|
|
|
User and Group:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`getegid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`geteuid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getgid` | Yes |
|
|
+--------------------------------+---------+
|
|
| getgroups() | No |
|
|
+--------------------------------+---------+
|
|
| getlogin() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getuid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setegid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`seteuid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setgid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setuid` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX_WIDE_CHAR_DEVICE_IO
|
|
-------------------------
|
|
|
|
Device Input and Output:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`fgetwc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fgetws` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fputwc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fputws` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fwide` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fwprintf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fwscanf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getwc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getwchar` | Yes |
|
|
+--------------------------------+---------+
|
|
| open_wmemstream() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`putwc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`putwchar` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ungetwc` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vfwprintf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vfwscanf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vwprintf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vwscanf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`wprintf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`wscanf` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_C_LANG_SUPPORT
|
|
------------------
|
|
|
|
XSI General C Library:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| a64l() | No |
|
|
+--------------------------------+---------+
|
|
| daylight | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`drand48` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`erand48` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ffs` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ffsl` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ffsll` | Yes |
|
|
+--------------------------------+---------+
|
|
| getdate() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`hcreate` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`hdestroy` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`hsearch` | Yes |
|
|
+--------------------------------+---------+
|
|
| initstate() | No |
|
|
+--------------------------------+---------+
|
|
| insque() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`jrand48` | Yes |
|
|
+--------------------------------+---------+
|
|
| l64a() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`lcong48` | Yes |
|
|
+--------------------------------+---------+
|
|
| lfind() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`lrand48` | Yes |
|
|
+--------------------------------+---------+
|
|
| lsearch() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`memccpy` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mrand48` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`nrand48` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`random` | Yes |
|
|
+--------------------------------+---------+
|
|
| remque() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`seed48` | Yes |
|
|
+--------------------------------+---------+
|
|
| setstate() | No |
|
|
+--------------------------------+---------+
|
|
| signgam | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`srand48` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`srandom` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`strptime` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`swab` | Yes |
|
|
+--------------------------------+---------+
|
|
| tdelete() | No |
|
|
+--------------------------------+---------+
|
|
| tfind() | No |
|
|
+--------------------------------+---------+
|
|
| timezone | No |
|
|
+--------------------------------+---------+
|
|
| tsearch() | No |
|
|
+--------------------------------+---------+
|
|
| twalk() | No |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_DBM
|
|
-------
|
|
|
|
XSI Database Management:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| dbm_clearerr() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_close() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_delete() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_error() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_fetch() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_firstkey() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_nextkey() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_open() | No |
|
|
+--------------------------------+---------+
|
|
| dbm_store() | No |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_DEVICE_IO
|
|
-------------
|
|
|
|
XSI Device Input and Output:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`fmtmsg` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`readv` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`writev` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_DEVICE_SPECIFIC
|
|
-------------------
|
|
|
|
XSI General Terminal:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`grantpt` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`posix_openpt` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`ptsname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`unlockpt` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_DYNAMIC_LINKING
|
|
-------------------
|
|
|
|
Dynamic Linking:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`dladdr` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dlclose` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dlerror` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dlopen` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dlsym` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_FD_MGMT
|
|
-----------
|
|
|
|
XSI File Descriptor Management:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`truncate` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_FILE_SYSTEM
|
|
---------------
|
|
|
|
XSI File System:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`basename` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`dirname` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`lockf` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mknod` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`nftw` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`seekdir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sync` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`telldir` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`utimes` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_I18N
|
|
--------
|
|
|
|
XSI Internationalization:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`catclose` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`catgets` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`catopen` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`nl_langinfo` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_IPC
|
|
-------
|
|
|
|
XSI Interprocess Communication:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`ftok` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`msgctl` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`msgget` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`msgrcv` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`msgsnd` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`semctl` | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`semget` | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`semop` | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`shmat` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`shmctl` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`shmdt` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`shmget` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_JOB_CONTROL
|
|
---------------
|
|
|
|
XSI Job Control:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`tcgetsid` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_JUMP
|
|
--------
|
|
|
|
XSI Jump Functions:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`_longjmp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`_setjmp` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_MATH
|
|
--------
|
|
|
|
Depends on the enabled ``libm`` implementation [#fn12]_.
|
|
|
|
XSI Maths Library:
|
|
|
|
+--------------------------------+
|
|
| API |
|
|
+================================+
|
|
| j0() |
|
|
+--------------------------------+
|
|
| j1() |
|
|
+--------------------------------+
|
|
| jn() |
|
|
+--------------------------------+
|
|
| scalb() |
|
|
+--------------------------------+
|
|
| y0() |
|
|
+--------------------------------+
|
|
| y1() |
|
|
+--------------------------------+
|
|
| yn() |
|
|
+--------------------------------+
|
|
|
|
.. [#fn12] NuttX supports different ``libm`` implementations with different
|
|
sets of supported functions. ``libm`` support in NuttX is controlled
|
|
by Kconfig choice option.
|
|
|
|
XSI_MULTI_PROCESS
|
|
-----------------
|
|
|
|
XSI Multiple Process:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`getpgid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpriority` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getrlimit` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getrusage` | Yes |
|
|
+--------------------------------+---------+
|
|
| getsid() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`nice` | Yes |
|
|
+--------------------------------+---------+
|
|
| setpgrp() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setpriority` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setrlimit` | Yes |
|
|
+--------------------------------+---------+
|
|
| ulimit() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`usleep` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`vfork` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`waitid` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_SIGNALS
|
|
-----------
|
|
|
|
XSI Signal:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| bsd_signal() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`killpg` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sigaltstack` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sighold` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sigignore` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`siginterrupt` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sigpause` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sigrelse` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sigset` | Yes |
|
|
+--------------------------------+---------+
|
|
| ualarm() | No |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_SINGLE_PROCESS
|
|
------------------
|
|
|
|
XSI Single Process:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| gethostid() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`gettimeofday` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`putenv` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_SYSTEM_DATABASE
|
|
-------------------
|
|
|
|
XSI System Database:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`endpwent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`getpwent` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setpwent` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_SYSTEM_LOGGING
|
|
------------------
|
|
|
|
XSI System Logging:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`closelog` | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`openlog` | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setlogmask` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`syslog` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_THREADS_EXT
|
|
---------------
|
|
|
|
XSI Threads Extensions:
|
|
|
|
+---------------------------------+---------+
|
|
| API | Support |
|
|
+=================================+=========+
|
|
| :c:func:`pthread_attr_getstack` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`pthread_attr_setstack` | Yes |
|
|
+---------------------------------+---------+
|
|
| pthread_getconcurrency() | No |
|
|
+---------------------------------+---------+
|
|
| pthread_setconcurrency() | No |
|
|
+---------------------------------+---------+
|
|
|
|
XSI_TIMERS
|
|
----------
|
|
|
|
XSI Timers:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`getitimer` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setitimer` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
XSI_USER_GROUPS
|
|
---------------
|
|
|
|
XSI User and Group:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| endgrent() | No |
|
|
+--------------------------------+---------+
|
|
| endutxent() | No |
|
|
+--------------------------------+---------+
|
|
| getgrent() | No |
|
|
+--------------------------------+---------+
|
|
| getutxent() | No |
|
|
+--------------------------------+---------+
|
|
| getutxid() | No |
|
|
+--------------------------------+---------+
|
|
| getutxline() | No |
|
|
+--------------------------------+---------+
|
|
| pututxline() | No |
|
|
+--------------------------------+---------+
|
|
| setgrent() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setregid` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`setreuid` | Yes |
|
|
+--------------------------------+---------+
|
|
| setutxent() | No |
|
|
+--------------------------------+---------+
|
|
|
|
|
|
XSI_WIDE_CHAR
|
|
-------------
|
|
|
|
XSI Wide-Character Library:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`wcswidth` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`wcwidth` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
POSIX.1 Option Requirements
|
|
===========================
|
|
|
|
_POSIX_CLOCK_SELECTION
|
|
----------------------
|
|
|
|
Clock Selection:
|
|
|
|
+-------------------------------------+---------+
|
|
| API | Support |
|
|
+=====================================+=========+
|
|
| :c:func:`clock_nanosleep` | Yes |
|
|
+-------------------------------------+---------+
|
|
| :c:func:`pthread_condattr_getclock` | Yes |
|
|
+-------------------------------------+---------+
|
|
| :c:func:`pthread_condattr_setclock` | Yes |
|
|
+-------------------------------------+---------+
|
|
|
|
_POSIX_FSYNC
|
|
------------
|
|
|
|
File Synchronization:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`fsync` [#fn13]_ | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
.. [#fn13] Revisit: why ``#undef _POSIX_FSYNC`` in ``unistd.h`` ?
|
|
|
|
_POSIX_IPV6
|
|
-----------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_MEMLOCK
|
|
--------------
|
|
|
|
+--------------------------------+----------------+
|
|
| API | Support |
|
|
+================================+================+
|
|
| :c:func:`mlockall` | Dummy [#fn14]_ |
|
|
+--------------------------------+----------------+
|
|
| :c:func:`munlockall` | Dummy [#fn14]_ |
|
|
+--------------------------------+----------------+
|
|
|
|
.. [#fn14] The function returns a success value but doesn't implement
|
|
the requred functionality.
|
|
|
|
_POSIX_MEMLOCK_RANGE
|
|
--------------------
|
|
|
|
+--------------------------------+----------------+
|
|
| API | Support |
|
|
+================================+================+
|
|
| :c:func:`mlock` | Dummy [#fn15]_ |
|
|
+--------------------------------+----------------+
|
|
| :c:func:`munlock` | Dummy [#fn15]_ |
|
|
+--------------------------------+----------------+
|
|
|
|
.. [#fn15] The function returns a success value but doesn't implement
|
|
the requred functionality.
|
|
|
|
_POSIX_MONOTONIC_CLOCK
|
|
----------------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_NO_TRUNC
|
|
---------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_REALTIME_SIGNALS
|
|
-----------------------
|
|
|
|
Realtime Signals:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`sigqueue` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sigtimedwait` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sigwaitinfo` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_SEMAPHORES
|
|
-----------------
|
|
|
|
Semaphores:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`sem_clockwait` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_close` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_destroy` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_getvalue` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_init` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_open` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_post` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_timedwait` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_trywait` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_unlink` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`sem_wait` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_SHARED_MEMORY_OBJECTS
|
|
----------------------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`mmap` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`munmap` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`shm_open` | Yes |
|
|
+--------------------------------+---------+
|
|
| shm_unling() | No |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_SYNCHRONIZED_IO
|
|
----------------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`fdatasync` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`fsync` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`msync` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_THREAD_ATTR_STACKADDR
|
|
----------------------------
|
|
|
|
+---------------------------------------+---------+
|
|
| API | Support |
|
|
+=======================================+=========+
|
|
| :c:func:`pthread_attr_getstackaddr` | Yes |
|
|
+---------------------------------------+---------+
|
|
| :c:func:`pthread_attr_setstackaddr` | Yes |
|
|
+---------------------------------------+---------+
|
|
|
|
_POSIX_THREAD_ATTR_STACKSIZE
|
|
----------------------------
|
|
|
|
+---------------------------------------+---------+
|
|
| API | Support |
|
|
+=======================================+=========+
|
|
| :c:func:`pthread_attr_getstacksize` | Yes |
|
|
+---------------------------------------+---------+
|
|
| :c:func:`pthread_attr_setstacksize` | Yes |
|
|
+---------------------------------------+---------+
|
|
|
|
_POSIX_THREAD_CPUTIME
|
|
---------------------
|
|
|
|
+-----------------------------------+---------+
|
|
| API | Support |
|
|
+===================================+=========+
|
|
| CLOCK_THREAD_CPUTIME_ID | Yes |
|
|
+-----------------------------------+---------+
|
|
| :c:func:`pthread_getcpuclockid` | Yes |
|
|
+-----------------------------------+---------+
|
|
|
|
_POSIX_THREAD_PRIO_INHERIT
|
|
--------------------------
|
|
|
|
+-----------------------------------------+---------+
|
|
| API | Support |
|
|
+=========================================+=========+
|
|
| :c:func:`pthread_mutexattr_getprotocol` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_setprotocol` | Yes |
|
|
+-----------------------------------------+---------+
|
|
|
|
_POSIX_THREAD_PRIO_PROTECT
|
|
--------------------------
|
|
|
|
+-----------------------------------------------+---------+
|
|
| API | Support |
|
|
+===============================================+=========+
|
|
| :c:func:`pthread_mutex_getprioceiling` | Yes |
|
|
+-----------------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_setprioceiling` | Yes |
|
|
+-----------------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_getprioceiling` | Yes |
|
|
+-----------------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_getprotocol` | Yes |
|
|
+-----------------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_setprioceiling` | Yes |
|
|
+-----------------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_setprotocol` | Yes |
|
|
+-----------------------------------------------+---------+
|
|
|
|
_POSIX_THREAD_PRIORITY_SCHEDULING
|
|
---------------------------------
|
|
|
|
+-----------------------------------------+---------+
|
|
| API | Support |
|
|
+=========================================+=========+
|
|
| :c:func:`pthread_attr_getinheritsched` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_getschedpolicy` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_getscope` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_setinheritsched` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_setschedpolicy` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_attr_setscope` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_getschedparam` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_setschedparam` | Yes |
|
|
+-----------------------------------------+---------+
|
|
| :c:func:`pthread_setschedprio` | Yes |
|
|
+-----------------------------------------+---------+
|
|
|
|
_POSIX_THREAD_SPORADIC_SERVER
|
|
-----------------------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_TIMEOUTS
|
|
---------------
|
|
|
|
+-------------------------------------------+---------+
|
|
| API | Support |
|
|
+===========================================+=========+
|
|
| :c:func:`mq_timedreceive` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`mq_timedsend` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`pthread_mutex_timedlock` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_timedrdlock` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_timedwrlock` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sem_timedwait` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| posix_trace_timedgetnext_event() [#fn16]_ | No |
|
|
+-------------------------------------------+---------+
|
|
|
|
.. [#fn16] ``_POSIX_TRACE*`` are obsolete.
|
|
|
|
_POSIX_TIMERS
|
|
-------------
|
|
|
|
Depends on ``!CONFIG_DISABLE_POSIX_TIMERS``
|
|
|
|
Timers:
|
|
|
|
+---------------------------------+---------+
|
|
| API | Support |
|
|
+=================================+=========+
|
|
| :c:func:`clock_getres` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`clock_gettime` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`clock_settime` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`nanosleep` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`timer_create` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`timer_delete` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`timer_getoverrun` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`timer_gettime` | Yes |
|
|
+---------------------------------+---------+
|
|
| :c:func:`timer_settime` | Yes |
|
|
+---------------------------------+---------+
|
|
|
|
_POSIX_MAPPED_FILES
|
|
-------------------
|
|
|
|
Memory Mapped Files:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`mmap` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`munmap` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_MESSAGE_PASSING
|
|
----------------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`mq_close` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mq_getattr` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mq_notify` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mq_open` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mq_receive` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mq_send` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mq_setattr` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mq_unlink` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_ASYNCHRONOUS_IO
|
|
----------------------
|
|
|
|
Depends on ``CONFIG_FS_AIO``.
|
|
|
|
Asynchronous Input and Output Functions:
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`aio_cancel` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`aio_error` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`aio_fsync` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`aio_read` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`aio_return` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`aio_suspend` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`aio_write` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`lio_listio` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_BARRIERS
|
|
---------------
|
|
|
|
+--------------------------------------------+---------+
|
|
| API | Support |
|
|
+============================================+=========+
|
|
| :c:func:`pthread_barrier_destroy` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrier_init` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrier_wait` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_destroy` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_init` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_getpshared` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_setpshared` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_getpshared` | Yes |
|
|
+--------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_setpshared` | Yes |
|
|
+--------------------------------------------+---------+
|
|
|
|
_POSIX_CPUTIME
|
|
--------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`clock_getcpuclockid` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_MEMORY_PROTECTION
|
|
------------------------
|
|
|
|
+--------------------------------+----------------+
|
|
| API | Support |
|
|
+================================+================+
|
|
| :c:func:`mprotect` | Dummy [#fn17]_ |
|
|
+--------------------------------+----------------+
|
|
|
|
.. [#fn17] The function returns a success value but doesn't implement
|
|
the requred functionality.
|
|
|
|
_POSIX_PRIORITIZED_IO
|
|
---------------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_PRIORITY_SCHEDULING
|
|
--------------------------
|
|
|
|
+-------------------------------------------+---------+
|
|
| API | Support |
|
|
+===========================================+=========+
|
|
| :c:func:`sched_get_priority_max` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sched_get_priority_min` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sched_getparam` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sched_getscheduler` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sched_rr_get_interval` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sched_setparam` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sched_setscheduler` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`sched_yield` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_getschedparam` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_setschedparam` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_getschedpolicy` | Yes |
|
|
+-------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_setschedpolicy` | Yes |
|
|
+-------------------------------------------+---------+
|
|
|
|
_POSIX_RAW_SOCKETS
|
|
------------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_SPAWN
|
|
------------
|
|
|
|
Depends on ``CONFIG_BUILD_KERNEL``.
|
|
|
|
+---------------------------------------------+---------+
|
|
| API | Support |
|
|
+=============================================+=========+
|
|
| :c:func:`posix_spawn` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawn_file_actions_addclose` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawn_file_actions_adddup2` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawn_file_actions_addopen` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawn_file_actions_destroy` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawn_file_actions_init` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_destroy` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_getflags` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_getpgroup` | No |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_getsigdefault` | No |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_getsigmask` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_init` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_setflags` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_setpgroup` | No |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_setsigdefault` | No |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnattr_setsigmask` | Yes |
|
|
+---------------------------------------------+---------+
|
|
| :c:func:`posix_spawnp` | Yes |
|
|
+---------------------------------------------+---------+
|
|
|
|
_POSIX_SPIN_LOCKS
|
|
-----------------
|
|
|
|
Depends on ``CONFIG_PTHREAD_SPINLOCKS``.
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`pthread_spin_destroy` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pthread_spin_init` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pthread_spin_lock` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pthread_spin_trylock` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`pthread_spin_unlock` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_SPORADIC_SERVER
|
|
----------------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_THREAD_PROCESS_SHARED
|
|
----------------------------
|
|
|
|
+------------------------------------------+---------+
|
|
| API | Support |
|
|
+==========================================+=========+
|
|
| :c:func:`pthread_condattr_getpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_condattr_setpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_getpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_mutexattr_setpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlockattr_getpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlockattr_setpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_getpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_setpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
|
|
_POSIX_ADVISORY_INFO
|
|
--------------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| posix_fadvise() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`posix_fallocate` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`posix_memalign` | Yes |
|
|
+--------------------------------+---------+
|
|
| posix_madvise() | Empty |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX_SAVED_IDS
|
|
----------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX_VDISABLE
|
|
---------------
|
|
|
|
No functions under this option.
|
|
|
|
_POSIX2_CHAR_TERM
|
|
-----------------
|
|
|
|
No utilities under this option.
|
|
|
|
_POSIX2_FORT_DEV
|
|
----------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| fort77 | No |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX2_FORT_RUN
|
|
----------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| asa | No |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX2_LOCALEDEF
|
|
-----------------
|
|
|
|
No utilities under this option.
|
|
|
|
_POSIX2_PBS
|
|
-----------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| qalter | No |
|
|
+--------------------------------+---------+
|
|
| qdel | No |
|
|
+--------------------------------+---------+
|
|
| qhold | No |
|
|
+--------------------------------+---------+
|
|
| qmove | No |
|
|
+--------------------------------+---------+
|
|
| qmsg | No |
|
|
+--------------------------------+---------+
|
|
| qrerun | No |
|
|
+--------------------------------+---------+
|
|
| qrls | No |
|
|
+--------------------------------+---------+
|
|
| qselect | No |
|
|
+--------------------------------+---------+
|
|
| qsig | No |
|
|
+--------------------------------+---------+
|
|
| qstat | No |
|
|
+--------------------------------+---------+
|
|
| qsub | No |
|
|
+--------------------------------+---------+
|
|
|
|
_POSIX2_PBS_ACCOUNTING
|
|
----------------------
|
|
|
|
No utilities under this option.
|
|
|
|
_POSIX2_PBS_CHECKPOINT
|
|
----------------------
|
|
|
|
No utilities under this option.
|
|
|
|
_POSIX2_PBS_LOCATE
|
|
------------------
|
|
|
|
No utilities under this option.
|
|
|
|
_POSIX2_PBS_MESSAGE
|
|
-------------------
|
|
|
|
No utilities under this option.
|
|
|
|
_POSIX2_PBS_TRACK
|
|
-----------------
|
|
|
|
No utilities under this option.
|
|
|
|
_POSIX2_UPE
|
|
-----------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| nm | No |
|
|
+--------------------------------+---------+
|
|
|
|
_XOPEN_CRYPT
|
|
------------
|
|
|
|
Depends on ``CONFIG_CRYPTO``;
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`crypt` | Yes |
|
|
+--------------------------------+---------+
|
|
| encrypt() | No |
|
|
+--------------------------------+---------+
|
|
| setkey() | No |
|
|
+--------------------------------+---------+
|
|
|
|
_XOPEN_ENH_I18N
|
|
---------------
|
|
|
|
No interfaces fall under this option.
|
|
|
|
_XOPEN_LEGACY
|
|
-------------
|
|
|
|
+--------------------------------+---------+
|
|
| API | Support |
|
|
+================================+=========+
|
|
| :c:func:`bcmp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`bcopy` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`bzero` | Yes |
|
|
+--------------------------------+---------+
|
|
| ecvt() | No |
|
|
+--------------------------------+---------+
|
|
| fcvt() | No |
|
|
+--------------------------------+---------+
|
|
| ftime() | No |
|
|
+--------------------------------+---------+
|
|
| gcvt() | No |
|
|
+--------------------------------+---------+
|
|
| getwd() | No |
|
|
+--------------------------------+---------+
|
|
| index() | No |
|
|
+--------------------------------+---------+
|
|
| :c:func:`mktemp` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`rindex` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`utimes` | Yes |
|
|
+--------------------------------+---------+
|
|
| :c:func:`wcswcs` | Yes |
|
|
+--------------------------------+---------+
|
|
|
|
_XOPEN_STREAMS
|
|
--------------
|
|
|
|
+---------------------------------+---------+
|
|
| API | Support |
|
|
+=================================+=========+
|
|
| fattach() | No |
|
|
+---------------------------------+---------+
|
|
| fdetach() | No |
|
|
+---------------------------------+---------+
|
|
| getmsg() | No |
|
|
+---------------------------------+---------+
|
|
| getpmsg() | No |
|
|
+---------------------------------+---------+
|
|
| :c:func:`ioctl` | Yes |
|
|
+---------------------------------+---------+
|
|
| isastream() | No |
|
|
+---------------------------------+---------+
|
|
| putmsg() | No |
|
|
+---------------------------------+---------+
|
|
| putpmsg() | No |
|
|
+---------------------------------+---------+
|
|
|
|
POSIX_BARRIERS
|
|
--------------
|
|
|
|
+----------------------------------------+---------+
|
|
| API | Support |
|
|
+========================================+=========+
|
|
| :c:func:`pthread_barrier_destroy` | Yes |
|
|
+----------------------------------------+---------+
|
|
| :c:func:`pthread_barrier_init` | Yes |
|
|
+----------------------------------------+---------+
|
|
| :c:func:`pthread_barrier_wait` | Yes |
|
|
+----------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_destroy` | Yes |
|
|
+----------------------------------------+---------+
|
|
| :c:func:`pthread_barrierattr_init` | Yes |
|
|
+----------------------------------------+---------+
|
|
|
|
POSIX_RW_LOCKS
|
|
--------------
|
|
|
|
Reader Writer Locks:
|
|
|
|
+------------------------------------------+---------+
|
|
| API | Support |
|
|
+==========================================+=========+
|
|
| :c:func:`pthread_rwlock_clockrdlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_clockwrlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_destroy` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_init` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_rdlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_timedrdlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_timedwrlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_tryrdlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_trywrlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_unlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlock_wrlock` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlockattr_destroy` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlockattr_init` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlockattr_getpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
| :c:func:`pthread_rwlockattr_setpshared` | Yes |
|
|
+------------------------------------------+---------+
|
|
|
|
_POSIX2_C_DEV
|
|
-------------
|
|
|
|
+-----------------------------------+---------+
|
|
| API | Support |
|
|
+===================================+=========+
|
|
| c99 | No |
|
|
+-----------------------------------+---------+
|
|
| lex | No |
|
|
+-----------------------------------+---------+
|
|
| yacc | No |
|
|
+-----------------------------------+---------+
|
|
|
|
_POSIX2_SW_DEV
|
|
--------------
|
|
|
|
+-----------------------------------+---------+
|
|
| API | Support |
|
|
+===================================+=========+
|
|
| ar | No |
|
|
+-----------------------------------+---------+
|
|
| make | No |
|
|
+-----------------------------------+---------+
|
|
| strip | No |
|
|
+-----------------------------------+---------+
|
|
| nm | No |
|
|
+-----------------------------------+---------+
|
|
|
|
References
|
|
==========
|
|
|
|
* IEEE Std 1003.13, 2003 - Standardized Application Environment Profile (AEP)—POSIX® Realtime and Embedded Application Support
|
|
|
|
* `IEEE Std 1003.1, 2004 Subprofiling Option Groups <https://pubs.opengroup.org/onlinepubs/009604299/xrat/subprofiles.html>`_
|
|
|
|
* `IEEE Std 1003.1, 2008 Subprofiling Option Groups <https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/xrat/V4_subprofiles.html>`_
|
|
|
|
* `IEEE Std 1003.1, 2013 Subprofiling Option Groups <https://pubs.opengroup.org/onlinepubs/9699919799.2013edition/xrat/V4_subprofiles.html>`_
|
|
|
|
* `IEEE Std 1003.1, 2016 Subprofiling Option Groups <https://pubs.opengroup.org/onlinepubs/9699919799.2016edition/xrat/V4_subprofiles.html>`_
|
|
|
|
* `IEEE Std 1003.1, 2018 Subprofiling Option Groups <https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/xrat/V4_subprofiles.html>`_
|
|
|
|
* `IEEE Std 1003.1, 2024 Subprofiling Option Groups <https://pubs.opengroup.org/onlinepubs/9799919799/xrat/V4_subprofiles.html>`_
|