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 Apr 28 06:59:38 2025