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.

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.

Unions