5
5
extern "C" {
6
6
#endif
7
7
8
- #include "uv .h"
8
+ #include "wasi_serdes .h"
9
9
#include "wasi_types.h"
10
- #include "fd_table.h"
11
10
12
11
#define UVWASI_VERSION_MAJOR 0
13
12
#define UVWASI_VERSION_MINOR 0
14
- #define UVWASI_VERSION_PATCH 8
13
+ #define UVWASI_VERSION_PATCH 9
15
14
#define UVWASI_VERSION_HEX ((UVWASI_VERSION_MAJOR << 16) | \
16
15
(UVWASI_VERSION_MINOR << 8) | \
17
16
(UVWASI_VERSION_PATCH))
@@ -35,16 +34,18 @@ typedef struct uvwasi_mem_s {
35
34
uvwasi_realloc realloc ;
36
35
} uvwasi_mem_t ;
37
36
37
+ struct uvwasi_fd_table_t ;
38
+
38
39
typedef struct uvwasi_s {
39
- struct uvwasi_fd_table_t fds ;
40
- size_t argc ;
40
+ struct uvwasi_fd_table_t * fds ;
41
+ uvwasi_size_t argc ;
41
42
char * * argv ;
42
43
char * argv_buf ;
43
- size_t argv_buf_size ;
44
- size_t envc ;
44
+ uvwasi_size_t argv_buf_size ;
45
+ uvwasi_size_t envc ;
45
46
char * * env ;
46
47
char * env_buf ;
47
- size_t env_buf_size ;
48
+ uvwasi_size_t env_buf_size ;
48
49
const uvwasi_mem_t * allocator ;
49
50
} uvwasi_t ;
50
51
@@ -54,12 +55,12 @@ typedef struct uvwasi_preopen_s {
54
55
} uvwasi_preopen_t ;
55
56
56
57
typedef struct uvwasi_options_s {
57
- size_t fd_table_size ;
58
- size_t preopenc ;
58
+ uvwasi_size_t fd_table_size ;
59
+ uvwasi_size_t preopenc ;
59
60
uvwasi_preopen_t * preopens ;
60
- size_t argc ;
61
- char * * argv ;
62
- char * * envp ;
61
+ uvwasi_size_t argc ;
62
+ const char * * argv ;
63
+ const char * * envp ;
63
64
uvwasi_fd_t in ;
64
65
uvwasi_fd_t out ;
65
66
uvwasi_fd_t err ;
@@ -69,17 +70,18 @@ typedef struct uvwasi_options_s {
69
70
/* Embedder API. */
70
71
uvwasi_errno_t uvwasi_init (uvwasi_t * uvwasi , uvwasi_options_t * options );
71
72
void uvwasi_destroy (uvwasi_t * uvwasi );
73
+ /* Use int instead of uv_file to avoid needing uv.h */
72
74
uvwasi_errno_t uvwasi_embedder_remap_fd (uvwasi_t * uvwasi ,
73
75
const uvwasi_fd_t fd ,
74
- uv_file new_host_fd );
76
+ int new_host_fd );
75
77
const char * uvwasi_embedder_err_code_to_string (uvwasi_errno_t code );
76
78
77
79
78
80
/* WASI system call API. */
79
81
uvwasi_errno_t uvwasi_args_get (uvwasi_t * uvwasi , char * * argv , char * argv_buf );
80
82
uvwasi_errno_t uvwasi_args_sizes_get (uvwasi_t * uvwasi ,
81
- size_t * argc ,
82
- size_t * argv_buf_size );
83
+ uvwasi_size_t * argc ,
84
+ uvwasi_size_t * argv_buf_size );
83
85
uvwasi_errno_t uvwasi_clock_res_get (uvwasi_t * uvwasi ,
84
86
uvwasi_clockid_t clock_id ,
85
87
uvwasi_timestamp_t * resolution );
@@ -91,8 +93,8 @@ uvwasi_errno_t uvwasi_environ_get(uvwasi_t* uvwasi,
91
93
char * * environment ,
92
94
char * environ_buf );
93
95
uvwasi_errno_t uvwasi_environ_sizes_get (uvwasi_t * uvwasi ,
94
- size_t * environ_count ,
95
- size_t * environ_buf_size );
96
+ uvwasi_size_t * environ_count ,
97
+ uvwasi_size_t * environ_buf_size );
96
98
uvwasi_errno_t uvwasi_fd_advise (uvwasi_t * uvwasi ,
97
99
uvwasi_fd_t fd ,
98
100
uvwasi_filesize_t offset ,
@@ -129,33 +131,33 @@ uvwasi_errno_t uvwasi_fd_filestat_set_times(uvwasi_t* uvwasi,
129
131
uvwasi_errno_t uvwasi_fd_pread (uvwasi_t * uvwasi ,
130
132
uvwasi_fd_t fd ,
131
133
const uvwasi_iovec_t * iovs ,
132
- size_t iovs_len ,
134
+ uvwasi_size_t iovs_len ,
133
135
uvwasi_filesize_t offset ,
134
- size_t * nread );
136
+ uvwasi_size_t * nread );
135
137
uvwasi_errno_t uvwasi_fd_prestat_get (uvwasi_t * uvwasi ,
136
138
uvwasi_fd_t fd ,
137
139
uvwasi_prestat_t * buf );
138
140
uvwasi_errno_t uvwasi_fd_prestat_dir_name (uvwasi_t * uvwasi ,
139
141
uvwasi_fd_t fd ,
140
142
char * path ,
141
- size_t path_len );
143
+ uvwasi_size_t path_len );
142
144
uvwasi_errno_t uvwasi_fd_pwrite (uvwasi_t * uvwasi ,
143
145
uvwasi_fd_t fd ,
144
146
const uvwasi_ciovec_t * iovs ,
145
- size_t iovs_len ,
147
+ uvwasi_size_t iovs_len ,
146
148
uvwasi_filesize_t offset ,
147
- size_t * nwritten );
149
+ uvwasi_size_t * nwritten );
148
150
uvwasi_errno_t uvwasi_fd_read (uvwasi_t * uvwasi ,
149
151
uvwasi_fd_t fd ,
150
152
const uvwasi_iovec_t * iovs ,
151
- size_t iovs_len ,
152
- size_t * nread );
153
+ uvwasi_size_t iovs_len ,
154
+ uvwasi_size_t * nread );
153
155
uvwasi_errno_t uvwasi_fd_readdir (uvwasi_t * uvwasi ,
154
156
uvwasi_fd_t fd ,
155
157
void * buf ,
156
- size_t buf_len ,
158
+ uvwasi_size_t buf_len ,
157
159
uvwasi_dircookie_t cookie ,
158
- size_t * bufused );
160
+ uvwasi_size_t * bufused );
159
161
uvwasi_errno_t uvwasi_fd_renumber (uvwasi_t * uvwasi ,
160
162
uvwasi_fd_t from ,
161
163
uvwasi_fd_t to );
@@ -171,39 +173,39 @@ uvwasi_errno_t uvwasi_fd_tell(uvwasi_t* uvwasi,
171
173
uvwasi_errno_t uvwasi_fd_write (uvwasi_t * uvwasi ,
172
174
uvwasi_fd_t fd ,
173
175
const uvwasi_ciovec_t * iovs ,
174
- size_t iovs_len ,
175
- size_t * nwritten );
176
+ uvwasi_size_t iovs_len ,
177
+ uvwasi_size_t * nwritten );
176
178
uvwasi_errno_t uvwasi_path_create_directory (uvwasi_t * uvwasi ,
177
179
uvwasi_fd_t fd ,
178
180
const char * path ,
179
- size_t path_len );
181
+ uvwasi_size_t path_len );
180
182
uvwasi_errno_t uvwasi_path_filestat_get (uvwasi_t * uvwasi ,
181
183
uvwasi_fd_t fd ,
182
184
uvwasi_lookupflags_t flags ,
183
185
const char * path ,
184
- size_t path_len ,
186
+ uvwasi_size_t path_len ,
185
187
uvwasi_filestat_t * buf );
186
188
uvwasi_errno_t uvwasi_path_filestat_set_times (uvwasi_t * uvwasi ,
187
189
uvwasi_fd_t fd ,
188
190
uvwasi_lookupflags_t flags ,
189
191
const char * path ,
190
- size_t path_len ,
192
+ uvwasi_size_t path_len ,
191
193
uvwasi_timestamp_t st_atim ,
192
194
uvwasi_timestamp_t st_mtim ,
193
195
uvwasi_fstflags_t fst_flags );
194
196
uvwasi_errno_t uvwasi_path_link (uvwasi_t * uvwasi ,
195
197
uvwasi_fd_t old_fd ,
196
198
uvwasi_lookupflags_t old_flags ,
197
199
const char * old_path ,
198
- size_t old_path_len ,
200
+ uvwasi_size_t old_path_len ,
199
201
uvwasi_fd_t new_fd ,
200
202
const char * new_path ,
201
- size_t new_path_len );
203
+ uvwasi_size_t new_path_len );
202
204
uvwasi_errno_t uvwasi_path_open (uvwasi_t * uvwasi ,
203
205
uvwasi_fd_t dirfd ,
204
206
uvwasi_lookupflags_t dirflags ,
205
207
const char * path ,
206
- size_t path_len ,
208
+ uvwasi_size_t path_len ,
207
209
uvwasi_oflags_t o_flags ,
208
210
uvwasi_rights_t fs_rights_base ,
209
211
uvwasi_rights_t fs_rights_inheriting ,
@@ -212,53 +214,55 @@ uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi,
212
214
uvwasi_errno_t uvwasi_path_readlink (uvwasi_t * uvwasi ,
213
215
uvwasi_fd_t fd ,
214
216
const char * path ,
215
- size_t path_len ,
217
+ uvwasi_size_t path_len ,
216
218
char * buf ,
217
- size_t buf_len ,
218
- size_t * bufused );
219
+ uvwasi_size_t buf_len ,
220
+ uvwasi_size_t * bufused );
219
221
uvwasi_errno_t uvwasi_path_remove_directory (uvwasi_t * uvwasi ,
220
222
uvwasi_fd_t fd ,
221
223
const char * path ,
222
- size_t path_len );
224
+ uvwasi_size_t path_len );
223
225
uvwasi_errno_t uvwasi_path_rename (uvwasi_t * uvwasi ,
224
226
uvwasi_fd_t old_fd ,
225
227
const char * old_path ,
226
- size_t old_path_len ,
228
+ uvwasi_size_t old_path_len ,
227
229
uvwasi_fd_t new_fd ,
228
230
const char * new_path ,
229
- size_t new_path_len );
231
+ uvwasi_size_t new_path_len );
230
232
uvwasi_errno_t uvwasi_path_symlink (uvwasi_t * uvwasi ,
231
233
const char * old_path ,
232
- size_t old_path_len ,
234
+ uvwasi_size_t old_path_len ,
233
235
uvwasi_fd_t fd ,
234
236
const char * new_path ,
235
- size_t new_path_len );
237
+ uvwasi_size_t new_path_len );
236
238
uvwasi_errno_t uvwasi_path_unlink_file (uvwasi_t * uvwasi ,
237
239
uvwasi_fd_t fd ,
238
240
const char * path ,
239
- size_t path_len );
241
+ uvwasi_size_t path_len );
240
242
uvwasi_errno_t uvwasi_poll_oneoff (uvwasi_t * uvwasi ,
241
243
const uvwasi_subscription_t * in ,
242
244
uvwasi_event_t * out ,
243
- size_t nsubscriptions ,
244
- size_t * nevents );
245
+ uvwasi_size_t nsubscriptions ,
246
+ uvwasi_size_t * nevents );
245
247
uvwasi_errno_t uvwasi_proc_exit (uvwasi_t * uvwasi , uvwasi_exitcode_t rval );
246
248
uvwasi_errno_t uvwasi_proc_raise (uvwasi_t * uvwasi , uvwasi_signal_t sig );
247
- uvwasi_errno_t uvwasi_random_get (uvwasi_t * uvwasi , void * buf , size_t buf_len );
249
+ uvwasi_errno_t uvwasi_random_get (uvwasi_t * uvwasi ,
250
+ void * buf ,
251
+ uvwasi_size_t buf_len );
248
252
uvwasi_errno_t uvwasi_sched_yield (uvwasi_t * uvwasi );
249
253
uvwasi_errno_t uvwasi_sock_recv (uvwasi_t * uvwasi ,
250
254
uvwasi_fd_t sock ,
251
255
const uvwasi_iovec_t * ri_data ,
252
- size_t ri_data_len ,
256
+ uvwasi_size_t ri_data_len ,
253
257
uvwasi_riflags_t ri_flags ,
254
- size_t * ro_datalen ,
258
+ uvwasi_size_t * ro_datalen ,
255
259
uvwasi_roflags_t * ro_flags );
256
260
uvwasi_errno_t uvwasi_sock_send (uvwasi_t * uvwasi ,
257
261
uvwasi_fd_t sock ,
258
262
const uvwasi_ciovec_t * si_data ,
259
- size_t si_data_len ,
263
+ uvwasi_size_t si_data_len ,
260
264
uvwasi_siflags_t si_flags ,
261
- size_t * so_datalen );
265
+ uvwasi_size_t * so_datalen );
262
266
uvwasi_errno_t uvwasi_sock_shutdown (uvwasi_t * uvwasi ,
263
267
uvwasi_fd_t sock ,
264
268
uvwasi_sdflags_t how );
0 commit comments