summaryrefslogtreecommitdiff
path: root/src/shared
AgeCommit message (Collapse)Author
2023-06-11kernel: replace await with wait2, roughly compatible with POSIXdzwdz
dash works now :^)))
2023-06-10kernel: implement DUP_SEARCH (like unix's F_DUPFD)dzwdz
2023-06-10kernel: implement getpid, getppiddzwdz
2023-06-09ports/dash: stub out everything needed for dash to compiledzwdz
2023-06-04kernel: rework /proc/ and process IDsdzwdz
I'm yet to write proper docs but the TL;DR is: Mounting /proc/ creates a new pid namespace. You're still visible in the old namespace with your old pid, but your children won't be. You see your own pid as 1. Current pids of children will be preserved, pids will be allocated starting from the highest one of your children.
2023-02-23build: don't -Isrc/ in user codedzwdz
2023-02-23fix: printf related warningsdzwdz
2023-01-25style: typedef structs, shorter namespacesdzwdz
I've wanted to do this for a while, and since I've just had a relatively large refactor commit (pcpy), this is as good of a time as any. Typedefing structs was mostly inspired by Plan 9's coding style. It makes some lines of code much shorter at basically no expense. Everything related to userland kept old-style struct definitions, so as not to force that style onto other people. I also considered changing SCREAMING_ENUM_FIELDS to NicerLookingCamelcase, but I didn't, just in case that'd be confusing.
2023-01-19kernel: user interruptsdzwdz
2023-01-11kernel: return EPIPE when fs_waiting on a dead filesystemdzwdz
2023-01-08kernel: let parents kill their children againdzwdz
2023-01-08kernel: remove the leftover _syscall_procfsdzwdz
2023-01-06kernel: basic procfsdzwdz
2023-01-06kernel: turn the NULLFS into an always present special handledzwdz
preparing for HANDLE_PROCFS
2022-12-27fsutil: don't set the offset to 0 when length == 0dzwdz
2022-10-19shared/printf: implement %pdzwdz
2022-10-02syscall/open: add the full suite of READ/WRITE flagsdzwdz
2022-09-21user/lib: ufs_waitdzwdz
2022-09-20shared: rename ufs_request to better fit its role in userlanddzwdz
The old name could have suggested that it held a response to a request received by fs_wait. The new name is unfortunately very similar to the `struct vfs_request` already used internally in the kernel, but it's better at conveying that it contains a filesystem request yet to be handled. vfs_request - virtual filesystem request (a bad name in hindsight) ufs_request - user filesystem request
2022-09-15shared/printf: string precisiondzwdz
2022-09-15shared/printf: properly implement number precisiondzwdz
2022-09-03user/libc: generate strerror from camellia/errno.hdzwdz
2022-09-02user/ports: bare minimum to run doomgenericdzwdz
2022-09-02kernel/proc: introduce child ids for telling children apartdzwdz
2022-08-29shared/printf: handle the %l and %ll length modifiersdzwdz
2022-08-28shared/path_simplify: return an unsigned valuedzwdz
2022-08-26user/libc: prepare for OpenED portdzwdz
2022-08-26shared: memmovedzwdz
2022-08-23user/netstack: TCP recvdzwdz
2022-08-23shared/ring: rename ring_size to ring_used, add ring_availdzwdz
2022-08-23user/netstack: TCP listen and closedzwdz
2022-08-22user/netstack: ARP cachedzwdz
2022-08-22syscalls/fs_respond: make the *buf argument constdzwdz
2022-08-19include: make camellia/syscalls.h compatible with assemblydzwdz
2022-08-19syscall/fs_wait: return a handle for each requestdzwdz
2022-08-19syscall/fork: allow sharing handles between threadsdzwdz
2022-08-19kernel/proc: abstract away managing handlesdzwdz
2022-08-18syscall/fork: FORK_SHAREMEM for primitive "threads"dzwdz
2022-08-12vfs: OPEN_RO flag, read-only whitelist entriesdzwdz
2022-08-11shared/header: don't mix kinds of declarations between headersdzwdz
syscalls.h shouldn't define a random struct etc
2022-08-11vfs: support for removing filesdzwdz
2022-08-08user/libc: cwddzwdz
2022-08-07user/libc: preparation for dlmalloc portdzwdz
2022-08-06shared assert.hdzwdz
2022-08-06make snprintf shared; dynamic resolution supportdzwdz
2022-08-05shared/mem: 64bit memcpy/memsetdzwdz
/bin/tests with test_sleep disabled now runs almost 2x as fast
2022-08-05add _syscall_getsizedzwdz
2022-08-05shared/printf: implement %ddzwdz
2022-08-05move path_simplify to shared code, move its tests to userlanddzwdz
2022-08-04move the kernel util tests to userlanddzwdz