Crate io_uring

Crate io_uring 

Source
Expand description

The io_uring library for Rust.

The crate only provides a summary of the parameters. For more detailed documentation, see manpage.

§Supported Architectures

§Default Support

The following architectures are supported by default with prebuilt bindings:

  • x86_64
  • aarch64
  • riscv64
  • loongarch64
  • powerpc64

§Custom Bindings for Unsupported Architectures

If you need to build for a target architecture that is not supported by default, you have two options:

Option 1: Use the bindgen feature

[dependencies]
io-uring = { version = "0.7", features = ["bindgen"] }

This will generate bindings at build time for your specific architecture.

Option 2: Use your own bindings with io_uring_use_own_sys

If you have custom bindings that you want to use:

  1. Generate or obtain the appropriate sys.rs bindings for your target architecture
  2. Set the IO_URING_OWN_SYS_BINDING environment variable to point to your binding file
  3. Build with the io_uring_use_own_sys cfg flag:
export IO_URING_OWN_SYS_BINDING=/path/to/your/custom/sys.rs
cargo build --cfg io_uring_use_own_sys

This approach allows you to provide your own bindings without relying on bindgen or the prebuilt bindings.

Re-exports§

pub use cqueue::CompletionQueue;
pub use register::Probe;
pub use squeue::SubmissionQueue;

Modules§

cqueue
Completion Queue
opcode
Operation codes that can be used to construct squeue::Entrys.
register
Some register syscall related types or parameters.
squeue
Submission Queue
types
Common Linux types not provided by libc.

Structs§

Builder
IoUring build params
EnterFlags
See man page for complete description: https://man7.org/linux/man-pages/man2/io_uring_enter.2.html
IoUring
IoUring instance
Parameters
The parameters that were used to construct an IoUring.
Submitter
Interface for submitting submission queue events in an io_uring instance to the kernel for executing and registering files or buffers with the instance.