Commit Graph

27 Commits

Author SHA1 Message Date
2980ee3973 libc: Make fread() and fwrite() less awkward 2022-11-06 14:53:05 +01:00
40b078e0a2 libc: Make fread/fwrite return the number of items read/written instead of the number of bytes 2022-11-06 14:46:22 +01:00
6df5b8a703 Make backspace work 2022-10-30 10:08:52 +01:00
b2f321c0b8 libc: Parse the mode string 2022-10-28 17:02:08 +02:00
d82238b485 libc: Add return value to ungetc() 2022-10-23 11:14:18 +02:00
d75de5f423 libc: Partially implement ungetc 2022-10-23 11:12:54 +02:00
c02f2e128d libc: Stub out ungetc() 2022-10-23 10:34:49 +02:00
0c33fcdff2 libc: Stub out setvbuf, and add S_ISREG 2022-10-23 10:09:20 +02:00
06f9ffc184 libc: Add EXIT_SUCCESS, EXIT_FAILURE, RAND_MAX and BUFSIZ 2022-10-22 21:39:51 +02:00
a4eed362b6 libc: Implement fseeko() and ftello() 2022-10-22 12:41:15 +02:00
759c8a8cab libc: Make fpos_t no longer a struct 2022-10-22 12:39:37 +02:00
551d731627 libc: Add FIXME 2022-10-22 12:30:30 +02:00
27a18a608c libc: Implement fgets, fgetc, getc, getchar (with buffered read IO) 2022-10-22 11:38:16 +02:00
aebd860947 libc: Add stdin
Aka keyboard :)
2022-10-19 20:43:04 +02:00
b035795eb3 Kernel: Move errno.h and (k)assert.h out of the main include directory
This is mostly so IDEs don't pick them up instead of the userspace headers :)
2022-10-19 17:41:23 +02:00
aa90e4a8d9 libc: Implement freopen() 2022-10-19 17:32:59 +02:00
511ad67a9a fdopen: Check for malloc errors 2022-10-17 20:54:32 +02:00
e17a21dbad libc: Use fdopen() after calling open() in fopen() 2022-10-17 20:54:09 +02:00
c77e752a82 libc: Implement fileno() 2022-10-15 10:28:52 +02:00
0e64c57e10 libc: Change __{stderr, stdout} to {stderr, stdout} 2022-10-14 19:23:14 +02:00
3b83d7ccaf libc: Implement fsetpos() and fgetpos()
Not much to do, since these are kind of equivalent to fseek() and ftell().
2022-10-14 19:12:40 +02:00
de6041fede libc: Add fdopen() 2022-10-12 20:19:13 +02:00
edda41a7bb libc: Implement fseek(), ftell() and rewind()
All three use the new syscall seek() (with its lseek() wrapper in unistd.h)!!
2022-10-12 15:56:03 +02:00
2f46e46aa4 libc: Implement fwrite()
Now that we have the write() syscall and libc wrapper, fwrite can finally be implemented.
2022-10-11 21:09:30 +02:00
6c51477197 libc: Implement ferror() and feof() 2022-10-11 16:57:08 +02:00
4f2b3ce5d1 fclose: restore errno after call to free() if close() fails 2022-10-10 21:18:24 +02:00
93f6be9319 libc: Implement the start of a FILE* API (the standard, portable C way of doing file stuff) 2022-10-10 21:08:57 +02:00