ref: 6d3e368f2d0796e366d2df8ed56e3b6fe0c42182
dir: /TODO/
TODO: - [x] /env/fn# to init functions? - [-] set up initial connection before handing over to an rc session, to set up binds and mounts? - [ ] Set up $path with \#9/$objtype/bin and \#9/rc/bin - [x] remove rc builtins aside from mount/bind - [x] start.s in libmachdep for each posix-target, just do like tas.c - investigate if we want to run this another way instead! - [x] have it export a var service=unix - [ ] Some people probably want aan? - [ ] gui-cocoa try to capture the windows we create so we can send mouse/keyboard to it, plist for launchd - [ ] gui-wl cannibalize the wayland shims - [ ] Use ScreenCaptureKit to get at the video/audio. Handle resizes the other direction - [ ] define the gui interface - [x] Makefile librc --> librc.a - [ ] RFREND + RFNOMEM could probably be handled in rfork Remove our rc, just add in all of our syscall intercepts properly. Kernel space needs: - devdraw - #i: !needed, We use the client exported /dev/draw instead - devkbd - #b: !needed, We use the client exported /dev/kbd instead - devmouse - #m: !needed, We use the client exported /dev/mouse instead - devaudio - #A: !needed, We use the client exported /dev/audio instead - devcmd - #C: needed OS(1) commands, we already run on host - devcons - #c: needed, /dev/cons - devenv - #e: needed, /env - devfs - #U: needed, local files - devip - #I: needed, networking - devlfd - #L: needed, local fd - devmnt - #M: needed, client shares - devpipe - #|: needed for pipes - devroot - #/: needed, base of stack - devssl - #D: !needed, ssl - eventually add - devtls - #a: !needed, tls - eventually add - devproc - #p: needed, /dev/proc, overlay any existing - devsrv - #s: !needed, eventually add - devbin - #9: needed, just a path that can use PLAN9 - devtab - meta, needed - add/remove any devices that we add/remove, from here as well