Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / tools / io_uring / syscall.c
1 /*
2  * Will go away once libc support is there
3  */
4 #include <unistd.h>
5 #include <sys/syscall.h>
6 #include <sys/uio.h>
7 #include <signal.h>
8 #include "liburing.h"
9
10 #ifdef __alpha__
11 /*
12  * alpha is the only exception, all other architectures
13  * have common numbers for new system calls.
14  */
15 # ifndef __NR_io_uring_setup
16 #  define __NR_io_uring_setup           535
17 # endif
18 # ifndef __NR_io_uring_enter
19 #  define __NR_io_uring_enter           536
20 # endif
21 # ifndef __NR_io_uring_register
22 #  define __NR_io_uring_register        537
23 # endif
24 #else /* !__alpha__ */
25 # ifndef __NR_io_uring_setup
26 #  define __NR_io_uring_setup           425
27 # endif
28 # ifndef __NR_io_uring_enter
29 #  define __NR_io_uring_enter           426
30 # endif
31 # ifndef __NR_io_uring_register
32 #  define __NR_io_uring_register        427
33 # endif
34 #endif
35
36 int io_uring_register(int fd, unsigned int opcode, void *arg,
37                       unsigned int nr_args)
38 {
39         return syscall(__NR_io_uring_register, fd, opcode, arg, nr_args);
40 }
41
42 int io_uring_setup(unsigned int entries, struct io_uring_params *p)
43 {
44         return syscall(__NR_io_uring_setup, entries, p);
45 }
46
47 int io_uring_enter(int fd, unsigned int to_submit, unsigned int min_complete,
48                    unsigned int flags, sigset_t *sig)
49 {
50         return syscall(__NR_io_uring_enter, fd, to_submit, min_complete,
51                         flags, sig, _NSIG / 8);
52 }