pub struct Errno(/* private fields */);Expand description
Code d’erreur kernel Linux.
#[repr(transparent)] sur NonZeroI32 : taille identique à un i32,
et Option<Errno> occupe également cette taille (niche optimization).
Implementations§
Source§impl Errno
impl Errno
Sourcepub const EPERM: Self
pub const EPERM: Self
Operation not permitted (1).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64.
Sourcepub const ENOENT: Self
pub const ENOENT: Self
No such file or directory (2).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : openat/openat2 quand le
chemin n’existe pas.
Sourcepub const ESRCH: Self
pub const ESRCH: Self
No such process (3).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : pidfd_open quand le PID
cible n’existe plus.
Sourcepub const EINTR: Self
pub const EINTR: Self
Interrupted system call (4).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : convention 2 d’ADR-021,
remonté tel quel par waitid.
Sourcepub const EBADF: Self
pub const EBADF: Self
Bad file descriptor (9).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : test prouvant que Drop sur
PidFd ferme bien le FD (waitid sur le RawFd post-drop
retourne EBADF).
Sourcepub const EAGAIN: Self
pub const EAGAIN: Self
Try again / operation would block (11).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : lectures non bloquantes sur
signalfd et timerfd sans événement disponible.
Sourcepub const ECHILD: Self
pub const ECHILD: Self
No child processes (10).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : waitid quand la cible n’a
pas d’enfant.
Sourcepub const ENOMEM: Self
pub const ENOMEM: Self
Out of memory (12).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : getrandom quand la mémoire
kernel est insuffisante.
Sourcepub const EFAULT: Self
pub const EFAULT: Self
Bad address / fault (14).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : syscalls qui accèdent à de la
mémoire utilisateur (ne se produit pas via l’API safe).
Sourcepub const EINVAL: Self
pub const EINVAL: Self
Invalid argument (22).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : clone3 rejet en amont
(stack: Some(_) ou flags création de thread), waitid options
vides.
Sourcepub const ENFILE: Self
pub const ENFILE: Self
File table overflow / quota de FD système atteint (23).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : eventfd2, pipe2 quand la
limite système de FD ouverts est atteinte.
Sourcepub const EMFILE: Self
pub const EMFILE: Self
Too many open files / quota de FD du processus atteint (24).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : eventfd2, pipe2 quand le
quota de FD du processus est épuisé.
Sourcepub const EACCES: Self
pub const EACCES: Self
Permission denied (13).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : mmap/mprotect quand les
permissions sont refusées (ex. PROT_EXEC sur FS noexec).
Sourcepub const ENODEV: Self
pub const ENODEV: Self
No such device (19).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : mmap quand le FD référence
un type de fichier non mappable.
Sourcepub const EEXIST: Self
pub const EEXIST: Self
File exists (17).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : mmap avec MAP_FIXED_NOREPLACE
quand l’adresse cible est déjà occupée.
Sourcepub const ENOSYS: Self
pub const ENOSYS: Self
Function not implemented (38).
Valeur extraite de asm-generic/errno.h ; identique sur
x86_64 et aarch64. Référencé : memfd_secret sur kernel < 5.14
ou sans support compilé.
Sourcepub const ESPIPE: Self
pub const ESPIPE: Self
Illegal seek on pipe or FIFO (29).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : splice quand un offset non
nul est passé pour un FD pipe (non seekable).
Sourcepub const EBUSY: Self
pub const EBUSY: Self
Device or resource busy (16).
Valeur extraite de asm-generic/errno-base.h ; identique sur
x86_64 et aarch64. Référencé : back-pressure structurelle du slab
io_uring (S1) — submit_* refuse poliment quand in_flight == capacity,
avant tout syscall.
Sourcepub const ETIME: Self
pub const ETIME: Self
Timer expired (62).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : expiration d’attente io_uring
(wait_completion_timeout, selon le mapping interne EXT_ARG).
Sourcepub const EALREADY: Self
pub const EALREADY: Self
Operation already in progress (114).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : io_uring sync_cancel quand une annulation est
déjà en cours pour la cible visée.
Sourcepub const ECANCELED: Self
pub const ECANCELED: Self
Operation canceled (125).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : res == -ECANCELED d’un CQE d’opération annulée
pendant la quiescence io_uring (téardown S2) — déroulement nominal,
pas un échec.
Sourcepub const E2BIG: Self
pub const E2BIG: Self
Argument list too long (7).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Référencé : bpf_map_create quand la carte demandée est
trop grande.
Sourcepub const ENOTTY: Self
pub const ENOTTY: Self
Inappropriate ioctl for device (25).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Référencé : un ioctl EVIOC* sur un FD qui n’est pas un
périphérique d’entrée evdev.
Sourcepub const ERANGE: Self
pub const ERANGE: Self
Numerical result out of range (34).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Extension additive du sceau pilotée par un contrat couche
1 : air_terminal::tty::ttyname la retourne quand le tampon fourni par
l’appelant est trop petit pour le chemin du terminal (sémantique POSIX
ttyname_r).
Sourcepub const ENOSPC: Self
pub const ENOSPC: Self
No space left on device (28).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Référencé : buffer de log du vérifieur eBPF trop court
(bpf_program_load / bpf_btf_load).
Sourcepub const EPROTO: Self
pub const EPROTO: Self
Protocol error (71).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : lecture evdev d’un nombre d’octets non multiple
de size_of::<input_event>().
Sourcepub const EBADMSG: Self
pub const EBADMSG: Self
Bad message (74).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : décodage uevent — message vide, en-tête
libudev tronqué / magic absent / offsets hors borne.
Sourcepub const EMSGSIZE: Self
pub const EMSGSIZE: Self
Message too long (90).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : message uevent tronqué (buffer de réception trop
petit).
Sourcepub const EOPNOTSUPP: Self
pub const EOPNOTSUPP: Self
Operation not supported (95).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : opérations eBPF / perf_event_open non
supportées par le kernel courant.
Sourcepub const ENOBUFS: Self
pub const ENOBUFS: Self
No buffer space available (105).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : file de réception netlink uevent saturée.
Sourcepub const EXDEV: Self
pub const EXDEV: Self
Cross-device link (18).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Référencé : contrat air-filesystem (# Errors —
copie/renommage inter-FS, repli read/write sur EXDEV).
Sourcepub const EPIPE: Self
pub const EPIPE: Self
Broken pipe (32).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Référencé : contrat air-base-lib §1
(From<Errno> → AirErrorKind::BrokenResource).
Sourcepub const ELOOP: Self
pub const ELOOP: Self
Too many symbolic links encountered (40).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : contrat air-filesystem (# Errors — boucle de
symlink, tentative d’évasion de confinement).
Sourcepub const ECONNRESET: Self
pub const ECONNRESET: Self
Connection reset by peer (104).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : contrat air-base-lib §1
(From<Errno> → AirErrorKind::BrokenResource).
Sourcepub const ETIMEDOUT: Self
pub const ETIMEDOUT: Self
Connection timed out (110).
Valeur extraite de asm-generic/errno.h ; identique sur x86_64 et
aarch64. Référencé : contrat air-base-lib §1
(From<Errno> → AirErrorKind::TimedOut). Distinct d’Errno::ETIME
(62, « timer expired ») — ETIMEDOUT est 110, « connection timed out ».
Sourcepub const ENOEXEC: Self
pub const ENOEXEC: Self
Exec format error (8).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Extension additive pilotée par le contrat couche 1
(air-process) : execve/execveat sur un fichier qui n’est pas dans
un format exécutable reconnu (ni ELF, ni script avec #!).
Sourcepub const ENOTDIR: Self
pub const ENOTDIR: Self
Not a directory (20).
Valeur extraite de asm-generic/errno-base.h ; identique sur x86_64
et aarch64. Extension additive pilotée par le contrat couche 1
(air-process) : fchdir sur un fd qui ne référence pas un répertoire,
ou chdir/execveat dont un composant du chemin n’est pas un
répertoire.
Sourcepub const EWOULDBLOCK: Self = Self::EAGAIN
pub const EWOULDBLOCK: Self = Self::EAGAIN
Operation would block — alias de Errno::EAGAIN (valeur 11).
Sur Linux EWOULDBLOCK == EAGAIN (même valeur). Exposé comme alias
nommé pour que les contrats qui le citent (air-base-lib §1 :
EAGAIN/EWOULDBLOCK → WouldBlock) puissent mapper par nom ;
EWOULDBLOCK == EAGAIN reste vrai (PartialEq sur la valeur brute).
Sourcepub const fn from_nonzero(raw: NonZeroI32) -> Self
pub const fn from_nonzero(raw: NonZeroI32) -> Self
Construit un Errno à partir d’un brut non nul déjà validé.
Sourcepub const fn try_from_raw(raw: i32) -> Option<Self>
pub const fn try_from_raw(raw: i32) -> Option<Self>
Tente de construire un Errno à partir d’un entier brut.
Retourne None si raw est nul (erreur kernel impossible) ou
négatif (les errno kernel sont des entiers positifs).
Trait Implementations§
impl Copy for Errno
impl Eq for Errno
Source§impl Error for Errno
impl Error for Errno
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()