authorgravatar for shritesh@shritesh.comShritesh Bhattarai <shritesh@shritesh.com> 2019-04-30 19:48:20-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-04-30 20:50:41-04:00
log1fabd6bbf355eb6111c4ed88be97f1ec2bf7b1ae
tree08865385688176839c86f76edc311d9054d66873
parent79a139ac633bc7f80f97d6be6f7f78a7aafa156b

wasi: implement getRandomBytes


2 files changed, 8 insertions(+), 0 deletions(-)

std/os.zig+6
...@@ -146,6 +146,12 @@ pub fn getRandomBytes(buf: []u8) !void {...@@ -146,6 +146,12 @@ pub fn getRandomBytes(buf: []u8) !void {
146 };146 };
147 }147 }
148 },148 },
149 Os.wasi => {
150 const random_get_result = os.wasi.random_get(buf.ptr, buf.len);
151 if (random_get_result != os.wasi.ESUCCESS) {
152 return error.Unknown;
153 }
154 },
149 Os.zen => {155 Os.zen => {
150 const randomness = []u8{ 42, 1, 7, 12, 22, 17, 99, 16, 26, 87, 41, 45 };156 const randomness = []u8{ 42, 1, 7, 12, 22, 17, 99, 16, 26, 87, 41, 45 };
151 var i: usize = 0;157 var i: usize = 0;
std/os/wasi/core.zig+2
...@@ -20,3 +20,5 @@ pub extern "wasi_unstable" fn proc_raise(sig: signal_t) errno_t;...@@ -20,3 +20,5 @@ pub extern "wasi_unstable" fn proc_raise(sig: signal_t) errno_t;
20pub extern "wasi_unstable" fn proc_exit(rval: exitcode_t) noreturn;20pub extern "wasi_unstable" fn proc_exit(rval: exitcode_t) noreturn;
2121
22pub extern "wasi_unstable" fn fd_write(fd: fd_t, iovs: *const ciovec_t, iovs_len: usize, nwritten: *usize) errno_t;22pub extern "wasi_unstable" fn fd_write(fd: fd_t, iovs: *const ciovec_t, iovs_len: usize, nwritten: *usize) errno_t;
23
24pub extern "wasi_unstable" fn random_get(buf: [*]u8, buf_len: usize) errno_t;