io_uring_sqeRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: Absent ⚠️
4.13: Absent ⚠️
4.15: Absent ⚠️
4.18: Absent ⚠️
5.0: Absent ⚠️
5.3: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
5.4: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
5.8: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u64 addr;
__u64 splice_off_in;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u64 __pad2[3];
};
5.11: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u64 addr;
__u64 splice_off_in;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 poll32_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u64 __pad2[3];
};
5.13: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u64 addr;
__u64 splice_off_in;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 poll32_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u64 __pad2[3];
};
5.15: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u64 addr;
__u64 splice_off_in;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 poll32_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u32 hardlink_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u32 file_index;
__u64 __pad2[2];
};
5.19: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u32 cmd_op;
__u32 __pad1;
__u64 addr;
__u64 splice_off_in;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 poll32_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u32 hardlink_flags;
__u32 xattr_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u32 file_index;
__u64 addr3;
__u64 __pad2[1];
__u8 cmd[0];
};
6.2: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u32 cmd_op;
__u32 __pad1;
__u64 addr;
__u64 splice_off_in;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 poll32_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u32 hardlink_flags;
__u32 xattr_flags;
__u32 msg_ring_flags;
__u32 uring_cmd_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u32 file_index;
__u16 addr_len;
__u16 __pad3[1];
__u64 addr3;
__u64 __pad2[1];
__u8 cmd[0];
};
6.5: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u32 cmd_op;
__u32 __pad1;
__u64 addr;
__u64 splice_off_in;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 poll32_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u32 hardlink_flags;
__u32 xattr_flags;
__u32 msg_ring_flags;
__u32 uring_cmd_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u32 file_index;
__u16 addr_len;
__u16 __pad3[1];
__u64 addr3;
__u64 __pad2[1];
__u8 cmd[0];
};
6.8: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr2;
__u32 cmd_op;
__u32 __pad1;
__u64 addr;
__u64 splice_off_in;
__u32 level;
__u32 optname;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 poll32_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u32 accept_flags;
__u32 cancel_flags;
__u32 open_flags;
__u32 statx_flags;
__u32 fadvise_advice;
__u32 splice_flags;
__u32 rename_flags;
__u32 unlink_flags;
__u32 hardlink_flags;
__u32 xattr_flags;
__u32 msg_ring_flags;
__u32 uring_cmd_flags;
__u32 waitid_flags;
__u32 futex_flags;
__u32 install_fd_flags;
__u64 user_data;
__u16 buf_index;
__u16 buf_group;
__u16 personality;
__s32 splice_fd_in;
__u32 file_index;
__u32 optlen;
__u16 addr_len;
__u16 __pad3[1];
__u64 addr3;
__u64 __pad2[1];
__u64 optval;
__u8 cmd[0];
};
arm64: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
armhf: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
ppc64el: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
riscv64: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
aws: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
azure: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
gcp: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
lowlatency: ✅struct io_uring_sqe {
__u8 opcode;
__u8 flags;
__u16 ioprio;
__s32 fd;
__u64 off;
__u64 addr;
__u32 len;
__kernel_rwf_t rw_flags;
__u32 fsync_flags;
__u16 poll_events;
__u32 sync_range_flags;
__u32 msg_flags;
__u32 timeout_flags;
__u64 user_data;
__u16 buf_index;
__u64 __pad2[3];
};
Regular
5.3 and 5.4 ⚠️__u32 timeout_flags
5.4 and 5.8 ⚠️__u64 addr2
__u64 splice_off_in
__u32 accept_flags
__u32 cancel_flags
__u32 open_flags
__u32 statx_flags
__u32 fadvise_advice
__u32 splice_flags
__u16 buf_group
__u16 personality
__s32 splice_fd_in
5.8 and 5.11 ⚠️__u32 poll32_events
__u32 rename_flags
__u32 unlink_flags
5.11 and 5.13 ✅
5.13 and 5.15 ⚠️__u32 hardlink_flags
__u32 file_index
__u64 __pad2[3] ➡️ __u64 __pad2[2]
5.15 and 5.19 ⚠️__u32 cmd_op
__u32 __pad1
__u32 xattr_flags
__u64 addr3
__u8 cmd[0]
__u64 __pad2[2] ➡️ __u64 __pad2[1]
5.19 and 6.2 ⚠️__u32 msg_ring_flags
__u32 uring_cmd_flags
__u16 addr_len
__u16 __pad3[1]
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️__u32 level
__u32 optname
__u32 waitid_flags
__u32 futex_flags
__u32 install_fd_flags
__u32 optlen
__u64 optval
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅