Skip to main content

Module io_uring

Module io_uring 

Source
Expand description

Types de données pures du module io_uring (Temps 1, cible kernel 6.12).

Ce module ne contient que les types à sémantique publique autonome, sans état interne consommé par le wrapper : les bitflags de setup (SetupFlags) et de complétion (CompletionFlags), et l’énumération des opcodes (IoUringOpcode). Les types couplés au wrapper (IoUring, IoUringBuilder, SubmissionToken, SubmitOptions, IoUringParams, IoUringCapabilities, Completion, CompletionIter, CancelTarget, Restriction) vivent dans air-sys-syscall::io_uring.

Note de cadrage (Pass A) : la spec §13 (io-uring-1-core.md) liste l’ensemble de ces types « ajoutés à air-sys-types ». Plusieurs d’entre eux exposent des internes consommés par le wrapper (décodage du user_data, traduction SubmitOptions→SQE, champs ABI d’io_uring_params) : les placer ici exigerait des accesseurs publics hors contrat. Ils sont donc gardés côté wrapper au Temps 1 ; placement final à valider.

Référence normative : docs/specs/layer-0/io-uring-1-core.md, docs/specs/layer-0/io-uring-0-inventaire.md §5.

Re-exports§

pub use crate::poll::PollEvents;

Structs§

CancelFlags
Drapeaux de l’annulation asynchrone (IORING_OP_ASYNC_CANCEL).
CompletionFlags
Flags de complétion IORING_CQE_F_* (axe E, 5 flags en 6.12).
EpollEvent
Miroir #[repr(C, packed)] de struct epoll_event (12 octets sur x86_64/aarch64). Lu de façon asynchrone par IORING_OP_EPOLL_CTL ⇒ gardé en vie dans le slot S1 jusqu’à la complétion.
FutexFlags
Drapeaux d’un futex io_uring (FUTEX_WAIT/WAKE/WAITV), sous-ensemble FUTEX2_* pertinent pour un mot futex u32.
MessageRingFlags
Drapeaux de l’op IORING_OP_MSG_RING (IORING_MSG_RING_*).
SetupFlags
Flags de io_uring_setup(2) (axe A, 17 flags en 6.12).
TimeoutFlags
Drapeaux de l’op IORING_OP_TIMEOUT (IORING_TIMEOUT_*).
TimeoutSpec
Spécification d’une op TIMEOUT : durée et/ou seuil de complétions.
UringCmdFlags
Drapeaux de l’op IORING_OP_URING_CMD (46, Temps 2d) — IORING_URING_CMD_*.

Enums§

EpollOp
Opération de epoll_ctl(2) (EPOLL_CTL_*).
IoUringOpcode
Énumération des 55 opcodes IORING_OP_* retenus (axe B, 6.12).