commit | 8c877d7b057d06ea5bd2bd9628b0608a876d8f03 | [log] [tgz] |
---|---|---|
author | Marcin Radomski <dextero@google.com> | Wed Mar 20 16:05:04 2024 +0000 |
committer | Marcin Radomski <dextero@google.com> | Wed Mar 20 17:57:45 2024 +0000 |
tree | 3573475f73a671b7c7ccc797a56f36022bd28d61 | |
parent | a7f37af830760dbab9f4d42205ecfc872320af6a [diff] |
Import 'errno' crate Request Document: go/android-rust-importing-crates For CL Reviewers: go/android3p#cl-review For Build Team: go/ab-third-party-imports Bug: http://b/328180148 Test: m liberrno Test: atest errno_test_src_lib Change-Id: I8d4ffe98ec456c6ae9ec81492a7c6117cdb27c7c
Cross-platform interface to the errno
variable. Works on Rust 1.56 or newer.
Documentation is available at https://docs.rs/errno.
Add to your Cargo.toml
:
[dependencies] errno = "*"
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_std]
supportset_errno
functionextern 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.