core.sys.linux.io_uring

D header file for the io_uring interface. Available since Linux 5.1

Types 10

structio_uring_sqe

IO submission data structure (Submission Queue Entry)

Fields
ubyte opcodetype of operation for this sqe
ubyte flagsIOSQE_* flags
ushort ioprioioprio for the request
int fdfile descriptor to do IO on
uint lenbuffer size or number of iovecs
ulong user_datadata to be passed back at completion time
structio_uring_cqe

IO completion data structure (Completion Queue Entry)

Fields
ulong user_datasubmission passed back
int resresult code for this event
uint flags
structio_sqring_offsets

Filled with the offset for mmap(2)

Fields
uint head
uint tail
uint ring_mask
uint ring_entries
uint flags
uint dropped
uint array
uint resv1
ulong resv2
structio_cqring_offsets
Fields
uint head
uint tail
uint ring_mask
uint ring_entries
uint overflow
uint cqes
uint flags
uint resv1
ulong resv2
structio_uring_params

Passed in for io_uring_setup(2)

Fields
uint sq_entries
uint cq_entries
uint flags
uint sq_thread_cpu
uint sq_thread_idle
uint features
uint wq_fd
uint[3] resv
io_sqring_offsets sq_off
io_cqring_offsets cq_off
structio_uring_files_update

io_uring_register(2) opcodes and arguments

Fields
uint offset
uint resv
ulong fds
structio_uring_probe_op
Fields
ubyte op
ubyte resv
ushort flagsIOURINGOP_* flags
uint resv2
structio_uring_probe
Fields
ubyte last_oplast opcode supported
ubyte ops_lenlength of ops[] array below
ushort resv
uint[3] resv2
io_uring_probe_op[0] ops
structio_uring_restriction
Fields
ushort opcode
ubyte resv
uint[3] resv2
structio_uring_getevents_arg
Fields
ulong sigmask
uint sigmask_sz
uint pad
ulong ts

Variables 3

enumvarSPLICE_F_FD_IN_FIXED = 1U << 31

io_uring_setup() flags

enumvarIORING_CQE_F_BUFFER = 1U << 0

If set, the upper 16 bits are the buffer ID

enumvarIO_URING_OP_SUPPORTED = 1U << 0