@@ -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 ,
8589 const uvwasi_fd_t fd ,
8690 int 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 ,
93100 uvwasi_size_t * argc ,
94101 uvwasi_size_t * argv_buf_size );
102+ UVWASI_EXPORT
95103uvwasi_errno_t uvwasi_clock_res_get (uvwasi_t * uvwasi ,
96104 uvwasi_clockid_t clock_id ,
97105 uvwasi_timestamp_t * resolution );
106+ UVWASI_EXPORT
98107uvwasi_errno_t uvwasi_clock_time_get (uvwasi_t * uvwasi ,
99108 uvwasi_clockid_t clock_id ,
100109 uvwasi_timestamp_t precision ,
101110 uvwasi_timestamp_t * time );
111+ UVWASI_EXPORT
102112uvwasi_errno_t uvwasi_environ_get (uvwasi_t * uvwasi ,
103113 char * * environment ,
104114 char * environ_buf );
115+ UVWASI_EXPORT
105116uvwasi_errno_t uvwasi_environ_sizes_get (uvwasi_t * uvwasi ,
106117 uvwasi_size_t * environ_count ,
107118 uvwasi_size_t * environ_buf_size );
119+ UVWASI_EXPORT
108120uvwasi_errno_t uvwasi_fd_advise (uvwasi_t * uvwasi ,
109121 uvwasi_fd_t fd ,
110122 uvwasi_filesize_t offset ,
111123 uvwasi_filesize_t len ,
112124 uvwasi_advice_t advice );
125+ UVWASI_EXPORT
113126uvwasi_errno_t uvwasi_fd_allocate (uvwasi_t * uvwasi ,
114127 uvwasi_fd_t fd ,
115128 uvwasi_filesize_t offset ,
116129 uvwasi_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 ,
120136 uvwasi_fd_t fd ,
121137 uvwasi_fdstat_t * buf );
138+ UVWASI_EXPORT
122139uvwasi_errno_t uvwasi_fd_fdstat_set_flags (uvwasi_t * uvwasi ,
123140 uvwasi_fd_t fd ,
124141 uvwasi_fdflags_t flags );
142+ UVWASI_EXPORT
125143uvwasi_errno_t uvwasi_fd_fdstat_set_rights (uvwasi_t * uvwasi ,
126144 uvwasi_fd_t fd ,
127145 uvwasi_rights_t fs_rights_base ,
128146 uvwasi_rights_t fs_rights_inheriting
129147 );
148+ UVWASI_EXPORT
130149uvwasi_errno_t uvwasi_fd_filestat_get (uvwasi_t * uvwasi ,
131150 uvwasi_fd_t fd ,
132151 uvwasi_filestat_t * buf );
152+ UVWASI_EXPORT
133153uvwasi_errno_t uvwasi_fd_filestat_set_size (uvwasi_t * uvwasi ,
134154 uvwasi_fd_t fd ,
135155 uvwasi_filesize_t st_size );
156+ UVWASI_EXPORT
136157uvwasi_errno_t uvwasi_fd_filestat_set_times (uvwasi_t * uvwasi ,
137158 uvwasi_fd_t fd ,
138159 uvwasi_timestamp_t st_atim ,
139160 uvwasi_timestamp_t st_mtim ,
140161 uvwasi_fstflags_t fst_flags );
162+ UVWASI_EXPORT
141163uvwasi_errno_t uvwasi_fd_pread (uvwasi_t * uvwasi ,
142164 uvwasi_fd_t fd ,
143165 const uvwasi_iovec_t * iovs ,
144166 uvwasi_size_t iovs_len ,
145167 uvwasi_filesize_t offset ,
146168 uvwasi_size_t * nread );
169+ UVWASI_EXPORT
147170uvwasi_errno_t uvwasi_fd_prestat_get (uvwasi_t * uvwasi ,
148171 uvwasi_fd_t fd ,
149172 uvwasi_prestat_t * buf );
173+ UVWASI_EXPORT
150174uvwasi_errno_t uvwasi_fd_prestat_dir_name (uvwasi_t * uvwasi ,
151175 uvwasi_fd_t fd ,
152176 char * path ,
153177 uvwasi_size_t path_len );
178+ UVWASI_EXPORT
154179uvwasi_errno_t uvwasi_fd_pwrite (uvwasi_t * uvwasi ,
155180 uvwasi_fd_t fd ,
156181 const uvwasi_ciovec_t * iovs ,
157182 uvwasi_size_t iovs_len ,
158183 uvwasi_filesize_t offset ,
159184 uvwasi_size_t * nwritten );
185+ UVWASI_EXPORT
160186uvwasi_errno_t uvwasi_fd_read (uvwasi_t * uvwasi ,
161187 uvwasi_fd_t fd ,
162188 const uvwasi_iovec_t * iovs ,
163189 uvwasi_size_t iovs_len ,
164190 uvwasi_size_t * nread );
191+ UVWASI_EXPORT
165192uvwasi_errno_t uvwasi_fd_readdir (uvwasi_t * uvwasi ,
166193 uvwasi_fd_t fd ,
167194 void * buf ,
168195 uvwasi_size_t buf_len ,
169196 uvwasi_dircookie_t cookie ,
170197 uvwasi_size_t * bufused );
198+ UVWASI_EXPORT
171199uvwasi_errno_t uvwasi_fd_renumber (uvwasi_t * uvwasi ,
172200 uvwasi_fd_t from ,
173201 uvwasi_fd_t to );
202+ UVWASI_EXPORT
174203uvwasi_errno_t uvwasi_fd_seek (uvwasi_t * uvwasi ,
175204 uvwasi_fd_t fd ,
176205 uvwasi_filedelta_t offset ,
177206 uvwasi_whence_t whence ,
178207 uvwasi_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 ,
181212 uvwasi_fd_t fd ,
182213 uvwasi_filesize_t * offset );
214+ UVWASI_EXPORT
183215uvwasi_errno_t uvwasi_fd_write (uvwasi_t * uvwasi ,
184216 uvwasi_fd_t fd ,
185217 const uvwasi_ciovec_t * iovs ,
186218 uvwasi_size_t iovs_len ,
187219 uvwasi_size_t * nwritten );
220+ UVWASI_EXPORT
188221uvwasi_errno_t uvwasi_path_create_directory (uvwasi_t * uvwasi ,
189222 uvwasi_fd_t fd ,
190223 const char * path ,
191224 uvwasi_size_t path_len );
225+ UVWASI_EXPORT
192226uvwasi_errno_t uvwasi_path_filestat_get (uvwasi_t * uvwasi ,
193227 uvwasi_fd_t fd ,
194228 uvwasi_lookupflags_t flags ,
195229 const char * path ,
196230 uvwasi_size_t path_len ,
197231 uvwasi_filestat_t * buf );
232+ UVWASI_EXPORT
198233uvwasi_errno_t uvwasi_path_filestat_set_times (uvwasi_t * uvwasi ,
199234 uvwasi_fd_t fd ,
200235 uvwasi_lookupflags_t flags ,
@@ -203,6 +238,7 @@ uvwasi_errno_t uvwasi_path_filestat_set_times(uvwasi_t* uvwasi,
203238 uvwasi_timestamp_t st_atim ,
204239 uvwasi_timestamp_t st_mtim ,
205240 uvwasi_fstflags_t fst_flags );
241+ UVWASI_EXPORT
206242uvwasi_errno_t uvwasi_path_link (uvwasi_t * uvwasi ,
207243 uvwasi_fd_t old_fd ,
208244 uvwasi_lookupflags_t old_flags ,
@@ -211,6 +247,7 @@ uvwasi_errno_t uvwasi_path_link(uvwasi_t* uvwasi,
211247 uvwasi_fd_t new_fd ,
212248 const char * new_path ,
213249 uvwasi_size_t new_path_len );
250+ UVWASI_EXPORT
214251uvwasi_errno_t uvwasi_path_open (uvwasi_t * uvwasi ,
215252 uvwasi_fd_t dirfd ,
216253 uvwasi_lookupflags_t dirflags ,
@@ -221,62 +258,76 @@ uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi,
221258 uvwasi_rights_t fs_rights_inheriting ,
222259 uvwasi_fdflags_t fs_flags ,
223260 uvwasi_fd_t * fd );
261+ UVWASI_EXPORT
224262uvwasi_errno_t uvwasi_path_readlink (uvwasi_t * uvwasi ,
225263 uvwasi_fd_t fd ,
226264 const char * path ,
227265 uvwasi_size_t path_len ,
228266 char * buf ,
229267 uvwasi_size_t buf_len ,
230268 uvwasi_size_t * bufused );
269+ UVWASI_EXPORT
231270uvwasi_errno_t uvwasi_path_remove_directory (uvwasi_t * uvwasi ,
232271 uvwasi_fd_t fd ,
233272 const char * path ,
234273 uvwasi_size_t path_len );
274+ UVWASI_EXPORT
235275uvwasi_errno_t uvwasi_path_rename (uvwasi_t * uvwasi ,
236276 uvwasi_fd_t old_fd ,
237277 const char * old_path ,
238278 uvwasi_size_t old_path_len ,
239279 uvwasi_fd_t new_fd ,
240280 const char * new_path ,
241281 uvwasi_size_t new_path_len );
282+ UVWASI_EXPORT
242283uvwasi_errno_t uvwasi_path_symlink (uvwasi_t * uvwasi ,
243284 const char * old_path ,
244285 uvwasi_size_t old_path_len ,
245286 uvwasi_fd_t fd ,
246287 const char * new_path ,
247288 uvwasi_size_t new_path_len );
289+ UVWASI_EXPORT
248290uvwasi_errno_t uvwasi_path_unlink_file (uvwasi_t * uvwasi ,
249291 uvwasi_fd_t fd ,
250292 const char * path ,
251293 uvwasi_size_t path_len );
294+ UVWASI_EXPORT
252295uvwasi_errno_t uvwasi_poll_oneoff (uvwasi_t * uvwasi ,
253296 const uvwasi_subscription_t * in ,
254297 uvwasi_event_t * out ,
255298 uvwasi_size_t nsubscriptions ,
256299 uvwasi_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 ,
260306 void * buf ,
261307 uvwasi_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 ,
264312 uvwasi_fd_t sock ,
265313 uvwasi_fdflags_t flags ,
266314 uvwasi_fd_t * fd );
315+ UVWASI_EXPORT
267316uvwasi_errno_t uvwasi_sock_recv (uvwasi_t * uvwasi ,
268317 uvwasi_fd_t sock ,
269318 const uvwasi_iovec_t * ri_data ,
270319 uvwasi_size_t ri_data_len ,
271320 uvwasi_riflags_t ri_flags ,
272321 uvwasi_size_t * ro_datalen ,
273322 uvwasi_roflags_t * ro_flags );
323+ UVWASI_EXPORT
274324uvwasi_errno_t uvwasi_sock_send (uvwasi_t * uvwasi ,
275325 uvwasi_fd_t sock ,
276326 const uvwasi_ciovec_t * si_data ,
277327 uvwasi_size_t si_data_len ,
278328 uvwasi_siflags_t si_flags ,
279329 uvwasi_size_t * so_datalen );
330+ UVWASI_EXPORT
280331uvwasi_errno_t uvwasi_sock_shutdown (uvwasi_t * uvwasi ,
281332 uvwasi_fd_t sock ,
282333 uvwasi_sdflags_t how );
0 commit comments