POSIX Conformance

As per IEEE 1003.1-2017, this section details Zephyr’s POSIX conformance.

Note

As per POSIX 1003.13, single process mode is supported directly by both PSE51 and PSE52 profiles. While Zephyr includes support for many features found in PSE53, PSE53 itself requires supporting multiple processes. Since supporting multiple processes is beyond the scope of Zephyr’s current design, some features requiring multi-process capabilities may exhibit undefined behaviour, which we denote with the † (obelus) symbol.

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

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_JOB_CONTROL

-1

_POSIX_REGEXP

-1

_POSIX_SAVED_IDS

-1

_POSIX_SHELL

-1

POSIX System Interfaces

Symbol

Support

Remarks

_POSIX_VERSION

200809L

_POSIX_ASYNCHRONOUS_IO

-1

_POSIX_BARRIERS

200809L

CONFIG_PTHREAD_BARRIER

_POSIX_CLOCK_SELECTION

200809L

CONFIG_POSIX_CLOCK

_POSIX_MAPPED_FILES

-1

_POSIX_MEMORY_PROTECTION

-1

_POSIX_READER_WRITER_LOCKS

200809L

CONFIG_PTHREAD_IPC

_POSIX_REALTIME_SIGNALS

-1

_POSIX_SEMAPHORES

200809L

CONFIG_PTHREAD_IPC

_POSIX_SPIN_LOCKS

200809L

CONFIG_PTHREAD_SPINLOCK

_POSIX_THREAD_SAFE_FUNCTIONS

-1

_POSIX_THREADS

-1

CONFIG_PTHREAD_IPC

_POSIX_TIMEOUTS

200809L

CONFIG_PTHREAD_IPC

_POSIX_TIMERS

200809L

CONFIG_POSIX_CLOCK

_POSIX2_C_BIND

200809L

POSIX System Interfaces (Optional)

Symbol

Support

Remarks

_POSIX_ADVISORY_INFO

-1

_POSIX_CPUTIME

200809L

CONFIG_POSIX_CLOCK

_POSIX_FSYNC

-1

_POSIX_IPV6

200809L

CONFIG_NET_IPV6

_POSIX_MEMLOCK

-1

_POSIX_MEMLOCK_RANGE

-1

_POSIX_MESSAGE_PASSING

200809L

CONFIG_POSIX_MQUEUE

_POSIX_MONOTONIC_CLOCK

200809L

CONFIG_POSIX_CLOCK

_POSIX_PRIORITIZED_IO

-1

_POSIX_PRIORITY_SCHEDULING

-1

CONFIG_POSIX_PRIORITY_SCHEDULING (will fail with ENOSYS)

_POSIX_RAW_SOCKETS

200809L

CONFIG_NET_SOCKETS

_POSIX_SHARED_MEMORY_OBJECTS

-1

_POSIX_SPAWN

-1

_POSIX_SPORADIC_SERVER

-1

_POSIX_SYNCHRONIZED_IO

-1

_POSIX_THREAD_ATTR_STACKADDR

200809L

CONFIG_PTHREAD

_POSIX_THREAD_CPUTIME

-1

_POSIX_THREAD_ATTR_STACKSIZE

200809L

CONFIG_PTHREAD

_POSIX_THREAD_PRIO_INHERIT

200809L

CONFIG_PTHREAD_MUTEX

_POSIX_THREAD_PRIO_PROTECT

-1

_POSIX_THREAD_PRIORITY_SCHEDULING

200809L

CONFIG_PTHREAD

_POSIX_THREAD_PROCESS_SHARED

-1

_POSIX_THREAD_SPORADIC_SERVER

-1

_POSIX_TRACE

-1

_POSIX_TRACE_EVENT_FILTER

-1

_POSIX_TRACE_INHERIT

-1

_POSIX_TRACE_LOG

-1

_POSIX_TYPED_MEMORY_OBJECTS

-1

_XOPEN_CRYPT

-1

_XOPEN_REALTIME

-1

_XOPEN_REALTIME_THREADS

-1

_XOPEN_STREAMS

-1

_XOPEN_UNIX

-1

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

XSI System Interfaces

XSI System Interfaces

Symbol

Support

Remarks

_POSIX_FSYNC

-1

_POSIX_THREAD_ATTR_STACKADDR

200809L

CONFIG_PTHREAD

_POSIX_THREAD_ATTR_STACKSIZE

200809L

CONFIG_PTHREAD

_POSIX_THREAD_PROCESS_SHARED

-1