8966690b34
kernel: Add POLLHUP and store it when a polled socket's peer disconnects
2023-09-10 18:55:42 +02:00
3f1e6fc2ff
libluna+kernel: Move luna/Syscall.h to the kernel API directory
...
continuous-integration/drone/push Build is failing
A kernel-specific header has nothing to do in libluna.
2023-08-23 14:35:21 +02:00
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
0c64b6e040
libc: Add some stub network-related header files
2023-08-11 18:09:45 +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
b1e164f360
libc. Add basic wchar.h
2023-08-08 19:43:23 +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
4195e7f206
kernel+libc+stat: Add support for file times
...
continuous-integration/drone/push Build is passing
The modification time is not updated though.
2023-08-08 13:33:40 +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
2572695c8d
kernel: Support mapping shared memory using mmap()
2023-08-02 22:20:05 +02:00
6593f9241b
libc: Add wrapper for poll()
2023-08-02 17:19:16 +02:00
df4227eab8
kernel: Make the poll() system call actually work
2023-08-02 17:18:38 +02:00
f8cb6e03df
kernel: Allow turning off the TTY by setting it to graphical mode
continuous-integration/drone/push Build is passing
2023-08-02 15:16:10 +02:00
207d901de8
kernel+libc: Add the poll() syscall
continuous-integration/drone/push Build is passing
2023-08-02 14:48:20 +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
200bb6c240
kernel+libc+libos: Add inode type for sockets
2023-07-30 11:33:05 +02:00
905e71527e
libc: Actually implement sigsetjmp() and siglongjmp()
2023-07-24 19:39:22 +02:00
b12f42cfe2
libc: Add SIGWINCH
...
Not used for anything at the moment, I guess if a user program wants to send it...
Required by bc.
2023-07-24 19:11:06 +02:00
c5af1bcef9
libc: Fix typo in fopen description
continuous-integration/drone/push Build is passing
2023-07-24 11:57:47 +02:00
9ef09cfc88
libc+libluna: Add case-insensitive string comparison functions
2023-07-22 11:58:28 +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
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
de6fe7f7c2
kernel+libc+sh: Make the TTY device actually follow termios rules
...
continuous-integration/drone/push Build is passing
Like, so much more termios compatibility!
2023-07-13 20:33:20 +02:00
efd5bae7a5
kernel: Implement querying the terminal window size
continuous-integration/drone/push Build is failing
2023-07-12 22:09:28 +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
81e1fdf81e
kernel+libc+login+sh+su: Implement foreground and background process groups in the default console
...
continuous-integration/drone/push Build is passing
Also, the console sends SIGINT to the foreground process group when ^C is pressed!
2023-07-12 13:49:37 +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
1091798195
libc: Add stub memory.h header for legacy programs
continuous-integration/drone/push Build is passing
2023-07-12 11:24:54 +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
f7e8fd9cb8
libc: Add octal specifiers to inttypes.h
2023-07-11 11:49:27 +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
86d14e0d0e
kernel+libc: Add the SA_NODEFER and SA_RESETHAND flags for sigaction()
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-10 21:54:04 +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
e0b5acb2ab
libc: Make struct sigaction C-compatible
continuous-integration/drone/pr Build is passing
2023-07-10 21:19:43 +02:00
4a5947e10e
libc: Implement signal()
2023-07-10 21:17:25 +02:00