authorgravatar for joran@ronomon.comJoran Dirk Greef <joran@ronomon.com> 2020-09-19 16:15:17+02:00
committergravatar for joran@ronomon.comJoran Dirk Greef <joran@ronomon.com> 2020-09-19 16:15:17+02:00
log873d1c80b3a34dc610946fb31de9dd88dd311d35
treeda468b12541bdfd9ca84576029990ac048a6e53c
parent09f2f4aeb366279f30256a5968a246369fafcc27

Add splice_fd_in to io_uring_sqe and future-proof for anonymous unions


1 files changed, 12 insertions(+), 41 deletions(-)

lib/std/os/bits/linux.zig+12-41
...@@ -1265,48 +1265,19 @@ pub const io_cqring_offsets = extern struct {...@@ -1265,48 +1265,19 @@ pub const io_cqring_offsets = extern struct {
1265};1265};
12661266
1267pub const io_uring_sqe = extern struct {1267pub const io_uring_sqe = extern struct {
1268 pub const union1 = extern union {
1269 off: u64,
1270 addr2: u64,
1271 };
1272
1273 pub const union2 = extern union {
1274 rw_flags: kernel_rwf,
1275 fsync_flags: u32,
1276 poll_events: u16,
1277 sync_range_flags: u32,
1278 msg_flags: u32,
1279 timeout_flags: u32,
1280 accept_flags: u32,
1281 cancel_flags: u32,
1282 open_flags: u32,
1283 statx_flags: u32,
1284 fadvise_flags: u32,
1285 };
1286
1287 pub const union3 = extern union {
1288 struct1: extern struct {
1289 /// index into fixed buffers, if used
1290 buf_index: u16,
1291
1292 /// personality to use, if used
1293 personality: u16,
1294 },
1295 __pad2: [3]u64,
1296 };
1297 opcode: IORING_OP,1268 opcode: IORING_OP,
1298 flags: u8,1269 flags: u8 = 0,
1299 ioprio: u16,1270 ioprio: u16 = 0,
1300 fd: i32,1271 fd: i32 = 0,
13011272 off: u64 = 0,
1302 union1: union1,1273 addr: u64 = 0,
1303 addr: u64,1274 len: u32 = 0,
1304 len: u32,1275 opflags: u32 = 0,
13051276 user_data: u64 = 0,
1306 union2: union2,1277 buf_index: u16 = 0,
1307 user_data: u64,1278 personality: u16 = 0,
13081279 splice_fd_in: i32 = 0,
1309 union3: union3,1280 __pad2: [2]u64 = [2]u64{ 0, 0 }
1310};1281};
13111282
1312pub const IOSQE_BIT = extern enum(u8) {1283pub const IOSQE_BIT = extern enum(u8) {