Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
core.sys.linux.io_uring
D header file for the io_uring interface.
Available since Linux 5.1
- struct
io_uring_sqe; - IO submission data structure (Submission Queue Entry)
- ubyte
opcode; - type of operation for this sqe
- ubyte
flags; - IOSQE_* flags
- ushort
ioprio; - ioprio for the request
- int
fd; - file descriptor to do IO on
- ulong
off; - offset into file
- ulong
addr; - pointer to buffer or iovecs
- uint
len; - buffer size or number of iovecs
- ushort
poll_events; - compatibility
- uint
poll32_events; - word-reversed for BE
- ulong
user_data; - data to be passed back at completion time
- ushort
buf_index; - index into fixed buffers, if usedpack this to avoid bogus arm OABI complaints
- ushort
buf_group; - for grouped buffer selectionpack this to avoid bogus arm OABI complaints
- ushort
personality; - personality to use, if used
IOSQE_FIXED_FILE- use fixed fileset
IOSQE_IO_DRAIN- issue after inflight IO
IOSQE_IO_LINK- links next sqe
IOSQE_IO_HARDLINK- like LINK, but stronger
IOSQE_ASYNC- always go async
IOSQE_BUFFER_SELECT- select buffer from sqe.buf_group
IORING_SETUP_IOPOLL- io_context is polled
IORING_SETUP_SQPOLL- SQ poll thread
IORING_SETUP_SQ_AFF- sq_thread_cpu is valid
IORING_SETUP_CQSIZE- app defines CQ size
IORING_SETUP_CLAMP- clamp SQ/CQ ring sizes
IORING_SETUP_ATTACH_WQ- attach to existing wq
IORING_SETUP_R_DISABLED- start with ring disabled
- struct
io_uring_cqe; - IO completion data structure (Completion Queue Entry)
- ulong
user_data; - submission passed back
- int
res; - result code for this event
- enum uint
IORING_CQE_F_BUFFER; - If set, the upper 16 bits are the buffer ID
- struct
io_sqring_offsets; - Filled with the offset for mmap(2)
IORING_SQ_NEED_WAKEUP- needs io_uring_enter wakeup
IORING_SQ_CQ_OVERFLOW- CQ ring is overflown
IORING_CQ_EVENTFD_DISABLED- disable eventfd notifications
- struct
io_uring_params; - Passed in for io_uring_setup(2)
IORING_RESTRICTION_REGISTER_OP- Allow an io_uring_register(2) opcode
IORING_RESTRICTION_SQE_OP- Allow an sqe opcode
IORING_RESTRICTION_SQE_FLAGS_ALLOWED- Allow sqe flags
IORING_RESTRICTION_SQE_FLAGS_REQUIRED- Require sqe flags (these flags must be set on each submission)
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Mon Mar 31 10:27:42 2025