Skip to content

Commit fb718e0

Browse files
committed
export methods instead
1 parent 44927e2 commit fb718e0

File tree

4 files changed

+66
-56
lines changed

4 files changed

+66
-56
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ cmake_dependent_option(UVWASI_BUILD_TESTS
2020
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out)
2121

2222
if(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU")
23-
list(APPEND uvwasi_cflags --std=gnu89)
23+
list(APPEND uvwasi_cflags -fvisibility=hidden --std=gnu89)
2424
list(APPEND uvwasi_cflags -Wall -Wsign-compare -Wextra -Wstrict-prototypes)
2525
list(APPEND uvwasi_cflags -Wno-unused-parameter)
2626
endif()

include/uvwasi.h

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -77,141 +77,141 @@ typedef struct uvwasi_options_s {
7777
} uvwasi_options_t;
7878

7979
/* Embedder API. */
80-
uvwasi_errno_t uvwasi_init(uvwasi_t* uvwasi, const uvwasi_options_t* options);
81-
void uvwasi_destroy(uvwasi_t* uvwasi);
82-
void uvwasi_options_init(uvwasi_options_t* options);
80+
uvwasi_errno_t UVWASI_EXPORT uvwasi_init(uvwasi_t* uvwasi, const uvwasi_options_t* options);
81+
void UVWASI_EXPORT uvwasi_destroy(uvwasi_t* uvwasi);
82+
void UVWASI_EXPORT uvwasi_options_init(uvwasi_options_t* options);
8383
/* Use int instead of uv_file to avoid needing uv.h */
84-
uvwasi_errno_t uvwasi_embedder_remap_fd(uvwasi_t* uvwasi,
84+
uvwasi_errno_t UVWASI_EXPORT uvwasi_embedder_remap_fd(uvwasi_t* uvwasi,
8585
const uvwasi_fd_t fd,
8686
int new_host_fd);
87-
const char* uvwasi_embedder_err_code_to_string(uvwasi_errno_t code);
87+
const char* UVWASI_EXPORT uvwasi_embedder_err_code_to_string(uvwasi_errno_t code);
8888

8989

9090
/* WASI system call API. */
91-
uvwasi_errno_t uvwasi_args_get(uvwasi_t* uvwasi, char** argv, char* argv_buf);
92-
uvwasi_errno_t uvwasi_args_sizes_get(uvwasi_t* uvwasi,
91+
uvwasi_errno_t UVWASI_EXPORT uvwasi_args_get(uvwasi_t* uvwasi, char** argv, char* argv_buf);
92+
uvwasi_errno_t UVWASI_EXPORT uvwasi_args_sizes_get(uvwasi_t* uvwasi,
9393
uvwasi_size_t* argc,
9494
uvwasi_size_t* argv_buf_size);
95-
uvwasi_errno_t uvwasi_clock_res_get(uvwasi_t* uvwasi,
95+
uvwasi_errno_t UVWASI_EXPORT uvwasi_clock_res_get(uvwasi_t* uvwasi,
9696
uvwasi_clockid_t clock_id,
9797
uvwasi_timestamp_t* resolution);
98-
uvwasi_errno_t uvwasi_clock_time_get(uvwasi_t* uvwasi,
98+
uvwasi_errno_t UVWASI_EXPORT uvwasi_clock_time_get(uvwasi_t* uvwasi,
9999
uvwasi_clockid_t clock_id,
100100
uvwasi_timestamp_t precision,
101101
uvwasi_timestamp_t* time);
102-
uvwasi_errno_t uvwasi_environ_get(uvwasi_t* uvwasi,
102+
uvwasi_errno_t UVWASI_EXPORT uvwasi_environ_get(uvwasi_t* uvwasi,
103103
char** environment,
104104
char* environ_buf);
105-
uvwasi_errno_t uvwasi_environ_sizes_get(uvwasi_t* uvwasi,
105+
uvwasi_errno_t UVWASI_EXPORT uvwasi_environ_sizes_get(uvwasi_t* uvwasi,
106106
uvwasi_size_t* environ_count,
107107
uvwasi_size_t* environ_buf_size);
108-
uvwasi_errno_t uvwasi_fd_advise(uvwasi_t* uvwasi,
108+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_advise(uvwasi_t* uvwasi,
109109
uvwasi_fd_t fd,
110110
uvwasi_filesize_t offset,
111111
uvwasi_filesize_t len,
112112
uvwasi_advice_t advice);
113-
uvwasi_errno_t uvwasi_fd_allocate(uvwasi_t* uvwasi,
113+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_allocate(uvwasi_t* uvwasi,
114114
uvwasi_fd_t fd,
115115
uvwasi_filesize_t offset,
116116
uvwasi_filesize_t len);
117-
uvwasi_errno_t uvwasi_fd_close(uvwasi_t* uvwasi, uvwasi_fd_t fd);
118-
uvwasi_errno_t uvwasi_fd_datasync(uvwasi_t* uvwasi, uvwasi_fd_t fd);
119-
uvwasi_errno_t uvwasi_fd_fdstat_get(uvwasi_t* uvwasi,
117+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_close(uvwasi_t* uvwasi, uvwasi_fd_t fd);
118+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_datasync(uvwasi_t* uvwasi, uvwasi_fd_t fd);
119+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_fdstat_get(uvwasi_t* uvwasi,
120120
uvwasi_fd_t fd,
121121
uvwasi_fdstat_t* buf);
122-
uvwasi_errno_t uvwasi_fd_fdstat_set_flags(uvwasi_t* uvwasi,
122+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_fdstat_set_flags(uvwasi_t* uvwasi,
123123
uvwasi_fd_t fd,
124124
uvwasi_fdflags_t flags);
125-
uvwasi_errno_t uvwasi_fd_fdstat_set_rights(uvwasi_t* uvwasi,
125+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_fdstat_set_rights(uvwasi_t* uvwasi,
126126
uvwasi_fd_t fd,
127127
uvwasi_rights_t fs_rights_base,
128128
uvwasi_rights_t fs_rights_inheriting
129129
);
130-
uvwasi_errno_t uvwasi_fd_filestat_get(uvwasi_t* uvwasi,
130+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_filestat_get(uvwasi_t* uvwasi,
131131
uvwasi_fd_t fd,
132132
uvwasi_filestat_t* buf);
133-
uvwasi_errno_t uvwasi_fd_filestat_set_size(uvwasi_t* uvwasi,
133+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_filestat_set_size(uvwasi_t* uvwasi,
134134
uvwasi_fd_t fd,
135135
uvwasi_filesize_t st_size);
136-
uvwasi_errno_t uvwasi_fd_filestat_set_times(uvwasi_t* uvwasi,
136+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_filestat_set_times(uvwasi_t* uvwasi,
137137
uvwasi_fd_t fd,
138138
uvwasi_timestamp_t st_atim,
139139
uvwasi_timestamp_t st_mtim,
140140
uvwasi_fstflags_t fst_flags);
141-
uvwasi_errno_t uvwasi_fd_pread(uvwasi_t* uvwasi,
141+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_pread(uvwasi_t* uvwasi,
142142
uvwasi_fd_t fd,
143143
const uvwasi_iovec_t* iovs,
144144
uvwasi_size_t iovs_len,
145145
uvwasi_filesize_t offset,
146146
uvwasi_size_t* nread);
147-
uvwasi_errno_t uvwasi_fd_prestat_get(uvwasi_t* uvwasi,
147+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_prestat_get(uvwasi_t* uvwasi,
148148
uvwasi_fd_t fd,
149149
uvwasi_prestat_t* buf);
150-
uvwasi_errno_t uvwasi_fd_prestat_dir_name(uvwasi_t* uvwasi,
150+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_prestat_dir_name(uvwasi_t* uvwasi,
151151
uvwasi_fd_t fd,
152152
char* path,
153153
uvwasi_size_t path_len);
154-
uvwasi_errno_t uvwasi_fd_pwrite(uvwasi_t* uvwasi,
154+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_pwrite(uvwasi_t* uvwasi,
155155
uvwasi_fd_t fd,
156156
const uvwasi_ciovec_t* iovs,
157157
uvwasi_size_t iovs_len,
158158
uvwasi_filesize_t offset,
159159
uvwasi_size_t* nwritten);
160-
uvwasi_errno_t uvwasi_fd_read(uvwasi_t* uvwasi,
160+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_read(uvwasi_t* uvwasi,
161161
uvwasi_fd_t fd,
162162
const uvwasi_iovec_t* iovs,
163163
uvwasi_size_t iovs_len,
164164
uvwasi_size_t* nread);
165-
uvwasi_errno_t uvwasi_fd_readdir(uvwasi_t* uvwasi,
165+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_readdir(uvwasi_t* uvwasi,
166166
uvwasi_fd_t fd,
167167
void* buf,
168168
uvwasi_size_t buf_len,
169169
uvwasi_dircookie_t cookie,
170170
uvwasi_size_t* bufused);
171-
uvwasi_errno_t uvwasi_fd_renumber(uvwasi_t* uvwasi,
171+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_renumber(uvwasi_t* uvwasi,
172172
uvwasi_fd_t from,
173173
uvwasi_fd_t to);
174-
uvwasi_errno_t uvwasi_fd_seek(uvwasi_t* uvwasi,
174+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_seek(uvwasi_t* uvwasi,
175175
uvwasi_fd_t fd,
176176
uvwasi_filedelta_t offset,
177177
uvwasi_whence_t whence,
178178
uvwasi_filesize_t* newoffset);
179-
uvwasi_errno_t uvwasi_fd_sync(uvwasi_t* uvwasi, uvwasi_fd_t fd);
180-
uvwasi_errno_t uvwasi_fd_tell(uvwasi_t* uvwasi,
179+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_sync(uvwasi_t* uvwasi, uvwasi_fd_t fd);
180+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_tell(uvwasi_t* uvwasi,
181181
uvwasi_fd_t fd,
182182
uvwasi_filesize_t* offset);
183-
uvwasi_errno_t uvwasi_fd_write(uvwasi_t* uvwasi,
183+
uvwasi_errno_t UVWASI_EXPORT uvwasi_fd_write(uvwasi_t* uvwasi,
184184
uvwasi_fd_t fd,
185185
const uvwasi_ciovec_t* iovs,
186186
uvwasi_size_t iovs_len,
187187
uvwasi_size_t* nwritten);
188-
uvwasi_errno_t uvwasi_path_create_directory(uvwasi_t* uvwasi,
188+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_create_directory(uvwasi_t* uvwasi,
189189
uvwasi_fd_t fd,
190190
const char* path,
191191
uvwasi_size_t path_len);
192-
uvwasi_errno_t uvwasi_path_filestat_get(uvwasi_t* uvwasi,
192+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_filestat_get(uvwasi_t* uvwasi,
193193
uvwasi_fd_t fd,
194194
uvwasi_lookupflags_t flags,
195195
const char* path,
196196
uvwasi_size_t path_len,
197197
uvwasi_filestat_t* buf);
198-
uvwasi_errno_t uvwasi_path_filestat_set_times(uvwasi_t* uvwasi,
198+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_filestat_set_times(uvwasi_t* uvwasi,
199199
uvwasi_fd_t fd,
200200
uvwasi_lookupflags_t flags,
201201
const char* path,
202202
uvwasi_size_t path_len,
203203
uvwasi_timestamp_t st_atim,
204204
uvwasi_timestamp_t st_mtim,
205205
uvwasi_fstflags_t fst_flags);
206-
uvwasi_errno_t uvwasi_path_link(uvwasi_t* uvwasi,
206+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_link(uvwasi_t* uvwasi,
207207
uvwasi_fd_t old_fd,
208208
uvwasi_lookupflags_t old_flags,
209209
const char* old_path,
210210
uvwasi_size_t old_path_len,
211211
uvwasi_fd_t new_fd,
212212
const char* new_path,
213213
uvwasi_size_t new_path_len);
214-
uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi,
214+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_open(uvwasi_t* uvwasi,
215215
uvwasi_fd_t dirfd,
216216
uvwasi_lookupflags_t dirflags,
217217
const char* path,
@@ -221,63 +221,63 @@ uvwasi_errno_t uvwasi_path_open(uvwasi_t* uvwasi,
221221
uvwasi_rights_t fs_rights_inheriting,
222222
uvwasi_fdflags_t fs_flags,
223223
uvwasi_fd_t* fd);
224-
uvwasi_errno_t uvwasi_path_readlink(uvwasi_t* uvwasi,
224+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_readlink(uvwasi_t* uvwasi,
225225
uvwasi_fd_t fd,
226226
const char* path,
227227
uvwasi_size_t path_len,
228228
char* buf,
229229
uvwasi_size_t buf_len,
230230
uvwasi_size_t* bufused);
231-
uvwasi_errno_t uvwasi_path_remove_directory(uvwasi_t* uvwasi,
231+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_remove_directory(uvwasi_t* uvwasi,
232232
uvwasi_fd_t fd,
233233
const char* path,
234234
uvwasi_size_t path_len);
235-
uvwasi_errno_t uvwasi_path_rename(uvwasi_t* uvwasi,
235+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_rename(uvwasi_t* uvwasi,
236236
uvwasi_fd_t old_fd,
237237
const char* old_path,
238238
uvwasi_size_t old_path_len,
239239
uvwasi_fd_t new_fd,
240240
const char* new_path,
241241
uvwasi_size_t new_path_len);
242-
uvwasi_errno_t uvwasi_path_symlink(uvwasi_t* uvwasi,
242+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_symlink(uvwasi_t* uvwasi,
243243
const char* old_path,
244244
uvwasi_size_t old_path_len,
245245
uvwasi_fd_t fd,
246246
const char* new_path,
247247
uvwasi_size_t new_path_len);
248-
uvwasi_errno_t uvwasi_path_unlink_file(uvwasi_t* uvwasi,
248+
uvwasi_errno_t UVWASI_EXPORT uvwasi_path_unlink_file(uvwasi_t* uvwasi,
249249
uvwasi_fd_t fd,
250250
const char* path,
251251
uvwasi_size_t path_len);
252-
uvwasi_errno_t uvwasi_poll_oneoff(uvwasi_t* uvwasi,
252+
uvwasi_errno_t UVWASI_EXPORT uvwasi_poll_oneoff(uvwasi_t* uvwasi,
253253
const uvwasi_subscription_t* in,
254254
uvwasi_event_t* out,
255255
uvwasi_size_t nsubscriptions,
256256
uvwasi_size_t* nevents);
257-
uvwasi_errno_t uvwasi_proc_exit(uvwasi_t* uvwasi, uvwasi_exitcode_t rval);
258-
uvwasi_errno_t uvwasi_proc_raise(uvwasi_t* uvwasi, uvwasi_signal_t sig);
259-
uvwasi_errno_t uvwasi_random_get(uvwasi_t* uvwasi,
257+
uvwasi_errno_t UVWASI_EXPORT uvwasi_proc_exit(uvwasi_t* uvwasi, uvwasi_exitcode_t rval);
258+
uvwasi_errno_t UVWASI_EXPORT uvwasi_proc_raise(uvwasi_t* uvwasi, uvwasi_signal_t sig);
259+
uvwasi_errno_t UVWASI_EXPORT uvwasi_random_get(uvwasi_t* uvwasi,
260260
void* buf,
261261
uvwasi_size_t buf_len);
262-
uvwasi_errno_t uvwasi_sched_yield(uvwasi_t* uvwasi);
263-
uvwasi_errno_t uvwasi_sock_accept(uvwasi_t* uvwasi,
262+
uvwasi_errno_t UVWASI_EXPORT uvwasi_sched_yield(uvwasi_t* uvwasi);
263+
uvwasi_errno_t UVWASI_EXPORT uvwasi_sock_accept(uvwasi_t* uvwasi,
264264
uvwasi_fd_t sock,
265265
uvwasi_fdflags_t flags,
266266
uvwasi_fd_t* fd);
267-
uvwasi_errno_t uvwasi_sock_recv(uvwasi_t* uvwasi,
267+
uvwasi_errno_t UVWASI_EXPORT uvwasi_sock_recv(uvwasi_t* uvwasi,
268268
uvwasi_fd_t sock,
269269
const uvwasi_iovec_t* ri_data,
270270
uvwasi_size_t ri_data_len,
271271
uvwasi_riflags_t ri_flags,
272272
uvwasi_size_t* ro_datalen,
273273
uvwasi_roflags_t* ro_flags);
274-
uvwasi_errno_t uvwasi_sock_send(uvwasi_t* uvwasi,
274+
uvwasi_errno_t UVWASI_EXPORT uvwasi_sock_send(uvwasi_t* uvwasi,
275275
uvwasi_fd_t sock,
276276
const uvwasi_ciovec_t* si_data,
277277
uvwasi_size_t si_data_len,
278278
uvwasi_siflags_t si_flags,
279279
uvwasi_size_t* so_datalen);
280-
uvwasi_errno_t uvwasi_sock_shutdown(uvwasi_t* uvwasi,
280+
uvwasi_errno_t UVWASI_EXPORT uvwasi_sock_shutdown(uvwasi_t* uvwasi,
281281
uvwasi_fd_t sock,
282282
uvwasi_sdflags_t how);
283283

include/wasi_serdes.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,21 +124,21 @@ STRUCT(subscription_t)
124124
#undef STRUCT
125125
#undef IOVS_STRUCT
126126

127-
uvwasi_errno_t uvwasi_serdes_readv_ciovec_t(const void* ptr,
127+
uvwasi_errno_t UVWASI_EXPORT uvwasi_serdes_readv_ciovec_t(const void* ptr,
128128
size_t end,
129129
size_t offset,
130130
uvwasi_ciovec_t* iovs,
131131
uvwasi_size_t iovs_len);
132132

133-
uvwasi_errno_t uvwasi_serdes_readv_iovec_t(const void* ptr,
133+
uvwasi_errno_t UVWASI_EXPORT uvwasi_serdes_readv_iovec_t(const void* ptr,
134134
size_t end,
135135
size_t offset,
136136
uvwasi_iovec_t* iovs,
137137
uvwasi_size_t iovs_len);
138138

139139
/* Helper functions for memory bounds checking. */
140-
int uvwasi_serdes_check_bounds(size_t offset, size_t end, size_t size);
141-
int uvwasi_serdes_check_array_bounds(size_t offset,
140+
int UVWASI_EXPORT uvwasi_serdes_check_bounds(size_t offset, size_t end, size_t size);
141+
int UVWASI_EXPORT uvwasi_serdes_check_array_bounds(size_t offset,
142142
size_t end,
143143
size_t size,
144144
size_t count);

include/wasi_types.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,4 +322,14 @@ typedef uint8_t uvwasi_whence_t;
322322
#define UVWASI_WHENCE_CUR 1
323323
#define UVWASI_WHENCE_END 2
324324

325+
#if defined(_WIN32) || defined(__CYGWIN__)
326+
#ifdef BUILDING_DLL
327+
#define UVWASI_EXPORT __declspec(dllexport)
328+
#else
329+
#define UVWASI_EXPORT __declspec(dllimport)
330+
#endif
331+
#else
332+
#define UVWASI_EXPORT __attribute__((visibility("default")))
333+
#endif
334+
325335
#endif /* __UVWASI_WASI_TYPES_H__ */

0 commit comments

Comments
 (0)