summaryrefslogtreecommitdiff
path: root/src/user/lib
AgeCommit message (Collapse)Author
2023-07-19user /keyboard: handle open()s instantly even if waiting for kbdzwdz
fixes e.g. `echo */*` in dash
2023-06-25user/libc: fix fgets not storing the newlinedzwdz
also removed an old TODO
2023-06-25ports: reimplement the ports system from scratchdzwdz
side stuff: * removed sltar since it wasn't working anyways * made signal() no longer panic, as that broke certain ports (oops) * doom now ships with the FreeDOOM WADs * /usr/ was aliased to /init/usr/, more directories were added to /bin/ to improve compat with ports
2023-06-18libc: experimental fread buffering supportdzwdz
makes find(1) run 3x faster
2023-06-17libc: implement dirent.hdzwdz
2023-06-17libc: dumb stat() stubs to make dash's PATH search workdzwdz
2023-06-17libc: expand psdata into a proper struct, include executable basedzwdz
this is very useful for debugging userland programs using the qemu gdb stub
2023-06-11kernel: replace await with wait2, roughly compatible with POSIXdzwdz
dash works now :^)))
2023-06-10user: fix floating point operationsdzwdz
2023-06-10libc: last stubs needed for dash to run! :^)dzwdz
2023-06-10kernel: implement DUP_SEARCH (like unix's F_DUPFD)dzwdz
2023-06-10libc: basic signal stubs, non-spec-compliant write() stubdzwdz
2023-06-10kernel: implement getpid, getppiddzwdz
2023-06-09ports/dash: stub out everything needed for dash to compiledzwdz
2023-06-08libc: move the strto* functions to stdlib.h, where they "belong"dzwdz
2023-06-08libc/exec: don't leak file descriptorsdzwdz
2023-06-02libc: stub out sltar's requirementsdzwdz
2023-02-25toolchain: working customized toolchain for userland binsdzwdz
2023-02-24toolchain: partially set up the sysrootdzwdz
2023-02-23build: don't -Isrc/ in user codedzwdz
2023-02-23toolchain: update, move to a Camellia-specific toolchaindzwdz
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-25user: process titles, /bin/psdzwdz
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
2022-12-27sh: minor usability / aesthetic improvementsdzwdz
2022-12-27libc/elfload: don't override cwddzwdz
2022-12-27libc: fix strncmpdzwdz
2022-12-25user/lib: reorganize a few header filesdzwdz
2022-10-19shared/printf: implement %pdzwdz
2022-10-19user/libc: BSD err.h, getprogname()dzwdz
2022-10-18user/libc: rework exec(), use a C _start2dzwdz
2022-10-04user/libc: camellia_open, takes cwd into accountdzwdz
2022-10-02syscall/open: add the full suite of READ/WRITE flagsdzwdz
2022-10-02user/libc: rework fs_whitelist; fix minor bugsdzwdz
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-20user: s/fs_delegate/forward_opendzwdz
2022-09-03user/libc: generate strerror from camellia/errno.hdzwdz
2022-09-03user: implement a basic mkdirdzwdz
2022-09-02user/ports: bare minimum to run doomgenericdzwdz
2022-08-29user/libc: setjmpdzwdz
2022-08-29user/lua: implement the bare minimum for it to link and "run"dzwdz
2022-08-28user/lua: prepare libc headersdzwdz
2022-08-28user/fs: implement fs_delegate, badlydzwdz
2022-08-28shared/path_simplify: return an unsigned valuedzwdz
2022-08-28user/libc: unlink()dzwdz