Commit Graph

884 Commits

Author SHA1 Message Date
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
8f17578e2e Update README.md 2022-10-22 21:43:55 +02:00
06f9ffc184 libc: Add EXIT_SUCCESS, EXIT_FAILURE, RAND_MAX and BUFSIZ 2022-10-22 21:39:51 +02:00
dd9b90d69d compilation fix :) 2022-10-22 21:16: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
6d4d2579ab Tests: Add tests for strchrnul, strdup and strndup 2022-10-22 20:36:28 +02:00
cf94ca2a4e Kernel: Update libk's string.h 2022-10-22 19:06:06 +02:00
437f51add7 Kernel: move over the mem* functions from libc 2022-10-22 19:04:35 +02:00
4725538aa7 Tests: Add tests for memmove and memcmp + correct our memcmp implementation 2022-10-22 19:04:19 +02:00
8908faf6e2 libc: Add strchrnul()
Another GNU extension, it's ok.
2022-10-22 18:37:02 +02:00
bfbe8e847b Tests: Add tests for memset, memcpy and memchr 2022-10-22 18:33:28 +02:00
766b6d26c8 Tests: add test for strpbrk() 2022-10-22 18:09:43 +02:00
ea96c5f47b Tests: Add tests for calloc() and realloc() 2022-10-22 18:06:01 +02:00
c3828dd357 Tests: add tests for strchr() and strrchr() 2022-10-22 17:58:54 +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
20429929dd InitRD: Bump up the filesystem limits 2022-10-22 17:23:22 +02:00
58ca030711 initrd: warn when failing to register stuff 2022-10-22 17:21:34 +02:00
26324259f2 uname: Use fgets() 2022-10-22 15:43:21 +02:00
a1a1157151 sh: update it 2022-10-22 15:09:09 +02:00
4aa979bd87 sh: remove duplicate code 2022-10-22 15:08:27 +02:00
fef7dd5867 Rename [moon-reaper] to [reaper] 2022-10-22 14:43:41 +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
727e227b09 apps: Add ps (uses pstat) 2022-10-22 14:26:59 +02:00
6ac57a2f5c libc: Add support for pstat() 2022-10-22 14:26:42 +02:00
bcdcfc4b45 Kernel: Add a pstat() system call
Not part of C or POSIX, but since there is no procfs right now, I thought it would be nice to have an interface to query process information.
It works like this: you pass the process ID and a pointer to a struct pstat (can be null).
If the process ID is -1, the kernel picks the process with the highest PID.
Then, if the pointer to a pstat struct is not null, the kernel fills it in with the process's information, and returns the process's PID.
2022-10-22 14:26:29 +02:00
31e0f0efed uptime: Use fgets() 2022-10-22 14:23:34 +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
551d731627 libc: Add FIXME 2022-10-22 12:30:30 +02:00
063e2d5e7a libc: Add more spacing to stdio.cpp 2022-10-22 12:21:04 +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
6e01323e84 Tests: Add tests for srand, atol and atoll 2022-10-22 12:10:19 +02:00
59d5e9789e Tests: Add a test for atoi() 2022-10-22 12:03:10 +02:00
1f5f6a5e3b libc: Add strcspn (with a test) 2022-10-22 11:57:25 +02:00
6816a5b11f Scheduler: do not reboot on PID 1 exit if we are in a test 2022-10-22 11:56:08 +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
fb88459263 libc: Add all missing errors to strerror() 2022-10-22 10:14:40 +02:00
b2f5a0502f Kernel, libc: Implement O_NONBLOCK 2022-10-21 21:51:03 +02:00