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 {
12651265};
12661266
12671267pub 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 };
12971268 opcode: IORING_OP,
1298 flags: u8,
1299 ioprio: u16,
1300 fd: i32,
1301
1302 union1: union1,
1303 addr: u64,
1304 len: u32,
1305
1306 union2: union2,
1307 user_data: u64,
1308
1309 union3: union3,
1269 flags: u8 = 0,
1270 ioprio: u16 = 0,
1271 fd: i32 = 0,
1272 off: u64 = 0,
1273 addr: u64 = 0,
1274 len: u32 = 0,
1275 opflags: u32 = 0,
1276 user_data: u64 = 0,
1277 buf_index: u16 = 0,
1278 personality: u16 = 0,
1279 splice_fd_in: i32 = 0,
1280 __pad2: [2]u64 = [2]u64{ 0, 0 }
13101281};
13111282
13121283pub const IOSQE_BIT = extern enum(u8) {