mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +00:00
Move sys/wasi to sys/wasm/wasi
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
//+build wasm32
|
//+build wasm32
|
||||||
package sys_wasi
|
package sys_wasi
|
||||||
|
|
||||||
foreign import "env"
|
foreign import wasi "env"
|
||||||
|
|
||||||
DIRCOOKIE_START :: u64(0)
|
DIRCOOKIE_START :: u64(0)
|
||||||
size_t :: uint
|
size_t :: uint
|
||||||
@@ -971,7 +971,7 @@ prestat_t :: struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@(link_prefix="__wasi_")
|
@(link_prefix="__wasi_")
|
||||||
foreign env {
|
foreign wasi {
|
||||||
/**
|
/**
|
||||||
* Read command-line argument data.
|
* Read command-line argument data.
|
||||||
* The size of the array should match that returned by `args_sizes_get`
|
* The size of the array should match that returned by `args_sizes_get`
|
||||||
@@ -1093,12 +1093,12 @@ foreign env {
|
|||||||
* Return a description of the given preopened file descriptor.
|
* Return a description of the given preopened file descriptor.
|
||||||
*/
|
*/
|
||||||
fd_prestat_dir_name :: proc(
|
fd_prestat_dir_name :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* A buffer into which to write the preopened directory name.
|
* A buffer into which to write the preopened directory name.
|
||||||
*/
|
*/
|
||||||
path: [^]u8,
|
path: [^]u8,
|
||||||
path_len: size_t,
|
path_len: size_t,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Atomically replace a file descriptor by renumbering another file descriptor.
|
* Atomically replace a file descriptor by renumbering another file descriptor.
|
||||||
@@ -1111,11 +1111,11 @@ foreign env {
|
|||||||
* would disappear if `dup2()` were to be removed entirely.
|
* would disappear if `dup2()` were to be removed entirely.
|
||||||
*/
|
*/
|
||||||
fd_renumber :: proc(
|
fd_renumber :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The file descriptor to overwrite.
|
* The file descriptor to overwrite.
|
||||||
*/
|
*/
|
||||||
to: fd_t,
|
to: fd_t,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Synchronize the data and metadata of a file to disk.
|
* Synchronize the data and metadata of a file to disk.
|
||||||
@@ -1129,61 +1129,61 @@ foreign env {
|
|||||||
* Note: This is similar to `mkdirat` in POSIX.
|
* Note: This is similar to `mkdirat` in POSIX.
|
||||||
*/
|
*/
|
||||||
path_create_directory :: proc(
|
path_create_directory :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The path at which to create the directory.
|
* The path at which to create the directory.
|
||||||
*/
|
*/
|
||||||
path: cstring,
|
path: cstring,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Adjust the timestamps of a file or directory.
|
* Adjust the timestamps of a file or directory.
|
||||||
* Note: This is similar to `utimensat` in POSIX.
|
* Note: This is similar to `utimensat` in POSIX.
|
||||||
*/
|
*/
|
||||||
path_filestat_set_times :: proc(
|
path_filestat_set_times :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* Flags determining the method of how the path is resolved.
|
* Flags determining the method of how the path is resolved.
|
||||||
*/
|
*/
|
||||||
flags: lookupflags_t,
|
flags: lookupflags_t,
|
||||||
/**
|
/**
|
||||||
* The path of the file or directory to operate on.
|
* The path of the file or directory to operate on.
|
||||||
*/
|
*/
|
||||||
path: cstring,
|
path: cstring,
|
||||||
/**
|
/**
|
||||||
* The desired values of the data access timestamp.
|
* The desired values of the data access timestamp.
|
||||||
*/
|
*/
|
||||||
atim: timestamp_t,
|
atim: timestamp_t,
|
||||||
/**
|
/**
|
||||||
* The desired values of the data modification timestamp.
|
* The desired values of the data modification timestamp.
|
||||||
*/
|
*/
|
||||||
mtim: timestamp_t,
|
mtim: timestamp_t,
|
||||||
/**
|
/**
|
||||||
* A bitmask indicating which timestamps to adjust.
|
* A bitmask indicating which timestamps to adjust.
|
||||||
*/
|
*/
|
||||||
fst_flags: fstflags_t,
|
fst_flags: fstflags_t,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Create a hard link.
|
* Create a hard link.
|
||||||
* Note: This is similar to `linkat` in POSIX.
|
* Note: This is similar to `linkat` in POSIX.
|
||||||
*/
|
*/
|
||||||
path_link :: proc(
|
path_link :: proc(
|
||||||
old_fd: fd_t,
|
old_fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* Flags determining the method of how the path is resolved.
|
* Flags determining the method of how the path is resolved.
|
||||||
*/
|
*/
|
||||||
old_flags: lookupflags_t,
|
old_flags: lookupflags_t,
|
||||||
/**
|
/**
|
||||||
* The source path from which to link.
|
* The source path from which to link.
|
||||||
*/
|
*/
|
||||||
old_path: cstring,
|
old_path: cstring,
|
||||||
/**
|
/**
|
||||||
* The working directory at which the resolution of the new path starts.
|
* The working directory at which the resolution of the new path starts.
|
||||||
*/
|
*/
|
||||||
new_fd: fd_t,
|
new_fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The destination path at which to create the hard link.
|
* The destination path at which to create the hard link.
|
||||||
*/
|
*/
|
||||||
new_path: cstring,
|
new_path: cstring,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Remove a directory.
|
* Remove a directory.
|
||||||
@@ -1191,45 +1191,45 @@ foreign env {
|
|||||||
* Note: This is similar to `unlinkat(fd, path, AT_REMOVEDIR)` in POSIX.
|
* Note: This is similar to `unlinkat(fd, path, AT_REMOVEDIR)` in POSIX.
|
||||||
*/
|
*/
|
||||||
path_remove_directory :: proc(
|
path_remove_directory :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The path to a directory to remove.
|
* The path to a directory to remove.
|
||||||
*/
|
*/
|
||||||
path: cstring,
|
path: cstring,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Rename a file or directory.
|
* Rename a file or directory.
|
||||||
* Note: This is similar to `renameat` in POSIX.
|
* Note: This is similar to `renameat` in POSIX.
|
||||||
*/
|
*/
|
||||||
path_rename :: proc(
|
path_rename :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The source path of the file or directory to rename.
|
* The source path of the file or directory to rename.
|
||||||
*/
|
*/
|
||||||
old_path: cstring,
|
old_path: cstring,
|
||||||
/**
|
/**
|
||||||
* The working directory at which the resolution of the new path starts.
|
* The working directory at which the resolution of the new path starts.
|
||||||
*/
|
*/
|
||||||
new_fd: fd_t,
|
new_fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The destination path to which to rename the file or directory.
|
* The destination path to which to rename the file or directory.
|
||||||
*/
|
*/
|
||||||
new_path: cstring,
|
new_path: cstring,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Create a symbolic link.
|
* Create a symbolic link.
|
||||||
* Note: This is similar to `symlinkat` in POSIX.
|
* Note: This is similar to `symlinkat` in POSIX.
|
||||||
*/
|
*/
|
||||||
path_symlink :: proc(
|
path_symlink :: proc(
|
||||||
/**
|
/**
|
||||||
* The contents of the symbolic link.
|
* The contents of the symbolic link.
|
||||||
*/
|
*/
|
||||||
old_path: cstring,
|
old_path: cstring,
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The destination path at which to create the symbolic link.
|
* The destination path at which to create the symbolic link.
|
||||||
*/
|
*/
|
||||||
new_path: cstring,
|
new_path: cstring,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Unlink a file.
|
* Unlink a file.
|
||||||
@@ -1238,10 +1238,10 @@ foreign env {
|
|||||||
*/
|
*/
|
||||||
path_unlink_file :: proc(
|
path_unlink_file :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* The path to a file to unlink.
|
* The path to a file to unlink.
|
||||||
*/
|
*/
|
||||||
path: cstring,
|
path: cstring,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Terminate the process normally. An exit code of 0 indicates successful
|
* Terminate the process normally. An exit code of 0 indicates successful
|
||||||
@@ -1249,20 +1249,20 @@ foreign env {
|
|||||||
* the environment.
|
* the environment.
|
||||||
*/
|
*/
|
||||||
proc_exit :: proc(
|
proc_exit :: proc(
|
||||||
/**
|
/**
|
||||||
* The exit code returned by the process.
|
* The exit code returned by the process.
|
||||||
*/
|
*/
|
||||||
rval: exitcode_t,
|
rval: exitcode_t,
|
||||||
) -> ! ---
|
) -> ! ---
|
||||||
/**
|
/**
|
||||||
* Send a signal to the process of the calling thread.
|
* Send a signal to the process of the calling thread.
|
||||||
* Note: This is similar to `raise` in POSIX.
|
* Note: This is similar to `raise` in POSIX.
|
||||||
*/
|
*/
|
||||||
proc_raise :: proc(
|
proc_raise :: proc(
|
||||||
/**
|
/**
|
||||||
* The signal condition to trigger.
|
* The signal condition to trigger.
|
||||||
*/
|
*/
|
||||||
sig: signal_t,
|
sig: signal_t,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Temporarily yield execution of the calling thread.
|
* Temporarily yield execution of the calling thread.
|
||||||
@@ -1278,11 +1278,11 @@ foreign env {
|
|||||||
* number generator, rather than to provide the random data directly.
|
* number generator, rather than to provide the random data directly.
|
||||||
*/
|
*/
|
||||||
random_get :: proc(
|
random_get :: proc(
|
||||||
/**
|
/**
|
||||||
* The buffer to fill with random data.
|
* The buffer to fill with random data.
|
||||||
*/
|
*/
|
||||||
buf: [^]u8,
|
buf: [^]u8,
|
||||||
buf_len: size_t,
|
buf_len: size_t,
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
/**
|
/**
|
||||||
* Shut down socket send and receive channels.
|
* Shut down socket send and receive channels.
|
||||||
@@ -1290,135 +1290,10 @@ foreign env {
|
|||||||
*/
|
*/
|
||||||
sock_shutdown :: proc(
|
sock_shutdown :: proc(
|
||||||
fd: fd_t,
|
fd: fd_t,
|
||||||
/**
|
/**
|
||||||
* Which channels on the socket to shut down.
|
* Which channels on the socket to shut down.
|
||||||
*/
|
*/
|
||||||
how: sdflags_t,
|
how: sdflags_t,
|
||||||
) -> errno_t ---
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
foreign env {
|
|
||||||
__wasi_args_sizes_get :: proc(
|
|
||||||
retptr0: ^size_t,
|
|
||||||
retptr1: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_environ_sizes_get :: proc(
|
|
||||||
retptr0: ^size_t,
|
|
||||||
retptr1: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_clock_res_get :: proc(
|
|
||||||
id: clockid_t,
|
|
||||||
retptr0: ^timestamp_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_clock_time_get :: proc(
|
|
||||||
id: clockid_t,
|
|
||||||
precision: timestamp_t,
|
|
||||||
retptr0: ^timestamp_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_fdstat_get :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
retptr0: ^fdstat_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_filestat_get :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
retptr0: ^filestat_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
|
|
||||||
|
|
||||||
__wasi_fd_pread :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
iovs: [^]iovec_t,
|
|
||||||
iovs_len: size_t,
|
|
||||||
offset: filesize_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_prestat_get :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
retptr0: ^prestat_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_pwrite :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
iovs: [^]ciovec_t,
|
|
||||||
iovs_len: size_t,
|
|
||||||
offset: filesize_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_read :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
iovs: [^]iovec_t,
|
|
||||||
iovs_len: size_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_readdir :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
buf: [^]u8,
|
|
||||||
buf_len: size_t,
|
|
||||||
cookie: dircookie_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_seek :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
offset: filedelta_t,
|
|
||||||
whence: whence_t,
|
|
||||||
retptr0: ^filesize_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_tell :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
retptr0: ^filesize_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_fd_write :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
iovs: [^]ciovec_t,
|
|
||||||
iovs_len: size_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_path_filestat_get :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
flags: lookupflags_t,
|
|
||||||
/**
|
|
||||||
* The path of the file or directory to inspect.
|
|
||||||
*/
|
|
||||||
path: cstring,
|
|
||||||
retptr0: ^filestat_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_path_open :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
dirflags: lookupflags_t,
|
|
||||||
path: cstring,
|
|
||||||
oflags: oflags_t,
|
|
||||||
fs_rights_base: rights_t,
|
|
||||||
fs_rights_inheriting: rights_t,
|
|
||||||
fdflags: fdflags_t,
|
|
||||||
retptr: ^fd_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_path_readlink :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
path: cstring,
|
|
||||||
buf: [^]u8,
|
|
||||||
buf_len: size_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_poll_oneoff :: proc(
|
|
||||||
subscription_in: ^subscription_t,
|
|
||||||
event_out: ^event_t,
|
|
||||||
nsubscriptions: size_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_sock_recv :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
ri_data: [^]iovec_t,
|
|
||||||
ri_data_len: size_t,
|
|
||||||
ri_flags: riflags_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
retptr1: ^roflags_t,
|
|
||||||
) -> errno_t ---
|
|
||||||
__wasi_sock_send :: proc(
|
|
||||||
fd: fd_t,
|
|
||||||
si_data: [^]ciovec_t,
|
|
||||||
si_data_len: size_t,
|
|
||||||
si_flags: siflags_t,
|
|
||||||
retptr0: ^size_t,
|
|
||||||
) -> errno_t ---
|
) -> errno_t ---
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1816,4 +1691,127 @@ sock_send :: proc(
|
|||||||
) -> (n: size_t, err: errno_t) {
|
) -> (n: size_t, err: errno_t) {
|
||||||
err = __wasi_sock_send(fd, si_data, si_data_len, si_flags, &n)
|
err = __wasi_sock_send(fd, si_data, si_data_len, si_flags, &n)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreign wasi {
|
||||||
|
__wasi_args_sizes_get :: proc(
|
||||||
|
retptr0: ^size_t,
|
||||||
|
retptr1: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_environ_sizes_get :: proc(
|
||||||
|
retptr0: ^size_t,
|
||||||
|
retptr1: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_clock_res_get :: proc(
|
||||||
|
id: clockid_t,
|
||||||
|
retptr0: ^timestamp_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_clock_time_get :: proc(
|
||||||
|
id: clockid_t,
|
||||||
|
precision: timestamp_t,
|
||||||
|
retptr0: ^timestamp_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_fdstat_get :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
retptr0: ^fdstat_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_filestat_get :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
retptr0: ^filestat_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_pread :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
iovs: [^]iovec_t,
|
||||||
|
iovs_len: size_t,
|
||||||
|
offset: filesize_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_prestat_get :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
retptr0: ^prestat_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_pwrite :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
iovs: [^]ciovec_t,
|
||||||
|
iovs_len: size_t,
|
||||||
|
offset: filesize_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_read :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
iovs: [^]iovec_t,
|
||||||
|
iovs_len: size_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_readdir :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
buf: [^]u8,
|
||||||
|
buf_len: size_t,
|
||||||
|
cookie: dircookie_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_seek :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
offset: filedelta_t,
|
||||||
|
whence: whence_t,
|
||||||
|
retptr0: ^filesize_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_tell :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
retptr0: ^filesize_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_fd_write :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
iovs: [^]ciovec_t,
|
||||||
|
iovs_len: size_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_path_filestat_get :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
flags: lookupflags_t,
|
||||||
|
/**
|
||||||
|
* The path of the file or directory to inspect.
|
||||||
|
*/
|
||||||
|
path: cstring,
|
||||||
|
retptr0: ^filestat_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_path_open :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
dirflags: lookupflags_t,
|
||||||
|
path: cstring,
|
||||||
|
oflags: oflags_t,
|
||||||
|
fs_rights_base: rights_t,
|
||||||
|
fs_rights_inheriting: rights_t,
|
||||||
|
fdflags: fdflags_t,
|
||||||
|
retptr: ^fd_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_path_readlink :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
path: cstring,
|
||||||
|
buf: [^]u8,
|
||||||
|
buf_len: size_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_poll_oneoff :: proc(
|
||||||
|
subscription_in: ^subscription_t,
|
||||||
|
event_out: ^event_t,
|
||||||
|
nsubscriptions: size_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_sock_recv :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
ri_data: [^]iovec_t,
|
||||||
|
ri_data_len: size_t,
|
||||||
|
ri_flags: riflags_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
retptr1: ^roflags_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
__wasi_sock_send :: proc(
|
||||||
|
fd: fd_t,
|
||||||
|
si_data: [^]ciovec_t,
|
||||||
|
si_data_len: size_t,
|
||||||
|
si_flags: siflags_t,
|
||||||
|
retptr0: ^size_t,
|
||||||
|
) -> errno_t ---
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user