Wasmtime
wasi.h
Go to the documentation of this file.
1
7#ifndef WASI_H
8#define WASI_H
9
10#include "wasm.h"
11
12#ifndef WASI_API_EXTERN
13#ifdef _WIN32
14#define WASI_API_EXTERN __declspec(dllimport)
15#else
16#define WASI_API_EXTERN
17#endif
18#endif
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#define own
25
26#define WASI_DECLARE_OWN(name) \
27 typedef struct wasi_##name##_t wasi_##name##_t; \
28 WASI_API_EXTERN void wasi_##name##_delete(own wasi_##name##_t*);
29
40WASI_DECLARE_OWN(config)
41
42
47WASI_API_EXTERN own wasi_config_t* wasi_config_new();
48
58WASI_API_EXTERN void wasi_config_set_argv(wasi_config_t* config, int argc, const char* argv[]);
59
64WASI_API_EXTERN void wasi_config_inherit_argv(wasi_config_t* config);
65
78WASI_API_EXTERN void wasi_config_set_env(wasi_config_t* config, int envc, const char* names[], const char* values[]);
79
84WASI_API_EXTERN void wasi_config_inherit_env(wasi_config_t* config);
85
95WASI_API_EXTERN bool wasi_config_set_stdin_file(wasi_config_t* config, const char* path);
96
101WASI_API_EXTERN void wasi_config_inherit_stdin(wasi_config_t* config);
102
112WASI_API_EXTERN bool wasi_config_set_stdout_file(wasi_config_t* config, const char* path);
113
118WASI_API_EXTERN void wasi_config_inherit_stdout(wasi_config_t* config);
119
129WASI_API_EXTERN bool wasi_config_set_stderr_file(wasi_config_t* config, const char* path);
130
135WASI_API_EXTERN void wasi_config_inherit_stderr(wasi_config_t* config);
136
147WASI_API_EXTERN bool wasi_config_preopen_dir(wasi_config_t* config, const char* path, const char* guest_path);
148
149#undef own
150
151#ifdef __cplusplus
152} // extern "C"
153#endif
154
155#endif // #ifdef WASI_H
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...
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.
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.
void wasi_config_set_argv(wasi_config_t *config, int 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_set_env(wasi_config_t *config, int envc, const char *names[], const char *values[])
Sets the list of environment variables available to the WASI instance.
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_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.