diff --git a/src/io_uring.rs b/src/io_uring.rs index 83941922c..a16c1dd2b 100644 --- a/src/io_uring.rs +++ b/src/io_uring.rs @@ -1156,7 +1156,9 @@ pub struct io_uring_sync_cancel_reg { pub fd: i32, pub flags: IoringAsyncCancelFlags, pub timeout: Timespec, - pub pad: [u64; 4], + pub opcode: u8, + pub pad: [u8; 7], + pub pad2: [u64; 3], } /// An io_uring Completion Queue Entry. @@ -1220,7 +1222,7 @@ pub struct io_sqring_offsets { pub dropped: u32, pub array: u32, pub resv1: u32, - pub resv2: u64, + pub user_addr: u64, } #[allow(missing_docs)] @@ -1235,7 +1237,7 @@ pub struct io_cqring_offsets { pub cqes: u32, pub flags: u32, pub resv1: u32, - pub resv2: u64, + pub user_addr: u64, } #[allow(missing_docs)] @@ -1348,7 +1350,7 @@ pub struct io_uring_buf_reg { pub ring_addr: u64, pub ring_entries: u32, pub bgid: u16, - pub pad: u16, + pub flags: u16, pub resv: [u64; 3_usize], } @@ -1497,7 +1499,7 @@ fn io_uring_layouts() { dropped, array, resv1, - resv2 + user_addr ); check_struct!( io_cqring_offsets, @@ -1509,7 +1511,7 @@ fn io_uring_layouts() { cqes, flags, resv1, - resv2 + user_addr ); check_struct!(io_uring_recvmsg_out, namelen, controllen, payloadlen, flags); check_struct!(io_uring_probe, last_op, ops_len, resv, resv2, ops); @@ -1521,7 +1523,16 @@ fn io_uring_layouts() { check_struct!(io_uring_getevents_arg, sigmask, sigmask_sz, pad, ts); check_struct!(iovec, iov_base, iov_len); check_struct!(open_how, flags, mode, resolve); - check_struct!(io_uring_buf_reg, ring_addr, ring_entries, bgid, pad, resv); + check_struct!(io_uring_buf_reg, ring_addr, ring_entries, bgid, flags, resv); check_struct!(io_uring_buf, addr, len, bid, resv); - check_struct!(io_uring_sync_cancel_reg, addr, fd, flags, timeout, pad); + check_struct!( + io_uring_sync_cancel_reg, + addr, + fd, + flags, + timeout, + opcode, + pad, + pad2 + ); }