#![cfg_attr(docsrs, feature(doc_auto_cfg))]12//! # Wasmtime's WASI Implementation3//!4//! This crate provides a Wasmtime host implementations of different versions of WASI.5//! WASI is implemented with the Rust crates [`tokio`] and [`cap-std`](cap_std) primarily, meaning that6//! operations are implemented in terms of their native platform equivalents by7//! default.8//!9//! For components and WASIp2, see [`p2`].10//! For WASIp1 and core modules, see the [`preview1`] module documentation.11//!12//! For WASIp3, see [`p3`]. WASIp3 support is experimental, unstable and incomplete.1314pub mod cli;15pub mod clocks;16mod ctx;17mod error;18pub mod filesystem;19#[cfg(feature = "p1")]20pub mod p0;21#[cfg(feature = "p1")]22pub mod p1;23// FIXME: should gate this module on the `p2` feature but that will require more24// internal refactoring to get that aligned right.25// #[cfg(feature = "p2")]26pub mod p2;27#[cfg(feature = "p3")]28pub mod p3;29pub mod random;30pub mod runtime;31pub mod sockets;32mod view;3334pub use self::clocks::{HostMonotonicClock, HostWallClock};35pub use self::ctx::{WasiCtx, WasiCtxBuilder};36pub use self::error::{I32Exit, TrappableError};37pub use self::filesystem::{DirPerms, FilePerms, OpenMode};38pub use self::random::{Deterministic, thread_rng};39pub use self::view::{WasiCtxView, WasiView};40#[doc(no_inline)]41pub use async_trait::async_trait;42#[doc(no_inline)]43pub use cap_fs_ext::SystemTimeSpec;44#[doc(no_inline)]45pub use cap_rand::RngCore;46#[doc(no_inline)]47pub use wasmtime::component::{ResourceTable, ResourceTableError};484950