io_uring
only.Expand description
Linux io_uring.
This API is very low-level. The main adaptations it makes from the raw
Linux io_uring API are the use of appropriately-sized bitflags
, enum
,
Result
, OwnedFd
, AsFd
, RawFd
, and *mut c_void
in place of plain
integers.
Safety
io_uring operates on raw pointers and raw file descriptors. Rustix does not attempt to provide a safe API for these, because the abstraction level is too low for this to be practical. Safety should be introduced in higher-level abstraction layers.
References
Structs
IORING_CQ_*
flags.
IORING_CQE_F_*
flags for use with io_uring_cqe
.
IORING_ENTER_*
flags for use with io_uring_enter
.
IORING_FEAT_*
flags for use with io_uring_params
.
IORING_FSYNC_*
flags for use with io_uring_sqe
.
IO_URING_OP_*
flags for use with io_uring_probe_op
.
IORING_POLL_*
flags.
IORING_SETUP_*
flags for use with io_uring_params
.
IORING_SQ_*
flags.
IOSQE_*
flags for use with io_uring_sqe
.
IORING_TIMEOUT_*
and IORING_LINK_TIMEOUT_UPDATE
flags for use with
io_uring_sqe
.
SPLICE_F_*
flags for use with io_uring_sqe
.
An io_uring Completion Queue Entry.
A pointer in the io_uring API.
An io_uring Submission Queue Entry.
Enums
IORING_OP_*
constants for use with io_uring_sqe
.
IORING_REGISTER_*
and IORING_UNREGISTER_*
constants for use with
io_uring_register
.
IORING_RESTRICTION_*
constants for use with io_uring_restriction
.
Constants
Functions
io_uring_enter(fd, to_submit, min_complete, flags, arg, size)
—Initiate
and/or complete asynchronous I/O.
io_uring_register(fd, opcode, arg, nr_args)
—Register files or user
buffers for asynchronous I/O.
IORING_REGISTER_FILES_SKIP
io_uring_setup(entries, params)
—Setup a context for performing
asynchronous I/O.