blob: 0381b1848200c45b450f7f13f9ebd18f268f16fc [file] [log] [blame]
.. _posix_option_groups:
Subprofiling Option Groups
##########################
.. _posix_option_group_threads_base:
POSIX_THREADS_BASE
==================
The basic assumption in this profile is that the system
consists of a single (implicit) process with multiple threads. Therefore, the
standard requires all basic thread services, except those related to
multiple processes.
.. csv-table:: POSIX_THREADS_BASE
:header: API, Supported
:widths: 50,10
pthread_atfork(),
pthread_attr_destroy(),yes
pthread_attr_getdetachstate(),yes
pthread_attr_getschedparam(),yes
pthread_attr_init(),yes
pthread_attr_setdetachstate(),yes
pthread_attr_setschedparam(),yes
pthread_barrier_destroy(),yes
pthread_barrier_init(),yes
pthread_barrier_wait(),yes
pthread_barrierattr_destroy(),yes
pthread_barrierattr_getpshared(),yes
pthread_barrierattr_init(),yes
pthread_barrierattr_setpshared(),yes
pthread_cancel(),yes
pthread_cleanup_pop(),
pthread_cleanup_push(),
pthread_cond_broadcast(),yes
pthread_cond_destroy(),yes
pthread_cond_init(),yes
pthread_cond_signal(),yes
pthread_cond_timedwait(),yes
pthread_cond_wait(),yes
pthread_condattr_destroy(),yes
pthread_condattr_init(),yes
pthread_create(),yes
pthread_detach(),yes
pthread_equal(),yes
pthread_exit(),yes
pthread_getspecific(),yes
pthread_join(),yes
pthread_key_create(),yes
pthread_key_delete(),yes
pthread_kill(),
pthread_mutex_destroy(),yes
pthread_mutex_init(),yes
pthread_mutex_lock(),yes
pthread_mutex_trylock(),yes
pthread_mutex_unlock(),yes
pthread_mutexattr_destroy(),yes
pthread_mutexattr_init(),yes
pthread_once(),yes
pthread_self(),yes
pthread_setcancelstate(),yes
pthread_setcanceltype(),
pthread_setspecific(),yes
pthread_sigmask(),
pthread_testcancel(),
.. _posix_option_group_xsi_thread_ext:
XSI_THREAD_EXT
==============
The XSI_THREADS_EXT option group is required because it provides
functions to control a thread's stack. This is considered useful for any
real-time application.
This table lists service support status in Zephyr:
.. csv-table:: XSI_THREAD_EXT
:header: API, Supported
:widths: 50,10
pthread_attr_getguardsize(),
pthread_attr_getstack(),yes
pthread_attr_setguardsize(),
pthread_attr_setstack(),yes
pthread_getconcurrency(),
pthread_setconcurrency()
.. _posix_option_group_c_lang_support:
POSIX_C_LANG_SUPPORT
====================
The POSIX_C_LANG_SUPPORT option group contains the general ISO C
Library.
.. csv-table:: POSIX_C_LANG_SUPPORT
:header: API, Supported
:widths: 50,10
abs(),yes
asctime(),
asctime_r(),
atof(),
atoi(),yes
atol(),
atoll(),
bsearch(),yes
calloc(),yes
ctime(),
ctime_r(),
difftime(),
div(),
feclearexcept(),
fegetenv(),
fegetexceptflag(),
fegetround(),
feholdexcept(),
feraiseexcept(),
fesetenv(),
fesetexceptflag(),
fesetround(),
fetestexcept(),
feupdateenv(),
free(),yes
gmtime(),yes
gmtime_r(),yes
imaxabs(),
imaxdiv(),
isalnum(),yes
isalpha(),yes
isblank(),
iscntrl(),yes
isdigit(),yes
isgraph(),yes
islower(),
isprint(),yes
ispunct(),
isspace(),yes
isupper(),yes
isxdigit(),yes
labs(),yes
ldiv(),
llabs(),yes
lldiv(),
localeconv(),
localtime(),yes
localtime_r(),
malloc(),yes
memchr(),yes
memcmp(),yes
memcpy(),yes
memmove(),yes
memset(),yes
mktime(),yes
qsort(),yes
rand(),yes
rand_r(),yes
realloc(),yes
setlocale(),
snprintf(),yes
sprintf(),yes
srand(),yes
sscanf(),
strcat(),yes
strchr(),yes
strcmp(),yes
strcoll(),
strcpy(),yes
strcspn(),yes
strerror(),yes
strerror_r(),yes
strftime(),
strlen(),yes
strncat(),yes
strncmp(),yes
strncpy(),yes
strpbrk(),
strrchr(),yes
strspn(),yes
strstr(),yes
strtod(),
strtof(),
strtoimax(),
strtok(),yes
strtok_r(),yes
strtol(),yes
strtold(),
strtoll(),yes
strtoul(),yes
strtoull(),yes
strtoumax(),
strxfrm(),
time(),yes
tolower(),yes
toupper(),yes
tzname(),
tzset(),
va_arg(),yes
va_copy(),yes
va_end(),yes
va_start(),yes
vsnprintf(),yes
vsprintf(),yes
vsscanf(),
.. _posix_option_group_single_process:
POSIX_SINGLE_PROCESS
====================
The POSIX_SINGLE_PROCESS option group contains services for single
process applications.
.. csv-table:: POSIX_SINGLE_PROCESS
:header: API, Supported
:widths: 50,10
confstr(),
environ,
errno,yes
getenv(),
setenv(),
sysconf(),
uname(),yes
unsetenv()
.. _posix_option_group_signals:
POSIX_SIGNALS
=============
Signal services are a basic mechanism within POSIX-based systems and are
required for error and event handling.
.. csv-table:: POSIX_SIGNALS
:header: API, Supported
:widths: 50,10
abort(),yes
alarm(),
kill(),
pause(),
raise(),
sigaction(),
sigaddset(),yes
sigdelset(),yes
sigemptyset(),yes
sigfillset(),yes
sigismember(),yes
signal(),
sigpending(),
sigprocmask(),
igsuspend(),
sigwait(),
strsignal(),yes
.. _posix_option_group_device_io:
POSIX_DEVICE_IO
===============
.. csv-table:: POSIX_DEVICE_IO
:header: API, Supported
:widths: 50,10
FD_CLR(),yes
FD_ISSET(),yes
FD_SET(),yes
FD_ZERO(),yes
clearerr(),yes
close(),yes
fclose(),
fdopen(),
feof(),
ferror(),
fflush(),
fgetc(),
fgets(),
fileno(),
fopen(),
fprintf(),yes
fputc(),yes
fputs(),yes
fread(),
freopen(),
fscanf(),
fwrite(),yes
getc(),
getchar(),
gets(),
open(),yes
perror(),yes
poll(),yes
printf(),yes
pread(),
pselect(),
putc(),yes
putchar(),yes
puts(),yes
pwrite(),
read(),yes
scanf(),
select(),yes
setbuf(),
setvbuf(),
stderr,
stdin,
stdout,
ungetc(),
vfprintf(),yes
vfscanf(),
vprintf(),yes
vscanf(),
write(),yes
.. _posix_option_group_barriers:
POSIX_BARRIERS
==============
.. csv-table:: POSIX_BARRIERS
:header: API, Supported
:widths: 50,10
pthread_barrier_destroy(),yes
pthread_barrier_init(),yes
pthread_barrier_wait(),yes
pthread_barrierattr_destroy(),yes
pthread_barrierattr_init(),yes
.. _posix_option_group_clock_selection:
POSIX_CLOCK_SELECTION
=====================
.. csv-table:: POSIX_CLOCK_SELECTION
:header: API, Supported
:widths: 50,10
pthread_condattr_getclock(),yes
pthread_condattr_setclock(),yes
clock_nanosleep(),yes
.. _posix_option_group_semaphores:
POSIX_SEMAPHORES
================
.. csv-table:: POSIX_SEMAPHORES
:header: API, Supported
:widths: 50,10
sem_close(),
sem_destroy(),yes
sem_getvalue(),yes
sem_init(),yes
sem_open(),
sem_post(),yes
sem_trywait(),yes
sem_unlink(),
sem_wait(),yes
.. _posix_option_group_spin_locks:
POSIX_SPIN_LOCKS
================
.. csv-table:: POSIX_SPIN_LOCKS
:header: API, Supported
:widths: 50,10
pthread_spin_destroy(),yes
pthread_spin_init(),yes
pthread_spin_lock(),yes
pthread_spin_trylock(),yes
pthread_spin_unlock(),yes
.. _posix_option_group_timers:
POSIX_TIMERS
============
.. csv-table:: POSIX_TIMERS
:header: API, Supported
:widths: 50,10
clock_getres(),
clock_gettime(),yes
clock_settime(),yes
nanosleep(),yes
timer_create(),yes
timer_delete(),yes
timer_gettime(),yes
timer_getoverrun(),yes
timer_settime(),yes
.. _posix_options:
Additional POSIX Options
========================
.. _posix_option_message_passing:
_POSIX_MESSAGE_PASSING
++++++++++++++++++++++
.. csv-table:: _POSIX_MESSAGE_PASSING
:header: API, Supported
:widths: 50,10
mq_close(),yes
mq_getattr(),yes
mq_notify(),
mq_open(),yes
mq_receive(),yes
mq_send(),yes
mq_setattr(),yes
mq_unlink(),yes
_POSIX_PRIORITY_SCHEDULING
++++++++++++++++++++++++++
.. _posix_option_priority_scheduling:
.. csv-table:: _POSIX_PRIORITY_SCHEDULING
:header: API, Supported
:widths: 50,10
sched_get_priority_max(),yes
sched_get_priority_min(),yes
sched_getparam(),
sched_getscheduler(),
sched_rr_get_interval(),
sched_setparam(),
sched_setscheduler(),
sched_yield(),yes
.. _posix_option_reader_writer_locks:
_POSIX_READER_WRITER_LOCKS
++++++++++++++++++++++++++
.. csv-table:: _POSIX_READER_WRITER_LOCKS
:header: API, Supported
:widths: 50,10
pthread_rwlock_destroy(),yes
pthread_rwlock_init(),yes
pthread_rwlock_rdlock(),yes
pthread_rwlock_tryrdlock(),yes
pthread_rwlock_trywrlock(),yes
pthread_rwlock_unlock(),yes
pthread_rwlock_wrlock(),yes
pthread_rwlockattr_destroy(),yes
pthread_rwlockattr_getpshared(),
pthread_rwlockattr_init(),yes
pthread_rwlockattr_setpshared(),
.. _posix_option_thread_attr_stackaddr:
_POSIX_THREAD_ATTR_STACKADDR
++++++++++++++++++++++++++++
.. csv-table:: _POSIX_THREAD_ATTR_STACKADDR
:header: API, Supported
:widths: 50,10
pthread_attr_getstackaddr(),yes
pthread_attr_setstackaddr(),yes
.. _posix_option_thread_attr_stacksize:
_POSIX_THREAD_ATTR_STACKSIZE
++++++++++++++++++++++++++++
.. csv-table:: _POSIX_THREAD_ATTR_STACKSIZE
:header: API, Supported
:widths: 50,10
pthread_attr_getstacksize(),yes
pthread_attr_setstacksize(),yes
.. _posix_option_thread_priority_scheduling:
_POSIX_THREAD_PRIORITY_SCHEDULING
+++++++++++++++++++++++++++++++++
.. csv-table:: _POSIX_THREAD_PRIORITY_SCHEDULING
:header: API, Supported
:widths: 50,10
pthread_attr_getinheritsched(),
pthread_attr_getschedpolicy(),yes
pthread_attr_getscope(),
pthread_attr_setinheritsched(),
pthread_attr_setschedpolicy(),yes
pthread_attr_setscope(),
pthread_getschedparam(),yes
pthread_setschedparam(),yes
pthread_setschedprio(),yes
.. _posix_option_timeouts:
_POSIX_TIMEOUTS
+++++++++++++++
.. csv-table:: _POSIX_TIMEOUTS
:header: API, Supported
:widths: 50,10
mq_timedreceive(),
mq_timedsend(),
pthread_mutex_timedlock(),yes
pthread_rwlock_timedrdlock(),yes
pthread_rwlock_timedwrlock(),yes
sem_timedwait(),yes
posix_trace_timedgetnext_event(),
.. _posix_option_xopen_streams:
_XOPEN_STREAMS
++++++++++++++
.. csv-table:: _XOPEN_STREAMS
:header: API, Supported
:widths: 50,10
fattach(),
fdetach(),
getmsg(),
getpmsg(),
ioctl(),yes
isastream(),
putmsg(),
putpmsg(),