summaryrefslogtreecommitdiff
path: root/src/shared/include
diff options
context:
space:
mode:
authordzwdz2022-07-29 18:45:47 +0200
committerdzwdz2022-07-29 18:45:47 +0200
commita658e1068eb2f849736931d2b99bcb6290c7ec0a (patch)
treefd2f6d31cf74799aa7318524bea7c707767e6b0e /src/shared/include
parentc6424fbc55298399f133ca1ede11e1f0b4a5c824 (diff)
syscall: up the max argument count to 5; make write accept flags
Diffstat (limited to 'src/shared/include')
-rw-r--r--src/shared/include/camellia/execbuf.h2
-rw-r--r--src/shared/include/camellia/syscalls.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/shared/include/camellia/execbuf.h b/src/shared/include/camellia/execbuf.h
index c9d444d..9741f66 100644
--- a/src/shared/include/camellia/execbuf.h
+++ b/src/shared/include/camellia/execbuf.h
@@ -1,7 +1,7 @@
#pragma once
/* the instruction format is bound to change, atm it's extremely inefficient */
-/* takes 5 arguments */
+/* takes 6 arguments */
#define EXECBUF_SYSCALL 0xF0000001
/* takes 1 argument, changes %rip */
#define EXECBUF_JMP 0xF0000002
diff --git a/src/shared/include/camellia/syscalls.h b/src/shared/include/camellia/syscalls.h
index 7864123..67bd713 100644
--- a/src/shared/include/camellia/syscalls.h
+++ b/src/shared/include/camellia/syscalls.h
@@ -33,7 +33,7 @@ enum {
_SYSCALL_DEBUG_KLOG,
};
-long _syscall(long, long, long, long, long);
+long _syscall(long, long, long, long, long, long);
/** Kills the current process.
*/
@@ -59,7 +59,7 @@ long _syscall_mount(handle_t h, const char __user *path, long len);
handle_t _syscall_dup(handle_t from, handle_t to, int flags);
long _syscall_read(handle_t h, void __user *buf, size_t len, long offset);
-long _syscall_write(handle_t h, const void __user *buf, size_t len, long offset);
+long _syscall_write(handle_t h, const void __user *buf, size_t len, long offset, int flags);
long _syscall_close(handle_t h);
struct fs_wait_response {