summaryrefslogtreecommitdiff
path: root/src/init/syscalls.c
AgeCommit message (Collapse)Author
2021-09-18merge `kernel/types.h` and `init/types.h`dzwdz
2021-09-15fs_wait: pass the file ID toodzwdz
2021-09-14merge the `syscall_handler` and `_syscall` declarationsdzwdz
i think that making the call a bit more "transparent" makes the code nicer
2021-09-14add support for 4-parameter syscallsdzwdz
2021-09-12simplify `fs_respond`'s signaturedzwdz
2021-09-12implement part of `fs_respond`dzwdz
2021-09-12barebones `memflag()` implementation - letting the user allocate pagesdzwdz
2021-09-12implement most of fs_waitdzwdz
awaited_req is a garbage name but i couldn't come up with a better one. i also have no idea how to handle all the failure states
2021-09-11replace `user_ptr` with a linux-style `__user` annotationdzwdz
2021-09-09basic _syscall_fs_wait() impl, doesn't pass the req yetdzwdz
2021-09-07implement fs_create(), front/back fs handlesdzwdz
2021-09-05remove the fd_ / fs_ prefixes from syscall namesdzwdz
2021-09-04rename file descriptors to handlesdzwdz
2021-08-25change the signature of _syscall_fd_mountdzwdz
2021-08-24switch to using user_ptr for pointers coming from userlanddzwdz
this avoid accidental dereferences, and now it's easy to tell apart which pointers are safe to directly read and which aren't. cons: - const is completely discarded
2021-08-24replace () with (void) in function definitionsdzwdz
`()` means that any amt of arguments will be accepted, which isn't what i want
2021-08-24move syscalls.h to shared/syscalls.hdzwdz
2021-08-24remove _syscall_debug_log, as it's not needed anymoredzwdz
2021-08-24add some scaffolding for file descriptorsdzwdz
2021-08-22fs_open() accepts a signed length, fixes an infinite loopdzwdz
it occureed if the path_simplify returned a negative value - instead of being interpreter as an error it just carried on, ending up in an infinite loop.
2021-08-22basic mount resolvingdzwdz
2021-08-22fs_open() stubdzwdz
2021-08-22fix typo in _syscall_await definitiondzwdz
2021-08-18await() 1: wait for child to die, without message passingdzwdz
The length is a int, because the syscall will have a signed output. A negative return value will mean an error (such as when it gets called by a childless process).
2021-07-31change the syscall naming convention; same one in kernel and userlanddzwdz