Bug: 330140633

Clone this repo:
  1. 378118f Migrate 25 crates to monorepo. am: 28d0f404f9 by James Farrell · 1 year, 1 month ago main
  2. 28d0f40 Migrate 25 crates to monorepo. by James Farrell · 1 year, 1 month ago
  3. 3d253fa Merge "Remove nputikhin@google.com from OWNERS" into main am: 343a7de6cd by Nikita Putikhin · 1 year, 2 months ago
  4. 343a7de Merge "Remove nputikhin@google.com from OWNERS" into main by Nikita Putikhin · 1 year, 2 months ago
  5. 4d36ac0 Update Android.bp by running cargo_embargo am: a881d4f482 by James Farrell · 1 year, 2 months ago

errno CI Cargo

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.