nix::errno

Enum Errno

source
#[non_exhaustive]
#[repr(i32)]
pub enum Errno {
Show 132 variants UnknownErrno = 0, EPERM = 1, ENOENT = 2, ESRCH = 3, EINTR = 4, EIO = 5, ENXIO = 6, E2BIG = 7, ENOEXEC = 8, EBADF = 9, ECHILD = 10, EAGAIN = 11, ENOMEM = 12, EACCES = 13, EFAULT = 14, ENOTBLK = 15, EBUSY = 16, EEXIST = 17, EXDEV = 18, ENODEV = 19, ENOTDIR = 20, EISDIR = 21, EINVAL = 22, ENFILE = 23, EMFILE = 24, ENOTTY = 25, ETXTBSY = 26, EFBIG = 27, ENOSPC = 28, ESPIPE = 29, EROFS = 30, EMLINK = 31, EPIPE = 32, EDOM = 33, ERANGE = 34, EDEADLK = 35, ENAMETOOLONG = 36, ENOLCK = 37, ENOSYS = 38, ENOTEMPTY = 39, ELOOP = 40, ENOMSG = 42, EIDRM = 43, ECHRNG = 44, EL2NSYNC = 45, EL3HLT = 46, EL3RST = 47, ELNRNG = 48, EUNATCH = 49, ENOCSI = 50, EL2HLT = 51, EBADE = 52, EBADR = 53, EXFULL = 54, ENOANO = 55, EBADRQC = 56, EBADSLT = 57, EBFONT = 59, ENOSTR = 60, ENODATA = 61, ETIME = 62, ENOSR = 63, ENONET = 64, ENOPKG = 65, EREMOTE = 66, ENOLINK = 67, EADV = 68, ESRMNT = 69, ECOMM = 70, EPROTO = 71, EMULTIHOP = 72, EDOTDOT = 73, EBADMSG = 74, EOVERFLOW = 75, ENOTUNIQ = 76, EBADFD = 77, EREMCHG = 78, ELIBACC = 79, ELIBBAD = 80, ELIBSCN = 81, ELIBMAX = 82, ELIBEXEC = 83, EILSEQ = 84, ERESTART = 85, ESTRPIPE = 86, EUSERS = 87, ENOTSOCK = 88, EDESTADDRREQ = 89, EMSGSIZE = 90, EPROTOTYPE = 91, ENOPROTOOPT = 92, EPROTONOSUPPORT = 93, ESOCKTNOSUPPORT = 94, EOPNOTSUPP = 95, EPFNOSUPPORT = 96, EAFNOSUPPORT = 97, EADDRINUSE = 98, EADDRNOTAVAIL = 99, ENETDOWN = 100, ENETUNREACH = 101, ENETRESET = 102, ECONNABORTED = 103, ECONNRESET = 104, ENOBUFS = 105, EISCONN = 106, ENOTCONN = 107, ESHUTDOWN = 108, ETOOMANYREFS = 109, ETIMEDOUT = 110, ECONNREFUSED = 111, EHOSTDOWN = 112, EHOSTUNREACH = 113, EALREADY = 114, EINPROGRESS = 115, ESTALE = 116, EUCLEAN = 117, ENOTNAM = 118, ENAVAIL = 119, EISNAM = 120, EREMOTEIO = 121, EDQUOT = 122, ENOMEDIUM = 123, EMEDIUMTYPE = 124, ECANCELED = 125, ENOKEY = 126, EKEYEXPIRED = 127, EKEYREVOKED = 128, EKEYREJECTED = 129, EOWNERDEAD = 130, ENOTRECOVERABLE = 131, ERFKILL = 132, EHWPOISON = 133,
}

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.
§

UnknownErrno = 0

§

EPERM = 1

§

ENOENT = 2

§

ESRCH = 3

§

EINTR = 4

§

EIO = 5

§

ENXIO = 6

§

E2BIG = 7

§

ENOEXEC = 8

§

EBADF = 9

§

ECHILD = 10

§

EAGAIN = 11

§

ENOMEM = 12

§

EACCES = 13

§

EFAULT = 14

§

ENOTBLK = 15

§

EBUSY = 16

§

EEXIST = 17

§

EXDEV = 18

§

ENODEV = 19

§

ENOTDIR = 20

§

EISDIR = 21

§

EINVAL = 22

§

ENFILE = 23

§

EMFILE = 24

§

ENOTTY = 25

§

ETXTBSY = 26

§

EFBIG = 27

§

ENOSPC = 28

§

ESPIPE = 29

§

EROFS = 30

§

EPIPE = 32

§

EDOM = 33

§

ERANGE = 34

§

EDEADLK = 35

§

ENAMETOOLONG = 36

§

ENOLCK = 37

§

ENOSYS = 38

§

ENOTEMPTY = 39

§

ELOOP = 40

§

ENOMSG = 42

§

EIDRM = 43

§

ECHRNG = 44

§

EL2NSYNC = 45

§

EL3HLT = 46

§

EL3RST = 47

§

ELNRNG = 48

§

EUNATCH = 49

§

ENOCSI = 50

§

EL2HLT = 51

§

EBADE = 52

§

EBADR = 53

§

EXFULL = 54

§

ENOANO = 55

§

EBADRQC = 56

§

EBADSLT = 57

§

EBFONT = 59

§

ENOSTR = 60

§

ENODATA = 61

§

ETIME = 62

§

ENOSR = 63

§

ENONET = 64

§

ENOPKG = 65

§

EREMOTE = 66

§

EADV = 68

§

ESRMNT = 69

§

ECOMM = 70

§

EPROTO = 71

§

EMULTIHOP = 72

§

EDOTDOT = 73

§

EBADMSG = 74

§

EOVERFLOW = 75

§

ENOTUNIQ = 76

§

EBADFD = 77

§

EREMCHG = 78

§

ELIBACC = 79

§

ELIBBAD = 80

§

ELIBSCN = 81

§

ELIBMAX = 82

§

ELIBEXEC = 83

§

EILSEQ = 84

§

ERESTART = 85

§

ESTRPIPE = 86

§

EUSERS = 87

§

ENOTSOCK = 88

§

EDESTADDRREQ = 89

§

EMSGSIZE = 90

§

EPROTOTYPE = 91

§

ENOPROTOOPT = 92

§

EPROTONOSUPPORT = 93

§

ESOCKTNOSUPPORT = 94

§

EOPNOTSUPP = 95

§

EPFNOSUPPORT = 96

§

EAFNOSUPPORT = 97

§

EADDRINUSE = 98

§

EADDRNOTAVAIL = 99

§

ENETDOWN = 100

§

ENETUNREACH = 101

§

ENETRESET = 102

§

ECONNABORTED = 103

§

ECONNRESET = 104

§

ENOBUFS = 105

§

EISCONN = 106

§

ENOTCONN = 107

§

ESHUTDOWN = 108

§

ETOOMANYREFS = 109

§

ETIMEDOUT = 110

§

ECONNREFUSED = 111

§

EHOSTDOWN = 112

§

EHOSTUNREACH = 113

§

EALREADY = 114

§

EINPROGRESS = 115

§

ESTALE = 116

§

EUCLEAN = 117

§

ENOTNAM = 118

§

ENAVAIL = 119

§

EISNAM = 120

§

EREMOTEIO = 121

§

EDQUOT = 122

§

ENOMEDIUM = 123

§

EMEDIUMTYPE = 124

§

ECANCELED = 125

§

ENOKEY = 126

§

EKEYEXPIRED = 127

§

EKEYREVOKED = 128

§

EKEYREJECTED = 129

§

EOWNERDEAD = 130

§

ENOTRECOVERABLE = 131

§

ERFKILL = 132

§

EHWPOISON = 133

Implementations§

source§

impl Errno

source

pub const EWOULDBLOCK: Errno = Errno::EAGAIN

source

pub const EDEADLOCK: Errno = Errno::EDEADLK

source

pub const ENOTSUP: Errno = Errno::EOPNOTSUPP

source§

impl Errno

source

pub fn last() -> Self

Returns the current value of errno

source

pub fn last_raw() -> i32

Returns the current raw i32 value of errno

source

pub fn set(self)

Sets the value of errno.

§Example
use nix::errno::Errno;

Errno::EIO.set();

assert_eq!(Errno::last(), Errno::EIO);
source

pub fn set_raw(errno: i32)

Sets the raw i32 value of errno.

source

pub const fn from_i32(err: i32) -> Errno

👎Deprecated since 0.28.0: please use Errno::from_raw() instead
source

pub const fn from_raw(err: i32) -> Errno

source

pub fn desc(self) -> &'static str

source

pub fn clear()

Sets the platform-specific errno to no-error

use nix::errno::Errno;

Errno::EIO.set();

Errno::clear();

let err = Errno::last();
assert_ne!(err, Errno::EIO);
assert_eq!(err, Errno::from_raw(0));
source

pub fn result<S: ErrnoSentinel + PartialEq<S>>(value: S) -> Result<S>

Returns Ok(value) if it does not contain the sentinel value. This should not be used when -1 is not the errno sentinel value.

Trait Implementations§

source§

impl Clone for Errno

source§

fn clone(&self) -> Errno

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Errno

source§

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

Formats the value using the given formatter. Read more
source§

impl Display for Errno

source§

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

Formats the value using the given formatter. Read more
source§

impl Error for Errno

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Errno> for Error

source§

fn from(err: Errno) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Errno

source§

fn eq(&self, other: &Errno) -> 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.
source§

impl TryFrom<Error> for Errno

source§

type Error = Error

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

fn try_from(ioerror: Error) -> Result<Self, Error>

Performs the conversion.
source§

impl Copy for Errno

source§

impl Eq for Errno

source§

impl StructuralPartialEq for Errno

Auto Trait Implementations§

§

impl Freeze for Errno

§

impl RefUnwindSafe for Errno

§

impl Send for Errno

§

impl Sync for Errno

§

impl Unpin for Errno

§

impl UnwindSafe for Errno

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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.