summaryrefslogtreecommitdiff
path: root/src/user/app/shell/shell.c
AgeCommit message (Collapse)Author
2023-08-14reorganization: first stepsdzwdz
2023-08-13libc: replace fork2_n_mount with mount_atdzwdz
2023-08-10user/fs: no longer inject MOUNT_ATs by defaultdzwdz
arguably the wrong choice from an usability standpoint, but the right choice from a performance standpoint. there's definitely a nicer way to do this
2023-08-06libc: fs_dirinject2 for injecting multiple pathsdzwdz
2023-06-10kernel: implement getpid, getppiddzwdz
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-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-06kernel: basic procfsdzwdz
2023-01-06kernel: turn the NULLFS into an always present special handledzwdz
preparing for HANDLE_PROCFS
2022-12-27sh: minor usability / aesthetic improvementsdzwdz
2022-12-25user/lib: reorganize a few header filesdzwdz
2022-09-04user/shell: use perrordzwdz
2022-08-11shared/header: don't mix kinds of declarations between headersdzwdz
syscalls.h shouldn't define a random struct etc
2022-08-08user/libc: cwddzwdz
2022-08-08user: separate tmpfs into its own executable, add `mount`dzwdz
2022-08-07user/shell: make `whitelist` work in a more sensible waydzwdz
doesn't need to be a shell builtin now
2022-08-07user/shell: make `>>` work for executablesdzwdz
2022-08-03shared: clean up printf, %u support (amongst other things)dzwdz
2022-08-01user/shell: add a `time` builtindzwdz
2022-08-01user/shell: add a whitelist builtindzwdz
2022-07-31user/shell: use an array of function pointers for the builtinsdzwdz
2022-07-30user: stderrdzwdz
2022-07-28user/shell: redirectionsdzwdz
2022-07-27user/libc: a shitty fgets()dzwdz
2022-07-27user/shell: basic shell script supportdzwdz
2022-07-27user/shell: fix echodzwdz
2022-07-27user/shell: actual parsing, multiple argument supportdzwdz
2022-07-27user/libc: execve() supports passing argv nowdzwdz
2022-07-27user: cleanup init and the shell's codedzwdz
2022-07-26user: break out the shell and tests into separate binariesdzwdz