diff options
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 |