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.
 
 
 
Marcin Mielniczuk 89fbde2c3f Implement fd_filestat_get for all platforms (#42) 5 years ago
misc_testsuite Add testcase for fd_seek and fd_tell 5 years ago
src Implement fd_filestat_get for all platforms (#42) 5 years ago
tests Rewrite majority of impl reusing `libstd` (#34) 5 years ago
wasi-common-cbindgen Rename C prefix from __wasi to wasi_common_ 6 years ago
winx Implement fd_filestat_get for all platforms (#42) 5 years ago
.gitignore Move *nix specific implementation to separate module 6 years ago
.rustfmt.toml Set up CI, add format and test scripts. 6 years ago
.travis.yml Use Travis for Win builds as well 5 years ago
CODE_OF_CONDUCT.md Add contributing guide and code of conduct 6 years ago
CONTRIBUTING.md Add contributing guide and code of conduct 6 years ago
Cargo.toml Update dependencies and lock wasmtime-* on a specific rev 5 years ago
LICENSE Extract common interface from lucet-wasi 6 years ago
LICENSE.cloudabi-utils Eliminate whitespace diffs with upstream LICENSE files. 6 years ago
README.md Use Travis for Win builds as well 5 years ago
build.rs Add testcase for fd_seek and fd_tell 5 years ago
clippy.toml Set up CI, add format and test scripts. 6 years ago
format-all.sh Set up CI, add format and test scripts. 6 years ago
test-all.sh Modify test-all.sh script 5 years ago

README.md

wasi-common

travis-build-status rustc-1.36

This repo will ultimately serve as a library providing a common implementation of WASI hostcalls for re-use in any WASI (and potentially non-WASI) runtimes such as Wasmtime and Lucet.

The library is an adaption of lucet-wasi crate from the Lucet project, and it is currently based on 40ae1df git revision.

Please note that the library requires Rust compiler version at least 1.36.0.

Supported syscalls

*nix

In our *nix implementation, we currently support the entire WASI API with the exception of socket hostcalls:

  • sock_recv
  • sock_send
  • sock_shutdown

We expect these to be implemented when network access is standardised.

We also currently do not support the proc_raise hostcall, as it is expected to be dropped entirely from WASI.

Windows

In our Windows implementation, we currently support the minimal subset of WASI API which allows for running the very basic "Hello world!" style WASM apps. More coming shortly, so stay tuned!

Third-Party Code

Significant parts of our hostcall implementations are derived from the C implementations in cloudabi-utils. See LICENSE.cloudabi-utils for license information.