Skip to main content

IoUringOpcode

Enum IoUringOpcode 

#[non_exhaustive]
pub enum IoUringOpcode {
Show 55 variants Nop, Readv, Writev, Fsync, ReadFixed, WriteFixed, PollAdd, PollRemove, SyncFileRange, Sendmsg, Recvmsg, Timeout, TimeoutRemove, Accept, AsyncCancel, LinkTimeout, Connect, Fallocate, Close, FilesUpdate, Statx, Read, Write, Fadvise, Madvise, Send, Recv, Openat2, EpollCtl, Splice, Tee, Shutdown, Renameat, Unlinkat, Mkdirat, Symlinkat, Linkat, MsgRing, Fsetxattr, Setxattr, Fgetxattr, Getxattr, Socket, UringCmd, SendZc, SendmsgZc, ReadMultishot, Waitid, FutexWait, FutexWake, FutexWaitv, FixedFdInstall, Ftruncate, Bind, Listen,
}
Expand description

Énumération des 55 opcodes IORING_OP_* retenus (axe B, 6.12).

Sert au probe (IoUring::supports_op) et aux restrictions (S3). Les 3 opcodes obsolètes (OPENAT, PROVIDE_BUFFERS, REMOVE_BUFFERS) sont évacués (cf. UNSUPPORTED.md) et absents de cette énumération. #[non_exhaustive] : de futurs kernels peuvent en ajouter.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Nop

IORING_OP_NOP (0) — no-op (validation du cœur, Temps 2c).

§

Readv

IORING_OP_READV (1) — lecture vectorisée.

§

Writev

IORING_OP_WRITEV (2) — écriture vectorisée.

§

Fsync

IORING_OP_FSYNC (3) — synchronisation fichier.

§

ReadFixed

IORING_OP_READ_FIXED (4) — lecture vers buffer enregistré.

§

WriteFixed

IORING_OP_WRITE_FIXED (5) — écriture depuis buffer enregistré.

§

PollAdd

IORING_OP_POLL_ADD (6) — ajout d’un poll.

§

PollRemove

IORING_OP_POLL_REMOVE (7) — retrait d’un poll.

§

SyncFileRange

IORING_OP_SYNC_FILE_RANGE (8) — synchronisation d’une plage de fichier.

§

Sendmsg

IORING_OP_SENDMSG (9) — envoi de message socket.

§

Recvmsg

IORING_OP_RECVMSG (10) — réception de message socket.

§

Timeout

IORING_OP_TIMEOUT (11) — minuterie.

§

TimeoutRemove

IORING_OP_TIMEOUT_REMOVE (12) — retrait/màj de minuterie.

§

Accept

IORING_OP_ACCEPT (13) — acceptation de connexion.

§

AsyncCancel

IORING_OP_ASYNC_CANCEL (14) — annulation asynchrone.

§

LinkTimeout

IORING_OP_LINK_TIMEOUT (15) — timeout lié à l’opération précédente.

§

Connect

IORING_OP_CONNECT (16) — connexion socket.

§

Fallocate

IORING_OP_FALLOCATE (17) — pré-allocation d’espace fichier.

§

Close

IORING_OP_CLOSE (19) — fermeture de FD.

§

FilesUpdate

IORING_OP_FILES_UPDATE (20) — mise à jour de la table de FD fixes (op).

§

Statx

IORING_OP_STATX (21) — métadonnées de fichier étendues.

§

Read

IORING_OP_READ (22) — lecture.

§

Write

IORING_OP_WRITE (23) — écriture.

§

Fadvise

IORING_OP_FADVISE (24) — conseils d’accès fichier.

§

Madvise

IORING_OP_MADVISE (25) — conseils d’accès mémoire.

§

Send

IORING_OP_SEND (26) — envoi socket.

§

Recv

IORING_OP_RECV (27) — réception socket.

§

Openat2

IORING_OP_OPENAT2 (28) — ouverture de fichier (superset d’openat).

§

EpollCtl

IORING_OP_EPOLL_CTL (29) — contrôle d’un epoll.

§

Splice

IORING_OP_SPLICE (30) — copie zero-copy entre FDs.

§

Tee

IORING_OP_TEE (33) — duplication zero-copy entre pipes.

§

Shutdown

IORING_OP_SHUTDOWN (34) — arrêt d’un socket.

§

Renameat

IORING_OP_RENAMEAT (35) — renommage (sémantique renameat2).

§

Unlinkat

IORING_OP_UNLINKAT (36) — suppression d’entrée de répertoire.

§

Mkdirat

IORING_OP_MKDIRAT (37) — création de répertoire.

§

Symlinkat

IORING_OP_SYMLINKAT (38) — création de lien symbolique.

§

Linkat

IORING_OP_LINKAT (39) — création de lien dur.

§

MsgRing

IORING_OP_MSG_RING (40) — message vers un autre ring.

§

Fsetxattr

IORING_OP_FSETXATTR (41) — pose d’attribut étendu (par FD).

§

Setxattr

IORING_OP_SETXATTR (42) — pose d’attribut étendu (par chemin).

§

Fgetxattr

IORING_OP_FGETXATTR (43) — lecture d’attribut étendu (par FD).

§

Getxattr

IORING_OP_GETXATTR (44) — lecture d’attribut étendu (par chemin).

§

Socket

IORING_OP_SOCKET (45) — création de socket.

§

UringCmd

IORING_OP_URING_CMD (46) — commande passthrough (Temps 2d).

§

SendZc

IORING_OP_SEND_ZC (47) — envoi zero-copy (CQE NOTIF).

§

SendmsgZc

IORING_OP_SENDMSG_ZC (48) — envoi de message zero-copy.

§

ReadMultishot

IORING_OP_READ_MULTISHOT (49) — lecture multishot (Temps 3d).

§

Waitid

IORING_OP_WAITID (50) — attente d’état de processus.

§

FutexWait

IORING_OP_FUTEX_WAIT (51) — attente sur futex.

§

FutexWake

IORING_OP_FUTEX_WAKE (52) — réveil de futex.

§

FutexWaitv

IORING_OP_FUTEX_WAITV (53) — attente sur un vecteur de futex.

§

FixedFdInstall

IORING_OP_FIXED_FD_INSTALL (54) — installe un FD fixe comme FD normal.

§

Ftruncate

IORING_OP_FTRUNCATE (55) — troncature de fichier.

§

Bind

IORING_OP_BIND (56) — liaison d’adresse socket.

§

Listen

IORING_OP_LISTEN (57) — mise en écoute d’un socket.

Trait Implementations§

§

impl Clone for IoUringOpcode

§

fn clone(&self) -> IoUringOpcode

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for IoUringOpcode

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl PartialEq for IoUringOpcode

§

fn eq(&self, other: &IoUringOpcode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Copy for IoUringOpcode

§

impl Eq for IoUringOpcode

§

impl StructuralPartialEq for IoUringOpcode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.