diff options
author | Benji Dial <benji@benjidial.net> | 2024-07-27 16:57:39 -0400 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-07-27 16:57:39 -0400 |
commit | fbfc078e9f44c1c1e95c9c484f1d5650bcf631b7 (patch) | |
tree | cab539c8cbbac81d895b6f8be695f3f53bf8f4d5 /documentation/kernel-interfaces | |
parent | 9af5588c30c4126a2800aae1afcb0de2c373dc6c (diff) | |
download | hilbert-os-fbfc078e9f44c1c1e95c9c484f1d5650bcf631b7.tar.gz |
lots and lots of userspace stuff
Diffstat (limited to 'documentation/kernel-interfaces')
-rw-r--r-- | documentation/kernel-interfaces/syscalls.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/documentation/kernel-interfaces/syscalls.txt b/documentation/kernel-interfaces/syscalls.txt index ca93b56..399eb19 100644 --- a/documentation/kernel-interfaces/syscalls.txt +++ b/documentation/kernel-interfaces/syscalls.txt @@ -20,6 +20,7 @@ stream result: 12 = other end closed 13 = already exists 14 = not sized + 15 = not readable encode color: rax in: 0 @@ -173,3 +174,27 @@ get other end process handle: rdi in: stream handle rax out: stream result rdi out: process handle (if rax = success) + +start thread: + rax in: 20 + rdi in: entry point + rsi in: argument + at entry, rsp is set to the top of a new stack, rdi is set + to the argument, and the other registers are undefined. + +clear socket read queue: + rax in: 21 + rdi in: stream handle + rax out: number of bytes cleared (0 on bad handle or not a socket) + +get environment variable length: + rax in: 22 + rdi in: pointer to variable name + rsi in: variable name length + rax out: variable value length, or -1 if unset + +get environment variable value: + rax in: 23 + rdi in: pointer to variable name + rsi in: variable name length + rdx in: pointer to buffer for variable value |