RTEMS POSIX 1003.1 Compliance Guide (5.3).¶
Copyrights and License
This document is available under the Creative Commons Attribution-ShareAlike 4.0 International Public License.
The authors have used their best efforts in preparing this material. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. No warranty of any kind, expressed or implied, with regard to the software or the material contained in this document is provided. No liability arising out of the application or use of any product described in this document is assumed. The authors reserve the right to revise this material and to make changes from time to time in the content hereof without obligation to notify anyone of such revision or changes.
The RTEMS Project is hosted at https://www.rtems.org. Any inquiries concerning RTEMS, its related support components, or its documentation should be directed to the RTEMS Project community.
RTEMS Online Resources
Home | |
Documentation | |
Mailing Lists | |
Bug Reporting | |
Git Repositories | |
Developers |
1. Preface¶
RTEMS supports a variety of POSIX and BSD features including some POSIX methods that are now deemed obsolete and some methods for compatibility with GNU/Linux and FreeBSD. There are multiple POSIX standard versions as well as multiple efforts to tailor (e.g. profile) POSIX for embedded environments. They range in size from less than 200 required capabilities to the full POSIX standard which has over 1200 required capabilities. This document reports on the alignment of RTEMS with various standard versions and defined profiles.
RTEMS supports a number of POSIX process, user, and group oriented routines in what is referred to as a “SUSP” (Single-User, Single Process) manner. RTEMS supports a single process, multithreaded POSIX environment. In a pure world, there would be no reason to even include routines like getpid()
when there can only be one process. But providing routines like getpid()
and making them work in a sensible fashion for an embedded environment while not returning ENOSYS
(for not implemented) makes it significantly easier to port code from a UNIX environment without modifying it.
In general, adding missing methods is always an open project for a volunteer. If considering addressing missing methods, please discuss this on mailing list. Some are properly implemented in the Newlib C Standard Library used by RTEMS. Others may require target architecture specific implementations. Still others may be impossible to implement without multiple processes or can only be implemented in a restricted fashion.
Missing methods required by the C99 standard or FACE Technical Standard Edition 3.0 General Purpose Profile are good candidates to add. Proposals to add missing methods from the C11 standard should be reviewed by RTEMS core developers to ensure the effort is well spent. There are rumors that some optional methods that are not being widely implemented will be removed in a future versino of the C Programming Language standard.
The next chapter in this document describes each of the standards with which the RTEMS alignment is tracked. Each subsequent chapter in this document presents the alignment of RTEMS with a specific standard version or defined profile. Each section with a chapter details the alignment of a specific header file relative to the chapter’s standard or profile. The implementation status of the items required by the standard are listed.
2. Standards¶
This chapter describes each of the standards which RTEMS tracks API alignment with. As a general rules, these standards are related to the POSIX or C programming language standards. Many are the result of domain specific efforts to define subsets or profiles or the full POSIX standard which are suitable for a specific domain. Each API set is considered a “profile” against which the full capability set of RTEMS is evaluated.
The RTEMS Complete Profile is the complete set of POSIX, BSD, and C programming language methods supported by RTEMS. This profile is independent of any standard and represents a union of multiple standards. For example, RTEMS supports BSD derived methods that are not in POSIX.
The IEEE Standard 1003.1 is the POSIX standard. Specifically, IEEE Standard 1003.1-2008 is the 2003 edition of the POSIX standard and IEEE Standard 1003.1-2008 is the 2008 edition. The 2008 is is an update from the 2003 edition. Each edition of the POSIX standard tends to add some methods, deprecate some methods, and obsolete (e.g. remove) other methods.
PSE51 through PSE54 are Open Group defined profiles of the 2003 edition of the POSIX standard. These profiles are:
Profile 54 - Multipurpose
1003.1-2003 Base Multi-process, Threads and File System
Profile 53 - Dedicated
Multi-process, Threads and File System
Profile 52 - Controller
Single Process, Threads, and File System
Profile 51 - Minimal
Single Process, Threads, with No File System
The C99 Programming Language standard defines the Standard C Library. This library is largely included by reference in the POSIX standard.
The C11 Programming Language standard defines also defines an updated version of the Standard C Library. It deletes a few methods from the C99 version but adds many methods. A large portion of these methods are optional and not commonly implemented.
The Open Group FACE Consortium (https://www.opengroup.org/face) has defined four POSIX profiles targetting the avionics application domain. The FACE Technical Standard has been through multiple revisions and the POSIX API profiles are identical in Editions 1.0, 2.0, 2.1, and 2.1.1. In these editions, the profiles are as follows:
Security - 163 APIs, single process, no FILE *
Safety Basic - 246 APIs, single process, some FILE *
Safety Extended - 335 APIs, multi-process, more FILE *
General Purpose - 812 APIs, multi-process, much more
FACE Technical Standard Edition 3.0 adds the requirement for an operating system to support clock_nanosleep()
in all profiles and defines one additional subcommand for the posix_devctl()
methods.
RTEMS provides all of the methods required by the FACE Safety BASE profile and all of the methods in the Safety Extended profile which do not require multiple processes. Similarly, RTEMS provides most of the methods in the General Purpose profile which do not require multiple processes.
The Software Communications Architecture (SCA) specification targets the requirements for software-defined radios. This specification was originally developed in support of the Joint Tactical Radio System (JTRS) program in conjunction with the Object Management Group (OMG). This standard is now maintained by the Wireless Innovation Forum with support from the U.S. Navy Joint Tactical Network Center (JTNC). Some URLs of interest:
SCA at Wireless Innovation Forum - http://www.wirelessinnovation.org/sca-based-standards-library
JTRS - https://en.wikipedia.org/wiki/Joint_Tactical_Radio_System
The SCA standard is hosted at the Wireless Innovation Forum with JTNC hosting supplemental information.
RTEMS includes all methods required by the SCA POSIX profiles.
3. RTEMS Complete Profile¶
This chapter has a subsection per header file to detail the methods provided by RTEMS that are in that header file.
3.1. Summary¶
The follow table summarizes RTEMS supported methods for all tracked standards:
Supported
1008
ENOSYS
19
Not supported
205
3.2. <aio.h>
¶
The following methods and variables in <aio.h>
are supported:
aio_cancel()
aio_error()
aio_fsync()
aio_read()
aio_return()
aio_write()
The following methods in <aio.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
aio_suspend()
lio_listio()
3.3. <arpa/inet.h>
¶
The following methods and variables in <arpa/inet.h>
are supported:
htonl()
htons()
inet_addr()
inet_ntoa()
inet_ntop()
inet_pton()
ntohl()
ntohs()
3.5. <complex.h>
¶
The following methods and variables in <complex.h>
are supported:
cabs()
cabsf()
cabsl()
cacos()
cacosf()
cacosh()
cacoshf()
cacoshl()
cacosl()
carg()
cargf()
cargl()
casin()
casinf()
casinh()
casinhf()
casinhl()
casinl()
catan()
catanf()
catanh()
catanhf()
catanhl()
catanl()
ccos()
ccosf()
ccosh()
ccoshf()
ccoshl()
ccosl()
cexp()
cexpf()
cexpl()
cimag()
cimagf()
cimagl()
clog()
clogf()
clogl()
conj()
conjf()
conjl()
cpow()
cpowf()
cpowl()
cproj()
cprojf()
cprojl()
creal()
crealf()
creall()
csin()
csinf()
csinh()
csinhf()
csinhl()
csinl()
csqrt()
csqrtf()
csqrtl()
ctan()
ctanf()
ctanh()
ctanhf()
ctanhl()
ctanl()
3.6. <ctype.h>
¶
The following methods and variables in <ctype.h>
are supported:
_tolower()
_toupper()
isalnum()
isalnum_l()
isalpha()
isalpha_l()
isascii()
isblank()
isblank_l()
iscntrl()
iscntrl_l()
isdigit()
isdigit_l()
isgraph()
isgraph_l()
islower()
islower_l()
isprint()
isprint_l()
ispunct()
ispunct_l()
isspace()
isspace_l()
isupper()
isupper_l()
isxdigit()
isxdigit_l()
toascii()
tolower()
tolower_l()
toupper()
toupper_l()
3.8. <dirent.h>
¶
The following methods and variables in <dirent.h>
are supported:
alphasort()
closedir()
fdopendir()
opendir()
readdir()
readdir_r()
rewinddir()
scandir()
seekdir()
telldir()
The following methods and variables in <dirent.h>
are not supported:
dirfd()
3.9. <dlfcn.h>
¶
The following methods and variables in <dlfcn.h>
are supported:
dlclose()
dlerror()
dlopen()
dlsym()
3.11. <fcntl.h>
¶
The following methods and variables in <fcntl.h>
are supported:
creat()
fcntl()
open()
The following methods and variables in <fcntl.h>
are not supported:
openat()
posix_fadvise()
posix_fallocate()
posix_openpt()
3.12. <fenv.h>
¶
The following methods and variables in <fenv.h>
are not supported:
feclearexcept()
fegetenv()
fegetexceptflag()
fegetround()
feholdexcept()
feraiseexcept()
fesetenv()
fesetexceptflag()
fesetround()
fetestexcept()
feupdateenv()
3.16. <grp.h>
¶
The following methods and variables in <grp.h>
are supported:
endgrent()
getgrent()
getgrgid()
getgrgid_r()
getgrnam()
getgrnam_r()
setgrent()
3.17. <iconv.h>
¶
The following methods and variables in <iconv.h>
are supported:
iconv()
iconv_close()
iconv_open()
3.18. <inttypes.h>
¶
The following methods and variables in <inttypes.h>
are supported:
imaxabs()
imaxdiv()
strtoimax()
strtoumax()
wcstoimax()
wcstoumax()
3.19. <langinfo.h>
¶
The following methods and variables in <langinfo.h>
are supported:
nl_langinfo()
nl_langinfo_l()
3.20. <libgen.h>
¶
The following methods and variables in <libgen.h>
are supported:
basename()
dirname()
3.21. <locale.h>
¶
The following methods and variables in <locale.h>
are supported:
duplocale()
freelocale()
localeconv()
newlocale()
setlocale()
uselocale()
3.22. <math.h>
¶
The following methods and variables in <math.h>
are supported:
acos()
acosf()
acosh()
acoshf()
acoshl()
acosl()
asin()
asinf()
asinh()
asinhf()
asinhl()
asinl()
atan()
atan2()
atan2f()
atan2l()
atanf()
atanh()
atanhf()
atanhl()
atanl()
cbrt()
cbrtf()
cbrtl()
ceil()
ceilf()
ceill()
copysign()
copysignf()
copysignl()
cos()
cosf()
cosh()
coshf()
coshl()
cosl()
erf()
erfc()
erfcf()
erfcl()
erff()
erfl()
exp()
exp2()
exp2f()
exp2l()
expf()
expl()
expm1()
expm1f()
expm1l()
fabs()
fabsf()
fabsl()
fdim()
fdimf()
fdiml()
floor()
floorf()
floorl()
fma()
fmaf()
fmal()
fmax()
fmaxf()
fmaxl()
fmin()
fminf()
fminl()
fmod()
fmodf()
fmodl()
fpclassify()
frexp()
frexpf()
frexpl()
hypot()
hypotf()
hypotl()
ilogb()
ilogbf()
ilogbl()
isfinite()
isgreater()
isgreaterequal()
isinf()
isless()
islessequal()
islessgreater()
isnan()
isnormal()
isunordered()
ldexp()
ldexpf()
ldexpl()
lgamma()
lgammaf()
lgammal()
llrint()
llrintf()
llrintl()
llround()
llroundf()
llroundl()
log()
log10()
log10f()
log10l()
log1p()
log1pf()
log1pl()
log2()
log2f()
log2l()
logb()
logbf()
logbl()
logf()
logl()
lrint()
lrintf()
lrintl()
lround()
lroundf()
lroundl()
modf()
modff()
modfl()
nan()
nanf()
nanl()
nearbyint()
nearbyintf()
nearbyintl()
nextafter()
nextafterf()
nextafterl()
nexttoward()
nexttowardl()
pow()
powf()
powl()
remainder()
remainderf()
remainderl()
remquo()
remquof()
remquol()
rint()
rintf()
rintl()
round()
roundf()
roundl()
scalb()
scalbln()
scalblnf()
scalblnl()
scalbn()
scalbnf()
scalbnl()
sin()
sinf()
sinh()
sinhf()
sinhl()
sinl()
sqrt()
sqrtf()
sqrtl()
tan()
tanf()
tanh()
tanhf()
tanhl()
tanl()
tgamma()
tgammaf()
tgammal()
trunc()
truncf()
truncl()
The following methods and variables in <math.h>
are not supported:
j0()
j1()
jn()
nexttowardf()
signbit()
signgam
y0()
y1()
yn()
3.23. <monetary.h>
¶
The following methods and variables in <monetary.h>
are not supported:
strfmon()
strfmon_l()
3.24. <mqueue.h>
¶
The following methods and variables in <mqueue.h>
are supported:
mq_close()
mq_getattr()
mq_notify()
mq_open()
mq_receive()
mq_send()
mq_setattr()
mq_timedreceive()
mq_timedsend()
mq_unlink()
3.25. <ndbm.h>
¶
The following methods and variables in <ndbm.h>
are supported:
dbm_clearerr()
dbm_close()
dbm_delete()
dbm_error()
dbm_fetch()
dbm_firstkey()
dbm_nextkey()
dbm_open()
dbm_store()
3.26. <net/if.h>
¶
The following methods and variables in <net/if.h>
are supported:
if_freenameindex()
if_indextoname()
if_nameindex()
if_nametoindex()
3.27. <netdb.h>
¶
The following methods and variables in <netdb.h>
are supported:
endhostent()
endnetent()
endprotoent()
endservent()
freeaddrinfo()
gai_strerror()
getaddrinfo()
gethostbyaddr()
gethostbyname()
gethostent()
getnameinfo()
getnetbyaddr()
getnetbyname()
getnetent()
getprotobyname()
getprotobynumber()
getprotoent()
getservbyname()
getservbyport()
getservent()
h_errno
sethostent()
setnetent()
setprotoent()
setservent()
3.28. <nl_types.h>
¶
The following methods and variables in <nl_types.h>
are not supported:
catclose()
catgets()
catopen()
3.30. <pthread.h>
¶
The following methods and variables in <pthread.h>
are supported:
pthread_attr_destroy()
pthread_attr_getdetachstate()
pthread_attr_getguardsize()
pthread_attr_getinheritsched()
pthread_attr_getschedparam()
pthread_attr_getschedpolicy()
pthread_attr_getscope()
pthread_attr_getstack()
pthread_attr_getstackaddr()
pthread_attr_getstacksize()
pthread_attr_init()
pthread_attr_setdetachstate()
pthread_attr_setguardsize()
pthread_attr_setinheritsched()
pthread_attr_setschedparam()
pthread_attr_setschedpolicy()
pthread_attr_setscope()
pthread_attr_setstack()
pthread_attr_setstackaddr()
pthread_attr_setstacksize()
pthread_barrier_destroy()
pthread_barrier_init()
pthread_barrier_wait()
pthread_barrierattr_destroy()
pthread_barrierattr_getpshared()
pthread_barrierattr_init()
pthread_barrierattr_setpshared()
pthread_cancel()
pthread_cleanup_pop()
pthread_cleanup_push()
pthread_cond_broadcast()
pthread_cond_destroy()
pthread_cond_init()
pthread_cond_signal()
pthread_cond_timedwait()
pthread_cond_wait()
pthread_condattr_destroy()
pthread_condattr_getclock()
pthread_condattr_getpshared()
pthread_condattr_init()
pthread_condattr_setclock()
pthread_condattr_setpshared()
pthread_create()
pthread_detach()
pthread_equal()
pthread_exit()
pthread_getconcurrency()
pthread_getschedparam()
pthread_getspecific()
pthread_join()
pthread_key_create()
pthread_key_delete()
pthread_mutex_destroy()
pthread_mutex_getprioceiling()
pthread_mutex_init()
pthread_mutex_lock()
pthread_mutex_setprioceiling()
pthread_mutex_timedlock()
pthread_mutex_trylock()
pthread_mutex_unlock()
pthread_mutexattr_destroy()
pthread_mutexattr_getprioceiling()
pthread_mutexattr_getprotocol()
pthread_mutexattr_getpshared()
pthread_mutexattr_gettype()
pthread_mutexattr_init()
pthread_mutexattr_setprioceiling()
pthread_mutexattr_setprotocol()
pthread_mutexattr_setpshared()
pthread_mutexattr_settype()
pthread_once()
pthread_rwlock_destroy()
pthread_rwlock_init()
pthread_rwlock_rdlock()
pthread_rwlock_timedrdlock()
pthread_rwlock_timedwrlock()
pthread_rwlock_tryrdlock()
pthread_rwlock_trywrlock()
pthread_rwlock_unlock()
pthread_rwlock_wrlock()
pthread_rwlockattr_destroy()
pthread_rwlockattr_getpshared()
pthread_rwlockattr_init()
pthread_rwlockattr_setpshared()
pthread_self()
pthread_setcancelstate()
pthread_setcanceltype()
pthread_setconcurrency()
pthread_setschedparam()
pthread_setschedprio()
pthread_setspecific()
pthread_spin_destroy()
pthread_spin_init()
pthread_spin_lock()
pthread_spin_trylock()
pthread_spin_unlock()
pthread_testcancel()
The following methods in <pthread.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
pthread_atfork()
pthread_getcpuclockid()
The following methods and variables in <pthread.h>
are not supported:
pthread_mutex_consistent()
pthread_mutexattr_getrobust()
pthread_mutexattr_setrobust()
3.31. <pwd.h>
¶
The following methods and variables in <pwd.h>
are supported:
endpwent()
getpwent()
getpwnam()
getpwnam_r()
getpwuid()
getpwuid_r()
setpwent()
3.32. <regex.h>
¶
The following methods and variables in <regex.h>
are supported:
regcomp()
regerror()
regexec()
regfree()
3.33. <sched.h>
¶
The following methods and variables in <sched.h>
are supported:
sched_get_priority_max()
sched_get_priority_min()
sched_rr_get_interval()
sched_yield()
The following methods in <sched.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
sched_getparam()
sched_getscheduler()
sched_setparam()
sched_setscheduler()
3.34. <search.h>
¶
The following methods and variables in <search.h>
are supported:
hcreate()
hdestroy()
hsearch()
tdelete()
tfind()
tsearch()
twalk()
The following methods and variables in <search.h>
are not supported:
insque()
lfind()
lsearch()
remque()
3.35. <semaphore.h>
¶
The following methods and variables in <semaphore.h>
are supported:
sem_close()
sem_destroy()
sem_getvalue()
sem_init()
sem_open()
sem_post()
sem_timedwait()
sem_trywait()
sem_unlink()
sem_wait()
3.36. <setjmp.h>
¶
The following methods and variables in <setjmp.h>
are supported:
longjmp()
setjmp()
siglongjmp()
sigsetjmp()
The following methods and variables in <setjmp.h>
are not supported:
_longjmp()
_setjmp()
3.37. <signal.h>
¶
The following methods and variables in <signal.h>
are supported:
bsd_signal()
kill()
psignal()
pthread_kill()
pthread_sigmask()
raise()
sigaction()
sigaddset()
sigdelset()
sigemptyset()
sigfillset()
sigismember()
signal()
sigpending()
sigprocmask()
sigqueue()
sigsuspend()
sigtimedwait()
sigwait()
sigwaitinfo()
The following methods and variables in <signal.h>
are not supported:
killpg()
psiginfo()
sigaltstack()
sighold()
sigignore()
siginterrupt()
sigpause()
sigrelse()
sigset()
3.38. <spawn.h>
¶
The following methods and variables in <spawn.h>
are not supported:
posix_spawn()
posix_spawn_file_actions_addclose()
posix_spawn_file_actions_adddup2()
posix_spawn_file_actions_addopen()
posix_spawn_file_actions_destroy()
posix_spawn_file_actions_init()
posix_spawnattr_destroy()
posix_spawnattr_getflags()
posix_spawnattr_getpgroup()
posix_spawnattr_getschedparam()
posix_spawnattr_getschedpolicy()
posix_spawnattr_getsigdefault()
posix_spawnattr_getsigmask()
posix_spawnattr_init()
posix_spawnattr_setflags()
posix_spawnattr_setpgroup()
posix_spawnattr_setschedparam()
posix_spawnattr_setschedpolicy()
posix_spawnattr_setsigdefault()
posix_spawnattr_setsigmask()
posix_spawnp()
3.39. <stdarg.h>
¶
The following methods and variables in <stdarg.h>
are supported:
va_arg()
va_copy()
va_end()
va_start()
3.41. <stdio.h>
¶
The following methods and variables in <stdio.h>
are supported:
clearerr()
ctermid()
dprintf()
fclose()
fdopen()
feof()
ferror()
fflush()
fgetc()
fgetpos()
fgets()
fileno()
flockfile()
fmemopen()
fopen()
fprintf()
fputc()
fputs()
fread()
freopen()
fscanf()
fseek()
fseeko()
fsetpos()
ftell()
ftello()
ftrylockfile()
funlockfile()
fwrite()
getc()
getc_unlocked()
getchar()
getchar_unlocked()
gets()
open_memstream()
perror()
printf()
putc()
putc_unlocked()
putchar()
putchar_unlocked()
puts()
remove()
rename()
rewind()
scanf()
setbuf()
setvbuf()
snprintf()
sprintf()
sscanf()
stderr
stdin
stdout
tempnam()
tmpfile()
tmpnam()
ungetc()
vdprintf()
vfprintf()
vfscanf()
vprintf()
vscanf()
vsnprintf()
vsprintf()
vsscanf()
The following methods and variables in <stdio.h>
are not supported:
getdelim()
getline()
pclose()
popen()
renameat()
3.42. <stdlib.h>
¶
The following methods and variables in <stdlib.h>
are supported:
_Exit()
a64l()
abort()
abs()
atexit()
atof()
atoi()
atol()
atoll()
bsearch()
calloc()
div()
drand48()
ecvt()
erand48()
exit()
fcvt()
free()
gcvt()
getenv()
getsubopt()
jrand48()
l64a()
labs()
lcong48()
ldiv()
llabs()
lldiv()
lrand48()
malloc()
mblen()
mbstowcs()
mbtowc()
mkdtemp()
mkstemp()
mrand48()
nrand48()
posix_memalign()
putenv()
qsort()
rand()
rand_r()
random()
realloc()
realpath()
seed48()
setenv()
srand()
srand48()
srandom()
strtod()
strtof()
strtol()
strtold()
strtoll()
strtoul()
strtoull()
unsetenv()
wcstombs()
wctomb()
The following methods in <stdlib.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
system()
The following methods and variables in <stdlib.h>
are not supported:
grantpt()
initstate()
ptsname()
setkey()
setstate()
unlockpt()
3.43. <string.h>
¶
The following methods and variables in <string.h>
are supported:
memccpy()
memchr()
memcmp()
memcpy()
memmove()
memset()
stpcpy()
stpncpy()
strcat()
strchr()
strcmp()
strcoll()
strcoll_l()
strcpy()
strcspn()
strdup()
strerror()
strerror_l()
strerror_r()
strlen()
strncat()
strncmp()
strncpy()
strndup()
strnlen()
strpbrk()
strrchr()
strsignal()
strspn()
strstr()
strtok()
strtok_r()
strxfrm()
strxfrm_l()
3.44. <strings.h>
¶
The following methods and variables in <strings.h>
are supported:
bcmp()
bcopy()
ffs()
index()
rindex()
strcasecmp()
strcasecmp_l()
strncasecmp()
strncasecmp_l()
3.45. <stropts.h>
¶
The following methods and variables in <stropts.h>
are supported:
ioctl()
The following methods and variables in <stropts.h>
are not supported:
fattach()
fdetach()
getmsg()
getpmsg()
isastream()
putmsg()
putpmsg()
3.47. <sys/mman.h>
¶
The following methods and variables in <sys/mman.h>
are supported:
mlock()
mlockall()
mmap()
mprotect()
msync()
munlock()
munlockall()
munmap()
posix_madvise()
shm_open()
shm_unlink()
The following methods and variables in <sys/mman.h>
are not supported:
posix_mem_offset()
posix_typed_mem_get_info()
posix_typed_mem_open()
3.48. <sys/msg.h>
¶
The following methods and variables in <sys/msg.h>
are not supported:
msgctl()
msgget()
msgrcv()
msgsnd()
3.49. <sys/resource.h>
¶
The following methods and variables in <sys/resource.h>
are supported:
getrusage()
The following methods and variables in <sys/resource.h>
are not supported:
getpriority()
getrlimit()
setpriority()
setrlimit()
3.50. <sys/select.h>
¶
The following methods and variables in <sys/select.h>
are supported:
FD_CLR()
FD_ISSET()
FD_SET()
FD_ZERO()
select()
The following methods and variables in <sys/select.h>
are not supported:
pselect()
3.51. <sys/sem.h>
¶
The following methods and variables in <sys/sem.h>
are not supported:
semctl()
semget()
semop()
3.52. <sys/shm.h>
¶
The following methods and variables in <sys/shm.h>
are not supported:
shmat()
shmctl()
shmdt()
shmget()
3.53. <sys/socket.h>
¶
The following methods and variables in <sys/socket.h>
are supported:
accept()
bind()
connect()
getpeername()
getsockname()
getsockopt()
listen()
recv()
recvfrom()
recvmsg()
send()
sendmsg()
sendto()
setsockopt()
shutdown()
socket()
socketpair()
The following methods and variables in <sys/socket.h>
are not supported:
sockatmark()
3.54. <sys/stat.h>
¶
The following methods and variables in <sys/stat.h>
are supported:
chmod()
fchmod()
fstat()
lstat()
mkdir()
mkfifo()
mknod()
stat()
umask()
The following methods and variables in <sys/stat.h>
are not supported:
fchmodat()
fstatat()
futimens()
mkdirat()
mkfifoat()
mknodat()
utimensat()
3.55. <sys/statvfs.h>
¶
The following methods and variables in <sys/statvfs.h>
are supported:
statvfs()
The following methods and variables in <sys/statvfs.h>
are not supported:
fstatvfs()
3.56. <sys/time.h>
¶
The following methods and variables in <sys/time.h>
are supported:
gettimeofday()
times()
utimes()
The following methods in <sys/time.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
getitimer()
setitimer()
3.57. <sys/uio.h>
¶
The following methods and variables in <sys/uio.h>
are supported:
readv()
writev()
3.58. <sys/utsname.h>
¶
The following methods and variables in <sys/utsname.h>
are supported:
uname()
3.59. <sys/wait.h>
¶
The following methods and variables in <sys/wait.h>
are supported:
wait()
waitpid()
The following methods and variables in <sys/wait.h>
are not supported:
waitid()
3.60. <syslog.h>
¶
The following methods and variables in <syslog.h>
are not supported:
closelog()
openlog()
setlogmask()
syslog()
3.61. <termios.h>
¶
The following methods and variables in <termios.h>
are supported:
cfgetispeed()
cfgetospeed()
cfsetispeed()
cfsetospeed()
tcdrain()
tcflow()
tcflush()
tcgetattr()
tcsendbreak()
tcsetattr()
The following methods and variables in <termios.h>
are not supported:
tcgetsid()
3.62. <threads.h>
¶
The following methods and variables in <threads.h>
are supported:
call_once()
cnd_broadcast()
cnd_destroy()
cnd_init()
cnd_signal()
cnd_timedwait()
cnd_wait()
mtx_destroy()
mtx_init()
mtx_lock()
mtx_timedlock()
mtx_trylock()
mtx_unlock()
thrd_create()
thrd_current()
thrd_detach()
thrd_equal()
thrd_exit()
thrd_join()
thrd_sleep()
thrd_yield()
tss_create()
tss_delete()
tss_get()
tss_set()
3.63. <time.h>
¶
The following methods and variables in <time.h>
are supported:
asctime()
asctime_r()
clock()
clock_getres()
clock_gettime()
clock_nanosleep()
clock_settime()
ctime()
ctime_r()
difftime()
gmtime()
gmtime_r()
localtime()
localtime_r()
mktime()
nanosleep()
strftime()
strftime_l()
strptime()
time()
timer_create()
timer_delete()
timer_getoverrun()
timer_gettime()
timer_settime()
timezone
tzname
tzset()
The following methods in <time.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
clock_getcpuclockid()
The following methods and variables in <time.h>
are not supported:
daylight
getdate()
getdate_err
3.64. <trace.h>
¶
The following methods and variables in <trace.h>
are not supported:
posix_trace_attr_destroy()
posix_trace_attr_getclockres()
posix_trace_attr_getcreatetime()
posix_trace_attr_getgenversion()
posix_trace_attr_getinherited()
posix_trace_attr_getlogfullpolicy()
posix_trace_attr_getlogsize()
posix_trace_attr_getmaxdatasize()
posix_trace_attr_getmaxsystemeventsize()
posix_trace_attr_getmaxusereventsize()
posix_trace_attr_getname()
posix_trace_attr_getstreamfullpolicy()
posix_trace_attr_getstreamsize()
posix_trace_attr_init()
posix_trace_attr_setinherited()
posix_trace_attr_setlogfullpolicy()
posix_trace_attr_setlogsize()
posix_trace_attr_setmaxdatasize()
posix_trace_attr_setname()
posix_trace_attr_setstreamfullpolicy()
posix_trace_attr_setstreamsize()
posix_trace_clear()
posix_trace_close()
posix_trace_create()
posix_trace_create_withlog()
posix_trace_event()
posix_trace_eventid_equal()
posix_trace_eventid_get_name()
posix_trace_eventid_open()
posix_trace_eventset_add()
posix_trace_eventset_del()
posix_trace_eventset_empty()
posix_trace_eventset_fill()
posix_trace_eventset_ismember()
posix_trace_eventtypelist_getnext_id()
posix_trace_eventtypelist_rewind()
posix_trace_flush()
posix_trace_get_attr()
posix_trace_get_filter()
posix_trace_get_status()
posix_trace_getnext_event()
posix_trace_open()
posix_trace_rewind()
posix_trace_set_filter()
posix_trace_shutdown()
posix_trace_start()
posix_trace_stop()
posix_trace_timedgetnext_event()
posix_trace_trid_eventid_open()
posix_trace_trygetnext_event()
3.66. <unistd.h>
¶
The following methods and variables in <unistd.h>
are supported:
_exit()
access()
alarm()
chdir()
chown()
close()
dup()
dup2()
environ
fchdir()
fchown()
fdatasync()
fpathconf()
fsync()
ftruncate()
getcwd()
getegid()
geteuid()
getgid()
getgroups()
gethostname()
getlogin()
getlogin_r()
getopt()
getpgrp()
getpid()
getppid()
getuid()
isatty()
lchown()
link()
lseek()
optarg
opterr
optind
optopt
pathconf()
pause()
pipe()
pread()
pwrite()
read()
readlink()
rmdir()
setegid()
seteuid()
setgid()
setpgid()
setsid()
setuid()
sleep()
swab()
symlink()
sync()
sysconf()
tcgetpgrp()
tcsetpgrp()
truncate()
ttyname()
ttyname_r()
ualarm()
unlink()
usleep()
write()
The following methods in <unistd.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
execl()
execle()
execlp()
execv()
execve()
execvp()
fork()
The following methods and variables in <unistd.h>
are not supported:
confstr()
crypt()
encrypt()
faccessat()
fchownat()
fexecve()
gethostid()
getpgid()
getsid()
linkat()
lockf()
nice()
readlinkat()
setpgrp()
setregid()
setreuid()
symlinkat()
unlinkat()
3.68. <utmpx.h>
¶
The following methods and variables in <utmpx.h>
are not supported:
endutxent()
getutxent()
getutxid()
getutxline()
pututxline()
setutxent()
3.69. <wchar.h>
¶
The following methods and variables in <wchar.h>
are supported:
btowc()
fgetwc()
fgetws()
fputwc()
fputws()
fwide()
fwprintf()
fwscanf()
getwc()
getwchar()
mbrlen()
mbrtowc()
mbsinit()
mbsnrtowcs()
mbsrtowcs()
open_wmemstream()
putwc()
putwchar()
swprintf()
swscanf()
ungetwc()
vfwprintf()
vfwscanf()
vswprintf()
vswscanf()
vwprintf()
vwscanf()
wcpcpy()
wcpncpy()
wcrtomb()
wcscasecmp()
wcscasecmp_l()
wcscat()
wcschr()
wcscmp()
wcscoll()
wcscoll_l()
wcscpy()
wcscspn()
wcsdup()
wcsftime()
wcslen()
wcsncasecmp()
wcsncat()
wcsncmp()
wcsncpy()
wcsnlen()
wcsnrtombs()
wcspbrk()
wcsrchr()
wcsrtombs()
wcsspn()
wcsstr()
wcstod()
wcstof()
wcstok()
wcstol()
wcstold()
wcstoll()
wcstoul()
wcstoull()
wcswidth()
wcsxfrm()
wcsxfrm_l()
wctob()
wcwidth()
wmemchr()
wmemcmp()
wmemcpy()
wmemmove()
wmemset()
wprintf()
wscanf()
The following methods and variables in <wchar.h>
are not supported:
wcsncasemcp_l()
3.70. <wctype.h>
¶
The following methods and variables in <wctype.h>
are supported:
iswalnum()
iswalnum_l()
iswalpha()
iswalpha_l()
iswblank()
iswblank_l()
iswcntrl()
iswcntrl_l()
iswctype()
iswctype_l()
iswdigit()
iswdigit_l()
iswgraph()
iswgraph_l()
iswlower()
iswlower_l()
iswprint()
iswprint_l()
iswpunct()
iswpunct_l()
iswspace()
iswspace_l()
iswupper()
iswupper_l()
iswxdigit()
iswxdigit_l()
towctrans()
towctrans_l()
towlower()
towlower_l()
towupper()
towupper_l()
wctrans()
wctrans_l()
wctype()
wctype_l()
3.71. <wordexp.h>
¶
The following methods and variables in <wordexp.h>
are not supported:
wordexp()
wordfree()
4. POSIX-2008¶
This chapter has a subsection per header file to detail the methods provided by RTEMS that are in that header file.
4.1. Summary¶
The follow table summarizes alignment with the POSIX-2008 standard:
Supported
968
ENOSYS
19
Not supported
205
4.2. <aio.h>
¶
The following methods and variables in <aio.h>
are supported:
aio_cancel()
aio_error()
aio_fsync()
aio_read()
aio_return()
aio_write()
The following methods in <aio.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
aio_suspend()
lio_listio()
4.3. <arpa/inet.h>
¶
The following methods and variables in <arpa/inet.h>
are supported:
htonl()
htons()
inet_addr()
inet_ntoa()
inet_ntop()
inet_pton()
ntohl()
ntohs()
4.5. <complex.h>
¶
The following methods and variables in <complex.h>
are supported:
cabs()
cabsf()
cabsl()
cacos()
cacosf()
cacosh()
cacoshf()
cacoshl()
cacosl()
carg()
cargf()
cargl()
casin()
casinf()
casinh()
casinhf()
casinhl()
casinl()
catan()
catanf()
catanh()
catanhf()
catanhl()
catanl()
ccos()
ccosf()
ccosh()
ccoshf()
ccoshl()
ccosl()
cexp()
cexpf()
cexpl()
cimag()
cimagf()
cimagl()
clog()
clogf()
clogl()
conj()
conjf()
conjl()
cpow()
cpowf()
cpowl()
cproj()
cprojf()
cprojl()
creal()
crealf()
creall()
csin()
csinf()
csinh()
csinhf()
csinhl()
csinl()
csqrt()
csqrtf()
csqrtl()
ctan()
ctanf()
ctanh()
ctanhf()
ctanhl()
ctanl()
4.6. <ctype.h>
¶
The following methods and variables in <ctype.h>
are supported:
_tolower()
_toupper()
isalnum()
isalnum_l()
isalpha()
isalpha_l()
isascii()
isblank()
isblank_l()
iscntrl()
iscntrl_l()
isdigit()
isdigit_l()
isgraph()
isgraph_l()
islower()
islower_l()
isprint()
isprint_l()
ispunct()
ispunct_l()
isspace()
isspace_l()
isupper()
isupper_l()
isxdigit()
isxdigit_l()
toascii()
tolower()
tolower_l()
toupper()
toupper_l()
4.7. <dirent.h>
¶
The following methods and variables in <dirent.h>
are supported:
alphasort()
closedir()
fdopendir()
opendir()
readdir()
readdir_r()
rewinddir()
scandir()
seekdir()
telldir()
The following methods and variables in <dirent.h>
are not supported:
dirfd()
4.8. <dlfcn.h>
¶
The following methods and variables in <dlfcn.h>
are supported:
dlclose()
dlerror()
dlopen()
dlsym()
4.10. <fcntl.h>
¶
The following methods and variables in <fcntl.h>
are supported:
creat()
fcntl()
open()
The following methods and variables in <fcntl.h>
are not supported:
openat()
posix_fadvise()
posix_fallocate()
posix_openpt()
4.11. <fenv.h>
¶
The following methods and variables in <fenv.h>
are not supported:
feclearexcept()
fegetenv()
fegetexceptflag()
fegetround()
feholdexcept()
feraiseexcept()
fesetenv()
fesetexceptflag()
fesetround()
fetestexcept()
feupdateenv()
4.15. <grp.h>
¶
The following methods and variables in <grp.h>
are supported:
endgrent()
getgrent()
getgrgid()
getgrgid_r()
getgrnam()
getgrnam_r()
setgrent()
4.16. <iconv.h>
¶
The following methods and variables in <iconv.h>
are supported:
iconv()
iconv_close()
iconv_open()
4.17. <inttypes.h>
¶
The following methods and variables in <inttypes.h>
are supported:
imaxabs()
imaxdiv()
strtoimax()
strtoumax()
wcstoimax()
wcstoumax()
4.18. <langinfo.h>
¶
The following methods and variables in <langinfo.h>
are supported:
nl_langinfo()
nl_langinfo_l()
4.19. <libgen.h>
¶
The following methods and variables in <libgen.h>
are supported:
basename()
dirname()
4.20. <locale.h>
¶
The following methods and variables in <locale.h>
are supported:
duplocale()
freelocale()
localeconv()
newlocale()
setlocale()
uselocale()
4.21. <math.h>
¶
The following methods and variables in <math.h>
are supported:
acos()
acosf()
acosh()
acoshf()
acoshl()
acosl()
asin()
asinf()
asinh()
asinhf()
asinhl()
asinl()
atan()
atan2()
atan2f()
atan2l()
atanf()
atanh()
atanhf()
atanhl()
atanl()
cbrt()
cbrtf()
cbrtl()
ceil()
ceilf()
ceill()
copysign()
copysignf()
copysignl()
cos()
cosf()
cosh()
coshf()
coshl()
cosl()
erf()
erfc()
erfcf()
erfcl()
erff()
erfl()
exp()
exp2()
exp2f()
exp2l()
expf()
expl()
expm1()
expm1f()
expm1l()
fabs()
fabsf()
fabsl()
fdim()
fdimf()
fdiml()
floor()
floorf()
floorl()
fma()
fmaf()
fmal()
fmax()
fmaxf()
fmaxl()
fmin()
fminf()
fminl()
fmod()
fmodf()
fmodl()
fpclassify()
frexp()
frexpf()
frexpl()
hypot()
hypotf()
hypotl()
ilogb()
ilogbf()
ilogbl()
isfinite()
isgreater()
isgreaterequal()
isinf()
isless()
islessequal()
islessgreater()
isnan()
isnormal()
isunordered()
ldexp()
ldexpf()
ldexpl()
lgamma()
lgammaf()
lgammal()
llrint()
llrintf()
llrintl()
llround()
llroundf()
llroundl()
log()
log10()
log10f()
log10l()
log1p()
log1pf()
log1pl()
log2()
log2f()
log2l()
logb()
logbf()
logbl()
logf()
logl()
lrint()
lrintf()
lrintl()
lround()
lroundf()
lroundl()
modf()
modff()
modfl()
nan()
nanf()
nanl()
nearbyint()
nearbyintf()
nearbyintl()
nextafter()
nextafterf()
nextafterl()
nexttoward()
nexttowardl()
pow()
powf()
powl()
remainder()
remainderf()
remainderl()
remquo()
remquof()
remquol()
rint()
rintf()
rintl()
round()
roundf()
roundl()
scalbln()
scalblnf()
scalblnl()
scalbn()
scalbnf()
scalbnl()
sin()
sinf()
sinh()
sinhf()
sinhl()
sinl()
sqrt()
sqrtf()
sqrtl()
tan()
tanf()
tanh()
tanhf()
tanhl()
tanl()
tgamma()
tgammaf()
tgammal()
trunc()
truncf()
truncl()
The following methods and variables in <math.h>
are not supported:
j0()
j1()
jn()
nexttowardf()
signbit()
signgam
y0()
y1()
yn()
4.22. <monetary.h>
¶
The following methods and variables in <monetary.h>
are not supported:
strfmon()
strfmon_l()
4.23. <mqueue.h>
¶
The following methods and variables in <mqueue.h>
are supported:
mq_close()
mq_getattr()
mq_notify()
mq_open()
mq_receive()
mq_send()
mq_setattr()
mq_timedreceive()
mq_timedsend()
mq_unlink()
4.24. <ndbm.h>
¶
The following methods and variables in <ndbm.h>
are supported:
dbm_clearerr()
dbm_close()
dbm_delete()
dbm_error()
dbm_fetch()
dbm_firstkey()
dbm_nextkey()
dbm_open()
dbm_store()
4.25. <net/if.h>
¶
The following methods and variables in <net/if.h>
are supported:
if_freenameindex()
if_indextoname()
if_nameindex()
if_nametoindex()
4.26. <netdb.h>
¶
The following methods and variables in <netdb.h>
are supported:
endhostent()
endnetent()
endprotoent()
endservent()
freeaddrinfo()
gai_strerror()
getaddrinfo()
gethostent()
getnameinfo()
getnetbyaddr()
getnetbyname()
getnetent()
getprotobyname()
getprotobynumber()
getprotoent()
getservbyname()
getservbyport()
getservent()
sethostent()
setnetent()
setprotoent()
setservent()
4.27. <nl_types.h>
¶
The following methods and variables in <nl_types.h>
are not supported:
catclose()
catgets()
catopen()
4.29. <pthread.h>
¶
The following methods and variables in <pthread.h>
are supported:
pthread_attr_destroy()
pthread_attr_getdetachstate()
pthread_attr_getguardsize()
pthread_attr_getinheritsched()
pthread_attr_getschedparam()
pthread_attr_getschedpolicy()
pthread_attr_getscope()
pthread_attr_getstack()
pthread_attr_getstackaddr()
pthread_attr_getstacksize()
pthread_attr_init()
pthread_attr_setdetachstate()
pthread_attr_setguardsize()
pthread_attr_setinheritsched()
pthread_attr_setschedparam()
pthread_attr_setschedpolicy()
pthread_attr_setscope()
pthread_attr_setstack()
pthread_attr_setstackaddr()
pthread_attr_setstacksize()
pthread_barrier_destroy()
pthread_barrier_init()
pthread_barrier_wait()
pthread_barrierattr_destroy()
pthread_barrierattr_getpshared()
pthread_barrierattr_init()
pthread_barrierattr_setpshared()
pthread_cancel()
pthread_cleanup_pop()
pthread_cleanup_push()
pthread_cond_broadcast()
pthread_cond_destroy()
pthread_cond_init()
pthread_cond_signal()
pthread_cond_timedwait()
pthread_cond_wait()
pthread_condattr_destroy()
pthread_condattr_getclock()
pthread_condattr_getpshared()
pthread_condattr_init()
pthread_condattr_setclock()
pthread_condattr_setpshared()
pthread_create()
pthread_detach()
pthread_equal()
pthread_exit()
pthread_getconcurrency()
pthread_getschedparam()
pthread_getspecific()
pthread_join()
pthread_key_create()
pthread_key_delete()
pthread_mutex_destroy()
pthread_mutex_getprioceiling()
pthread_mutex_init()
pthread_mutex_lock()
pthread_mutex_setprioceiling()
pthread_mutex_timedlock()
pthread_mutex_trylock()
pthread_mutex_unlock()
pthread_mutexattr_destroy()
pthread_mutexattr_getprioceiling()
pthread_mutexattr_getprotocol()
pthread_mutexattr_getpshared()
pthread_mutexattr_gettype()
pthread_mutexattr_init()
pthread_mutexattr_setprioceiling()
pthread_mutexattr_setprotocol()
pthread_mutexattr_setpshared()
pthread_mutexattr_settype()
pthread_once()
pthread_rwlock_destroy()
pthread_rwlock_init()
pthread_rwlock_rdlock()
pthread_rwlock_timedrdlock()
pthread_rwlock_timedwrlock()
pthread_rwlock_tryrdlock()
pthread_rwlock_trywrlock()
pthread_rwlock_unlock()
pthread_rwlock_wrlock()
pthread_rwlockattr_destroy()
pthread_rwlockattr_getpshared()
pthread_rwlockattr_init()
pthread_rwlockattr_setpshared()
pthread_self()
pthread_setcancelstate()
pthread_setcanceltype()
pthread_setconcurrency()
pthread_setschedparam()
pthread_setschedprio()
pthread_setspecific()
pthread_spin_destroy()
pthread_spin_init()
pthread_spin_lock()
pthread_spin_trylock()
pthread_spin_unlock()
pthread_testcancel()
The following methods in <pthread.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
pthread_atfork()
pthread_getcpuclockid()
The following methods and variables in <pthread.h>
are not supported:
pthread_mutex_consistent()
pthread_mutexattr_getrobust()
pthread_mutexattr_setrobust()
4.30. <pwd.h>
¶
The following methods and variables in <pwd.h>
are supported:
endpwent()
getpwent()
getpwnam()
getpwnam_r()
getpwuid()
getpwuid_r()
setpwent()
4.31. <regex.h>
¶
The following methods and variables in <regex.h>
are supported:
regcomp()
regerror()
regexec()
regfree()
4.32. <sched.h>
¶
The following methods and variables in <sched.h>
are supported:
sched_get_priority_max()
sched_get_priority_min()
sched_rr_get_interval()
sched_yield()
The following methods in <sched.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
sched_getparam()
sched_getscheduler()
sched_setparam()
sched_setscheduler()
4.33. <search.h>
¶
The following methods and variables in <search.h>
are supported:
hcreate()
hdestroy()
hsearch()
tdelete()
tfind()
tsearch()
twalk()
The following methods and variables in <search.h>
are not supported:
insque()
lfind()
lsearch()
remque()
4.34. <semaphore.h>
¶
The following methods and variables in <semaphore.h>
are supported:
sem_close()
sem_destroy()
sem_getvalue()
sem_init()
sem_open()
sem_post()
sem_timedwait()
sem_trywait()
sem_unlink()
sem_wait()
4.35. <setjmp.h>
¶
The following methods and variables in <setjmp.h>
are supported:
longjmp()
setjmp()
siglongjmp()
sigsetjmp()
The following methods and variables in <setjmp.h>
are not supported:
_longjmp()
_setjmp()
4.36. <signal.h>
¶
The following methods and variables in <signal.h>
are supported:
kill()
psignal()
pthread_kill()
pthread_sigmask()
raise()
sigaction()
sigaddset()
sigdelset()
sigemptyset()
sigfillset()
sigismember()
signal()
sigpending()
sigprocmask()
sigqueue()
sigsuspend()
sigtimedwait()
sigwait()
sigwaitinfo()
The following methods and variables in <signal.h>
are not supported:
killpg()
psiginfo()
sigaltstack()
sighold()
sigignore()
siginterrupt()
sigpause()
sigrelse()
sigset()
4.37. <spawn.h>
¶
The following methods and variables in <spawn.h>
are not supported:
posix_spawn()
posix_spawn_file_actions_addclose()
posix_spawn_file_actions_adddup2()
posix_spawn_file_actions_addopen()
posix_spawn_file_actions_destroy()
posix_spawn_file_actions_init()
posix_spawnattr_destroy()
posix_spawnattr_getflags()
posix_spawnattr_getpgroup()
posix_spawnattr_getschedparam()
posix_spawnattr_getschedpolicy()
posix_spawnattr_getsigdefault()
posix_spawnattr_getsigmask()
posix_spawnattr_init()
posix_spawnattr_setflags()
posix_spawnattr_setpgroup()
posix_spawnattr_setschedparam()
posix_spawnattr_setschedpolicy()
posix_spawnattr_setsigdefault()
posix_spawnattr_setsigmask()
posix_spawnp()
4.38. <stdarg.h>
¶
The following methods and variables in <stdarg.h>
are supported:
va_arg()
va_copy()
va_end()
va_start()
4.40. <stdio.h>
¶
The following methods and variables in <stdio.h>
are supported:
clearerr()
ctermid()
dprintf()
fclose()
fdopen()
feof()
ferror()
fflush()
fgetc()
fgetpos()
fgets()
fileno()
flockfile()
fmemopen()
fopen()
fprintf()
fputc()
fputs()
fread()
freopen()
fscanf()
fseek()
fseeko()
fsetpos()
ftell()
ftello()
ftrylockfile()
funlockfile()
fwrite()
getc()
getc_unlocked()
getchar()
getchar_unlocked()
gets()
open_memstream()
perror()
printf()
putc()
putc_unlocked()
putchar()
putchar_unlocked()
puts()
remove()
rename()
rewind()
scanf()
setbuf()
setvbuf()
snprintf()
sprintf()
sscanf()
stderr
stdin
stdout
tempnam()
tmpfile()
tmpnam()
ungetc()
vdprintf()
vfprintf()
vfscanf()
vprintf()
vscanf()
vsnprintf()
vsprintf()
vsscanf()
The following methods and variables in <stdio.h>
are not supported:
getdelim()
getline()
pclose()
popen()
renameat()
4.41. <stdlib.h>
¶
The following methods and variables in <stdlib.h>
are supported:
_Exit()
a64l()
abort()
abs()
atexit()
atof()
atoi()
atol()
atoll()
bsearch()
calloc()
div()
drand48()
erand48()
exit()
free()
getenv()
getsubopt()
jrand48()
l64a()
labs()
lcong48()
ldiv()
llabs()
lldiv()
lrand48()
malloc()
mblen()
mbstowcs()
mbtowc()
mkdtemp()
mkstemp()
mrand48()
nrand48()
posix_memalign()
putenv()
qsort()
rand()
rand_r()
random()
realloc()
realpath()
seed48()
setenv()
srand()
srand48()
srandom()
strtod()
strtof()
strtol()
strtold()
strtoll()
strtoul()
strtoull()
unsetenv()
wcstombs()
wctomb()
The following methods in <stdlib.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
system()
The following methods and variables in <stdlib.h>
are not supported:
grantpt()
initstate()
ptsname()
setkey()
setstate()
unlockpt()
4.42. <string.h>
¶
The following methods and variables in <string.h>
are supported:
memccpy()
memchr()
memcmp()
memcpy()
memmove()
memset()
stpcpy()
stpncpy()
strcat()
strchr()
strcmp()
strcoll()
strcoll_l()
strcpy()
strcspn()
strdup()
strerror()
strerror_l()
strerror_r()
strlen()
strncat()
strncmp()
strncpy()
strndup()
strnlen()
strpbrk()
strrchr()
strsignal()
strspn()
strstr()
strtok()
strtok_r()
strxfrm()
strxfrm_l()
4.43. <strings.h>
¶
The following methods and variables in <strings.h>
are supported:
ffs()
strcasecmp()
strcasecmp_l()
strncasecmp()
strncasecmp_l()
4.44. <stropts.h>
¶
The following methods and variables in <stropts.h>
are supported:
ioctl()
The following methods and variables in <stropts.h>
are not supported:
fattach()
fdetach()
getmsg()
getpmsg()
isastream()
putmsg()
putpmsg()
4.46. <sys/mman.h>
¶
The following methods and variables in <sys/mman.h>
are supported:
mlock()
mlockall()
mmap()
mprotect()
msync()
munlock()
munlockall()
munmap()
posix_madvise()
shm_open()
shm_unlink()
The following methods and variables in <sys/mman.h>
are not supported:
posix_mem_offset()
posix_typed_mem_get_info()
posix_typed_mem_open()
4.47. <sys/msg.h>
¶
The following methods and variables in <sys/msg.h>
are not supported:
msgctl()
msgget()
msgrcv()
msgsnd()
4.48. <sys/resource.h>
¶
The following methods and variables in <sys/resource.h>
are supported:
getrusage()
The following methods and variables in <sys/resource.h>
are not supported:
getpriority()
getrlimit()
setpriority()
setrlimit()
4.49. <sys/select.h>
¶
The following methods and variables in <sys/select.h>
are supported:
FD_CLR()
FD_ISSET()
FD_SET()
FD_ZERO()
select()
The following methods and variables in <sys/select.h>
are not supported:
pselect()
4.50. <sys/sem.h>
¶
The following methods and variables in <sys/sem.h>
are not supported:
semctl()
semget()
semop()
4.51. <sys/shm.h>
¶
The following methods and variables in <sys/shm.h>
are not supported:
shmat()
shmctl()
shmdt()
shmget()
4.52. <sys/socket.h>
¶
The following methods and variables in <sys/socket.h>
are supported:
accept()
bind()
connect()
getpeername()
getsockname()
getsockopt()
listen()
recv()
recvfrom()
recvmsg()
send()
sendmsg()
sendto()
setsockopt()
shutdown()
socket()
socketpair()
The following methods and variables in <sys/socket.h>
are not supported:
sockatmark()
4.53. <sys/stat.h>
¶
The following methods and variables in <sys/stat.h>
are supported:
chmod()
fchmod()
fstat()
lstat()
mkdir()
mkfifo()
mknod()
stat()
umask()
The following methods and variables in <sys/stat.h>
are not supported:
fchmodat()
fstatat()
futimens()
mkdirat()
mkfifoat()
mknodat()
utimensat()
4.54. <sys/statvfs.h>
¶
The following methods and variables in <sys/statvfs.h>
are supported:
statvfs()
The following methods and variables in <sys/statvfs.h>
are not supported:
fstatvfs()
4.55. <sys/time.h>
¶
The following methods and variables in <sys/time.h>
are supported:
gettimeofday()
times()
utimes()
The following methods in <sys/time.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
getitimer()
setitimer()
4.56. <sys/uio.h>
¶
The following methods and variables in <sys/uio.h>
are supported:
readv()
writev()
4.57. <sys/utsname.h>
¶
The following methods and variables in <sys/utsname.h>
are supported:
uname()
4.58. <sys/wait.h>
¶
The following methods and variables in <sys/wait.h>
are supported:
wait()
waitpid()
The following methods and variables in <sys/wait.h>
are not supported:
waitid()
4.59. <syslog.h>
¶
The following methods and variables in <syslog.h>
are not supported:
closelog()
openlog()
setlogmask()
syslog()
4.60. <termios.h>
¶
The following methods and variables in <termios.h>
are supported:
cfgetispeed()
cfgetospeed()
cfsetispeed()
cfsetospeed()
tcdrain()
tcflow()
tcflush()
tcgetattr()
tcsendbreak()
tcsetattr()
The following methods and variables in <termios.h>
are not supported:
tcgetsid()
4.61. <time.h>
¶
The following methods and variables in <time.h>
are supported:
asctime()
asctime_r()
clock()
clock_getres()
clock_gettime()
clock_nanosleep()
clock_settime()
ctime()
ctime_r()
difftime()
gmtime()
gmtime_r()
localtime()
localtime_r()
mktime()
nanosleep()
strftime()
strftime_l()
strptime()
time()
timer_create()
timer_delete()
timer_getoverrun()
timer_gettime()
timer_settime()
timezone
tzname
tzset()
The following methods in <time.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
clock_getcpuclockid()
The following methods and variables in <time.h>
are not supported:
daylight
getdate()
getdate_err
4.62. <trace.h>
¶
The following methods and variables in <trace.h>
are not supported:
posix_trace_attr_destroy()
posix_trace_attr_getclockres()
posix_trace_attr_getcreatetime()
posix_trace_attr_getgenversion()
posix_trace_attr_getinherited()
posix_trace_attr_getlogfullpolicy()
posix_trace_attr_getlogsize()
posix_trace_attr_getmaxdatasize()
posix_trace_attr_getmaxsystemeventsize()
posix_trace_attr_getmaxusereventsize()
posix_trace_attr_getname()
posix_trace_attr_getstreamfullpolicy()
posix_trace_attr_getstreamsize()
posix_trace_attr_init()
posix_trace_attr_setinherited()
posix_trace_attr_setlogfullpolicy()
posix_trace_attr_setlogsize()
posix_trace_attr_setmaxdatasize()
posix_trace_attr_setname()
posix_trace_attr_setstreamfullpolicy()
posix_trace_attr_setstreamsize()
posix_trace_clear()
posix_trace_close()
posix_trace_create()
posix_trace_create_withlog()
posix_trace_event()
posix_trace_eventid_equal()
posix_trace_eventid_get_name()
posix_trace_eventid_open()
posix_trace_eventset_add()
posix_trace_eventset_del()
posix_trace_eventset_empty()
posix_trace_eventset_fill()
posix_trace_eventset_ismember()
posix_trace_eventtypelist_getnext_id()
posix_trace_eventtypelist_rewind()
posix_trace_flush()
posix_trace_get_attr()
posix_trace_get_filter()
posix_trace_get_status()
posix_trace_getnext_event()
posix_trace_open()
posix_trace_rewind()
posix_trace_set_filter()
posix_trace_shutdown()
posix_trace_start()
posix_trace_stop()
posix_trace_timedgetnext_event()
posix_trace_trid_eventid_open()
posix_trace_trygetnext_event()
4.64. <unistd.h>
¶
The following methods and variables in <unistd.h>
are supported:
_exit()
access()
alarm()
chdir()
chown()
close()
dup()
dup2()
environ
fchdir()
fchown()
fdatasync()
fpathconf()
fsync()
ftruncate()
getcwd()
getegid()
geteuid()
getgid()
getgroups()
gethostname()
getlogin()
getlogin_r()
getopt()
getpgrp()
getpid()
getppid()
getuid()
isatty()
lchown()
link()
lseek()
optarg
opterr
optind
optopt
pathconf()
pause()
pipe()
pread()
pwrite()
read()
readlink()
rmdir()
setegid()
seteuid()
setgid()
setpgid()
setsid()
setuid()
sleep()
swab()
symlink()
sync()
sysconf()
tcgetpgrp()
tcsetpgrp()
truncate()
ttyname()
ttyname_r()
unlink()
write()
The following methods in <unistd.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
execl()
execle()
execlp()
execv()
execve()
execvp()
fork()
The following methods and variables in <unistd.h>
are not supported:
confstr()
crypt()
encrypt()
faccessat()
fchownat()
fexecve()
gethostid()
getpgid()
getsid()
linkat()
lockf()
nice()
readlinkat()
setpgrp()
setregid()
setreuid()
symlinkat()
unlinkat()
4.66. <utmpx.h>
¶
The following methods and variables in <utmpx.h>
are not supported:
endutxent()
getutxent()
getutxid()
getutxline()
pututxline()
setutxent()
4.67. <wchar.h>
¶
The following methods and variables in <wchar.h>
are supported:
btowc()
fgetwc()
fgetws()
fputwc()
fputws()
fwide()
fwprintf()
fwscanf()
getwc()
getwchar()
mbrlen()
mbrtowc()
mbsinit()
mbsnrtowcs()
mbsrtowcs()
open_wmemstream()
putwc()
putwchar()
swprintf()
swscanf()
ungetwc()
vfwprintf()
vfwscanf()
vswprintf()
vswscanf()
vwprintf()
vwscanf()
wcpcpy()
wcpncpy()
wcrtomb()
wcscasecmp()
wcscasecmp_l()
wcscat()
wcschr()
wcscmp()
wcscoll()
wcscoll_l()
wcscpy()
wcscspn()
wcsdup()
wcsftime()
wcslen()
wcsncasecmp()
wcsncat()
wcsncmp()
wcsncpy()
wcsnlen()
wcsnrtombs()
wcspbrk()
wcsrchr()
wcsrtombs()
wcsspn()
wcsstr()
wcstod()
wcstof()
wcstok()
wcstol()
wcstold()
wcstoll()
wcstoul()
wcstoull()
wcswidth()
wcsxfrm()
wcsxfrm_l()
wctob()
wcwidth()
wmemchr()
wmemcmp()
wmemcpy()
wmemmove()
wmemset()
wprintf()
wscanf()
The following methods and variables in <wchar.h>
are not supported:
wcsncasemcp_l()
4.68. <wctype.h>
¶
The following methods and variables in <wctype.h>
are supported:
iswalnum()
iswalnum_l()
iswalpha()
iswalpha_l()
iswblank()
iswblank_l()
iswcntrl()
iswcntrl_l()
iswctype()
iswctype_l()
iswdigit()
iswdigit_l()
iswgraph()
iswgraph_l()
iswlower()
iswlower_l()
iswprint()
iswprint_l()
iswpunct()
iswpunct_l()
iswspace()
iswspace_l()
iswupper()
iswupper_l()
iswxdigit()
iswxdigit_l()
towctrans()
towctrans_l()
towlower()
towlower_l()
towupper()
towupper_l()
wctrans()
wctrans_l()
wctype()
wctype_l()
4.69. <wordexp.h>
¶
The following methods and variables in <wordexp.h>
are not supported:
wordexp()
wordfree()
5. POSIX-2003¶
This chapter has a subsection per header file to detail the methods provided by RTEMS that are in that header file.
5.1. Summary¶
The follow table summarizes alignment with the POSIX-2003 standard:
Supported
915
ENOSYS
19
Not supported
179
5.2. <aio.h>
¶
The following methods and variables in <aio.h>
are supported:
aio_cancel()
aio_error()
aio_fsync()
aio_read()
aio_return()
aio_write()
The following methods in <aio.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
aio_suspend()
lio_listio()
5.3. <arpa/inet.h>
¶
The following methods and variables in <arpa/inet.h>
are supported:
htonl()
htons()
inet_addr()
inet_ntoa()
inet_ntop()
inet_pton()
ntohl()
ntohs()
5.5. <complex.h>
¶
The following methods and variables in <complex.h>
are supported:
cabs()
cabsf()
cabsl()
cacos()
cacosf()
cacosh()
cacoshf()
cacoshl()
cacosl()
carg()
cargf()
cargl()
casin()
casinf()
casinh()
casinhf()
casinhl()
casinl()
catan()
catanf()
catanh()
catanhf()
catanhl()
catanl()
ccos()
ccosf()
ccosh()
ccoshf()
ccoshl()
ccosl()
cexp()
cexpf()
cexpl()
cimag()
cimagf()
cimagl()
clog()
clogf()
clogl()
conj()
conjf()
conjl()
cpow()
cpowf()
cpowl()
cproj()
cprojf()
cprojl()
creal()
crealf()
creall()
csin()
csinf()
csinh()
csinhf()
csinhl()
csinl()
csqrt()
csqrtf()
csqrtl()
ctan()
ctanf()
ctanh()
ctanhf()
ctanhl()
ctanl()
5.6. <ctype.h>
¶
The following methods and variables in <ctype.h>
are supported:
_tolower()
_toupper()
isalnum()
isalpha()
isascii()
isblank()
iscntrl()
isdigit()
isgraph()
islower()
islower_l()
isprint()
ispunct()
isspace()
isupper()
isxdigit()
toascii()
tolower()
toupper()
5.7. <dirent.h>
¶
The following methods and variables in <dirent.h>
are supported:
closedir()
opendir()
readdir()
readdir_r()
rewinddir()
seekdir()
5.8. <dlfcn.h>
¶
The following methods and variables in <dlfcn.h>
are supported:
dlclose()
dlerror()
dlopen()
dlsym()
5.10. <fcntl.h>
¶
The following methods and variables in <fcntl.h>
are supported:
creat()
fcntl()
open()
The following methods and variables in <fcntl.h>
are not supported:
posix_fadvise()
posix_fallocate()
posix_openpt()
5.11. <fenv.h>
¶
The following methods and variables in <fenv.h>
are not supported:
feclearexcept()
fegetenv()
fegetexceptflag()
fegetround()
feholdexcept()
feraiseexcept()
fesetenv()
fesetexceptflag()
fesetround()
fetestexcept()
feupdateenv()
5.15. <grp.h>
¶
The following methods and variables in <grp.h>
are supported:
endgrent()
getgrent()
getgrgid()
getgrgid_r()
getgrnam()
getgrnam_r()
setgrent()
5.16. <iconv.h>
¶
The following methods and variables in <iconv.h>
are supported:
iconv()
iconv_close()
iconv_open()
5.17. <inttypes.h>
¶
The following methods and variables in <inttypes.h>
are supported:
imaxabs()
imaxdiv()
strtoimax()
strtoumax()
wcstoimax()
wcstoumax()
5.18. <langinfo.h>
¶
The following methods and variables in <langinfo.h>
are supported:
nl_langinfo()
5.19. <libgen.h>
¶
The following methods and variables in <libgen.h>
are supported:
basename()
dirname()
5.20. <locale.h>
¶
The following methods and variables in <locale.h>
are supported:
localeconv()
setlocale()
5.21. <math.h>
¶
The following methods and variables in <math.h>
are supported:
acos()
acosf()
acosh()
acoshf()
acoshl()
acosl()
asin()
asinf()
asinh()
asinhf()
asinhl()
asinl()
atan()
atan2()
atan2f()
atan2l()
atanf()
atanh()
atanhf()
atanhl()
atanl()
cbrt()
cbrtf()
cbrtl()
ceil()
ceilf()
ceill()
copysign()
copysignf()
copysignl()
cos()
cosf()
cosh()
coshf()
coshl()
cosl()
erf()
erfc()
erfcf()
erfcl()
erff()
erfl()
exp()
exp2()
exp2f()
exp2l()
expf()
expl()
expm1()
expm1f()
expm1l()
fabs()
fabsf()
fabsl()
fdim()
fdimf()
fdiml()
floor()
floorf()
floorl()
fma()
fmaf()
fmal()
fmax()
fmaxf()
fmaxl()
fmin()
fminf()
fminl()
fmod()
fmodf()
fmodl()
fpclassify()
frexp()
frexpf()
frexpl()
hypot()
hypotf()
hypotl()
ilogb()
ilogbf()
ilogbl()
isfinite()
isgreater()
isgreaterequal()
isinf()
isless()
islessequal()
islessgreater()
isnan()
isnormal()
isunordered()
ldexp()
ldexpf()
ldexpl()
lgamma()
lgammaf()
lgammal()
llrint()
llrintf()
llrintl()
llround()
llroundf()
llroundl()
log()
log10()
log10f()
log10l()
log1p()
log1pf()
log1pl()
log2()
log2f()
log2l()
logb()
logbf()
logbl()
logf()
logl()
lrint()
lrintf()
lrintl()
lround()
lroundf()
lroundl()
modf()
modff()
modfl()
nan()
nanf()
nanl()
nearbyint()
nearbyintf()
nearbyintl()
nextafter()
nextafterf()
nextafterl()
nexttoward()
nexttowardl()
pow()
powf()
powl()
remainder()
remainderf()
remainderl()
remquo()
remquof()
remquol()
rint()
rintf()
rintl()
round()
roundf()
roundl()
scalb()
scalbln()
scalblnf()
scalblnl()
scalbn()
scalbnf()
scalbnl()
sin()
sinf()
sinh()
sinhf()
sinhl()
sinl()
sqrt()
sqrtf()
sqrtl()
tan()
tanf()
tanh()
tanhf()
tanhl()
tanl()
tgamma()
tgammaf()
tgammal()
trunc()
truncf()
truncl()
The following methods and variables in <math.h>
are not supported:
j0()
j1()
jn()
nexttowardf()
signbit()
signgam
y0()
y1()
yn()
5.22. <monetary.h>
¶
The following methods and variables in <monetary.h>
are not supported:
strfmon()
5.23. <mqueue.h>
¶
The following methods and variables in <mqueue.h>
are supported:
mq_close()
mq_getattr()
mq_notify()
mq_open()
mq_receive()
mq_send()
mq_setattr()
mq_timedreceive()
mq_timedsend()
mq_unlink()
5.24. <ndbm.h>
¶
The following methods and variables in <ndbm.h>
are supported:
dbm_clearerr()
dbm_close()
dbm_delete()
dbm_error()
dbm_fetch()
dbm_firstkey()
dbm_nextkey()
dbm_open()
dbm_store()
5.25. <net/if.h>
¶
The following methods and variables in <net/if.h>
are supported:
if_freenameindex()
if_indextoname()
if_nameindex()
if_nametoindex()
5.26. <netdb.h>
¶
The following methods and variables in <netdb.h>
are supported:
endhostent()
endnetent()
endprotoent()
endservent()
freeaddrinfo()
gai_strerror()
getaddrinfo()
gethostbyaddr()
gethostbyname()
gethostent()
getnameinfo()
getnetbyaddr()
getnetbyname()
getnetent()
getprotobyname()
getprotobynumber()
getprotoent()
getservbyname()
getservbyport()
getservent()
h_errno
sethostent()
setnetent()
setprotoent()
setservent()
5.27. <nl_types.h>
¶
The following methods and variables in <nl_types.h>
are not supported:
catclose()
catgets()
catopen()
5.29. <pthread.h>
¶
The following methods and variables in <pthread.h>
are supported:
pthread_attr_destroy()
pthread_attr_getdetachstate()
pthread_attr_getguardsize()
pthread_attr_getinheritsched()
pthread_attr_getschedparam()
pthread_attr_getschedpolicy()
pthread_attr_getscope()
pthread_attr_getstack()
pthread_attr_getstackaddr()
pthread_attr_getstacksize()
pthread_attr_init()
pthread_attr_setdetachstate()
pthread_attr_setguardsize()
pthread_attr_setinheritsched()
pthread_attr_setschedparam()
pthread_attr_setschedpolicy()
pthread_attr_setscope()
pthread_attr_setstack()
pthread_attr_setstackaddr()
pthread_attr_setstacksize()
pthread_barrier_destroy()
pthread_barrier_init()
pthread_barrier_wait()
pthread_barrierattr_destroy()
pthread_barrierattr_getpshared()
pthread_barrierattr_init()
pthread_barrierattr_setpshared()
pthread_cancel()
pthread_cleanup_pop()
pthread_cleanup_push()
pthread_cond_broadcast()
pthread_cond_destroy()
pthread_cond_init()
pthread_cond_signal()
pthread_cond_timedwait()
pthread_cond_wait()
pthread_condattr_destroy()
pthread_condattr_getclock()
pthread_condattr_getpshared()
pthread_condattr_init()
pthread_condattr_setclock()
pthread_condattr_setpshared()
pthread_create()
pthread_detach()
pthread_equal()
pthread_exit()
pthread_getconcurrency()
pthread_getschedparam()
pthread_getspecific()
pthread_join()
pthread_key_create()
pthread_key_delete()
pthread_mutex_destroy()
pthread_mutex_getprioceiling()
pthread_mutex_init()
pthread_mutex_lock()
pthread_mutex_setprioceiling()
pthread_mutex_timedlock()
pthread_mutex_trylock()
pthread_mutex_unlock()
pthread_mutexattr_destroy()
pthread_mutexattr_getprioceiling()
pthread_mutexattr_getprotocol()
pthread_mutexattr_getpshared()
pthread_mutexattr_gettype()
pthread_mutexattr_init()
pthread_mutexattr_setprioceiling()
pthread_mutexattr_setprotocol()
pthread_mutexattr_setpshared()
pthread_mutexattr_settype()
pthread_once()
pthread_rwlock_destroy()
pthread_rwlock_init()
pthread_rwlock_rdlock()
pthread_rwlock_timedrdlock()
pthread_rwlock_timedwrlock()
pthread_rwlock_tryrdlock()
pthread_rwlock_trywrlock()
pthread_rwlock_unlock()
pthread_rwlock_wrlock()
pthread_rwlockattr_destroy()
pthread_rwlockattr_getpshared()
pthread_rwlockattr_init()
pthread_rwlockattr_setpshared()
pthread_self()
pthread_setcancelstate()
pthread_setcanceltype()
pthread_setconcurrency()
pthread_setschedparam()
pthread_setschedprio()
pthread_setspecific()
pthread_spin_destroy()
pthread_spin_init()
pthread_spin_lock()
pthread_spin_trylock()
pthread_spin_unlock()
pthread_testcancel()
The following methods in <pthread.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
pthread_atfork()
pthread_getcpuclockid()
5.30. <pwd.h>
¶
The following methods and variables in <pwd.h>
are supported:
endpwent()
getpwent()
getpwnam()
getpwnam_r()
getpwuid()
getpwuid_r()
setpwent()
5.31. <regex.h>
¶
The following methods and variables in <regex.h>
are supported:
regcomp()
regerror()
regexec()
regfree()
5.32. <sched.h>
¶
The following methods and variables in <sched.h>
are supported:
sched_get_priority_max()
sched_get_priority_min()
sched_rr_get_interval()
sched_yield()
The following methods in <sched.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
sched_getparam()
sched_getscheduler()
sched_setparam()
sched_setscheduler()
5.33. <search.h>
¶
The following methods and variables in <search.h>
are supported:
hcreate()
hdestroy()
hsearch()
tdelete()
tfind()
tsearch()
twalk()
The following methods and variables in <search.h>
are not supported:
insque()
lfind()
lsearch()
remque()
5.34. <semaphore.h>
¶
The following methods and variables in <semaphore.h>
are supported:
sem_close()
sem_destroy()
sem_getvalue()
sem_init()
sem_open()
sem_post()
sem_timedwait()
sem_trywait()
sem_unlink()
sem_wait()
5.35. <setjmp.h>
¶
The following methods and variables in <setjmp.h>
are supported:
longjmp()
setjmp()
siglongjmp()
sigsetjmp()
The following methods and variables in <setjmp.h>
are not supported:
_longjmp()
_setjmp()
5.36. <signal.h>
¶
The following methods and variables in <signal.h>
are supported:
bsd_signal()
kill()
pthread_kill()
pthread_sigmask()
raise()
sigaction()
sigaddset()
sigdelset()
sigemptyset()
sigfillset()
sigismember()
signal()
sigpending()
sigprocmask()
sigqueue()
sigsuspend()
sigtimedwait()
sigwait()
sigwaitinfo()
The following methods and variables in <signal.h>
are not supported:
killpg()
sighold()
sigignore()
siginterrupt()
sigpause()
sigrelse()
sigset()
5.37. <spawn.h>
¶
The following methods and variables in <spawn.h>
are not supported:
posix_spawn()
posix_spawn_file_actions_addclose()
posix_spawn_file_actions_adddup2()
posix_spawn_file_actions_addopen()
posix_spawn_file_actions_destroy()
posix_spawn_file_actions_init()
posix_spawnattr_destroy()
posix_spawnattr_getflags()
posix_spawnattr_getpgroup()
posix_spawnattr_getschedparam()
posix_spawnattr_getschedpolicy()
posix_spawnattr_getsigdefault()
posix_spawnattr_getsigmask()
posix_spawnattr_init()
posix_spawnattr_setflags()
posix_spawnattr_setpgroup()
posix_spawnattr_setschedparam()
posix_spawnattr_setschedpolicy()
posix_spawnattr_setsigdefault()
posix_spawnattr_setsigmask()
posix_spawnp()
5.38. <stdarg.h>
¶
The following methods and variables in <stdarg.h>
are supported:
va_arg()
va_copy()
va_end()
va_start()
5.40. <stdio.h>
¶
The following methods and variables in <stdio.h>
are supported:
clearerr()
ctermid()
fclose()
fdopen()
feof()
ferror()
fflush()
fgetc()
fgetpos()
fgets()
fileno()
flockfile()
fopen()
fprintf()
fputc()
fputs()
fread()
freopen()
fscanf()
fseek()
fseeko()
fsetpos()
ftell()
ftello()
ftrylockfile()
funlockfile()
fwrite()
getc()
getc_unlocked()
getchar()
getchar_unlocked()
gets()
perror()
printf()
putc()
putc_unlocked()
putchar()
putchar_unlocked()
puts()
remove()
rename()
rewind()
scanf()
setbuf()
setvbuf()
snprintf()
sprintf()
sscanf()
stderr
stdin
stdout
tempnam()
tmpfile()
tmpnam()
ungetc()
vfprintf()
vfscanf()
vprintf()
vscanf()
vsnprintf()
vsprintf()
vsscanf()
The following methods and variables in <stdio.h>
are not supported:
pclose()
popen()
5.41. <stdlib.h>
¶
The following methods and variables in <stdlib.h>
are supported:
_Exit()
a64l()
abort()
abs()
atexit()
atof()
atoi()
atol()
atoll()
bsearch()
calloc()
div()
drand48()
ecvt()
erand48()
exit()
fcvt()
free()
gcvt()
getenv()
getsubopt()
jrand48()
l64a()
labs()
lcong48()
ldiv()
llabs()
lldiv()
lrand48()
malloc()
mblen()
mbstowcs()
mbtowc()
mkstemp()
mrand48()
nrand48()
posix_memalign()
putenv()
qsort()
rand()
rand_r()
random()
realloc()
realpath()
seed48()
setenv()
srand()
srand48()
srandom()
strtod()
strtof()
strtol()
strtold()
strtoll()
strtoul()
strtoull()
unsetenv()
wcstombs()
wctomb()
The following methods in <stdlib.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
system()
The following methods and variables in <stdlib.h>
are not supported:
grantpt()
initstate()
ptsname()
setkey()
setstate()
unlockpt()
5.42. <string.h>
¶
The following methods and variables in <string.h>
are supported:
memccpy()
memchr()
memcmp()
memcpy()
memmove()
memset()
strcat()
strchr()
strcmp()
strcoll()
strcpy()
strcspn()
strdup()
strerror()
strerror_r()
strlen()
strncat()
strncmp()
strncpy()
strpbrk()
strrchr()
strspn()
strstr()
strtok()
strtok_r()
strxfrm()
5.43. <strings.h>
¶
The following methods and variables in <strings.h>
are supported:
bcmp()
bcopy()
ffs()
index()
rindex()
strcasecmp()
strncasecmp()
5.44. <stropts.h>
¶
The following methods and variables in <stropts.h>
are supported:
ioctl()
The following methods and variables in <stropts.h>
are not supported:
fattach()
fdetach()
getmsg()
getpmsg()
isastream()
putmsg()
putpmsg()
5.46. <sys/mman.h>
¶
The following methods and variables in <sys/mman.h>
are supported:
mlock()
mlockall()
mmap()
mprotect()
msync()
munlock()
munlockall()
munmap()
posix_madvise()
shm_open()
shm_unlink()
The following methods and variables in <sys/mman.h>
are not supported:
posix_mem_offset()
posix_typed_mem_get_info()
posix_typed_mem_open()
5.47. <sys/msg.h>
¶
The following methods and variables in <sys/msg.h>
are not supported:
msgctl()
msgget()
msgrcv()
msgsnd()
5.48. <sys/resource.h>
¶
The following methods and variables in <sys/resource.h>
are supported:
getrusage()
The following methods and variables in <sys/resource.h>
are not supported:
getpriority()
getrlimit()
setpriority()
setrlimit()
5.49. <sys/select.h>
¶
The following methods and variables in <sys/select.h>
are supported:
FD_CLR()
FD_ISSET()
FD_SET()
FD_ZERO()
select()
The following methods and variables in <sys/select.h>
are not supported:
pselect()
5.50. <sys/sem.h>
¶
The following methods and variables in <sys/sem.h>
are not supported:
semctl()
semget()
semop()
5.51. <sys/shm.h>
¶
The following methods and variables in <sys/shm.h>
are not supported:
shmat()
shmctl()
shmdt()
shmget()
5.52. <sys/socket.h>
¶
The following methods and variables in <sys/socket.h>
are supported:
accept()
bind()
connect()
getpeername()
getsockname()
getsockopt()
listen()
recv()
recvfrom()
recvmsg()
send()
sendmsg()
sendto()
setsockopt()
shutdown()
socket()
socketpair()
The following methods and variables in <sys/socket.h>
are not supported:
sockatmark()
5.53. <sys/stat.h>
¶
The following methods and variables in <sys/stat.h>
are supported:
chmod()
fchmod()
fstat()
lstat()
mkdir()
mkfifo()
mknod()
stat()
umask()
5.54. <sys/statvfs.h>
¶
The following methods and variables in <sys/statvfs.h>
are supported:
statvfs()
The following methods and variables in <sys/statvfs.h>
are not supported:
fstatvfs()
5.55. <sys/time.h>
¶
The following methods and variables in <sys/time.h>
are supported:
gettimeofday()
times()
utimes()
The following methods in <sys/time.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
getitimer()
setitimer()
5.56. <sys/uio.h>
¶
The following methods and variables in <sys/uio.h>
are supported:
readv()
writev()
5.57. <sys/utsname.h>
¶
The following methods and variables in <sys/utsname.h>
are supported:
uname()
5.58. <sys/wait.h>
¶
The following methods and variables in <sys/wait.h>
are supported:
wait()
waitpid()
The following methods and variables in <sys/wait.h>
are not supported:
waitid()
5.59. <syslog.h>
¶
The following methods and variables in <syslog.h>
are not supported:
closelog()
openlog()
setlogmask()
syslog()
5.60. <termios.h>
¶
The following methods and variables in <termios.h>
are supported:
cfgetispeed()
cfgetospeed()
cfsetispeed()
cfsetospeed()
tcdrain()
tcflow()
tcflush()
tcgetattr()
tcsendbreak()
tcsetattr()
The following methods and variables in <termios.h>
are not supported:
tcgetsid()
5.61. <time.h>
¶
The following methods and variables in <time.h>
are supported:
asctime()
asctime_r()
clock()
clock_getres()
clock_gettime()
clock_nanosleep()
clock_settime()
ctime()
ctime_r()
difftime()
gmtime()
gmtime_r()
localtime()
localtime_r()
mktime()
nanosleep()
strftime()
strptime()
time()
timer_create()
timer_delete()
timer_getoverrun()
timer_gettime()
timer_settime()
timezone
tzname
tzset()
The following methods in <time.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
clock_getcpuclockid()
The following methods and variables in <time.h>
are not supported:
daylight
getdate()
getdate_err
5.62. <trace.h>
¶
The following methods and variables in <trace.h>
are not supported:
posix_trace_attr_destroy()
posix_trace_attr_getclockres()
posix_trace_attr_getcreatetime()
posix_trace_attr_getgenversion()
posix_trace_attr_getinherited()
posix_trace_attr_getlogfullpolicy()
posix_trace_attr_getlogsize()
posix_trace_attr_getmaxdatasize()
posix_trace_attr_getmaxsystemeventsize()
posix_trace_attr_getmaxusereventsize()
posix_trace_attr_getname()
posix_trace_attr_getstreamfullpolicy()
posix_trace_attr_getstreamsize()
posix_trace_attr_init()
posix_trace_attr_setinherited()
posix_trace_attr_setlogfullpolicy()
posix_trace_attr_setlogsize()
posix_trace_attr_setmaxdatasize()
posix_trace_attr_setname()
posix_trace_attr_setstreamfullpolicy()
posix_trace_attr_setstreamsize()
posix_trace_clear()
posix_trace_close()
posix_trace_create()
posix_trace_create_withlog()
posix_trace_event()
posix_trace_eventid_equal()
posix_trace_eventid_get_name()
posix_trace_eventid_open()
posix_trace_eventset_add()
posix_trace_eventset_del()
posix_trace_eventset_empty()
posix_trace_eventset_fill()
posix_trace_eventset_ismember()
posix_trace_eventtypelist_getnext_id()
posix_trace_eventtypelist_rewind()
posix_trace_flush()
posix_trace_get_attr()
posix_trace_get_filter()
posix_trace_get_status()
posix_trace_getnext_event()
posix_trace_open()
posix_trace_rewind()
posix_trace_set_filter()
posix_trace_shutdown()
posix_trace_start()
posix_trace_stop()
posix_trace_timedgetnext_event()
posix_trace_trid_eventid_open()
posix_trace_trygetnext_event()
5.64. <unistd.h>
¶
The following methods and variables in <unistd.h>
are supported:
_exit()
access()
alarm()
chdir()
chown()
close()
dup()
dup2()
environ
fchdir()
fchown()
fdatasync()
fpathconf()
fsync()
ftruncate()
getcwd()
getegid()
geteuid()
getgid()
getgroups()
gethostname()
getlogin()
getlogin_r()
getopt()
getpgrp()
getpid()
getppid()
getuid()
isatty()
lchown()
link()
lseek()
optarg
opterr
optind
optopt
pathconf()
pause()
pipe()
pread()
pwrite()
read()
readlink()
rmdir()
setegid()
seteuid()
setgid()
setpgid()
setsid()
setuid()
sleep()
swab()
symlink()
sync()
sysconf()
tcgetpgrp()
tcsetpgrp()
truncate()
ttyname()
ttyname_r()
ualarm()
unlink()
usleep()
write()
The following methods in <unistd.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
execl()
execle()
execlp()
execv()
execve()
execvp()
fork()
The following methods and variables in <unistd.h>
are not supported:
confstr()
crypt()
encrypt()
gethostid()
getpgid()
getsid()
lockf()
nice()
setpgrp()
setregid()
setreuid()
5.66. <utmpx.h>
¶
The following methods and variables in <utmpx.h>
are not supported:
endutxent()
getutxent()
getutxid()
getutxline()
pututxline()
setutxent()
5.67. <wchar.h>
¶
The following methods and variables in <wchar.h>
are supported:
btowc()
fgetwc()
fgetws()
fputwc()
fputws()
fwide()
fwprintf()
fwscanf()
getwc()
getwchar()
mbrlen()
mbrtowc()
mbsinit()
mbsrtowcs()
putwc()
putwchar()
swprintf()
swscanf()
ungetwc()
vfwprintf()
vfwscanf()
vswprintf()
vswscanf()
vwprintf()
vwscanf()
wcrtomb()
wcscat()
wcschr()
wcscmp()
wcscoll()
wcscpy()
wcscspn()
wcsftime()
wcslen()
wcsncat()
wcsncmp()
wcsncpy()
wcsnlen()
wcsnrtombs()
wcspbrk()
wcsrchr()
wcsrtombs()
wcsspn()
wcsstr()
wcstod()
wcstof()
wcstok()
wcstol()
wcstold()
wcstoll()
wcstoul()
wcstoull()
wcswidth()
wcsxfrm()
wctob()
wcwidth()
wmemchr()
wmemcmp()
wmemcpy()
wmemmove()
wmemset()
wprintf()
wscanf()
5.68. <wctype.h>
¶
The following methods and variables in <wctype.h>
are supported:
iswalnum()
iswalpha()
iswblank()
iswcntrl()
iswctype()
iswdigit()
iswgraph()
iswlower()
iswprint()
iswpunct()
iswspace()
iswupper()
iswxdigit()
towctrans()
towlower()
towupper()
wctrans()
wctype()
5.69. <wordexp.h>
¶
The following methods and variables in <wordexp.h>
are not supported:
wordexp()
wordfree()
6. POSIX PSE51 - Minimal¶
This chapter has a subsection per header file to detail the methods provided by RTEMS that are in that header file.
6.1. Summary¶
The follow table summarizes alignment with the POSIX PSE51 - Minimal standard:
Supported
270
ENOSYS
2
Not supported
12
6.2. <ctype.h>
¶
The following methods and variables in <ctype.h>
are supported:
isalnum()
isalpha()
isblank()
iscntrl()
isdigit()
isgraph()
islower()
isprint()
ispunct()
isspace()
isupper()
isxdigit()
tolower()
toupper()
6.5. <fenv.h>
¶
The following methods and variables in <fenv.h>
are not supported:
feclearexcept()
fegetenv()
fegetexceptflag()
fegetround()
feholdexcept()
feraiseexcept()
fesetenv()
fesetexceptflag()
fesetround()
fetestexcept()
feupdateenv()
6.6. <inttypes.h>
¶
The following methods and variables in <inttypes.h>
are supported:
imaxabs()
imaxdiv()
strtoimax()
strtoumax()
6.7. <locale.h>
¶
The following methods and variables in <locale.h>
are supported:
localeconv()
setlocale()
6.8. <pthread.h>
¶
The following methods and variables in <pthread.h>
are supported:
pthread_attr_destroy()
pthread_attr_getdetachstate()
pthread_attr_getguardsize()
pthread_attr_getinheritsched()
pthread_attr_getschedparam()
pthread_attr_getschedpolicy()
pthread_attr_getscope()
pthread_attr_getstack()
pthread_attr_getstackaddr()
pthread_attr_getstacksize()
pthread_attr_init()
pthread_attr_setdetachstate()
pthread_attr_setguardsize()
pthread_attr_setinheritsched()
pthread_attr_setschedparam()
pthread_attr_setschedpolicy()
pthread_attr_setscope()
pthread_attr_setstack()
pthread_attr_setstackaddr()
pthread_attr_setstacksize()
pthread_cancel()
pthread_cleanup_pop()
pthread_cleanup_push()
pthread_cond_broadcast()
pthread_cond_destroy()
pthread_cond_init()
pthread_cond_signal()
pthread_cond_timedwait()
pthread_cond_wait()
pthread_condattr_destroy()
pthread_condattr_getclock()
pthread_condattr_init()
pthread_condattr_setclock()
pthread_create()
pthread_detach()
pthread_equal()
pthread_exit()
pthread_getconcurrency()
pthread_getschedparam()
pthread_getspecific()
pthread_join()
pthread_key_create()
pthread_key_delete()
pthread_mutex_destroy()
pthread_mutex_getprioceiling()
pthread_mutex_init()
pthread_mutex_lock()
pthread_mutex_setprioceiling()
pthread_mutex_trylock()
pthread_mutex_unlock()
pthread_mutexattr_destroy()
pthread_mutexattr_getprioceiling()
pthread_mutexattr_getprotocol()
pthread_mutexattr_gettype()
pthread_mutexattr_init()
pthread_mutexattr_setprioceiling()
pthread_mutexattr_setprotocol()
pthread_mutexattr_settype()
pthread_once()
pthread_self()
pthread_setcancelstate()
pthread_setcanceltype()
pthread_setconcurrency()
pthread_setschedparam()
pthread_setschedprio()
pthread_setspecific()
pthread_testcancel()
The following methods in <pthread.h>
are implemented as stubs returning -1
and setting errno
to ENOSYS
:
pthread_atfork()
pthread_getcpuclockid()
6.9. <sched.h>
¶
The following methods and variables in <sched.h>
are supported:
sched_get_priority_max()
sched_get_priority_min()
sched_rr_get_interval()
6.10. <semaphore.h>
¶
The following methods and variables in <semaphore.h>
are supported:
sem_close()
sem_destroy()
sem_getvalue()
sem_init()
sem_open()
sem_post()
sem_timedwait()
sem_trywait()
sem_unlink()
sem_wait()
6.11. <setjmp.h>
¶
The following methods and variables in <setjmp.h>
are supported:
longjmp()
setjmp()
6.12. <signal.h>
¶
The following methods and variables in <signal.h>
are supported:
kill()
pthread_kill()
pthread_sigmask()
raise()
sigaction()
sigaddset()
sigdelset()
sigemptyset()
sigfillset()
sigismember()
signal()
sigpending()
sigprocmask()
sigqueue()
sigsuspend()
sigtimedwait()
sigwait()
sigwaitinfo()
6.13. <stdarg.h>
¶
The following methods and variables in <stdarg.h>
are supported:
va_arg()
va_copy()
va_end()
va_start()
6.14. <stdio.h>
¶
The following methods and variables in <stdio.h>
are supported:
clearerr()
fclose()
fdopen()
feof()
ferror()
fflush()
fgetc()
fgets()
fileno()
flockfile()
fopen()
fprintf()
fputc()
fputs()
fread()
freopen()
fscanf()
ftrylockfile()
funlockfile()
fwrite()
getc()
getc_unlocked()
getchar()
getchar_unlocked()
gets()
perror()
printf()
putc()
putc_unlocked()
putchar()
putchar_unlocked()
puts()
scanf()
setbuf()
setvbuf()
snprintf()
sprintf()
sscanf()
stderr
stdin
stdout
ungetc()
vfprintf()
vfscanf()
vprintf()
vscanf()
vsnprintf()
vsprintf()
vsscanf()
6.15. <stdlib.h>
¶
The following methods and variables in <stdlib.h>
are supported:
abort()
abs()
atof()
atoi()
atol()
atoll()
bsearch()
calloc()
div()
free()
getenv()
labs()
ldiv()
llabs()
lldiv()
malloc()
qsort()
rand()
rand_r()
realloc()
setenv()
srand()
strtod()
strtof()
strtol()
strtold()
strtoll()
strtoul()
strtoull()
unsetenv()
6.16. <string.h>
¶
The following methods and variables in <string.h>
are supported:
memchr()
memcmp()
memcpy()
memmove()
memset()
strcat()
strchr()
strcmp()
strcoll()
strcpy()
strcspn()
strerror()
strerror_r()
strlen()
strncat()
strncmp()
strncpy()
strpbrk()
strrchr()
strspn()
strstr()
strtok()
strtok_r()
strxfrm()
6.17. <sys/mman.h>
¶
The following methods and variables in <sys/mman.h>
are supported:
mlock()
mlockall()
mmap()
munlock()
munmap()
shm_open()
shm_unlink()
6.18. <sys/utsname.h>
¶
The following methods and variables in <sys/utsname.h>
are supported:
uname()
6.19. <time.h>
¶
The following methods and variables in <time.h>
are supported:
asctime()
asctime_r()
clock_getres()
clock_gettime()
clock_nanosleep()
clock_settime()
ctime()
ctime_r()
difftime()
gmtime()
gmtime_r()
localtime()
localtime_r()
mktime()
nanosleep()
strftime()
time()
timer_create()
timer_delete()
timer_getoverrun()
timer_gettime()
timer_settime()
tzname
tzset()
6.20. <unistd.h>
¶
The following methods and variables in <unistd.h>
are supported:
alarm()
close()
environ
fdatasync()
fsync()
pause()
read()
sysconf()
write()
The following methods and variables in <unistd.h>
are not supported:
confstr()
7. POSIX PSE52 - Real-Time Controller¶
This chapter has a subsection per header file to detail the methods provided by RTEMS that are in that header file.
7.1. Summary¶
The follow table summarizes alignment with the POSIX PSE52 - Real-Time Controller standard:
Supported
562
ENOSYS
2
Not supported
64
7.2. <complex.h>
¶
The following methods and variables in <complex.h>
are supported:
cabs()
cabsf()
cabsl()
cacos()
cacosf()
cacosh()
cacoshf()
cacoshl()
cacosl()
carg()
cargf()
cargl()
casin()
casinf()
casinh()
casinhf()
casinhl()
casinl()
catan()
catanf()
catanh()
catanhf()
catanhl()
catanl()
ccos()
ccosf()
ccosh()
ccoshf()
ccoshl()
ccosl()
cexp()
cexpf()
cexpl()
cimag()
cimagf()
cimagl()
clog()
clogf()
clogl()
conj()
conjf()
conjl()
cpow()
cpowf()
cpowl()
cproj()
cprojf()
cprojl()
creal()
crealf()
creall()
csin()
csinf()
csinh()
csinhf()
csinhl()
csinl()
csqrt()
csqrtf()
csqrtl()
ctan()
ctanf()
ctanh()
ctanhf()
ctanhl()
ctanl()
7.3. <ctype.h>
¶
The following methods and variables in <ctype.h>
are supported:
isalnum()
isalpha()
isblank()
iscntrl()
isdigit()
isgraph()
islower()
isprint()
ispunct()
isspace()
isupper()
isxdigit()
tolower()
toupper()
7.4. <dirent.h>
¶
The following methods and variables in <dirent.h>
are supported:
closedir()
opendir()
readdir()
readdir_r()
rewinddir()
7.6. <fcntl.h>
¶
The following methods and variables in <fcntl.h>
are supported:
creat()
fcntl()
open()
7.7. <fenv.h>
¶
The following methods and variables in <fenv.h>
are not supported:
feclearexcept()
fegetenv()
fegetexceptflag()
fegetround()
feholdexcept()
feraiseexcept()
fesetenv()
fesetexceptflag()
fesetround()
fetestexcept()
feupdateenv()
7.8. <inttypes.h>
¶
The following methods and variables in <inttypes.h>
are supported:
imaxabs()
imaxdiv()
strtoimax()
strtoumax()
7.9. <locale.h>
¶
The following methods and variables in <locale.h>
are supported:
localeconv()
setlocale()
7.10. <math.h>
¶
The following methods and variables in <math.h>
are supported:
acos()
acosf()
acosh()
acoshf()
acoshl()
acosl()
asin()
asinf()
asinh()
asinhf()
asinhl()
asinl()
atan()
atan2()
atan2f()
atan2l()
atanf()
atanh()
atanhf()
atanhl()
atanl()
cbrt()
cbrtf()
cbrtl()
ceil()
ceilf()
ceill()
copysign()
copysignf()
copysignl()
cos()
cosf()
cosh()
coshf()
coshl()
cosl()
erf()
erfc()
erfcf()
erfcl()
erff()
erfl()
exp()
exp2()
exp2f()
exp2l()
expf()
expl()
expm1()
expm1f()
expm1l()
fabs()
fabsf()
fabsl()
fdim()
fdimf()
fdiml()
floor()
floorf()
floorl()
fma()
fmaf()
fmal()
fmax()
fmaxf()
fmaxl()
fmin()
fminf()
fminl()
fmod()
fmodf()
fmodl()
fpclassify()
frexp()
frexpf()
frexpl()
hypot()
hypotf()
hypotl()
ilogb()
ilogbf()
ilogbl()
isfinite()
isgreater()
isgreaterequal()
isinf()
isless()
islessequal()
islessgreater()
isnan()
isnormal()
isunordered()
ldexp()
ldexpf()
ldexpl()
lgamma()
lgammaf()
lgammal()
llrint()
llrintf()
llrintl()
llround()
llroundf()
llroundl()
log()
log10()
log10f()
log10l()
log1p()
log1pf()
log1pl()
log2()
log2f()
log2l()
logb()
logbf()
logbl()
logf()
logl()
lrint()
lrintf()
lrintl()
lround()
lroundf()
lroundl()
modf()
modff()
modfl()
nan()
nanf()
nanl()
nearbyint()
nearbyintf()
nearbyintl()
nextafter()
nextafterf()
nextafterl()
nexttoward()
nexttowardl()
pow()
powf()
powl()
remainder()
remainderf()
remainderl()
remquo()
remquof()
remquol()
rint()
rintf()
rintl()
round()
roundf()
roundl()
scalbln()
scalblnf()
scalblnl()
scalbn()
scalbnf()
scalbnl()
sin()
sinf()
sinh()
sinhf()
sinhl()
sinl()
sqrt()
sqrtf()
sqrtl()
tan()
tanf()
tanh()
tanhf()
tanhl()
tanl()
tgamma()
tgammaf()
tgammal()
trunc()
truncf()
truncl()
The following methods and variables in <math.h>
are not supported:
nexttowardf()
signbit()
7.11. <mqueue.h>
¶
The following methods and variables in <mqueue.h>
are supported:
mq_close()
mq_getattr()
mq_notify()
mq_open()
mq_receive()
mq_send()
mq_setattr()
mq_timedreceive()
mq_timedsend()
mq_unlink()
7.12. <pthread.h>
¶
The following methods and variables in <pthread.h>
are supported:
pthread_attr_destroy()
pthread_attr_getdetachstate()
pthread_attr_getguardsize()
pthread_attr_getinheritsched()
pthread_attr_getschedparam()
pthread_attr_getschedpolicy()
pthread_attr_getscope()
pthread_attr_getstack()
pthread_attr_getstackaddr()
pthread_attr_getstacksize()
pthread_attr_init()
pthread_attr_setdetachstate()
pthread_attr_setguardsize()
pthread_attr_setinheritsched()
pthread_attr_setschedparam()
pthread_attr_setschedpolicy()
pthread_attr_setscope()
pthread_attr_setstack()
pthread_attr_setstackaddr()
pthread_attr_setstacksize()
pthread_cancel()
pthread_cleanup_pop()
pthread_cleanup_push()
pthread_cond_broadcast()
pthread_cond_destroy()
pthread_cond_init()
pthread_cond_signal()
pthread_cond_timedwait()
pthread_cond_wait()
pthread_condattr_destroy()
pthread_condattr_getclock()
pthread_condattr_init()
pthread_condattr_setclock()
pthread_create()
pthread_detach()
pthread_equal()
pthread_exit()
pthread_getconcurrency()
pthread_getschedparam()
pthread_getspecific()
pthread_join()
pthread_key_create()
pthread_key_delete()
pthread_mutex_destroy()
pthread_mutex_getprioceiling()
pthread_mutex_init()
pthread_mutex_lock()