* Add yanix crate This commit adds `yanix` crate as a Unix dependency for `wasi-common`. `yanix` stands for Yet Another Nix crate and is exactly what the name suggests: a crate in the spirit of the `nix` crate, but which takes a different approach, using lower-level interfaces with less abstraction, so that it fits better with its main use case, implementation of WASI syscalls. * Replace nix with yanix crate Having introduced `yanix` crate as an in-house replacement for the `nix` crate, this commit makes the necessary changes to `wasi-common` to depend _only_ on `yanix` crate. * Address review comments * make `fd_dup` unsafe * rename `get_fd` to `get_fd_flags`, etc. * reuse `io::Error::last_os_error()` to get the last errno value * Address more comments * make all `fcntl` fns unsafe * adjust `wasi-common` impl appropriately * Make all fns operating on RawFd unsafe * Fix linux build * Address more comments
29 lines
558 B
Rust
29 lines
558 B
Rust
pub(crate) mod fdentry_impl;
|
|
pub(crate) mod host_impl;
|
|
pub(crate) mod hostcalls_impl;
|
|
|
|
mod filetime;
|
|
|
|
#[cfg(any(
|
|
target_os = "macos",
|
|
target_os = "netbsd",
|
|
target_os = "freebsd",
|
|
target_os = "openbsd",
|
|
target_os = "ios",
|
|
target_os = "dragonfly"
|
|
))]
|
|
mod bsd;
|
|
#[cfg(target_os = "linux")]
|
|
mod linux;
|
|
|
|
use crate::old::snapshot_0::Result;
|
|
use std::fs::{File, OpenOptions};
|
|
|
|
pub(crate) fn dev_null() -> Result<File> {
|
|
OpenOptions::new()
|
|
.read(true)
|
|
.write(true)
|
|
.open("/dev/null")
|
|
.map_err(Into::into)
|
|
}
|