16 Commits

Author SHA1 Message Date
Mark McCaskey
bb90cffac9 Address feedback; improve emscripten fn names in C API 2019-12-16 19:43:57 -05:00
Mark McCaskey
a2b47bd591 Update changelog, clean up, fix test 2019-12-16 18:06:37 -05:00
Mark McCaskey
e86b3941d0 Update Emscripten API layout; expose inner parts to to C API; add test 2019-12-16 15:45:28 -05:00
Mark McCaskey
f1c95a81ab Add foundational emscripten functions and types to C API 2019-12-13 14:02:48 -08:00
Ivan Enderlin
4ef799f23d feat(runtime-c-api) Support WasiVersion::Latest. 2019-12-04 15:34:56 +01:00
Ivan Enderlin
4fc6adf9c2 chore(runtime-c-api) Remove a useless format!. 2019-12-04 15:28:38 +01:00
Ivan Enderlin
345511a4f9 fix(runtime-c-api) Fix From<c_uchar> for Version.
0 matches to `Unknown`, 1 matches to `Snapshot0` and 2 matches to
`Snapshot1`.
2019-12-04 15:28:37 +01:00
Ivan Enderlin
90f3c894c1 doc(runtime-c-api) Improve documentation of wasmer_wasi_generate_import_object_for_version. 2019-12-04 15:28:37 +01:00
Ivan Enderlin
0c5021484f fix(runtime-c-api) Use get_wasi_version in non-strict mode. 2019-12-04 15:28:37 +01:00
Ivan Enderlin
4fe8286b81 feat(runtime-c-api) Avoid undefined behavior with user-given version.
When the version has type `Version`, we expect the user to give a
valid `Version` variant. Since the `Version` is basically a `uint8_t`,
the user is able to pass everything she wants, which can create an
undefined behavior on the Rust side.

To avoid such situation, the version has now type `c_uchar` (`unsigned
char` or `uint8_t` on C side —on most platforms). Then the `From`
trait is implemented on `Version`. In case the value is unbound,
`Version::Unknown` is returned.
2019-12-04 15:28:37 +01:00
Ivan Enderlin
ca4a1b41a6 feat(runtime-c-api) Ability to generate ImportObject for a specific WASI version.
This patch introduces 2 new functions:

* `wasmer_wasi_generate_import_object_for_version` and
* `wasmer_wasi_get_version`.

It mimics the current API provided by `wasmer_wasi`, nothing fancy
here. It's just a regular port to C/C++.

Because `wasmer_wasi::get_wasi_version` returns an option, and in
order to simplify the C/C++ API, `wasmer_wasi_get_version` can return
`Version::Unknown` in case of an error. It's up to the user to check
the version is valid (i.e. not unknown).
2019-12-04 15:28:37 +01:00
Mark McCaskey
bc9b92c323 Add null checks to new destructors in C API 2019-10-29 15:18:45 -07:00
Mark McCaskey
a104d08c04 Update ImportObject C API to use iterators 2019-10-29 14:55:14 -07:00
Mark McCaskey
2a532b8ce5 Add tests for C API import_object and WASI updates 2019-10-25 14:24:22 -07:00
Mark McCaskey
80cfeb590e Clean up comments
add headers too
2019-10-24 11:51:35 -07:00
Ivan Enderlin
01c209fe96 feat(runtime-c-api) Move the wasi module into its own file. 2019-10-11 09:19:46 +02:00