summaryrefslogtreecommitdiffstats
path: root/include/api/syscall.h
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-09-18 13:52:58 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-09-18 13:52:58 -0400
commitddc4fbc15223e362896a9f42beca73f05f48e664 (patch)
tree30f8ffc989bc66d9d9e67c7321b3d7a9c46dc130 /include/api/syscall.h
parentcfc793e204ba63d281e778a36992b8c86dd0ad88 (diff)
downloadjove-kernel-ddc4fbc15223e362896a9f42beca73f05f48e664.tar.gz
jove-kernel-ddc4fbc15223e362896a9f42beca73f05f48e664.tar.bz2
jove-kernel-ddc4fbc15223e362896a9f42beca73f05f48e664.zip
move usermode-critical info to include/api
Diffstat (limited to 'include/api/syscall.h')
-rw-r--r--include/api/syscall.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/include/api/syscall.h b/include/api/syscall.h
new file mode 100644
index 0000000..3ce5886
--- /dev/null
+++ b/include/api/syscall.h
@@ -0,0 +1,45 @@
+#ifndef _JOVE_API_SYSCALL_H
+#define _JOVE_API_SYSCALL_H 1
+
+enum
+{
+ SYSCALL_NONE = 0,
+ SYSCALL_INVOKE,
+ SYSCALL_SEND,
+ SYSCALL_RECV,
+
+ SYSCALL_DEBUG_PUTC
+};
+
+/* Generic payload of SYSCALL_INVOKE:
+ * [size_t n][ n bytes ][ uint8_t ][ payload ]
+ * target entry funcid
+ * */
+
+/**@ENUM objdir invokes*/
+enum
+{
+ /*[target path][u8 funcid][u8 memb]*/
+ INVOKE_OBJDIR_GETMEMB,
+ /*[target path][u8 funcid]*/
+ INVOKE_OBJDIR_LASTMEMB,
+ /*[target path][u8 funcid][u8 memb]*/
+ INVOKE_OBJDIR_MOVE
+};
+/**@ENUM untyped invokes*/
+enum
+{
+ /*[target path][u8 funcid][size_t ret]*/
+ INVOKE_UNTYPED_SIZE = 0,
+ /*[target path][u8 funcid][dest path][dest bytes]*/
+ INVOKE_UNTYPED_SPLIT,
+ /*[first path][u8 funcid][second path]*/
+ INVOKE_UNTYPED_MERGE,
+ /*[target path][u8 funcid][size_t ret]*/
+ INVOKE_UNTYPED_ALIGNMENT,
+ /*[target path][u8 funcid][u16 type]*/
+ INVOKE_UNTYPED_RETYPE,
+};
+
+
+#endif