Commit Graph

650 Commits

Author SHA1 Message Date
185757e2a7 600th commit!
1. Update the bc patch to remove an unnecessary line.
2. Update README.md to mention the port system.
3. Improve the port system!!
2022-10-23 17:15:38 +02:00
1a82bbb234 ports: Add a port system
The only port right now is bc, which works... kind of.
It compiles, and runs, but is really janky. At least it runs!!
2022-10-23 16:44:50 +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
32db366781 apps: Add a little ls utility that lists the files in /bin 2022-10-23 14:06:11 +02:00
14367f07b5 Kernel: Add support for getdents() to DeviceFS 2022-10-23 14:05:55 +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
19ee21ae5a libc: Make string_to_integer_type static 2022-10-23 12:28:25 +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
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
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