Wasmtime
|
Go to the source code of this file.
Typedefs | |
typedef struct wasi_config_t | wasi_config_t |
Convenience alias for wasi_config_t. | |
Functions | |
void | wasi_config_delete (wasi_config_t *) |
Deletes a configuration object. | |
wasi_config_t * | wasi_config_new () |
Creates a new empty configuration object. More... | |
bool | wasi_config_set_argv (wasi_config_t *config, size_t argc, const char *argv[]) |
Sets the argv list for this configuration object. More... | |
void | wasi_config_inherit_argv (wasi_config_t *config) |
Indicates that the argv list should be inherited from this process's argv list. | |
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. More... | |
void | wasi_config_inherit_env (wasi_config_t *config) |
Indicates that the entire environment of the calling process should be inherited by this WASI configuration. | |
bool | wasi_config_set_stdin_file (wasi_config_t *config, const char *path) |
Configures standard input to be taken from the specified file. More... | |
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. More... | |
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. | |
bool | wasi_config_set_stdout_file (wasi_config_t *config, const char *path) |
Configures standard output to be written to the specified file. More... | |
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. More... | |
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_preopen_dir (wasi_config_t *config, const char *path, const char *guest_path) |
Configures a "preopened directory" to be available to WASI APIs. More... | |
C API for WASI
wasi_config_t * wasi_config_new | ( | ) |
Creates a new empty configuration object.
The caller is expected to deallocate the returned configuration
bool wasi_config_preopen_dir | ( | wasi_config_t * | config, |
const char * | path, | ||
const char * | guest_path | ||
) |
Configures a "preopened directory" to be available to WASI APIs.
By default WASI programs do not have access to anything on the filesystem. This API can be used to grant WASI programs access to a directory on the filesystem, but only that directory (its whole contents but nothing above it).
The path
argument here is a path name on the host filesystem, and guest_path
is the name by which it will be known in wasm.
bool wasi_config_set_argv | ( | wasi_config_t * | config, |
size_t | argc, | ||
const char * | argv[] | ||
) |
Sets the argv list for this configuration object.
By default WASI programs have an empty argv list, but this can be used to explicitly specify what the argv list for the program is.
The arguments are copied into the config
object as part of this function call, so the argv
pointer only needs to stay alive for this function call.
This function returns true
if all arguments were registered successfully, or false
if an argument was not valid UTF-8.
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.
By default WASI programs have a blank environment, but this can be used to define some environment variables for them.
It is required that the names
and values
lists both have envc
entries.
The env vars are copied into the config
object as part of this function call, so the names
and values
pointers only need to stay alive for this function call.
This function returns true
if all environment variables were successfully registered. This returns false
if environment variables are not valid UTF-8.
bool wasi_config_set_stderr_file | ( | wasi_config_t * | config, |
const char * | path | ||
) |
Configures standard output to be written to the specified file.
By default WASI programs have no stderr, but this configures the specified file to be used as stderr.
If the stderr location could not be opened for writing then false
is returned. Otherwise true
is returned.
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.
By default WASI programs have no stdin, but this configures the specified bytes to be used as stdin for this configuration.
This function takes ownership of the binary
argument.
bool wasi_config_set_stdin_file | ( | wasi_config_t * | config, |
const char * | path | ||
) |
Configures standard input to be taken from the specified file.
By default WASI programs have no stdin, but this configures the specified file to be used as stdin for this configuration.
If the stdin location does not exist or it cannot be opened for reading then false
is returned. Otherwise true
is returned.
bool wasi_config_set_stdout_file | ( | wasi_config_t * | config, |
const char * | path | ||
) |
Configures standard output to be written to the specified file.
By default WASI programs have no stdout, but this configures the specified file to be used as stdout.
If the stdout location could not be opened for writing then false
is returned. Otherwise true
is returned.