summaryrefslogtreecommitdiffstats
path: root/include/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/syscall.h')
-rw-r--r--include/syscall.h46
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