14#ifdef WASMTIME_FEATURE_WASI
16#ifndef WASI_API_EXTERN
18#define WASI_API_EXTERN __declspec(dllimport)
20#define WASI_API_EXTERN
30#define WASI_DECLARE_OWN(name) \
31 typedef struct wasi_##name##_t wasi_##name##_t; \
32 WASI_API_EXTERN void wasi_##name##_delete(own wasi_##name##_t *);
44WASI_DECLARE_OWN(config)
92 const
char *values[]);
233 const char *host_path,
234 const char *guest_path,
Build-time defines for how the C API was built.
A list of bytes.
Definition: wasm.h:102
void wasi_config_inherit_env(wasi_config_t *config)
Indicates that the entire environment of the calling process should be inherited by this WASI configu...
size_t wasi_dir_perms
The permissions granted for directories when preopening them, which is a bitmask with flag values fro...
Definition: wasi.h:186
void wasi_config_inherit_argv(wasi_config_t *config)
Indicates that the argv list should be inherited from this process's argv list.
void wasi_config_inherit_stderr(wasi_config_t *config)
Configures this process's own stderr stream to be used as stderr for this WASI configuration.
bool wasi_config_set_stdout_file(wasi_config_t *config, const char *path)
Configures standard output to be written to the specified file.
wasi_dir_perms_flags
The permissions granted for a directory when preopening it.
Definition: wasi.h:169
@ WASMTIME_WASI_DIR_PERMS_WRITE
This directory can be written to, for example new files can be created within it.
Definition: wasi.h:179
@ WASMTIME_WASI_DIR_PERMS_READ
This directory can be read, for example its entries can be iterated.
Definition: wasi.h:173
void wasi_config_set_stdin_bytes(wasi_config_t *config, wasm_byte_vec_t *binary)
Configures standard input to be taken from the specified wasm_byte_vec_t.
bool wasi_config_set_env(wasi_config_t *config, size_t envc, const char *names[], const char *values[])
Sets the list of environment variables available to the WASI instance.
wasi_file_perms_flags
The permissions granted for files when preopening a directory.
Definition: wasi.h:191
@ WASMTIME_WASI_FILE_PERMS_WRITE
Files can be written to.
Definition: wasi.h:200
@ WASMTIME_WASI_FILE_PERMS_READ
Files can be read.
Definition: wasi.h:195
bool wasi_config_set_argv(wasi_config_t *config, size_t argc, const char *argv[])
Sets the argv list for this configuration object.
void wasi_config_inherit_stdout(wasi_config_t *config)
Configures this process's own stdout stream to be used as stdout for this WASI configuration.
bool wasi_config_set_stderr_file(wasi_config_t *config, const char *path)
Configures standard output to be written to the specified file.
void wasi_config_inherit_stdin(wasi_config_t *config)
Configures this process's own stdin stream to be used as stdin for this WASI configuration.
size_t wasi_file_perms
The max permissions granted a file within a preopened directory, which is a bitmask with flag values ...
Definition: wasi.h:207
bool wasi_config_set_stdin_file(wasi_config_t *config, const char *path)
Configures standard input to be taken from the specified file.
wasi_config_t * wasi_config_new()
Creates a new empty configuration object.
bool wasi_config_preopen_dir(wasi_config_t *config, const char *host_path, const char *guest_path, wasi_dir_perms dir_perms, wasi_file_perms file_perms)
Configures a "preopened directory" to be available to WASI APIs.