From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 8 Jan 2024 01:21:28 +0400 Subject: Initial vendor packages Signed-off-by: Valentin Popov --- vendor/errno/README.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 vendor/errno/README.md (limited to 'vendor/errno/README.md') diff --git a/vendor/errno/README.md b/vendor/errno/README.md new file mode 100644 index 0000000..6a9a42c --- /dev/null +++ b/vendor/errno/README.md @@ -0,0 +1,62 @@ +# errno [![CI](https://github.com/lambda-fairy/rust-errno/actions/workflows/main.yml/badge.svg)](https://github.com/lambda-fairy/rust-errno/actions/workflows/main.yml) [![Cargo](https://img.shields.io/crates/v/errno.svg)](https://crates.io/crates/errno) + +Cross-platform interface to the [`errno`][errno] variable. Works on Rust 1.56 or newer. + +Documentation is available at . + +[errno]: https://en.wikipedia.org/wiki/Errno.h + + +## Dependency + +Add to your `Cargo.toml`: + +```toml +[dependencies] +errno = "*" +``` + + +## Comparison with `std::io::Error` + +The standard library provides [`Error::last_os_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 + +[last_os_error]: https://doc.rust-lang.org/std/io/struct.Error.html#method.last_os_error + + +## Examples + +```rust +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: + +```toml +[dependencies] +errno = { version = "*", default-features = false } +``` + +The `Error` impl will be unavailable. -- cgit v1.2.3