cd39c1dfd894bc1e2e428a2cff9bbfe8cb21bc12
wasi-common
This repo strips away those bits of lucet-wasi which can potentially be encapsulated in a separated crate with potential plug'n'play use in both Lucet and Wasmtime projects.
This repo is strictly experimental.
Supported syscalls
We support a subset of the WASI API, though we are adding new syscalls on a regular basis. We currently implement:
__wasi_args_get__wasi_args_sizes_get__wasi_clock_res_get__wasi_clock_time_get__wasi_environ_get__wasi_environ_sizes_get__wasi_fd_close__wasi_fd_fdstat_get__wasi_fd_fdstat_set_flags__wasi_fd_prestat_dir_name__wasi_fd_prestat_get__wasi_fd_read__wasi_fd_seek__wasi_fd_write__wasi_path_open__wasi_proc_exit__wasi_random_get
This is enough to run basic C and Rust programs, including those that use command-line arguments, environment variables, stdio, and basic file operations.
Third-Party Code
src/wasm32.rs is copied from
wasmtime, along
with the associated LICENSE.wasmtime file.
Significant parts of our syscall implementations are derived from the C implementations in
cloudabi-utils. See LICENSE.cloudabi-utils for license information.
Description
Languages
Rust
77.8%
WebAssembly
20.6%
C
1.3%