Implement and test bindings for stdio.h, stdlib.h, string.h, time.h, math.h, signal.h, locale.h
The implementation of this is less for practical purposes and more for exercising SLinC and allowing good benchmarks of its performance against JVM equivalent behavior.
stdio.h
Types
-
size_t -
FILE -
fpos_t
Macros
-
NULL -
_IOFBF -
_IOLBF -
_IONBF -
BUFSIZ -
EOF -
FOPEN_MAX -
FILENAME_MAX -
L_tmpnam -
SEEK_CUR -
SEEK_END -
SEEK_SET -
TMP_MAX -
stderr -
stdin -
stdout
Functions
-
fclose -
clearerr -
feof -
ferror -
fflush -
fgetpos -
fopen -
fread -
freopen -
fseek -
fsetpos -
ftell -
fwrite -
remove -
rename -
rewind -
setbuf -
setvbuf -
tmpfile -
tmpnam -
fprinf -
printf -
sprintf -
fscanf -
scanf -
sscanf -
fgetc -
fgets -
fputc -
fputs -
getc -
getchar -
gets -
putc -
putchar -
puts -
ungetc -
perror
stdlib.h
Types
-
size_t -
wchar_t -
div_t -
ldiv_t
Macros
-
NULL -
EXIT_FAILURE -
EXIT_SUCCESS -
RAND_MAX -
MB_CUR_MAX
Functions
-
atof -
atoi -
atol -
strtod -
strtol -
strtoul -
calloc -
free -
malloc -
realloc -
abort -
atexit -
exit -
getenv -
system -
bsearch -
qsort -
abs -
div -
labs -
ldiv -
rand -
srand -
mblen -
mbstowcs -
mbtowc -
wcstombs -
wctomb
string.h
Types
-
size_t
Macros
-
NULL
Function
-
memchr -
memcmp -
memcpy -
memmove -
memset -
strcat -
strncat -
strchr -
strcmp -
strncmp -
strcoll -
strcpy -
strncpy -
strcspn -
strerror -
strlen -
strpbrk -
strrchr -
strspn -
strstr -
strtok -
strxfrm
time.h
Types
-
size_t -
clock_t -
time_t -
tm
Macros
-
NULL -
CLOCKS_PER_SEC
Functions
-
asctime -
clock -
ctime -
difftime -
gmtime -
localtime -
mktime -
strftime -
time
math.h
Macros
-
HUGE_VAL
Functions
-
acos -
asin -
atan -
atan2 -
cos -
cosh -
sin -
sinh -
tanh -
exp -
frexp -
ldexp -
log -
log10 -
modf -
pow -
sqrt -
ceil -
fabs -
floor -
fmod
signal.h
Types
-
sig_atomic_t
Macros
-
SIG_DFL -
SIG_ERR -
SIG_IGN -
SIGABRT -
SIGFPE -
SIGILL -
SIGINT -
SIGSEGV -
SIGTERM
Functions
-
signal -
raise
locale.h
Macros
-
LC_ALL -
LC_COLLATE -
LC_CTYPE -
LC_MONETARY -
LC_NUMERIC -
LC_TIME
Functions
-
setlocale -
lconv
Edited by Mark Hammons