@@ -11,7 +11,7 @@ extern "C"{
1111
1212#define UVWASI_VERSION_MAJOR 0
1313#define UVWASI_VERSION_MINOR 0
14- #define UVWASI_VERSION_PATCH 21
14+ #define UVWASI_VERSION_PATCH 23
1515#define UVWASI_VERSION_HEX ((UVWASI_VERSION_MAJOR << 16) | \
1616 (UVWASI_VERSION_MINOR << 8) | \
1717 (UVWASI_VERSION_PATCH))
@@ -77,124 +77,159 @@ typedef struct uvwasi_options_s{
7777} uvwasi_options_t ;
7878
7979/* Embedder API. */
80+ UVWASI_EXPORT
8081uvwasi_errno_t uvwasi_init (uvwasi_t * uvwasi , const uvwasi_options_t * options );
82+ UVWASI_EXPORT
8183void uvwasi_destroy (uvwasi_t * uvwasi );
84+ UVWASI_EXPORT
8285void uvwasi_options_init (uvwasi_options_t * options );
8386/* Use int instead of uv_file to avoid needing uv.h */
87+ UVWASI_EXPORT
8488uvwasi_errno_t uvwasi_embedder_remap_fd (uvwasi_t * uvwasi ,
8589const uvwasi_fd_t fd ,
8690int new_host_fd );
91+ UVWASI_EXPORT
8792const char * uvwasi_embedder_err_code_to_string (uvwasi_errno_t code );
8893
8994
9095/* WASI system call API. */
96+ UVWASI_EXPORT
9197uvwasi_errno_t uvwasi_args_get (uvwasi_t * uvwasi , char * * argv , char * argv_buf );
98+ UVWASI_EXPORT
9299uvwasi_errno_t uvwasi_args_sizes_get (uvwasi_t * uvwasi ,
93100uvwasi_size_t * argc ,
94101uvwasi_size_t * argv_buf_size );
102+ UVWASI_EXPORT
95103uvwasi_errno_t uvwasi_clock_res_get (uvwasi_t * uvwasi ,
96104uvwasi_clockid_t clock_id ,
97105uvwasi_timestamp_t * resolution );
106+ UVWASI_EXPORT
98107uvwasi_errno_t uvwasi_clock_time_get (uvwasi_t * uvwasi ,
99108uvwasi_clockid_t clock_id ,
100109uvwasi_timestamp_t precision ,
101110uvwasi_timestamp_t * time );
111+ UVWASI_EXPORT
102112uvwasi_errno_t uvwasi_environ_get (uvwasi_t * uvwasi ,
103113char * * environment ,
104114char * environ_buf );
115+ UVWASI_EXPORT
105116uvwasi_errno_t uvwasi_environ_sizes_get (uvwasi_t * uvwasi ,
106117uvwasi_size_t * environ_count ,
107118uvwasi_size_t * environ_buf_size );
119+ UVWASI_EXPORT
108120uvwasi_errno_t uvwasi_fd_advise (uvwasi_t * uvwasi ,
109121uvwasi_fd_t fd ,
110122uvwasi_filesize_t offset ,
111123uvwasi_filesize_t len ,
112124uvwasi_advice_t advice );
125+ UVWASI_EXPORT
113126uvwasi_errno_t uvwasi_fd_allocate (uvwasi_t * uvwasi ,
114127uvwasi_fd_t fd ,
115128uvwasi_filesize_t offset ,
116129uvwasi_filesize_t len );
130+ UVWASI_EXPORT
117131uvwasi_errno_t uvwasi_fd_close (uvwasi_t * uvwasi , uvwasi_fd_t fd );
132+ UVWASI_EXPORT
118133uvwasi_errno_t uvwasi_fd_datasync (uvwasi_t * uvwasi , uvwasi_fd_t fd );
134+ UVWASI_EXPORT
119135uvwasi_errno_t uvwasi_fd_fdstat_get (uvwasi_t * uvwasi ,
120136uvwasi_fd_t fd ,
121137uvwasi_fdstat_t * buf );
138+ UVWASI_EXPORT
122139uvwasi_errno_t uvwasi_fd_fdstat_set_flags (uvwasi_t * uvwasi ,
123140uvwasi_fd_t fd ,
124141uvwasi_fdflags_t flags );
142+ UVWASI_EXPORT
125143uvwasi_errno_t uvwasi_fd_fdstat_set_rights (uvwasi_t * uvwasi ,
126144uvwasi_fd_t fd ,
127145uvwasi_rights_t fs_rights_base ,
128146uvwasi_rights_t fs_rights_inheriting
129147 );
148+ UVWASI_EXPORT
130149uvwasi_errno_t uvwasi_fd_filestat_get (uvwasi_t * uvwasi ,
131150uvwasi_fd_t fd ,
132151uvwasi_filestat_t * buf );
152+ UVWASI_EXPORT
133153uvwasi_errno_t uvwasi_fd_filestat_set_size (uvwasi_t * uvwasi ,
134154uvwasi_fd_t fd ,
135155uvwasi_filesize_t st_size );
156+ UVWASI_EXPORT
136157uvwasi_errno_t uvwasi_fd_filestat_set_times (uvwasi_t * uvwasi ,
137158uvwasi_fd_t fd ,
138159uvwasi_timestamp_t st_atim ,
139160uvwasi_timestamp_t st_mtim ,
140161uvwasi_fstflags_t fst_flags );
162+ UVWASI_EXPORT
141163uvwasi_errno_t uvwasi_fd_pread (uvwasi_t * uvwasi ,
142164uvwasi_fd_t fd ,
143165const uvwasi_iovec_t * iovs ,
144166uvwasi_size_t iovs_len ,
145167uvwasi_filesize_t offset ,
146168uvwasi_size_t * nread );
169+ UVWASI_EXPORT
147170uvwasi_errno_t uvwasi_fd_prestat_get (uvwasi_t * uvwasi ,
148171uvwasi_fd_t fd ,
149172uvwasi_prestat_t * buf );
173+ UVWASI_EXPORT
150174uvwasi_errno_t uvwasi_fd_prestat_dir_name (uvwasi_t * uvwasi ,
151175uvwasi_fd_t fd ,
152176char * path ,
153177uvwasi_size_t path_len );
178+ UVWASI_EXPORT
154179uvwasi_errno_t uvwasi_fd_pwrite (uvwasi_t * uvwasi ,
155180uvwasi_fd_t fd ,
156181const uvwasi_ciovec_t * iovs ,
157182uvwasi_size_t iovs_len ,
158183uvwasi_filesize_t offset ,
159184uvwasi_size_t * nwritten );
185+ UVWASI_EXPORT
160186uvwasi_errno_t uvwasi_fd_read (uvwasi_t * uvwasi ,
161187uvwasi_fd_t fd ,
162188const uvwasi_iovec_t * iovs ,
163189uvwasi_size_t iovs_len ,
164190uvwasi_size_t * nread );
191+ UVWASI_EXPORT
165192uvwasi_errno_t uvwasi_fd_readdir (uvwasi_t * uvwasi ,
166193uvwasi_fd_t fd ,
167194void * buf ,
168195uvwasi_size_t buf_len ,
169196uvwasi_dircookie_t cookie ,
170197uvwasi_size_t * bufused );
198+ UVWASI_EXPORT
171199uvwasi_errno_t uvwasi_fd_renumber (uvwasi_t * uvwasi ,
172200uvwasi_fd_t from ,
173201uvwasi_fd_t to );
202+ UVWASI_EXPORT
174203uvwasi_errno_t uvwasi_fd_seek (uvwasi_t * uvwasi ,
175204uvwasi_fd_t fd ,
176205uvwasi_filedelta_t offset ,
177206uvwasi_whence_t whence ,
178207uvwasi_filesize_t * newoffset );
208+ UVWASI_EXPORT
179209uvwasi_errno_t uvwasi_fd_sync (uvwasi_t * uvwasi , uvwasi_fd_t fd );
210+ UVWASI_EXPORT
180211uvwasi_errno_t uvwasi_fd_tell (uvwasi_t * uvwasi ,
181212uvwasi_fd_t fd ,
182213uvwasi_filesize_t * offset );
214+ UVWASI_EXPORT
183215uvwasi_errno_t uvwasi_fd_write (uvwasi_t * uvwasi ,
184216uvwasi_fd_t fd ,
185217const uvwasi_ciovec_t * iovs ,
186218uvwasi_size_t iovs_len ,
187219uvwasi_size_t * nwritten );
220+ UVWASI_EXPORT
188221uvwasi_errno_t uvwasi_path_create_directory (uvwasi_t * uvwasi ,
189222uvwasi_fd_t fd ,
190223const char * path ,
191224uvwasi_size_t path_len );
225+ UVWASI_EXPORT
192226uvwasi_errno_t uvwasi_path_filestat_get (uvwasi_t * uvwasi ,
193227uvwasi_fd_t fd ,
194228uvwasi_lookupflags_t flags ,
195229const char * path ,
196230uvwasi_size_t path_len ,
197231uvwasi_filestat_t * buf );
232+ UVWASI_EXPORT
198233uvwasi_errno_t uvwasi_path_filestat_set_times (uvwasi_t * uvwasi ,
199234uvwasi_fd_t fd ,
200235uvwasi_lookupflags_t flags ,
@@ -203,6 +238,7 @@ uvwasi_errno_t uvwasi_path_filestat_set_times(uvwasi_t* uvwasi,
203238uvwasi_timestamp_t st_atim ,
204239uvwasi_timestamp_t st_mtim ,
205240uvwasi_fstflags_t fst_flags );
241+ UVWASI_EXPORT
206242uvwasi_errno_t uvwasi_path_link (uvwasi_t * uvwasi ,
207243uvwasi_fd_t old_fd ,
208244uvwasi_lookupflags_t old_flags ,
@@ -211,6 +247,7 @@ uvwasi_errno_t uvwasi_path_link(uvwasi_t* uvwasi,
211247uvwasi_fd_t new_fd ,
212248const char * new_path ,
213249uvwasi_size_t new_path_len );
250+ UVWASI_EXPORT
214251uvwasi_errno_t uvwasi_path_open (uvwasi_t * uvwasi ,
215252uvwasi_fd_t dirfd ,
216253uvwasi_lookupflags_t dirflags ,
@@ -221,62 +258,76 @@ uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi,
221258uvwasi_rights_t fs_rights_inheriting ,
222259uvwasi_fdflags_t fs_flags ,
223260uvwasi_fd_t * fd );
261+ UVWASI_EXPORT
224262uvwasi_errno_t uvwasi_path_readlink (uvwasi_t * uvwasi ,
225263uvwasi_fd_t fd ,
226264const char * path ,
227265uvwasi_size_t path_len ,
228266char * buf ,
229267uvwasi_size_t buf_len ,
230268uvwasi_size_t * bufused );
269+ UVWASI_EXPORT
231270uvwasi_errno_t uvwasi_path_remove_directory (uvwasi_t * uvwasi ,
232271uvwasi_fd_t fd ,
233272const char * path ,
234273uvwasi_size_t path_len );
274+ UVWASI_EXPORT
235275uvwasi_errno_t uvwasi_path_rename (uvwasi_t * uvwasi ,
236276uvwasi_fd_t old_fd ,
237277const char * old_path ,
238278uvwasi_size_t old_path_len ,
239279uvwasi_fd_t new_fd ,
240280const char * new_path ,
241281uvwasi_size_t new_path_len );
282+ UVWASI_EXPORT
242283uvwasi_errno_t uvwasi_path_symlink (uvwasi_t * uvwasi ,
243284const char * old_path ,
244285uvwasi_size_t old_path_len ,
245286uvwasi_fd_t fd ,
246287const char * new_path ,
247288uvwasi_size_t new_path_len );
289+ UVWASI_EXPORT
248290uvwasi_errno_t uvwasi_path_unlink_file (uvwasi_t * uvwasi ,
249291uvwasi_fd_t fd ,
250292const char * path ,
251293uvwasi_size_t path_len );
294+ UVWASI_EXPORT
252295uvwasi_errno_t uvwasi_poll_oneoff (uvwasi_t * uvwasi ,
253296const uvwasi_subscription_t * in ,
254297uvwasi_event_t * out ,
255298uvwasi_size_t nsubscriptions ,
256299uvwasi_size_t * nevents );
300+ UVWASI_EXPORT
257301uvwasi_errno_t uvwasi_proc_exit (uvwasi_t * uvwasi , uvwasi_exitcode_t rval );
302+ UVWASI_EXPORT
258303uvwasi_errno_t uvwasi_proc_raise (uvwasi_t * uvwasi , uvwasi_signal_t sig );
304+ UVWASI_EXPORT
259305uvwasi_errno_t uvwasi_random_get (uvwasi_t * uvwasi ,
260306void * buf ,
261307uvwasi_size_t buf_len );
308+ UVWASI_EXPORT
262309uvwasi_errno_t uvwasi_sched_yield (uvwasi_t * uvwasi );
310+ UVWASI_EXPORT
263311uvwasi_errno_t uvwasi_sock_accept (uvwasi_t * uvwasi ,
264312uvwasi_fd_t sock ,
265313uvwasi_fdflags_t flags ,
266314uvwasi_fd_t * fd );
315+ UVWASI_EXPORT
267316uvwasi_errno_t uvwasi_sock_recv (uvwasi_t * uvwasi ,
268317uvwasi_fd_t sock ,
269318const uvwasi_iovec_t * ri_data ,
270319uvwasi_size_t ri_data_len ,
271320uvwasi_riflags_t ri_flags ,
272321uvwasi_size_t * ro_datalen ,
273322uvwasi_roflags_t * ro_flags );
323+ UVWASI_EXPORT
274324uvwasi_errno_t uvwasi_sock_send (uvwasi_t * uvwasi ,
275325uvwasi_fd_t sock ,
276326const uvwasi_ciovec_t * si_data ,
277327uvwasi_size_t si_data_len ,
278328uvwasi_siflags_t si_flags ,
279329uvwasi_size_t * so_datalen );
330+ UVWASI_EXPORT
280331uvwasi_errno_t uvwasi_sock_shutdown (uvwasi_t * uvwasi ,
281332uvwasi_fd_t sock ,
282333uvwasi_sdflags_t how );
0 commit comments