| ... | @@ -13,16 +13,6 @@ const testing = std.testing; | ... | @@ -13,16 +13,6 @@ const testing = std.testing; |
| 13 | const io_uring_params = linux.io_uring_params; | 13 | const io_uring_params = linux.io_uring_params; |
| 14 | const io_uring_sqe = linux.io_uring_sqe; | 14 | const io_uring_sqe = linux.io_uring_sqe; |
| 15 | const io_uring_cqe = linux.io_uring_cqe; | 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 | pub const IO_Uring = struct { | 17 | pub const IO_Uring = struct { |
| 28 | fd: os.fd_t = -1, | 18 | fd: os.fd_t = -1, |
| ... | @@ -678,6 +668,18 @@ pub const CompletionQueue = struct { | ... | @@ -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 | test "queue_nop" { | 683 | test "queue_nop" { |
| 682 | if (builtin.os.tag != .linux) return error.SkipZigTest; | 684 | if (builtin.os.tag != .linux) return error.SkipZigTest; |
| 683 | | 685 | |