summaryrefslogtreecommitdiff
path: root/include/hilbert/kernel/syscall.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/hilbert/kernel/syscall.hpp')
-rw-r--r--include/hilbert/kernel/syscall.hpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/hilbert/kernel/syscall.hpp b/include/hilbert/kernel/syscall.hpp
new file mode 100644
index 0000000..c83e514
--- /dev/null
+++ b/include/hilbert/kernel/syscall.hpp
@@ -0,0 +1,13 @@
+#include <cstdint>
+
+namespace hilbert::kernel::syscall {
+
+ typedef void (*syscall_handler)(
+ uint64_t &rax, uint64_t &rdi, uint64_t &rsi, uint64_t &rdx);
+
+ void init_syscalls();
+
+ //assumes this rax has not been used yet and is < 256.
+ void add_syscall(uint64_t rax, syscall_handler handler);
+
+}