A minimal specification of standard API for non-Web WebAssembly usermode environments
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ns
schemes
README.md
errors.md
types.md
urls-and-schemes.md

README.md

Common WebAssembly API

The Common WebAssembly API is a minimal specification of the standard API for non-Web WebAssembly usermode environments.

Structure

Types

A few new types (which all lower to primitive WASM types) are introduced in types.md.

Errors

Error handling in CWA is done by error codes, which are defined in errors.md.

Namespaces

The CWA API is organized as namespaces, which each corresponds to a specific set of API functions.

CWA API functions should be accessible via the external module named cwa.

Every namespace should contain only lower-case ASCII characters in its name, and have its definitions in ns/{namespace}.md.

Every function should contain only lower-case ASCII characters, digits(0-9), and _ in its name, and the first character cannot be a digit.

Functions from namespaces are visible to WebAssembly modules with the name {namespace}_{function}.

URLs and Schemes

"Everything is a URL".

Defined in urls-and-schemes.md.

Add new features to CWA

If you are not sure, open an issue to discuss your idea first.

After you've finished writing the definitions & explanations of your new namespaces/functions, open a pull request and we would be happy to review :-)