Jakub Konka
b784ae875e
|
6 years ago | |
---|---|---|
src | 6 years ago | |
Cargo.toml | 6 years ago | |
LICENSE | 6 years ago | |
LICENSE.cloudabi-utils | 6 years ago | |
LICENSE.wasmtime | 6 years ago | |
README.md | 6 years ago | |
build.rs | 6 years ago |
README.md
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, and based on 5d3efb6005 git revision.
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.