| Crates.io | system-interface |
| lib.rs | system-interface |
| version | 0.27.3 |
| created_at | 2020-10-27 20:30:12.966606+00 |
| updated_at | 2024-12-04 02:09:46.601438+00 |
| description | Extensions to the Rust standard library |
| homepage | |
| repository | https://github.com/bytecodealliance/system-interface |
| max_upload_size | |
| id | 306098 |
| size | 177,644 |
system-interface adds extensions to the Rust standard library, seeking to
stay within the style of std, while exposing additional functionality:
fs::FileIoExt - Extra support for working with files, including
all the features of std::io::Read, std::io::Write,
std::io::Seek, and std::os::unix::fs::FileExt, but with both
POSIX-ish and Windows support, and with additional features, including
read and write with all combinations of _vectored, _at, and
_exact/_all. If you've ever wanted something like
read_exact_vectored_at, write_all_vectored_at, or any other
combination, or even read_to_end_at or read_to_string_at,
they're all here, and they work on Windows too!io::IsTerminal - Test whether a given I/O handle refers to a terminal
(aka a tty).io::ReadReady - Query the number of bytes ready to be read immediately
from an I/O handle.io::Peek - Read from an I/O handle without consuming the data.Everything in this crate is portable across popular POSIX-ish platforms and Windows.
Many of system-interface's features correspond to features in WASI, and are
designed to work with cap-std, however it's not specific to WASI and can be
used with regular std too. To separate concerns, all sandboxing and
capability-oriented APIs are left to cap-std, so this crate's features are
usable independently.
Support for async-std and socket2 is temporarily disabled until those crates contain the needed implementations of the I/O safety traits.