| ... | @@ -1114,11 +1114,17 @@ pub const io_uring_params = extern struct { | ... | @@ -1114,11 +1114,17 @@ pub const io_uring_params = extern struct { |
| 1114 | flags: u32, | 1114 | flags: u32, |
| 1115 | sq_thread_cpu: u32, | 1115 | sq_thread_cpu: u32, |
| 1116 | sq_thread_idle: u32, | 1116 | sq_thread_idle: u32, |
| 1117 | resv: [5]u32, | 1117 | features: u32, |
| | 1118 | resv: [4]u32, |
| 1118 | sq_off: io_sqring_offsets, | 1119 | sq_off: io_sqring_offsets, |
| 1119 | cq_off: io_cqring_offsets, | 1120 | cq_off: io_cqring_offsets, |
| 1120 | }; | 1121 | }; |
| 1121 | | 1122 | |
| | 1123 | // io_uring_params.features flags |
| | 1124 | |
| | 1125 | pub const IORING_FEAT_SINGLE_MMAP = 1 << 0; |
| | 1126 | |
| | 1127 | |
| 1122 | // io_uring_params.flags | 1128 | // io_uring_params.flags |
| 1123 | | 1129 | |
| 1124 | /// io_context is polled | 1130 | /// io_context is polled |
| ... | @@ -1185,6 +1191,7 @@ pub const io_uring_sqe = extern struct { | ... | @@ -1185,6 +1191,7 @@ pub const io_uring_sqe = extern struct { |
| 1185 | poll_events: u16, | 1191 | poll_events: u16, |
| 1186 | sync_range_flags: u32, | 1192 | sync_range_flags: u32, |
| 1187 | msg_flags: u32, | 1193 | msg_flags: u32, |
| | 1194 | timeout_flags: u32, |
| 1188 | }; | 1195 | }; |
| 1189 | union1: union1, | 1196 | union1: union1, |
| 1190 | user_data: u64, | 1197 | user_data: u64, |
| ... | @@ -1217,6 +1224,7 @@ pub const IORING_OP_POLL_REMOVE = 7; | ... | @@ -1217,6 +1224,7 @@ pub const IORING_OP_POLL_REMOVE = 7; |
| 1217 | pub const IORING_OP_SYNC_FILE_RANGE = 8; | 1224 | pub const IORING_OP_SYNC_FILE_RANGE = 8; |
| 1218 | pub const IORING_OP_SENDMSG = 9; | 1225 | pub const IORING_OP_SENDMSG = 9; |
| 1219 | pub const IORING_OP_RECVMSG = 10; | 1226 | pub const IORING_OP_RECVMSG = 10; |
| | 1227 | pub const IORING_OP_TIMEOUT = 11; |
| 1220 | | 1228 | |
| 1221 | // io_uring_sqe.fsync_flags | 1229 | // io_uring_sqe.fsync_flags |
| 1222 | pub const IORING_FSYNC_DATASYNC = (1 << 0); | 1230 | pub const IORING_FSYNC_DATASYNC = (1 << 0); |