33 releases
| 0.3.14 | Sep 9, 2025 |
|---|---|
| 0.3.13 | Jun 19, 2025 |
| 0.3.12 | May 15, 2025 |
| 0.3.10 | Nov 28, 2024 |
| 0.1.1 | Mar 29, 2015 |
#5 in Operating systems
22,669,568 downloads per month
Used in 45,616 crates
(239 directly)
18KB
318 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 = "0.3"
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_errnofunction
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 = "0.3", default-features = false }
The Error impl will be unavailable.
Dependencies
~0–2.9MB
~53K SLoC