95a33c484e
kernel+libc: Add a memstat() syscall
...
We can finally show memory usage in userspace.
This could have been done using sysfs, but I'm lazy and don't want to implement that. Maybe in the next release?
2023-08-17 20:15:32 +02:00
49a6c39c38
libc: Implement popen() and pclose()
2023-08-15 19:21:25 +02:00
e2a77bb3da
kernel+libc: Add pledge support
continuous-integration/drone/push Build is failing
2023-08-12 21:38:25 +02:00
181b4c151b
tools: Build libstdc++
2023-08-11 18:24:38 +02:00
52064e0317
libc+kernel: Add alarm() and getpagesize()
2023-08-11 18:09:12 +02:00
ec3c1132d2
libc: Fix constness of some socket functions
2023-08-11 18:00:15 +02:00
5a1adcb2a6
libc: Add putenv
2023-08-11 17:59:04 +02:00
c4f6191e24
libc: Implement some simple stuff needed for gcc
2023-08-08 22:06:11 +02:00
39e4fbd112
libc: Provide a bunch of math functions wrapped around compiler builtins
2023-08-08 20:38:38 +02:00
d96ff92461
libc: Add borrowed strtod implementation
2023-08-08 15:17:25 +02:00
8c13513bf4
libc: Add strcoll()
continuous-integration/drone/push Build is passing
2023-08-08 14:40:14 +02:00
a92077d311
kernel+libc: Add all variants of utime
continuous-integration/drone/push Build is passing
2023-08-08 14:14:35 +02:00
159c05c064
libluna: Add max() and min()
continuous-integration/drone/push Build is passing
2023-08-08 12:39:03 +02:00
198935eb30
libc: Reset the read buffer even when read() returns an error
...
This fixes the same data being read multiple times if an error was returned
2023-08-08 10:39:15 +02:00
b01aa72f17
libc+init+shmem-test: Add POSIX shared memory objects
continuous-integration/drone/push Build is passing
2023-08-03 10:32:52 +02:00
c5e24e478f
kernel+libc: Add truncate and ftruncate
continuous-integration/drone/push Build is passing
2023-08-03 08:47:37 +02:00
53d9f5c6fc
libc: Add msync wrapper
continuous-integration/drone/push Build is passing
2023-08-02 22:44:54 +02:00
f66b0497cf
libc: Add support for mmap()'s new syscall format
2023-08-02 22:20:05 +02:00
6593f9241b
libc: Add wrapper for poll()
2023-08-02 17:19:16 +02:00
aac8280e8a
libc+libos: Properly propagate errors through fgetc() and File::getchar()
...
This restores proper ^C behavior in the shell.
2023-08-02 14:46:47 +02:00
d01087362e
libc: Set the close-on-exec flag for directories opened using opendir()
...
This is apparently mandated by POSIX.
2023-07-31 10:58:06 +02:00
7b24a4d1c6
libc: Add wrappers for listen(), connect(), and accept()
2023-07-30 11:33:06 +02:00
a12b018b03
kernel+libc: Add basic Unix sockets (creation and binding)
2023-07-30 11:33:06 +02:00
905e71527e
libc: Actually implement sigsetjmp() and siglongjmp()
2023-07-24 19:39:22 +02:00
085d2895e8
libc: Implement setbuf(), setbuffer(), and setlinebuf()
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
These are all simple wrappers around setvbuf().
2023-07-22 11:36:20 +02:00
77022abafd
libc: Implement ungetc
continuous-integration/drone/pr Build is passing
2023-07-22 11:25:20 +02:00
19b4aa9f81
libc: Flush buffers before dealing with file positions
2023-07-22 11:19:48 +02:00
420270ebd4
libc: Implement read buffering =D
2023-07-22 11:17:51 +02:00
d60ad184f1
libc: A bit of nice refactoring
2023-07-22 10:58:34 +02:00
a3ed950be8
libc: Basic write buffers
continuous-integration/drone/pr Build is passing
2023-07-22 00:04:27 +02:00
cfb0ead2d9
libc: Flush all open streams on exit
...
This does nothing for now, but prepares for buffering.
2023-07-21 22:56:03 +02:00
546d900454
libc+apps: Start implementing POSIX-compliant termios.h wrappers around tty ioctls
continuous-integration/drone/push Build is passing
2023-07-12 19:23:06 +02:00
2951d6d112
libc+tests: Check for manual modifications of environ
...
continuous-integration/drone/push Build is passing
Closes #31 .
2023-07-12 16:25:06 +02:00
71ff763dd9
kernel+libc: Add the SIGTTIN and SIGTTOU signals
2023-07-12 13:45:36 +02:00
b64093dee5
kernel+libc: Implement getpgid()
2023-07-12 13:44:25 +02:00
9cf35f761f
libc: Fix another conversion error
continuous-integration/drone/push Build is passing
2023-07-11 12:45:55 +02:00
a51fb6a428
libc: Fix conversion error in isatty()
continuous-integration/drone/push Build is failing
2023-07-11 12:45:08 +02:00
69f9701097
kernel+libc: Implement isatty()
continuous-integration/drone/push Build is failing
2023-07-11 12:05:09 +02:00
7328cfe734
kernel: Add basic process groups
continuous-integration/drone/push Build is passing
2023-07-11 11:51:07 +02:00
0fed45d1c6
libc: Implement _exit()
...
Apparently, I implemented _Exit in stdlib.h but forgot to add _exit to unistd.h...
2023-07-11 11:49:10 +02:00
237184a8bf
libc+sh: Implement strsignal and use it in the shell
continuous-integration/drone/pr Build is passing
2023-07-10 21:39:22 +02:00
66365e15a7
libc: Block and ignore appropriate signals in system()
continuous-integration/drone/pr Build is passing
2023-07-10 21:17:56 +02:00
4a5947e10e
libc: Implement signal()
2023-07-10 21:17:25 +02:00
3df40beaf2
libc: Rewrite abort() using the new signals
continuous-integration/drone/pr Build is failing
2023-07-10 21:08:23 +02:00
8066e8f1d8
kernel+libc: Implement sigprocmask() and friends
continuous-integration/drone/pr Build is failing
2023-07-10 21:01:59 +02:00
15d6aae701
kernel+libc: Implement basic signals
2023-07-10 19:46:57 +02:00
a9460469d9
kernel+libc+apps: Add a source parameter to the mount() system call
2023-06-25 20:35:35 +02:00
d50ea76bdc
libc: Make tmpfile() create files in /tmp's filesystem
continuous-integration/drone/push Build is passing
2023-06-19 11:52:38 +02:00
f22689fcf5
libc: Add stubs for fflush() and ungetc()
continuous-integration/drone/push Build is passing
2023-06-19 10:48:02 +02:00
acfad51ac0
libc: Add freopen()
2023-06-19 10:46:08 +02:00