linux/tools/io_uring/syscall.c
<<
>>
Prefs
   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
  36int 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
  42int io_uring_setup(unsigned int entries, struct io_uring_params *p)
  43{
  44        return syscall(__NR_io_uring_setup, entries, p);
  45}
  46
  47int 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}
  53