Subprofiling Option Groups

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.

POSIX_THREADS_BASE

API

Supported

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

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:

XSI_THREAD_EXT

API

Supported

pthread_attr_getguardsize()

pthread_attr_getstack()

yes

pthread_attr_setguardsize()

pthread_attr_setstack()

yes

pthread_getconcurrency()

pthread_setconcurrency()

POSIX_C_LANG_SUPPORT

The POSIX_C_LANG_SUPPORT option group contains the general ISO C Library.

POSIX_C_LANG_SUPPORT

API

Supported

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_SINGLE_PROCESS

The POSIX_SINGLE_PROCESS option group contains services for single process applications.

POSIX_SINGLE_PROCESS

API

Supported

confstr()

environ

errno

yes

getenv()

setenv()

sysconf()

uname()

yes

unsetenv()

POSIX_SIGNALS

Signal services are a basic mechanism within POSIX-based systems and are required for error and event handling.

POSIX_SIGNALS

API

Supported

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_DEVICE_IO

POSIX_DEVICE_IO

API

Supported

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_BARRIERS

POSIX_BARRIERS

API

Supported

pthread_barrier_destroy()

yes

pthread_barrier_init()

yes

pthread_barrier_wait()

yes

pthread_barrierattr_destroy()

yes

pthread_barrierattr_init()

yes

POSIX_CLOCK_SELECTION

POSIX_CLOCK_SELECTION

API

Supported

pthread_condattr_getclock()

yes

pthread_condattr_setclock()

yes

clock_nanosleep()

yes

POSIX_SEMAPHORES

POSIX_SEMAPHORES

API

Supported

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_SPIN_LOCKS

POSIX_SPIN_LOCKS

API

Supported

pthread_spin_destroy()

yes

pthread_spin_init()

yes

pthread_spin_lock()

yes

pthread_spin_trylock()

yes

pthread_spin_unlock()

yes

POSIX_TIMERS

POSIX_TIMERS

API

Supported

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

Additional POSIX Options

_POSIX_MESSAGE_PASSING

_POSIX_MESSAGE_PASSING

API

Supported

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_PRIORITY_SCHEDULING

API

Supported

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_READER_WRITER_LOCKS

_POSIX_READER_WRITER_LOCKS

API

Supported

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_THREAD_ATTR_STACKADDR

_POSIX_THREAD_ATTR_STACKADDR

API

Supported

pthread_attr_getstackaddr()

yes

pthread_attr_setstackaddr()

yes

_POSIX_THREAD_ATTR_STACKSIZE

_POSIX_THREAD_ATTR_STACKSIZE

API

Supported

pthread_attr_getstacksize()

yes

pthread_attr_setstacksize()

yes

_POSIX_THREAD_PRIORITY_SCHEDULING

_POSIX_THREAD_PRIORITY_SCHEDULING

API

Supported

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_TIMEOUTS

_POSIX_TIMEOUTS

API

Supported

mq_timedreceive()

mq_timedsend()

pthread_mutex_timedlock()

yes

pthread_rwlock_timedrdlock()

yes

pthread_rwlock_timedwrlock()

yes

sem_timedwait()

yes

posix_trace_timedgetnext_event()

_XOPEN_STREAMS

_XOPEN_STREAMS

API

Supported

fattach()

fdetach()

getmsg()

getpmsg()

ioctl()

yes

isastream()

putmsg()

putpmsg()