29 releases
0.3.10 | Nov 28, 2024 |
---|---|
0.3.9 | May 8, 2024 |
0.3.8 | Nov 28, 2023 |
0.3.2 | Jul 30, 2023 |
0.1.1 | Mar 29, 2015 |
#16 in Operating systems
9,906,313 downloads per month
Used in 24,719 crates
(204 directly)
16KB
296 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–7.5MB
~58K SLoC