summaryrefslogtreecommitdiff
path: root/deps/uvwasi/include
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-12-01 01:28:52 +0100
committerAnna Henningsen <anna@addaleax.net>2019-12-07 22:55:19 +0100
commit0a7c874e9c3cb5da99c88ab46e33a648f0b909d2 (patch)
tree85fb82f114b2c18697fc1e54dee163dcf7e24c53 /deps/uvwasi/include
parent2579ea8795459d9fd85ff241f997c5b2f142b44d (diff)
downloadandroid-node-v8-0a7c874e9c3cb5da99c88ab46e33a648f0b909d2.tar.gz
android-node-v8-0a7c874e9c3cb5da99c88ab46e33a648f0b909d2.tar.bz2
android-node-v8-0a7c874e9c3cb5da99c88ab46e33a648f0b909d2.zip
deps: update uvwasi
PR-URL: https://github.com/nodejs/node/pull/30745 Refs: https://github.com/nodejs/quic/blob/34ee0bc96f804c73cb22b2945a1a78f780938492/src/node_mem.h Refs: https://github.com/nodejs/quic/pull/126 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'deps/uvwasi/include')
-rw-r--r--deps/uvwasi/include/fd_table.h15
-rw-r--r--deps/uvwasi/include/uvwasi.h16
2 files changed, 26 insertions, 5 deletions
diff --git a/deps/uvwasi/include/fd_table.h b/deps/uvwasi/include/fd_table.h
index ef87a3ff8f..42a5f0d920 100644
--- a/deps/uvwasi/include/fd_table.h
+++ b/deps/uvwasi/include/fd_table.h
@@ -16,6 +16,7 @@
# define PATH_MAX_BYTES (PATH_MAX)
#endif
+struct uvwasi_s;
struct uvwasi_fd_wrap_t {
uvwasi_fd_t id;
@@ -27,22 +28,28 @@ struct uvwasi_fd_wrap_t {
uvwasi_rights_t rights_inheriting;
int preopen;
int valid;
+ uv_mutex_t mutex;
};
struct uvwasi_fd_table_t {
struct uvwasi_fd_wrap_t* fds;
uint32_t size;
uint32_t used;
+ uv_rwlock_t rwlock;
};
-uvwasi_errno_t uvwasi_fd_table_init(struct uvwasi_fd_table_t* table,
+uvwasi_errno_t uvwasi_fd_table_init(struct uvwasi_s* uvwasi,
+ struct uvwasi_fd_table_t* table,
uint32_t init_size);
-void uvwasi_fd_table_free(struct uvwasi_fd_table_t* table);
-uvwasi_errno_t uvwasi_fd_table_insert_preopen(struct uvwasi_fd_table_t* table,
+void uvwasi_fd_table_free(struct uvwasi_s* uvwasi,
+ struct uvwasi_fd_table_t* table);
+uvwasi_errno_t uvwasi_fd_table_insert_preopen(struct uvwasi_s* uvwasi,
+ struct uvwasi_fd_table_t* table,
const uv_file fd,
const char* path,
const char* real_path);
-uvwasi_errno_t uvwasi_fd_table_insert_fd(struct uvwasi_fd_table_t* table,
+uvwasi_errno_t uvwasi_fd_table_insert_fd(struct uvwasi_s* uvwasi,
+ struct uvwasi_fd_table_t* table,
const uv_file fd,
const int flags,
const char* path,
diff --git a/deps/uvwasi/include/uvwasi.h b/deps/uvwasi/include/uvwasi.h
index a7695734ac..2a4e389164 100644
--- a/deps/uvwasi/include/uvwasi.h
+++ b/deps/uvwasi/include/uvwasi.h
@@ -20,7 +20,20 @@ extern "C" {
#define UVWASI_VERSION_STRING UVWASI_STRINGIFY(UVWASI_VERSION_MAJOR) "." \
UVWASI_STRINGIFY(UVWASI_VERSION_MINOR) "." \
UVWASI_STRINGIFY(UVWASI_VERSION_PATCH)
+#define UVWASI_VERSION_WASI "snapshot_0"
+typedef void* (*uvwasi_malloc)(size_t size, void* mem_user_data);
+typedef void (*uvwasi_free)(void* ptr, void* mem_user_data);
+typedef void* (*uvwasi_calloc)(size_t nmemb, size_t size, void* mem_user_data);
+typedef void* (*uvwasi_realloc)(void* ptr, size_t size, void* mem_user_data);
+
+typedef struct uvwasi_mem_s {
+ void* mem_user_data;
+ uvwasi_malloc malloc;
+ uvwasi_free free;
+ uvwasi_calloc calloc;
+ uvwasi_realloc realloc;
+} uvwasi_mem_t;
typedef struct uvwasi_s {
struct uvwasi_fd_table_t fds;
@@ -32,6 +45,7 @@ typedef struct uvwasi_s {
char** env;
char* env_buf;
size_t env_buf_size;
+ const uvwasi_mem_t* allocator;
} uvwasi_t;
typedef struct uvwasi_preopen_s {
@@ -46,9 +60,9 @@ typedef struct uvwasi_options_s {
size_t argc;
char** argv;
char** envp;
+ const uvwasi_mem_t* allocator;
} uvwasi_options_t;
-
// Embedder API.
uvwasi_errno_t uvwasi_init(uvwasi_t* uvwasi, uvwasi_options_t* options);
void uvwasi_destroy(uvwasi_t* uvwasi);