master
1#include <errno.h>
2#include <unistd.h>
3#ifdef __wasilibc_use_wasip2
4#include <wasi/libc.h>
5#else
6#include <wasi/api.h>
7#endif
8
9int __getentropy(void *buffer, size_t len) {
10 if (len > 256) {
11 errno = EIO;
12 return -1;
13 }
14
15#ifdef __wasilibc_use_wasip2
16 int r = __wasilibc_random(buffer, len);
17#else
18 int r = __wasi_random_get(buffer, len);
19#endif
20 if (r != 0) {
21 errno = r;
22 return -1;
23 }
24 return 0;
25}
26weak_alias(__getentropy, getentropy);