| ... | ... | @@ -13,16 +13,6 @@ const testing = std.testing; |
| 13 | 13 | const io_uring_params = linux.io_uring_params; |
| 14 | 14 | const io_uring_sqe = linux.io_uring_sqe; |
| 15 | 15 | const io_uring_cqe = linux.io_uring_cqe; |
| 16 | | |
| 17 | | comptime { |
| 18 | | assert(@sizeOf(io_uring_params) == 120); |
| 19 | | assert(@sizeOf(io_uring_sqe) == 64); |
| 20 | | assert(@sizeOf(io_uring_cqe) == 16); |
| 21 | | |
| 22 | | assert(linux.IORING_OFF_SQ_RING == 0); |
| 23 | | assert(linux.IORING_OFF_CQ_RING == 0x8000000); |
| 24 | | assert(linux.IORING_OFF_SQES == 0x10000000); |
| 25 | | } |
| 26 | 16 | |
| 27 | 17 | pub const IO_Uring = struct { |
| 28 | 18 | fd: os.fd_t = -1, |
| ... | ... | @@ -678,6 +668,18 @@ pub const CompletionQueue = struct { |
| 678 | 668 | } |
| 679 | 669 | }; |
| 680 | 670 | |
| 671 | test "structs and offsets" { |
| 672 | if (builtin.os.tag != .linux) return error.SkipZigTest; |
| 673 | |
| 674 | testing.expectEqual(@as(usize, 120), @sizeOf(io_uring_params)); |
| 675 | testing.expectEqual(@as(usize, 64), @sizeOf(io_uring_sqe)); |
| 676 | testing.expectEqual(@as(usize, 16), @sizeOf(io_uring_cqe)); |
| 677 | |
| 678 | testing.expectEqual(0, linux.IORING_OFF_SQ_RING); |
| 679 | testing.expectEqual(0x8000000, linux.IORING_OFF_CQ_RING); |
| 680 | testing.expectEqual(0x10000000, linux.IORING_OFF_SQES); |
| 681 | } |
| 682 | |
| 681 | 683 | test "queue_nop" { |
| 682 | 684 | if (builtin.os.tag != .linux) return error.SkipZigTest; |
| 683 | 685 | |