Commit Graph

157 Commits

Author SHA1 Message Date
da8a3de480 It's actually S_ISCHR in this case 2022-10-27 08:10:35 +02:00
cdb1f46b93 libc: Add S_ISDEV 2022-10-27 08:09:10 +02:00
f9dad8a8d6 Kernel, libc: Stub out struct stat.st_dev 2022-10-27 08:01:33 +02:00
9b0f6b6595 Kernel, libc: Add O_EXCL 2022-10-27 07:55:59 +02:00
211c76f920 libc: Provide a definition for timeval 2022-10-27 07:55:02 +02:00
1c35eabb2b open(): Add a third optional mode argument 2022-10-27 07:52:57 +02:00
a3c6635f3e Kernel, libc: Add O_APPEND and stub out O_CREAT and O_TRUNC 2022-10-27 07:43:55 +02:00
41f7232b77 Devices: Return EOF after first read for some devices
Still not optimal.
2022-10-26 20:54:47 +02:00
8eb986df63 libc: Add program_invocation_name
This is a GNU extension, but I'm fine with adding it to libc.
It's guarded by the _GNU_SOURCE feature test macro anyways.
2022-10-26 19:17:05 +02:00
7d20c507b1 Kernel, libc, userspace: Implement command-line arguments (argv)
The only thing missing now is for sh to pass them on.
2022-10-26 18:57:06 +02:00
9b1e50ae27 libc: Add EACCES 2022-10-25 20:29:56 +02:00
57658f2d3e libc: Add EOPNOTSUPP 2022-10-25 20:28:12 +02:00
13fce2c4b3 libc: Update headers with more comments 2022-10-25 19:27:24 +02:00
af452e2b2a Kernel, libc: Add dup2() 2022-10-25 18:58:06 +02:00
0dec5f7bad libc: Add dummy getcwd() 2022-10-24 17:05:28 +02:00
b615166373 libc: Stub out tmpfile() as well as add an empty math.h 2022-10-23 18:58:48 +02:00
58b01b74e2 Kernel, libc: Add stat() 2022-10-23 18:35:32 +02:00
865018e7f8 libc: Implement dirfd, rewinddir, telldir and seekdir 2022-10-23 14:59:06 +02:00
e457b88b04 Kernel, libc: Implement O_DIRECTORY and use that in dirent.h 2022-10-23 14:46:27 +02:00
8bf2904d74 libc: Implement a basic subset of dirent.h 2022-10-23 14:41:45 +02:00
78d72c2f0c Kernel, libc: Add a getdents() system call
This is meant to be a low-level interface to implement dirent.h on top of.
2022-10-23 14:03:46 +02:00
35616993f8 libc: Add div(), ldiv(), and lldiv() 2022-10-23 12:26:48 +02:00
51bd7de17b libc: Patch mman.h so libgcov builds 2022-10-23 12:10:05 +02:00
43180b777e libc: Stub out qsort() 2022-10-23 11:19:08 +02:00
9dc8bfbdce libc: Define a dummy FILENAME_MAX 2022-10-23 11:17:22 +02:00
bd8825231a libc: Stub out sscanf() 2022-10-23 11:16:36 +02:00
51580bb846 libc: Add abs(), labs() and llabs()
Just needed to alias them to GCC builtins.
2022-10-23 11:10:26 +02:00
c02f2e128d libc: Stub out ungetc() 2022-10-23 10:34:49 +02:00
f0eeaa25a3 libc: More inttypes.h 2022-10-23 10:31:56 +02:00
0c33fcdff2 libc: Stub out setvbuf, and add S_ISREG 2022-10-23 10:09:20 +02:00
fa35e883d7 libc: Stub out strftime 2022-10-23 10:01:03 +02:00
06f9ffc184 libc: Add EXIT_SUCCESS, EXIT_FAILURE, RAND_MAX and BUFSIZ 2022-10-22 21:39:51 +02:00
7600bc5582 libc: Add strings.h 2022-10-22 21:13:22 +02:00
433b307cb2 libc: Add strcoll()
No locale support, this just calls strcmp()
2022-10-22 21:00:59 +02:00
8908faf6e2 libc: Add strchrnul()
Another GNU extension, it's ok.
2022-10-22 18:37:02 +02:00
503a04f0e9 libc: Add strpbrk() 2022-10-22 17:54:33 +02:00
4d71c0ef04 libc: Implement strndup() 2022-10-22 17:49:44 +02:00
ac8a23d733 wrong type :) 2022-10-22 14:40:30 +02:00
189986d23f libc: Rename pstname() to pstatname()
To avoid confusion with ptsname().
2022-10-22 14:30:41 +02:00
6ac57a2f5c libc: Add support for pstat() 2022-10-22 14:26:42 +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
9bbb5d0c07 libc: Implement strspn (with a test) 2022-10-22 12:36:31 +02:00
6dc51abfc8 libc: Add remove() stub 2022-10-22 12:20:05 +02:00
81c337cf9a libc: Add struct tm and localtime(), gmtime() stubs 2022-10-22 12:17:48 +02:00
91969d4d48 libc: strtoul's endptr must not be const 2022-10-22 12:12:52 +02:00
1f5f6a5e3b libc: Add strcspn (with a test) 2022-10-22 11:57:25 +02:00
27a18a608c libc: Implement fgets, fgetc, getc, getchar (with buffered read IO) 2022-10-22 11:38:16 +02:00
51e024588e libc: Update inttypes.h
Turns out it was incorrect.
2022-10-22 11:23:12 +02:00
0faabe02e5 Kernel, libc: Implement O_CLOEXEC 2022-10-22 10:28:02 +02:00