Matrix of C Library-Supported Functions
The following C Runtime library calls are supported in the RTSS environment.
As of SDK version 3.5, RTX64 supports implicit thread-local storage. For more information, see the Microsoft documentation at https://docs.microsoft.com/en-us/cpp/cpp/storage-classes-cpp.
NOTE: Code executed by shutdown handler callback functions cannot use implicit thread-local storage.
NOTE: You can define UNDER_RTSS_UNSUPPORTED_CRT_APIS either before rtapi.h is included or as a pre-processor definition to see what RTSS C Runtime functions have been deprecated.
NOTE: APIs that are not explicitly documented as supported are not guaranteed to work. You should thoroughly test any code that uses undocumented functions.
C Library Function Name |
Notes |
Deterministic? |
---|---|---|
_aligned_free |
|
No |
_aligned_malloc |
|
No |
_aligned_msize |
|
No |
_aligned_offset_malloc |
|
No |
_aligned_offset_realloc |
|
No |
_aligned_offset_recalloc |
|
No |
_aligned_realloc |
|
No |
_aligned_recalloc |
|
No |
abs |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
acos |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
asin |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
atan |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
atan2 |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
atof |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
atoi |
The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi) |
Yes - the elapsed time for the call is less than 5 microseconds. |
atol |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
bsearch |
Yes - the call is deterministic for small input sizes. |
|
calloc |
No |
|
ceil |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
clearerr |
No |
|
cos |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
cosh |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
difftime |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
div |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
errno |
No |
|
exit |
No | |
exp |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
fabs |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
fclose |
No | |
feof | ||
ferror |
No |
|
fflush |
No | |
fgets |
No | |
floor |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
fmod |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
fopen |
No | |
fprintf(stderr) |
|
No |
fputc |
No | |
fputs |
No | |
fread |
No | |
free |
No | |
frexp |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
fseek |
No | |
ftell |
No | |
fwrite |
No | |
getc |
No | |
isalnum |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
isalpha |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iscntrl |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
isdigit |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
isgraph |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
islower |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
isprint |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
ispunct |
Yes - the elapsed time for the call is less than 5 microseconds. | |
isspace |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
isupper |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswalnum |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswalpha |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswascii |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswcntrl |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswctype |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswdigit |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswgraph |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswlower |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswprint |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswpunct |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswspace |
Yes - the elapsed time for the call is less than 5 microseconds. | |
iswupper |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
iswxdigit |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
isxdigit |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
labs |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
ldexp |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
ldiv |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
log |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
log10 |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
longjmp |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
main |
No | |
malloc |
No | |
memchr |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
memcmp |
Yes - the call is deterministic for small input sizes. |
|
memcpy |
Yes - the call is deterministic for small input sizes. |
|
memmove |
Yes - the call is deterministic for small input sizes. |
|
memset |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
modf |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
perror |
|
No |
pow |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
printf |
The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi) |
No |
putc |
No | |
putchar |
No | |
qsort |
Yes - for small input sizes and if comparison function is deterministic |
|
rand |
No - can allocate memory. |
|
realloc |
No | |
rewind |
No | |
setjmp |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
signal |
No | |
sin |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
sinh |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
sprintf |
The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi) |
Yes - the call is deterministic for small input sizes. |
sqrt |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
srand |
No - can allocate memory. |
|
sscanf |
No | |
strcat |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strchr |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strcmp |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strcpy |
Yes - the call is deterministic for small input sizes. |
|
strcspn |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strftime |
Yes - the elapsed time for the call is less than 5 microseconds. | |
strerror |
No - can allocate memory. |
|
strlen |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strncat |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strncmp |
Yes - the call is deterministic for small input sizes. |
|
strncpy |
Yes - the call is deterministic for small input sizes. |
|
strpbrk |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strrchr |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strspn |
Yes - the elapsed time for the call is less than 5 microseconds. | |
strstr |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strtod |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strtok |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strtol |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
strtoul |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
swprintf |
Yes - the call is deterministic for small input sizes. |
|
tan |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
tanh |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
tolower |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
toupper |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
towlower |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
towupper |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
ungetc |
No - can allocate memory. |
|
va_start |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
vsprintf |
|
No |
wcscat |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wcschr |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcscmp |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wcscpy |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcscspn |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wcsftime |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wcslen |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcsncat |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcsncmp |
Yes - the call is deterministic for small input sizes. |
|
wcsncpy |
Yes - the call is deterministic for small input sizes. | |
wcspbrk |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wcsrchr |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcsspn |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcsstr |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wcstod |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcstok |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wcstol |
Yes - the elapsed time for the call is less than 5 microseconds. | |
wcstoul |
Yes - the elapsed time for the call is less than 5 microseconds. |
|
wmain |
No | |
wprintf |
The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi) |
No |
_wtof |
|
Yes - the elapsed time for the call is less than 5 microseconds. |
_wtoi |
The call is supported as both an Rt call and as a Windows call (for example, RtAtoi and Atoi) |
Yes - the elapsed time for the call is less than 5 microseconds. |
_wtol |
Yes - the elapsed time for the call is less than 5 microseconds. | |
_controlfp |
No | |
_fpreset |
No |