Type Alias nix::Error

source ·
pub type Error = Errno;
Expand description

Nix’s main error type.

It’s a wrapper around Errno. As such, it’s very interoperable with std::io::Error, but it has the advantages of:

  • Clone
  • Copy
  • Eq
  • Small size
  • Represents all of the system’s errnos, instead of just the most common ones.

Aliased Type§

enum Error {
Show 132 variants UnknownErrno, EPERM, ENOENT, ESRCH, EINTR, EIO, ENXIO, E2BIG, ENOEXEC, EBADF, ECHILD, EAGAIN, ENOMEM, EACCES, EFAULT, ENOTBLK, EBUSY, EEXIST, EXDEV, ENODEV, ENOTDIR, EISDIR, EINVAL, ENFILE, EMFILE, ENOTTY, ETXTBSY, EFBIG, ENOSPC, ESPIPE, EROFS, EMLINK, EPIPE, EDOM, ERANGE, EDEADLK, ENAMETOOLONG, ENOLCK, ENOSYS, ENOTEMPTY, ELOOP, ENOMSG, EIDRM, ECHRNG, EL2NSYNC, EL3HLT, EL3RST, ELNRNG, EUNATCH, ENOCSI, EL2HLT, EBADE, EBADR, EXFULL, ENOANO, EBADRQC, EBADSLT, EBFONT, ENOSTR, ENODATA, ETIME, ENOSR, ENONET, ENOPKG, EREMOTE, ENOLINK, EADV, ESRMNT, ECOMM, EPROTO, EMULTIHOP, EDOTDOT, EBADMSG, EOVERFLOW, ENOTUNIQ, EBADFD, EREMCHG, ELIBACC, ELIBBAD, ELIBSCN, ELIBMAX, ELIBEXEC, EILSEQ, ERESTART, ESTRPIPE, EUSERS, ENOTSOCK, EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT, ESOCKTNOSUPPORT, EOPNOTSUPP, EPFNOSUPPORT, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN, ENETUNREACH, ENETRESET, ECONNABORTED, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ESHUTDOWN, ETOOMANYREFS, ETIMEDOUT, ECONNREFUSED, EHOSTDOWN, EHOSTUNREACH, EALREADY, EINPROGRESS, ESTALE, EUCLEAN, ENOTNAM, ENAVAIL, EISNAM, EREMOTEIO, EDQUOT, ENOMEDIUM, EMEDIUMTYPE, ECANCELED, ENOKEY, EKEYEXPIRED, EKEYREVOKED, EKEYREJECTED, EOWNERDEAD, ENOTRECOVERABLE, ERFKILL, EHWPOISON,
}

Variants§

§

UnknownErrno

§

EPERM

§

ENOENT

§

ESRCH

§

EINTR

§

EIO

§

ENXIO

§

E2BIG

§

ENOEXEC

§

EBADF

§

ECHILD

§

EAGAIN

§

ENOMEM

§

EACCES

§

EFAULT

§

ENOTBLK

§

EBUSY

§

EEXIST

§

EXDEV

§

ENODEV

§

ENOTDIR

§

EISDIR

§

EINVAL

§

ENFILE

§

EMFILE

§

ENOTTY

§

ETXTBSY

§

EFBIG

§

ENOSPC

§

ESPIPE

§

EROFS

§

EPIPE

§

EDOM

§

ERANGE

§

EDEADLK

§

ENAMETOOLONG

§

ENOLCK

§

ENOSYS

§

ENOTEMPTY

§

ELOOP

§

ENOMSG

§

EIDRM

§

ECHRNG

§

EL2NSYNC

§

EL3HLT

§

EL3RST

§

ELNRNG

§

EUNATCH

§

ENOCSI

§

EL2HLT

§

EBADE

§

EBADR

§

EXFULL

§

ENOANO

§

EBADRQC

§

EBADSLT

§

EBFONT

§

ENOSTR

§

ENODATA

§

ETIME

§

ENOSR

§

ENONET

§

ENOPKG

§

EREMOTE

§

EADV

§

ESRMNT

§

ECOMM

§

EPROTO

§

EMULTIHOP

§

EDOTDOT

§

EBADMSG

§

EOVERFLOW

§

ENOTUNIQ

§

EBADFD

§

EREMCHG

§

ELIBACC

§

ELIBBAD

§

ELIBSCN

§

ELIBMAX

§

ELIBEXEC

§

EILSEQ

§

ERESTART

§

ESTRPIPE

§

EUSERS

§

ENOTSOCK

§

EDESTADDRREQ

§

EMSGSIZE

§

EPROTOTYPE

§

ENOPROTOOPT

§

EPROTONOSUPPORT

§

ESOCKTNOSUPPORT

§

EOPNOTSUPP

§

EPFNOSUPPORT

§

EAFNOSUPPORT

§

EADDRINUSE

§

EADDRNOTAVAIL

§

ENETDOWN

§

ENETUNREACH

§

ENETRESET

§

ECONNABORTED

§

ECONNRESET

§

ENOBUFS

§

EISCONN

§

ENOTCONN

§

ESHUTDOWN

§

ETOOMANYREFS

§

ETIMEDOUT

§

ECONNREFUSED

§

EHOSTDOWN

§

EHOSTUNREACH

§

EALREADY

§

EINPROGRESS

§

ESTALE

§

EUCLEAN

§

ENOTNAM

§

ENAVAIL

§

EISNAM

§

EREMOTEIO

§

EDQUOT

§

ENOMEDIUM

§

EMEDIUMTYPE

§

ECANCELED

§

ENOKEY

§

EKEYEXPIRED

§

EKEYREVOKED

§

EKEYREJECTED

§

EOWNERDEAD

§

ENOTRECOVERABLE

§

ERFKILL

§

EHWPOISON

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)>

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 PartialEq<Errno> for Errno

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

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

impl TryFrom<Error> for Errno

§

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 StructuralEq for Errno

source§

impl StructuralPartialEq for Errno