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

200809L

CONFIG_POSIX_PRIORITIZED_IO

_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

200809L

CONFIG_POSIX_SPAWN

_POSIX_SPORADIC_SERVER

200809L

CONFIG_POSIX_SPORADIC_SERVER

_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, multiple users, regular expressions, and a conformant shell are features that are uncommon in low-footprint embedded systems. Other symbols are marked with the † (obelus) if they appeared in an earlier POSIX edition (for example IEEE 1003.13) but were later removed from the specification. Such undefined behaviour is denoted with the † (obelus) symbol. For implementation details and known deviations, please see Implementation Details.

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).