summaryrefslogtreecommitdiff
path: root/src/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/syscall.c')
-rw-r--r--src/syscall.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/syscall.c b/src/syscall.c
new file mode 100644
index 0000000..eafdd39
--- /dev/null
+++ b/src/syscall.c
@@ -0,0 +1,31 @@
+/*
+ * Will go away once libc support is there
+ */
+#include <unistd.h>
+#include <sys/syscall.h>
+#include <sys/uio.h>
+#include "io_uring.h"
+
+#if defined(__x86_64)
+#ifndef __NR_sys_io_uring_setup
+#define __NR_sys_io_uring_setup 335
+#endif
+#ifndef __NR_sys_io_uring_enter
+#define __NR_sys_io_uring_enter 336
+#endif
+#else
+#error "Arch not supported yet"
+#endif
+
+int io_uring_setup(unsigned int entries, struct iovec *iovecs,
+ struct io_uring_params *p)
+{
+ return syscall(__NR_sys_io_uring_setup, entries, iovecs, p);
+}
+
+int io_uring_enter(int fd, unsigned int to_submit, unsigned int min_complete,
+ unsigned int flags)
+{
+ return syscall(__NR_sys_io_uring_enter, fd, to_submit, min_complete,
+ flags);
+}