Available on crate feature
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.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_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_SKIPio_uring_setup(entries, params)—Setup a context for performing
asynchronous I/O.