You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Jakub Konka b784ae875e Add git revision to track against lucet-wasi 6 years ago
src Changes to compile in lucet 6 years ago
Cargo.toml Extract common interface from lucet-wasi 6 years ago
LICENSE Extract common interface from lucet-wasi 6 years ago
LICENSE.cloudabi-utils Extract common interface from lucet-wasi 6 years ago
LICENSE.wasmtime Extract common interface from lucet-wasi 6 years ago
README.md Add git revision to track against lucet-wasi 6 years ago
build.rs Extract common interface from lucet-wasi 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.