io_uring_wakeup 0.1.0

io_uring sq wakeup
Documentation
#![no_std]
#![allow(clippy::missing_safety_doc)]

use core::ptr::null_mut;

use io_uring_header::IORING_ENTER_SQ_WAKEUP;
use io_uring_syscall::io_uring_enter2;

pub unsafe fn wakeup(fd: i32) -> Result<i32, i32> {
    let fd = fd as u32;
    let flags = IORING_ENTER_SQ_WAKEUP;

    let ret = io_uring_enter2(fd, 0, 0, flags, null_mut(), 0);

    match ret {
        submit @ 0.. => Ok(submit),
        errno => Err(errno),
    }
}