diff options
author | Jon Santmyer <jon@jonsantmyer.com> | 2025-07-30 14:32:01 -0400 |
---|---|---|
committer | Jon Santmyer <jon@jonsantmyer.com> | 2025-07-30 14:32:01 -0400 |
commit | b905869a35f062a4e5072f10bec3a2ba3db0e365 (patch) | |
tree | 0666691804878857b4bb07daca8a54f5ddb8ae0b /include/syscall.h | |
download | jove-kernel-b905869a35f062a4e5072f10bec3a2ba3db0e365.tar.gz jove-kernel-b905869a35f062a4e5072f10bec3a2ba3db0e365.tar.bz2 jove-kernel-b905869a35f062a4e5072f10bec3a2ba3db0e365.zip |
working userland with some invoke syscalls
Diffstat (limited to 'include/syscall.h')
-rw-r--r-- | include/syscall.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/syscall.h b/include/syscall.h new file mode 100644 index 0000000..c9c26d8 --- /dev/null +++ b/include/syscall.h @@ -0,0 +1,46 @@ +#ifndef _JOVE_SYSCALL_H +#define _JOVE_SYSCALL_H 1 + +#include <stdint.h> +#include <stddef.h> +#include "object.h" + +enum +{ + SYSCALL_NONE = 0, + SYSCALL_INVOKE, + SYSCALL_SEND, + SYSCALL_RECV, + + SYSCALL_DEBUG_PUTC, + SYSCALL_DEBUG_IDENTIFY +}; + +typedef uint16_t invokeid_t; + +struct syscallInvokeHeader +{ + obj_path_t target_path; + invokeid_t func_id; +}; + +enum +{ + INVOKE_OBJDIR_NMEMB = 0, + INVOKE_OBJDIR_GETMEMB +}; + +struct syscallInvoke_objdir_nmemb +{ + struct syscallInvokeHeader header; + size_t value; +}; + +struct syscallInvoke_objdir_getmemb +{ + struct syscallInvokeHeader header; + uint8_t member; + obj_type_t value; +}; + +#endif |