14. C17 Standard Library#
This chapter has a subsection per header file to detail the methods provided by RTEMS that are in that header file.
The follow table summarizes alignment with the C17 Standard Library standard:
Support |
Amount |
|---|---|
Supported |
531 |
ENOSYS |
1 |
Not supported |
1 |
14.1. <assert.h>#
The following methods and variables in <assert.h>
are supported:
assert()
14.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()
14.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()
14.4. <errno.h>#
The following methods and variables in <errno.h>
are supported:
errno
14.5. <fenv.h>#
The following methods and variables in <fenv.h>
are supported:
feclearexcept()fegetenv()fegetexceptflag()fegetround()feholdexcept()feraiseexcept()fesetenv()fesetexceptflag()fesetround()fetestexcept()feupdateenv()
14.6. <inttypes.h>#
The following methods and variables in <inttypes.h>
are supported:
imaxabs()imaxdiv()strtoimax()strtoumax()wcstoimax()wcstoumax()
14.7. <locale.h>#
The following methods and variables in <locale.h>
are supported:
localeconv()setlocale()
14.8. <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()nexttowardf()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:
signbit()
14.9. <setjmp.h>#
The following methods and variables in <setjmp.h>
are supported:
longjmp()setjmp()
14.10. <signal.h>#
The following methods and variables in <signal.h>
are supported:
raise()signal()
14.11. <stdarg.h>#
The following methods and variables in <stdarg.h>
are supported:
va_arg()va_copy()va_end()va_start()
14.12. <stdatomic.h>#
The following methods and variables in <stdatomic.h>
are supported:
ATOMIC_VAR_INIT()atomic_compare_exchange_strong()atomic_compare_exchange_strong_explicit()atomic_compare_exchange_weak()atomic_compare_exchange_weak_explicit()atomic_exchange()atomic_exchange_explicit()atomic_fetch_key()atomic_fetch_key_explicit()atomic_flag_clear()atomic_flag_clear_explicit()atomic_flag_test_and_set()atomic_flag_test_and_set_explicit()atomic_init()atomic_is_lock_free()atomic_load()atomic_load_explicit()atomic_signal_fence()atomic_store()atomic_store_explicit()atomic_thread_fence()
14.13. <stddef.h>#
The following methods and variables in <stddef.h>
are supported:
offsetof()
14.14. <stdint.h>#
The following methods and variables in <stdint.h>
are supported:
INTMAX_C()INTN_C()UINTMAX_C()UINTN_C()
14.15. <stdio.h>#
The following methods and variables in <stdio.h>
are supported:
clearerr()fclose()feof()ferror()fflush()fgetc()fgetpos()fgets()fopen()fprintf()fputc()fputs()fread()freopen()fscanf()fseek()fsetpos()ftell()fwrite()getc()getchar()perror()printf()puts()remove()rename()rewind()scanf()setbuf()setvbuf()snprintf()sprintf()sscanf()tmpfile()tmpnam()ungetc()vfprintf()vfscanf()vprintf()vscanf()vsnprintf()vsprintf()vsscanf()
14.16. <stdlib.h>#
The following methods and variables in <stdlib.h>
are supported:
_Exit()abort()abs()aligned_alloc()at_quick_exit()atexit()atof()atoi()atol()atoll()bsearch()calloc()div()exit()free()getenv()labs()ldiv()llabs()lldiv()malloc()mblen()mbstowcs()mbtowc()qsort()quick_exit()rand()realloc()srand()strtod()strtof()strtol()strtold()strtoll()strtoul()strtoull()wcstombs()wctomb()
The following methods in <stdlib.h> are implemented as
stubs returning -1 and setting errno to ENOSYS:
system()
14.17. <string.h>#
The following methods and variables in <string.h>
are supported:
memchr()memcmp()memcpy()memmove()memset()strcat()strchr()strcmp()strcoll()strcpy()strcspn()strerror()strlen()strncat()strncmp()strncpy()strpbrk()strrchr()strspn()strstr()strtok()strxfrm()
14.18. <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()
14.19. <time.h>#
The following methods and variables in <time.h>
are supported:
asctime()clock()ctime()difftime()gmtime()localtime()mktime()strftime()time()
14.20. <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()wcspbrk()wcsrchr()wcsrtombs()wcsspn()wcsstr()wcstod()wcstof()wcstok()wcstol()wcstold()wcstoll()wcstoul()wcstoull()wcsxfrm()wctob()wmemchr()wmemcmp()wmemcpy()wmemmove()wmemset()wprintf()wscanf()
14.21. <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()