Struct Errno

Source
pub struct Errno(/* private fields */);

Implementations§

Source§

impl Errno

Source

pub const EPERM: Errno

Operation not permitted

Source

pub const ENOENT: Errno

No such file or directory

Source

pub const ESRCH: Errno

No such process

Source

pub const EINTR: Errno

Interrupted system call

Source

pub const EIO: Errno

I/O error

Source

pub const ENXIO: Errno

No such device or address

Source

pub const E2BIG: Errno

Argument list too long

Source

pub const ENOEXEC: Errno

Exec format error

Source

pub const EBADF: Errno

Bad file number

Source

pub const ECHILD: Errno

No child processes

Source

pub const EAGAIN: Errno

Try again

Source

pub const ENOMEM: Errno

Out of memory

Source

pub const EACCES: Errno

Permission denied

Source

pub const EFAULT: Errno

Bad address

Source

pub const ENOTBLK: Errno

Block device required

Source

pub const EBUSY: Errno

Device or resource busy

Source

pub const EEXIST: Errno

File exists

Source

pub const EXDEV: Errno

Cross-device link

Source

pub const ENODEV: Errno

No such device

Source

pub const ENOTDIR: Errno

Not a directory

Source

pub const EISDIR: Errno

Is a directory

Source

pub const EINVAL: Errno

Invalid argument

Source

pub const ENFILE: Errno

File table overflow

Source

pub const EMFILE: Errno

Too many open files

Source

pub const ENOTTY: Errno

Not a typewriter

Source

pub const ETXTBSY: Errno

Text file busy

Source

pub const EFBIG: Errno

File too large

Source

pub const ENOSPC: Errno

No space left on device

Source

pub const ESPIPE: Errno

Illegal seek

Source

pub const EROFS: Errno

Read-only file system

Too many links

Source

pub const EPIPE: Errno

Broken pipe

Source

pub const EDOM: Errno

Math argument out of domain of func

Source

pub const ERANGE: Errno

Math result not representable

Source

pub const EDEADLK: Errno

Resource deadlock would occur

Source

pub const ENAMETOOLONG: Errno

File name too long

Source

pub const ENOLCK: Errno

No record locks available

Source

pub const ENOSYS: Errno

Invalid system call number

Source

pub const ENOTEMPTY: Errno

Directory not empty

Source

pub const ELOOP: Errno

Too many symbolic links encountered

Source

pub const ENOMSG: Errno

No message of desired type

Source

pub const EIDRM: Errno

Identifier removed

Source

pub const ECHRNG: Errno

Channel number out of range

Source

pub const EL2NSYNC: Errno

Level 2 not synchronized

Source

pub const EL3HLT: Errno

Level 3 halted

Source

pub const EL3RST: Errno

Level 3 reset

Source

pub const ELNRNG: Errno

Link number out of range

Source

pub const EUNATCH: Errno

Protocol driver not attached

Source

pub const ENOCSI: Errno

No CSI structure available

Source

pub const EL2HLT: Errno

Level 2 halted

Source

pub const EBADE: Errno

Invalid exchange

Source

pub const EBADR: Errno

Invalid request descriptor

Source

pub const EXFULL: Errno

Exchange full

Source

pub const ENOANO: Errno

No anode

Source

pub const EBADRQC: Errno

Invalid request code

Source

pub const EBADSLT: Errno

Invalid slot

Source

pub const EBFONT: Errno

Bad font file format

Source

pub const ENOSTR: Errno

Device not a stream

Source

pub const ENODATA: Errno

No data available

Source

pub const ETIME: Errno

Timer expired

Source

pub const ENOSR: Errno

Out of streams resources

Source

pub const ENONET: Errno

Machine is not on the network

Source

pub const ENOPKG: Errno

Package not installed

Source

pub const EREMOTE: Errno

Object is remote

Link has been severed

Source

pub const EADV: Errno

Advertise error

Source

pub const ESRMNT: Errno

Srmount error

Source

pub const ECOMM: Errno

Communication error on send

Source

pub const EPROTO: Errno

Protocol error

Source

pub const EMULTIHOP: Errno

Multihop attempted

Source

pub const EDOTDOT: Errno

RFS specific error

Source

pub const EBADMSG: Errno

Not a data message

Source

pub const EOVERFLOW: Errno

Value too large for defined data type

Source

pub const ENOTUNIQ: Errno

Name not unique on network

Source

pub const EBADFD: Errno

File descriptor in bad state

Source

pub const EREMCHG: Errno

Remote address changed

Source

pub const ELIBACC: Errno

Can not access a needed shared library

Source

pub const ELIBBAD: Errno

Accessing a corrupted shared library

Source

pub const ELIBSCN: Errno

.lib section in a.out corrupted

Source

pub const ELIBMAX: Errno

Attempting to link in too many shared libraries

Source

pub const ELIBEXEC: Errno

Cannot exec a shared library directly

Source

pub const EILSEQ: Errno

Illegal byte sequence

Source

pub const ERESTART: Errno

Interrupted system call should be restarted

Source

pub const ESTRPIPE: Errno

Streams pipe error

Source

pub const EUSERS: Errno

Too many users

Source

pub const ENOTSOCK: Errno

Socket operation on non-socket

Source

pub const EDESTADDRREQ: Errno

Destination address required

Source

pub const EMSGSIZE: Errno

Message too long

Source

pub const EPROTOTYPE: Errno

Protocol wrong type for socket

Source

pub const ENOPROTOOPT: Errno

Protocol not available

Source

pub const EPROTONOSUPPORT: Errno

Protocol not supported

Source

pub const ESOCKTNOSUPPORT: Errno

Socket type not supported

Source

pub const EOPNOTSUPP: Errno

Operation not supported on transport endpoint

Source

pub const EPFNOSUPPORT: Errno

Protocol family not supported

Source

pub const EAFNOSUPPORT: Errno

Address family not supported by protocol

Source

pub const EADDRINUSE: Errno

Address already in use

Source

pub const EADDRNOTAVAIL: Errno

Cannot assign requested address

Source

pub const ENETDOWN: Errno

Network is down

Source

pub const ENETUNREACH: Errno

Network is unreachable

Source

pub const ENETRESET: Errno

Network dropped connection because of reset

Source

pub const ECONNABORTED: Errno

Software caused connection abort

Source

pub const ECONNRESET: Errno

Connection reset by peer

Source

pub const ENOBUFS: Errno

No buffer space available

Source

pub const EISCONN: Errno

Transport endpoint is already connected

Source

pub const ENOTCONN: Errno

Transport endpoint is not connected

Source

pub const ESHUTDOWN: Errno

Cannot send after transport endpoint shutdown

Source

pub const ETOOMANYREFS: Errno

Too many references: cannot splice

Source

pub const ETIMEDOUT: Errno

Connection timed out

Source

pub const ECONNREFUSED: Errno

Connection refused

Source

pub const EHOSTDOWN: Errno

Host is down

Source

pub const EHOSTUNREACH: Errno

No route to host

Source

pub const EALREADY: Errno

Operation already in progress

Source

pub const EINPROGRESS: Errno

Operation now in progress

Source

pub const ESTALE: Errno

Stale file handle

Source

pub const EUCLEAN: Errno

Structure needs cleaning

Source

pub const ENOTNAM: Errno

Not a XENIX named type file

Source

pub const ENAVAIL: Errno

No XENIX semaphores available

Source

pub const EISNAM: Errno

Is a named type file

Source

pub const EREMOTEIO: Errno

Remote I/O error

Source

pub const EDQUOT: Errno

Quota exceeded

Source

pub const ENOMEDIUM: Errno

No medium found

Source

pub const EMEDIUMTYPE: Errno

Wrong medium type

Source

pub const ECANCELED: Errno

Operation Canceled

Source

pub const ENOKEY: Errno

Required key not available

Source

pub const EKEYEXPIRED: Errno

Key has expired

Source

pub const EKEYREVOKED: Errno

Key has been revoked

Source

pub const EKEYREJECTED: Errno

Key was rejected by service

Source

pub const EOWNERDEAD: Errno

Owner died

Source

pub const ENOTRECOVERABLE: Errno

State not recoverable

Source

pub const ERFKILL: Errno

Operation not possible due to RF-kill

Source

pub const EHWPOISON: Errno

Memory page has hardware error

Source

pub const ERESTARTSYS: Errno

Restart syscall

Source

pub const ERESTARTNOINTR: Errno

Restart if no interrupt

Source

pub const ERESTARTNOHAND: Errno

restart if no handler..

Source

pub const ENOIOCTLCMD: Errno

No ioctl command

Source

pub const ERESTART_RESTARTBLOCK: Errno

restart by calling sys_restart_syscall

Source

pub const EPROBE_DEFER: Errno

Driver requests probe retry

Source

pub const EOPENSTALE: Errno

open found a stale dentry

Source

pub const ENOPARAM: Errno

Parameter not supported

Source

pub const EBADHANDLE: Errno

Illegal NFS file handle

Source

pub const ENOTSYNC: Errno

Update synchronization mismatch

Source

pub const EBADCOOKIE: Errno

Cookie is stale

Source

pub const ENOTSUPP: Errno

Operation is not supported

Source

pub const ETOOSMALL: Errno

Buffer or request is too small

Source

pub const ESERVERFAULT: Errno

An untranslatable error occurred

Source

pub const EBADTYPE: Errno

Type not supported by server

Source

pub const EJUKEBOX: Errno

Request initiated, but will not complete before timeout

Source

pub const EIOCBQUEUED: Errno

iocb queued, will get completion event

Source

pub const ERECALLCONFLICT: Errno

conflict with recalled state

Source

pub const ENOGRACE: Errno

NFS file lock reclaim refused

Source

pub fn name_and_description(&self) -> Option<(&'static str, &'static str)>

Returns a pair containing the name of the error and a string describing the error.

Source§

impl Errno

Source

pub const EWOULDBLOCK: Self = Self::EAGAIN

Operation would block. This is the same as Errno::EAGAIN.

Source

pub const EDEADLOCK: Self = Self::EDEADLK

Same as Errno::EDEADLK.

Source

pub fn new(num: i32) -> Self

Creates a new Errno.

Source

pub fn into_raw(self) -> i32

Converts the Errno into a raw i32.

Source

pub fn is_valid(&self) -> bool

Returns true if the error code is valid (i.e., less than 4096).

Source

pub fn from_ret(value: usize) -> Result<usize, Errno>

Converts a raw syscall return value to a result.

Source

pub fn last() -> Self

Returns the last error that occurred.

Source

pub fn result<T>(value: T) -> Result<T, Errno>
where T: ErrnoSentinel + PartialEq<T>,

Converts a value into an Errno.

Source

pub fn name(&self) -> Option<&'static str>

Returns the name of the error. If the internal error code is unknown or invalid, None is returned.

Source

pub fn description(&self) -> Option<&'static str>

Returns the error description. If the internal error code is unknown or invalid, None is returned.

Source

pub fn from_io_error(err: Error) -> Option<Self>

Converts an std::io::Error into an Errno if possible. Since an error code is just one of the few possible error types that std::io::Error can represent, this will return None if the conversion is not possible.

A From<std::io::Error> implementation is not provided because this conversion can fail. However, the reverse is possible, so that is provided as a From implementation.

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<'de> Deserialize<'de> for Errno

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 Hash for Errno

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for Errno

Source§

fn cmp(&self, other: &Errno) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
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 PartialOrd for Errno

Source§

fn partial_cmp(&self, other: &Errno) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Serialize for Errno

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
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, 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> ToString for T
where T: Display + ?Sized,

Source§

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,