linux_io_uring_sys/
lib.rs

1#![allow(non_camel_case_types, non_upper_case_globals)]
2#![allow(clippy::unreadable_literal, clippy::missing_safety_doc)]
3
4use libc::*;
5
6#[cfg(all(feature = "bindgen", not(feature = "overwrite")))]
7include!(concat!(env!("OUT_DIR"), "/sys.rs"));
8
9#[cfg(any(
10    not(feature = "bindgen"),
11    all(feature = "bindgen", feature = "overwrite")
12))]
13include!("sys.rs");
14
15pub unsafe fn io_uring_register(fd: c_int, opcode: c_uint, arg: *const c_void, nr_args: c_uint)
16    -> c_int
17{
18    syscall(
19        __NR_io_uring_register as c_long,
20        fd as c_long,
21        opcode as c_long,
22        arg as c_long,
23        nr_args as c_long
24    ) as _
25}
26
27pub unsafe fn io_uring_setup(entries: c_uint, p: *mut io_uring_params)
28    -> c_int
29{
30    syscall(
31        __NR_io_uring_setup as c_long,
32        entries as c_long,
33        p as c_long
34    ) as _
35}
36
37pub unsafe fn io_uring_enter(fd: c_int, to_submit: c_uint, min_complete: c_uint, flags: c_uint, sig: *const sigset_t)
38    -> c_int
39{
40    syscall(
41        __NR_io_uring_enter as c_long,
42        fd as c_long,
43        to_submit as c_long,
44        min_complete as c_long,
45        flags as c_long,
46        sig as c_long,
47        core::mem::size_of::<sigset_t>() as c_long
48    ) as _
49}