Implement WASI C API.

This commit implements an initial WASI C API that can be used to instantiate
and configure a WASI instance from C.

This also implements a `WasiBuilder` for the C# API enabling .NET hosts to bind
to Wasmtime's WASI implementation.
This commit is contained in:
Peter Huene
2020-02-07 11:24:26 -08:00
parent f8abe1169c
commit ae0b4090ce
28 changed files with 1303 additions and 268 deletions

View File

@@ -12,10 +12,12 @@ namespace Wasmtime.Imports
{
unsafe
{
var moduleName = Interop.wasm_importtype_module(importType);
Handle = importType;
var moduleName = Interop.wasm_importtype_module(Handle);
ModuleName = Marshal.PtrToStringUTF8((IntPtr)moduleName->data, (int)moduleName->size);
var name = Interop.wasm_importtype_name(importType);
var name = Interop.wasm_importtype_name(Handle);
Name = Marshal.PtrToStringUTF8((IntPtr)name->data, (int)name->size);
}
}
@@ -30,6 +32,8 @@ namespace Wasmtime.Imports
/// </summary>
public string Name { get; private set; }
internal IntPtr Handle { get; private set; }
/// <inheritdoc/>
public override string ToString()
{