#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
include!(concat!(env!("OUT_DIR"), "/root/bindings.rs"));
#[cfg(test)]
mod test {
use super::*;
use std::mem::zeroed;
use std::ptr::null_mut;
const MAGIC_NUMBER: u64 = 1145141919810;
#[test]
fn test_version() {
unsafe {
assert!(io_uring_major_version() == 2);
assert!(io_uring_minor_version() == 4);
}
}
#[test]
fn test_nop() {
unsafe {
let mut ring = zeroed();
assert!(io_uring_queue_init(1, &mut ring, 0) >= 0);
let sqe = io_uring_get_sqe(&mut ring);
assert!(!sqe.is_null());
io_uring_prep_nop(sqe);
io_uring_sqe_set_data64(sqe, MAGIC_NUMBER);
assert!(io_uring_submit(&mut ring) == 1);
let mut cqe = null_mut();
assert!(io_uring_wait_cqe(&mut ring, &mut cqe) >= 0);
assert!(io_uring_cqe_get_data64(cqe) == MAGIC_NUMBER);
io_uring_cqe_seen(&mut ring, cqe);
io_uring_queue_exit(&mut ring);
}
}
}