POSIX Conformance

As per IEEE 1003.1-2017, this section details Zephyr’s POSIX conformance. See POSIX Options for per-option pages and POSIX Option Groups for bundled API groups.

POSIX System Interfaces

POSIX System Interfaces

Symbol

Support

Remarks

_POSIX_CHOWN_RESTRICTED

0

_POSIX_NO_TRUNC

0

_POSIX_VDISABLE

'\0'

POSIX System Interfaces

Symbol

Support

Remarks

_POSIX_VERSION

200809L

_POSIX_ASYNCHRONOUS_IO

200809L

CONFIG_POSIX_ASYNCHRONOUS_IO

_POSIX_BARRIERS

200809L

CONFIG_POSIX_BARRIERS

_POSIX_CLOCK_SELECTION

200809L

CONFIG_POSIX_CLOCK_SELECTION

_POSIX_MAPPED_FILES

200809L

CONFIG_POSIX_MAPPED_FILES

_POSIX_MEMORY_PROTECTION

200809L

CONFIG_POSIX_MEMORY_PROTECTION

_POSIX_READER_WRITER_LOCKS

200809L

CONFIG_POSIX_RW_LOCKS

_POSIX_REALTIME_SIGNALS

200809L

CONFIG_POSIX_REALTIME_SIGNALS

_POSIX_SEMAPHORES

200809L

CONFIG_POSIX_SEMAPHORES

_POSIX_SPIN_LOCKS

200809L

CONFIG_POSIX_SPIN_LOCKS

_POSIX_THREAD_SAFE_FUNCTIONS

200809L

CONFIG_POSIX_C_LANG_SUPPORT_R or CONFIG_POSIX_FILE_SYSTEM_R or CONFIG_POSIX_FILE_LOCKING or CONFIG_POSIX_SYSTEM_DATABASE_R

_POSIX_THREADS

200809L

CONFIG_POSIX_THREADS

_POSIX_TIMEOUTS

200809L

CONFIG_POSIX_TIMERS

_POSIX_TIMERS

200809L

CONFIG_POSIX_TIMERS

_POSIX2_C_BIND

200809L

POSIX System Interfaces (Unsupported)

Symbol

Support

Remarks

_POSIX_JOB_CONTROL

-1

_POSIX_REGEXP

-1

_POSIX_SAVED_IDS

-1

_POSIX_SHELL

-1

POSIX System Interfaces (Optional)

Symbol

Support

Remarks

_POSIX_ADVISORY_INFO

-1

_POSIX_CPUTIME

200809L

CONFIG_POSIX_CPUTIME

_POSIX_DEVICE_CONTROL

-1

_POSIX_FSYNC

200809L

CONFIG_POSIX_FSYNC

_POSIX_IPV6

200809L

CONFIG_POSIX_IPV6

_POSIX_MEMLOCK

200809L

CONFIG_POSIX_MEMLOCK

_POSIX_MEMLOCK_RANGE

200809L

CONFIG_POSIX_MEMLOCK_RANGE

_POSIX_MESSAGE_PASSING

200809L

CONFIG_POSIX_MESSAGE_PASSING

_POSIX_MONOTONIC_CLOCK

200809L

CONFIG_POSIX_MONOTONIC_CLOCK

_POSIX_PRIORITIZED_IO

-1

_POSIX_PRIORITY_SCHEDULING

200809L

CONFIG_POSIX_PRIORITY_SCHEDULING

_POSIX_RAW_SOCKETS

200809L

CONFIG_POSIX_RAW_SOCKETS

_POSIX_SHARED_MEMORY_OBJECTS

200809L

CONFIG_POSIX_SHARED_MEMORY_OBJECTS

_POSIX_SPAWN

-1

_POSIX_SPORADIC_SERVER

-1

_POSIX_SYNCHRONIZED_IO

200809L

CONFIG_POSIX_SYNCHRONIZED_IO

_POSIX_THREAD_ATTR_STACKADDR

200809L

CONFIG_POSIX_THREAD_ATTR_STACKADDR

_POSIX_THREAD_ATTR_STACKSIZE

200809L

CONFIG_POSIX_THREAD_ATTR_STACKSIZE

_POSIX_THREAD_CPUTIME

200809L

CONFIG_POSIX_CPUTIME

_POSIX_THREAD_PRIO_INHERIT

200809L

CONFIG_POSIX_THREAD_PRIO_INHERIT

_POSIX_THREAD_PRIO_PROTECT

200809L

CONFIG_POSIX_THREAD_PRIO_PROTECT

_POSIX_THREAD_PRIORITY_SCHEDULING

200809L

CONFIG_POSIX_THREAD_PRIORITY_SCHEDULING

_POSIX_THREAD_PROCESS_SHARED

-1

_POSIX_THREAD_ROBUST_PRIO_INHERIT

-1

_POSIX_THREAD_ROBUST_PRIO_PROTECT

-1

_POSIX_THREAD_SPORADIC_SERVER

200809L

CONFIG_POSIX_THREAD_SPORADIC_SERVER

_POSIX_TYPED_MEMORY_OBJECTS

-1

_XOPEN_CRYPT

-1

_XOPEN_REALTIME

700

CONFIG_XSI_REALTIME

_XOPEN_REALTIME_THREADS

700

CONFIG_XSI_REALTIME_THREADS

_XOPEN_STREAMS

200809L

CONFIG_XSI_STREAMS

_XOPEN_UNIX

700

CONFIG_XSI

Note

In Issue 7, _POSIX_MONOTONIC_CLOCK was an optional option. Issue 8 promoted it to a mandatory option alongside the other 200809L baseline interfaces.

POSIX Shell and Utilities

Zephyr does not support a POSIX shell or utilities at this time.

POSIX Shell and Utilities

Symbol

Support

Remarks

_POSIX2_C_DEV

-1

_POSIX2_CHAR_TERM

-1

_POSIX2_FORT_DEV

-1

_POSIX2_FORT_RUN

-1

_POSIX2_LOCALEDEF

-1

_POSIX2_PBS

-1

_POSIX2_PBS_ACCOUNTING

-1

_POSIX2_PBS_LOCATE

-1

_POSIX2_PBS_MESSAGE

-1

_POSIX2_PBS_TRACK

-1

_POSIX2_SW_DEV

-1

_POSIX2_UPE

-1

_POSIX2_UNIX

-1

_POSIX2_UUCP

-1

XSI Conformance

X/Open System Interfaces

X/Open System Interfaces

Symbol

Support

Remarks

_POSIX_FSYNC

200809L

CONFIG_POSIX_FSYNC

_POSIX_THREAD_ATTR_STACKADDR

200809L

CONFIG_POSIX_THREAD_ATTR_STACKADDR

_POSIX_THREAD_ATTR_STACKSIZE

200809L

CONFIG_POSIX_THREAD_ATTR_STACKSIZE

_POSIX_THREAD_PROCESS_SHARED

-1

Note

Some features may exhibit undefined behaviour as they fall beyond the scope of Zephyr’s current design and capabilities. For example, multi-processing, ad-hoc memory-mapping, multiple users, or regular expressions are features that are uncommon in low-footprint embedded systems. Other symbols are marked with the † (obelus) when they appeared in an earlier POSIX edition (for example IEEE 1003.13) but were later removed from the specification and are not treated as current profile requirements in this documentation. Such undefined behaviour is denoted with the † (obelus) symbol. Additional details in POSIX Option Groups and POSIX Options.

Note

Features listed in various POSIX Options or Option Groups may be provided in whole or in part by a conformant C library implementation. This includes (but is not limited to) POSIX Extensions to the ISO C Standard (CX).