Sha256: 5af8146d5971c833e6fd657f652c618b31f854e1b0811864fba9b658cb633e19
Contents?: true
Size: 1.73 KB
Versions: 26
Compression:
Stored size: 1.73 KB
Contents
//! libc syscalls supporting `rustix::io_uring`. use crate::backend::c; use crate::backend::conv::{borrowed_fd, ret_owned_fd, ret_u32}; use crate::fd::{BorrowedFd, OwnedFd}; use crate::io; use crate::io_uring::{io_uring_params, IoringEnterFlags, IoringRegisterOp}; #[inline] pub(crate) fn io_uring_setup(entries: u32, params: &mut io_uring_params) -> io::Result<OwnedFd> { syscall! { fn io_uring_setup( entries: u32, params: *mut io_uring_params ) via SYS_io_uring_setup -> c::c_int } unsafe { ret_owned_fd(io_uring_setup(entries, params)) } } #[inline] pub(crate) unsafe fn io_uring_register( fd: BorrowedFd<'_>, opcode: IoringRegisterOp, arg: *const c::c_void, nr_args: u32, ) -> io::Result<u32> { syscall! { fn io_uring_register( fd: c::c_uint, opcode: c::c_uint, arg: *const c::c_void, nr_args: c::c_uint ) via SYS_io_uring_register -> c::c_int } ret_u32(io_uring_register( borrowed_fd(fd) as _, opcode as u32, arg, nr_args, )) } #[inline] pub(crate) unsafe fn io_uring_enter( fd: BorrowedFd<'_>, to_submit: u32, min_complete: u32, flags: IoringEnterFlags, arg: *const c::c_void, size: usize, ) -> io::Result<u32> { syscall! { fn io_uring_enter2( fd: c::c_uint, to_submit: c::c_uint, min_complete: c::c_uint, flags: c::c_uint, arg: *const c::c_void, size: usize ) via SYS_io_uring_enter -> c::c_int } ret_u32(io_uring_enter2( borrowed_fd(fd) as _, to_submit, min_complete, bitflags_bits!(flags), arg, size, )) }
Version data entries
26 entries across 26 versions & 1 rubygems