28 releases
0.3.9 | May 8, 2024 |
---|---|
0.3.8 | Nov 28, 2023 |
0.3.5 | Oct 8, 2023 |
0.3.2 | Jul 30, 2023 |
0.1.1 | Mar 29, 2015 |
#16 in Operating systems
10,205,088 downloads per month
Used in 24,095 crates
(200 directly)
16KB
294 lines
errno
Cross-platform interface to the errno
variable. Works on Rust 1.56 or newer.
Documentation is available at https://docs.rs/errno.
Dependency
Add to your Cargo.toml
:
[dependencies]
errno = "*"
Comparison with std::io::Error
The standard library provides Error::last_os_error
which fetches errno
in the same way.
This crate provides these extra features:
- No heap allocations
- Optional
#![no_std]
support - A
set_errno
function
Examples
extern crate errno;
use errno::{Errno, errno, set_errno};
// Get the current value of errno
let e = errno();
// Set the current value of errno
set_errno(e);
// Extract the error code as an i32
let code = e.0;
// Display a human-friendly error message
println!("Error {}: {}", code, e);
#![no_std]
Enable #![no_std]
support by disabling the default std
feature:
[dependencies]
errno = { version = "*", default-features = false }
The Error
impl will be unavailable.
Dependencies
~0–8MB
~63K SLoC