0001
0002
0003
0004 #include <unistd.h>
0005 #include <sys/syscall.h>
0006 #include <sys/uio.h>
0007 #include <signal.h>
0008 #include "liburing.h"
0009
0010 #ifdef __alpha__
0011
0012
0013
0014
0015 # ifndef __NR_io_uring_setup
0016 # define __NR_io_uring_setup 535
0017 # endif
0018 # ifndef __NR_io_uring_enter
0019 # define __NR_io_uring_enter 536
0020 # endif
0021 # ifndef __NR_io_uring_register
0022 # define __NR_io_uring_register 537
0023 # endif
0024 #else
0025 # ifndef __NR_io_uring_setup
0026 # define __NR_io_uring_setup 425
0027 # endif
0028 # ifndef __NR_io_uring_enter
0029 # define __NR_io_uring_enter 426
0030 # endif
0031 # ifndef __NR_io_uring_register
0032 # define __NR_io_uring_register 427
0033 # endif
0034 #endif
0035
0036 int io_uring_register(int fd, unsigned int opcode, void *arg,
0037 unsigned int nr_args)
0038 {
0039 return syscall(__NR_io_uring_register, fd, opcode, arg, nr_args);
0040 }
0041
0042 int io_uring_setup(unsigned int entries, struct io_uring_params *p)
0043 {
0044 return syscall(__NR_io_uring_setup, entries, p);
0045 }
0046
0047 int io_uring_enter(int fd, unsigned int to_submit, unsigned int min_complete,
0048 unsigned int flags, sigset_t *sig)
0049 {
0050 return syscall(__NR_io_uring_enter, fd, to_submit, min_complete,
0051 flags, sig, _NSIG / 8);
0052 }