diff options
Diffstat (limited to 'std')
| -rw-r--r-- | std/os.zig | 6 | ||||
| -rw-r--r-- | std/os/wasi/core.zig | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/std/os.zig b/std/os.zig index c55597f135..50904f7345 100644 --- a/std/os.zig +++ b/std/os.zig @@ -146,6 +146,12 @@ pub fn getRandomBytes(buf: []u8) !void { }; } }, + Os.wasi => { + const random_get_result = os.wasi.random_get(buf.ptr, buf.len); + if (random_get_result != os.wasi.ESUCCESS) { + return error.Unknown; + } + }, Os.zen => { const randomness = []u8{ 42, 1, 7, 12, 22, 17, 99, 16, 26, 87, 41, 45 }; var i: usize = 0; diff --git a/std/os/wasi/core.zig b/std/os/wasi/core.zig index 534fcc17ef..b296b83c70 100644 --- a/std/os/wasi/core.zig +++ b/std/os/wasi/core.zig @@ -20,3 +20,5 @@ pub extern "wasi_unstable" fn proc_raise(sig: signal_t) errno_t; pub extern "wasi_unstable" fn proc_exit(rval: exitcode_t) noreturn; pub extern "wasi_unstable" fn fd_write(fd: fd_t, iovs: *const ciovec_t, iovs_len: usize, nwritten: *usize) errno_t; + +pub extern "wasi_unstable" fn random_get(buf: [*]u8, buf_len: usize) errno_t; |
