| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent d913872 commit 0d1e53d
5 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -11,7 +11,7 @@ extern "C" { | |||
| 11 | 11 | ||
| 12 | 12 | #define UVWASI_VERSION_MAJOR 0 | |
| 13 | 13 | #define UVWASI_VERSION_MINOR 0 | |
| 14 | - #define UVWASI_VERSION_PATCH 21 | ||
| 14 | + #define UVWASI_VERSION_PATCH 23 | ||
| 15 | 15 | #define UVWASI_VERSION_HEX ((UVWASI_VERSION_MAJOR << 16) | \ | |
| 16 | 16 | (UVWASI_VERSION_MINOR << 8) | \ | |
| 17 | 17 | (UVWASI_VERSION_PATCH)) | |
@@ -77,124 +77,159 @@ typedef struct uvwasi_options_s { | |||
| 77 | 77 | } uvwasi_options_t; | |
| 78 | 78 | ||
| 79 | 79 | /* Embedder API. */ | |
| 80 | + UVWASI_EXPORT | ||
| 80 | 81 | uvwasi_errno_t uvwasi_init(uvwasi_t* uvwasi, const uvwasi_options_t* options); | |
| 82 | + UVWASI_EXPORT | ||
| 81 | 83 | void uvwasi_destroy(uvwasi_t* uvwasi); | |
| 84 | + UVWASI_EXPORT | ||
| 82 | 85 | void uvwasi_options_init(uvwasi_options_t* options); | |
| 83 | 86 | /* Use int instead of uv_file to avoid needing uv.h */ | |
| 87 | + UVWASI_EXPORT | ||
| 84 | 88 | uvwasi_errno_t uvwasi_embedder_remap_fd(uvwasi_t* uvwasi, | |
| 85 | 89 | const uvwasi_fd_t fd, | |
| 86 | 90 | int new_host_fd); | |
| 91 | + UVWASI_EXPORT | ||
| 87 | 92 | const char* uvwasi_embedder_err_code_to_string(uvwasi_errno_t code); | |
| 88 | 93 | ||
| 89 | 94 | ||
| 90 | 95 | /* WASI system call API. */ | |
| 96 | + UVWASI_EXPORT | ||
| 91 | 97 | uvwasi_errno_t uvwasi_args_get(uvwasi_t* uvwasi, char** argv, char* argv_buf); | |
| 98 | + UVWASI_EXPORT | ||
| 92 | 99 | uvwasi_errno_t uvwasi_args_sizes_get(uvwasi_t* uvwasi, | |
| 93 | 100 | uvwasi_size_t* argc, | |
| 94 | 101 | uvwasi_size_t* argv_buf_size); | |
| 102 | + UVWASI_EXPORT | ||
| 95 | 103 | uvwasi_errno_t uvwasi_clock_res_get(uvwasi_t* uvwasi, | |
| 96 | 104 | uvwasi_clockid_t clock_id, | |
| 97 | 105 | uvwasi_timestamp_t* resolution); | |
| 106 | + UVWASI_EXPORT | ||
| 98 | 107 | uvwasi_errno_t uvwasi_clock_time_get(uvwasi_t* uvwasi, | |
| 99 | 108 | uvwasi_clockid_t clock_id, | |
| 100 | 109 | uvwasi_timestamp_t precision, | |
| 101 | 110 | uvwasi_timestamp_t* time); | |
| 111 | + UVWASI_EXPORT | ||
| 102 | 112 | uvwasi_errno_t uvwasi_environ_get(uvwasi_t* uvwasi, | |
| 103 | 113 | char** environment, | |
| 104 | 114 | char* environ_buf); | |
| 115 | + UVWASI_EXPORT | ||
| 105 | 116 | uvwasi_errno_t uvwasi_environ_sizes_get(uvwasi_t* uvwasi, | |
| 106 | 117 | uvwasi_size_t* environ_count, | |
| 107 | 118 | uvwasi_size_t* environ_buf_size); | |
| 119 | + UVWASI_EXPORT | ||
| 108 | 120 | uvwasi_errno_t uvwasi_fd_advise(uvwasi_t* uvwasi, | |
| 109 | 121 | uvwasi_fd_t fd, | |
| 110 | 122 | uvwasi_filesize_t offset, | |
| 111 | 123 | uvwasi_filesize_t len, | |
| 112 | 124 | uvwasi_advice_t advice); | |
| 125 | + UVWASI_EXPORT | ||
| 113 | 126 | uvwasi_errno_t uvwasi_fd_allocate(uvwasi_t* uvwasi, | |
| 114 | 127 | uvwasi_fd_t fd, | |
| 115 | 128 | uvwasi_filesize_t offset, | |
| 116 | 129 | uvwasi_filesize_t len); | |
| 130 | + UVWASI_EXPORT | ||
| 117 | 131 | uvwasi_errno_t uvwasi_fd_close(uvwasi_t* uvwasi, uvwasi_fd_t fd); | |
| 132 | + UVWASI_EXPORT | ||
| 118 | 133 | uvwasi_errno_t uvwasi_fd_datasync(uvwasi_t* uvwasi, uvwasi_fd_t fd); | |
| 134 | + UVWASI_EXPORT | ||
| 119 | 135 | uvwasi_errno_t uvwasi_fd_fdstat_get(uvwasi_t* uvwasi, | |
| 120 | 136 | uvwasi_fd_t fd, | |
| 121 | 137 | uvwasi_fdstat_t* buf); | |
| 138 | + UVWASI_EXPORT | ||
| 122 | 139 | uvwasi_errno_t uvwasi_fd_fdstat_set_flags(uvwasi_t* uvwasi, | |
| 123 | 140 | uvwasi_fd_t fd, | |
| 124 | 141 | uvwasi_fdflags_t flags); | |
| 142 | + UVWASI_EXPORT | ||
| 125 | 143 | uvwasi_errno_t uvwasi_fd_fdstat_set_rights(uvwasi_t* uvwasi, | |
| 126 | 144 | uvwasi_fd_t fd, | |
| 127 | 145 | uvwasi_rights_t fs_rights_base, | |
| 128 | 146 | uvwasi_rights_t fs_rights_inheriting | |
| 129 | 147 | ); | |
| 148 | + UVWASI_EXPORT | ||
| 130 | 149 | uvwasi_errno_t uvwasi_fd_filestat_get(uvwasi_t* uvwasi, | |
| 131 | 150 | uvwasi_fd_t fd, | |
| 132 | 151 | uvwasi_filestat_t* buf); | |
| 152 | + UVWASI_EXPORT | ||
| 133 | 153 | uvwasi_errno_t uvwasi_fd_filestat_set_size(uvwasi_t* uvwasi, | |
| 134 | 154 | uvwasi_fd_t fd, | |
| 135 | 155 | uvwasi_filesize_t st_size); | |
| 156 | + UVWASI_EXPORT | ||
| 136 | 157 | uvwasi_errno_t uvwasi_fd_filestat_set_times(uvwasi_t* uvwasi, | |
| 137 | 158 | uvwasi_fd_t fd, | |
| 138 | 159 | uvwasi_timestamp_t st_atim, | |
| 139 | 160 | uvwasi_timestamp_t st_mtim, | |
| 140 | 161 | uvwasi_fstflags_t fst_flags); | |
| 162 | + UVWASI_EXPORT | ||
| 141 | 163 | uvwasi_errno_t uvwasi_fd_pread(uvwasi_t* uvwasi, | |
| 142 | 164 | uvwasi_fd_t fd, | |
| 143 | 165 | const uvwasi_iovec_t* iovs, | |
| 144 | 166 | uvwasi_size_t iovs_len, | |
| 145 | 167 | uvwasi_filesize_t offset, | |
| 146 | 168 | uvwasi_size_t* nread); | |
| 169 | + UVWASI_EXPORT | ||
| 147 | 170 | uvwasi_errno_t uvwasi_fd_prestat_get(uvwasi_t* uvwasi, | |
| 148 | 171 | uvwasi_fd_t fd, | |
| 149 | 172 | uvwasi_prestat_t* buf); | |
| 173 | + UVWASI_EXPORT | ||
| 150 | 174 | uvwasi_errno_t uvwasi_fd_prestat_dir_name(uvwasi_t* uvwasi, | |
| 151 | 175 | uvwasi_fd_t fd, | |
| 152 | 176 | char* path, | |
| 153 | 177 | uvwasi_size_t path_len); | |
| 178 | + UVWASI_EXPORT | ||
| 154 | 179 | uvwasi_errno_t uvwasi_fd_pwrite(uvwasi_t* uvwasi, | |
| 155 | 180 | uvwasi_fd_t fd, | |
| 156 | 181 | const uvwasi_ciovec_t* iovs, | |
| 157 | 182 | uvwasi_size_t iovs_len, | |
| 158 | 183 | uvwasi_filesize_t offset, | |
| 159 | 184 | uvwasi_size_t* nwritten); | |
| 185 | + UVWASI_EXPORT | ||
| 160 | 186 | uvwasi_errno_t uvwasi_fd_read(uvwasi_t* uvwasi, | |
| 161 | 187 | uvwasi_fd_t fd, | |
| 162 | 188 | const uvwasi_iovec_t* iovs, | |
| 163 | 189 | uvwasi_size_t iovs_len, | |
| 164 | 190 | uvwasi_size_t* nread); | |
| 191 | + UVWASI_EXPORT | ||
| 165 | 192 | uvwasi_errno_t uvwasi_fd_readdir(uvwasi_t* uvwasi, | |
| 166 | 193 | uvwasi_fd_t fd, | |
| 167 | 194 | void* buf, | |
| 168 | 195 | uvwasi_size_t buf_len, | |
| 169 | 196 | uvwasi_dircookie_t cookie, | |
| 170 | 197 | uvwasi_size_t* bufused); | |
| 198 | + UVWASI_EXPORT | ||
| 171 | 199 | uvwasi_errno_t uvwasi_fd_renumber(uvwasi_t* uvwasi, | |
| 172 | 200 | uvwasi_fd_t from, | |
| 173 | 201 | uvwasi_fd_t to); | |
| 202 | + UVWASI_EXPORT | ||
| 174 | 203 | uvwasi_errno_t uvwasi_fd_seek(uvwasi_t* uvwasi, | |
| 175 | 204 | uvwasi_fd_t fd, | |
| 176 | 205 | uvwasi_filedelta_t offset, | |
| 177 | 206 | uvwasi_whence_t whence, | |
| 178 | 207 | uvwasi_filesize_t* newoffset); | |
| 208 | + UVWASI_EXPORT | ||
| 179 | 209 | uvwasi_errno_t uvwasi_fd_sync(uvwasi_t* uvwasi, uvwasi_fd_t fd); | |
| 210 | + UVWASI_EXPORT | ||
| 180 | 211 | uvwasi_errno_t uvwasi_fd_tell(uvwasi_t* uvwasi, | |
| 181 | 212 | uvwasi_fd_t fd, | |
| 182 | 213 | uvwasi_filesize_t* offset); | |
| 214 | + UVWASI_EXPORT | ||
| 183 | 215 | uvwasi_errno_t uvwasi_fd_write(uvwasi_t* uvwasi, | |
| 184 | 216 | uvwasi_fd_t fd, | |
| 185 | 217 | const uvwasi_ciovec_t* iovs, | |
| 186 | 218 | uvwasi_size_t iovs_len, | |
| 187 | 219 | uvwasi_size_t* nwritten); | |
| 220 | + UVWASI_EXPORT | ||
| 188 | 221 | uvwasi_errno_t uvwasi_path_create_directory(uvwasi_t* uvwasi, | |
| 189 | 222 | uvwasi_fd_t fd, | |
| 190 | 223 | const char* path, | |
| 191 | 224 | uvwasi_size_t path_len); | |
| 225 | + UVWASI_EXPORT | ||
| 192 | 226 | uvwasi_errno_t uvwasi_path_filestat_get(uvwasi_t* uvwasi, | |
| 193 | 227 | uvwasi_fd_t fd, | |
| 194 | 228 | uvwasi_lookupflags_t flags, | |
| 195 | 229 | const char* path, | |
| 196 | 230 | uvwasi_size_t path_len, | |
| 197 | 231 | uvwasi_filestat_t* buf); | |
| 232 | + UVWASI_EXPORT | ||
| 198 | 233 | uvwasi_errno_t uvwasi_path_filestat_set_times(uvwasi_t* uvwasi, | |
| 199 | 234 | uvwasi_fd_t fd, | |
| 200 | 235 | uvwasi_lookupflags_t flags, | |
@@ -203,6 +238,7 @@ uvwasi_errno_t uvwasi_path_filestat_set_times(uvwasi_t* uvwasi, | |||
| 203 | 238 | uvwasi_timestamp_t st_atim, | |
| 204 | 239 | uvwasi_timestamp_t st_mtim, | |
| 205 | 240 | uvwasi_fstflags_t fst_flags); | |
| 241 | + UVWASI_EXPORT | ||
| 206 | 242 | uvwasi_errno_t uvwasi_path_link(uvwasi_t* uvwasi, | |
| 207 | 243 | uvwasi_fd_t old_fd, | |
| 208 | 244 | uvwasi_lookupflags_t old_flags, | |
@@ -211,6 +247,7 @@ uvwasi_errno_t uvwasi_path_link(uvwasi_t* uvwasi, | |||
| 211 | 247 | uvwasi_fd_t new_fd, | |
| 212 | 248 | const char* new_path, | |
| 213 | 249 | uvwasi_size_t new_path_len); | |
| 250 | + UVWASI_EXPORT | ||
| 214 | 251 | uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi, | |
| 215 | 252 | uvwasi_fd_t dirfd, | |
| 216 | 253 | uvwasi_lookupflags_t dirflags, | |
@@ -221,62 +258,76 @@ uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi, | |||
| 221 | 258 | uvwasi_rights_t fs_rights_inheriting, | |
| 222 | 259 | uvwasi_fdflags_t fs_flags, | |
| 223 | 260 | uvwasi_fd_t* fd); | |
| 261 | + UVWASI_EXPORT | ||
| 224 | 262 | uvwasi_errno_t uvwasi_path_readlink(uvwasi_t* uvwasi, | |
| 225 | 263 | uvwasi_fd_t fd, | |
| 226 | 264 | const char* path, | |
| 227 | 265 | uvwasi_size_t path_len, | |
| 228 | 266 | char* buf, | |
| 229 | 267 | uvwasi_size_t buf_len, | |
| 230 | 268 | uvwasi_size_t* bufused); | |
| 269 | + UVWASI_EXPORT | ||
| 231 | 270 | uvwasi_errno_t uvwasi_path_remove_directory(uvwasi_t* uvwasi, | |
| 232 | 271 | uvwasi_fd_t fd, | |
| 233 | 272 | const char* path, | |
| 234 | 273 | uvwasi_size_t path_len); | |
| 274 | + UVWASI_EXPORT | ||
| 235 | 275 | uvwasi_errno_t uvwasi_path_rename(uvwasi_t* uvwasi, | |
| 236 | 276 | uvwasi_fd_t old_fd, | |
| 237 | 277 | const char* old_path, | |
| 238 | 278 | uvwasi_size_t old_path_len, | |
| 239 | 279 | uvwasi_fd_t new_fd, | |
| 240 | 280 | const char* new_path, | |
| 241 | 281 | uvwasi_size_t new_path_len); | |
| 282 | + UVWASI_EXPORT | ||
| 242 | 283 | uvwasi_errno_t uvwasi_path_symlink(uvwasi_t* uvwasi, | |
| 243 | 284 | const char* old_path, | |
| 244 | 285 | uvwasi_size_t old_path_len, | |
| 245 | 286 | uvwasi_fd_t fd, | |
| 246 | 287 | const char* new_path, | |
| 247 | 288 | uvwasi_size_t new_path_len); | |
| 289 | + UVWASI_EXPORT | ||
| 248 | 290 | uvwasi_errno_t uvwasi_path_unlink_file(uvwasi_t* uvwasi, | |
| 249 | 291 | uvwasi_fd_t fd, | |
| 250 | 292 | const char* path, | |
| 251 | 293 | uvwasi_size_t path_len); | |
| 294 | + UVWASI_EXPORT | ||
| 252 | 295 | uvwasi_errno_t uvwasi_poll_oneoff(uvwasi_t* uvwasi, | |
| 253 | 296 | const uvwasi_subscription_t* in, | |
| 254 | 297 | uvwasi_event_t* out, | |
| 255 | 298 | uvwasi_size_t nsubscriptions, | |
| 256 | 299 | uvwasi_size_t* nevents); | |
| 300 | + UVWASI_EXPORT | ||
| 257 | 301 | uvwasi_errno_t uvwasi_proc_exit(uvwasi_t* uvwasi, uvwasi_exitcode_t rval); | |
| 302 | + UVWASI_EXPORT | ||
| 258 | 303 | uvwasi_errno_t uvwasi_proc_raise(uvwasi_t* uvwasi, uvwasi_signal_t sig); | |
| 304 | + UVWASI_EXPORT | ||
| 259 | 305 | uvwasi_errno_t uvwasi_random_get(uvwasi_t* uvwasi, | |
| 260 | 306 | void* buf, | |
| 261 | 307 | uvwasi_size_t buf_len); | |
| 308 | + UVWASI_EXPORT | ||
| 262 | 309 | uvwasi_errno_t uvwasi_sched_yield(uvwasi_t* uvwasi); | |
| 310 | + UVWASI_EXPORT | ||
| 263 | 311 | uvwasi_errno_t uvwasi_sock_accept(uvwasi_t* uvwasi, | |
| 264 | 312 | uvwasi_fd_t sock, | |
| 265 | 313 | uvwasi_fdflags_t flags, | |
| 266 | 314 | uvwasi_fd_t* fd); | |
| 315 | + UVWASI_EXPORT | ||
| 267 | 316 | uvwasi_errno_t uvwasi_sock_recv(uvwasi_t* uvwasi, | |
| 268 | 317 | uvwasi_fd_t sock, | |
| 269 | 318 | const uvwasi_iovec_t* ri_data, | |
| 270 | 319 | uvwasi_size_t ri_data_len, | |
| 271 | 320 | uvwasi_riflags_t ri_flags, | |
| 272 | 321 | uvwasi_size_t* ro_datalen, | |
| 273 | 322 | uvwasi_roflags_t* ro_flags); | |
| 323 | + UVWASI_EXPORT | ||
| 274 | 324 | uvwasi_errno_t uvwasi_sock_send(uvwasi_t* uvwasi, | |
| 275 | 325 | uvwasi_fd_t sock, | |
| 276 | 326 | const uvwasi_ciovec_t* si_data, | |
| 277 | 327 | uvwasi_size_t si_data_len, | |
| 278 | 328 | uvwasi_siflags_t si_flags, | |
| 279 | 329 | uvwasi_size_t* so_datalen); | |
| 330 | + UVWASI_EXPORT | ||
| 280 | 331 | uvwasi_errno_t uvwasi_sock_shutdown(uvwasi_t* uvwasi, | |
| 281 | 332 | uvwasi_fd_t sock, | |
| 282 | 333 | uvwasi_sdflags_t how); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,7 +6,9 @@ | |||
| 6 | 6 | /* Basic uint{8,16,32,64}_t read/write functions. */ | |
| 7 | 7 | ||
| 8 | 8 | #define BASIC_TYPE(name, type) \ | |
| 9 | + UVWASI_EXPORT \ | ||
| 9 | 10 | void uvwasi_serdes_write_##name(void* ptr, size_t offset, type value); \ | |
| 11 | + UVWASI_EXPORT \ | ||
| 10 | 12 | type uvwasi_serdes_read_##name(const void* ptr, size_t offset); \ | |
| 11 | 13 | ||
| 12 | 14 | #define BASIC_TYPE_UVWASI(type) BASIC_TYPE(type, uvwasi_##type) | |
@@ -83,15 +85,18 @@ BASIC_TYPE_UVWASI(whence_t) | |||
| 83 | 85 | /* WASI structure read/write functions. */ | |
| 84 | 86 | ||
| 85 | 87 | #define STRUCT(name) \ | |
| 88 | + UVWASI_EXPORT \ | ||
| 86 | 89 | void uvwasi_serdes_write_##name(void* ptr, \ | |
| 87 | 90 | size_t offset, \ | |
| 88 | 91 | const uvwasi_##name* value); \ | |
| 92 | + UVWASI_EXPORT \ | ||
| 89 | 93 | void uvwasi_serdes_read_##name(const void* ptr, \ | |
| 90 | 94 | size_t offset, \ | |
| 91 | 95 | uvwasi_##name* value); | |
| 92 | 96 | ||
| 93 | 97 | /* iovs currently only need to be read from WASM memory. */ | |
| 94 | 98 | #define IOVS_STRUCT(name) \ | |
| 99 | + UVWASI_EXPORT \ | ||
| 95 | 100 | uvwasi_errno_t uvwasi_serdes_read_##name(const void* ptr, \ | |
| 96 | 101 | size_t end, \ | |
| 97 | 102 | size_t offset, \ | |
@@ -124,20 +129,24 @@ STRUCT(subscription_t) | |||
| 124 | 129 | #undef STRUCT | |
| 125 | 130 | #undef IOVS_STRUCT | |
| 126 | 131 | ||
| 132 | + UVWASI_EXPORT | ||
| 127 | 133 | uvwasi_errno_t uvwasi_serdes_readv_ciovec_t(const void* ptr, | |
| 128 | 134 | size_t end, | |
| 129 | 135 | size_t offset, | |
| 130 | 136 | uvwasi_ciovec_t* iovs, | |
| 131 | 137 | uvwasi_size_t iovs_len); | |
| 132 | 138 | ||
| 139 | + UVWASI_EXPORT | ||
| 133 | 140 | uvwasi_errno_t uvwasi_serdes_readv_iovec_t(const void* ptr, | |
| 134 | 141 | size_t end, | |
| 135 | 142 | size_t offset, | |
| 136 | 143 | uvwasi_iovec_t* iovs, | |
| 137 | 144 | uvwasi_size_t iovs_len); | |
| 138 | 145 | ||
| 139 | 146 | /* Helper functions for memory bounds checking. */ | |
| 147 | + UVWASI_EXPORT | ||
| 140 | 148 | int uvwasi_serdes_check_bounds(size_t offset, size_t end, size_t size); | |
| 149 | + UVWASI_EXPORT | ||
| 141 | 150 | int uvwasi_serdes_check_array_bounds(size_t offset, | |
| 142 | 151 | size_t end, | |
| 143 | 152 | size_t size, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -322,4 +322,10 @@ typedef uint8_t uvwasi_whence_t; | |||
| 322 | 322 | #define UVWASI_WHENCE_CUR 1 | |
| 323 | 323 | #define UVWASI_WHENCE_END 2 | |
| 324 | 324 | ||
| 325 | + #ifdef NEED_UVWASI_EXPORT | ||
| 326 | + #define UVWASI_EXPORT __attribute__((visibility("default"))) | ||
| 327 | + #else | ||
| 328 | + #define UVWASI_EXPORT | ||
| 329 | + #endif /* NEED_UVWASI_EXPORT */ | ||
| 330 | + | ||
| 325 | 331 | #endif /* __UVWASI_WASI_TYPES_H__ */ | |
| Back | FazBrowse Home | New Git URL |
0 commit comments