summaryrefslogtreecommitdiffstats
path: root/api/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/syscall.h')
-rw-r--r--api/syscall.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/api/syscall.h b/api/syscall.h
index 3f9d115..88aad81 100644
--- a/api/syscall.h
+++ b/api/syscall.h
@@ -46,13 +46,19 @@ enum
SYSCALL_UNTYPED_SIZE,
SYSCALL_UNTYPED_SPLIT,
SYSCALL_UNTYPED_MERGE,
- SYSCALL_UNTYPED_RETYPE,
+ SYSCALL_UNTYPED_RETYPE_OBJDIR,
+ SYSCALL_UNTYPED_RETYPE_PAGEDIR,
+ SYSCALL_UNTYPED_RETYPE_SHMEMORY,
+ SYSCALL_UNTYPED_RETYPE_PCB,
+ SYSCALL_UNTYPED_RETYPE_MESSAGE,
+ _SYSCALL_UNTYPED_ARCH_BEGIN
};
#define SYSCALL_PERM_UNTYPED_ADDRESS JOVE_PERM_READ
#define SYSCALL_PERM_UNTYPED_SIZE JOVE_PERM_READ
#define SYSCALL_PERM_UNTYPED_SPLIT (JOVE_PERM_WRITE | JOVE_PERM_MUTATE)
#define SYSCALL_PERM_UNTYPED_MERGE (JOVE_PERM_WRITE | JOVE_PERM_MUTATE)
+#define SYSCALL_PERM_UNTYPED_RETYPE (JOVE_PERM_WRITE | JOVE_PERM_MUTATE)
struct syscall_untyped_split
{
@@ -175,12 +181,18 @@ enum
_SYSCALL_PCB_NONE = 0,
SYSCALL_PCB_YIELD,
SYSCALL_PCB_SEND,
- SYSCALL_PCB_RECV
+ SYSCALL_PCB_RECV,
+ SYSCALL_PCB_SET_RDIR,
+ SYSCALL_PCB_SET_PDIR,
+ SYSCALL_PCB_SET_READY,
};
#define SYSCALL_PERM_PCB_YIELD (JOVE_PERM_WRITE)
-#define SYSCALL_PERM_PCB_SEND (JOVE_PERM_MUTATE)
-#define SYSCALL_PERM_PCB_RECV (JOVE_PERM_MUTATE)
+#define SYSCALL_PERM_PCB_SEND (JOVE_PERM_WRITE)
+#define SYSCALL_PERM_PCB_RECV (JOVE_PERM_WRITE)
+#define SYSCALL_PERM_PCB_SET_RDIR (JOVE_PERM_WRITE | JOVE_PERM_MUTATE)
+#define SYSCALL_PERM_PCB_SET_PDIR (JOVE_PERM_WRITE | JOVE_PERM_MUTATE)
+#define SYSCALL_PERM_PCB_SET_READY (JOVE_PERM_WRITE | JOVE_PERM_MUTATE)
#define SYSCALL_PERM_PCB_SEND_TGT (JOVE_PERM_MUTATE)
#define SYSCALL_PERM_PCB_RECV_DST (JOVE_PERM_MUTATE)