mirror of
https://git.proxmox.com/git/wasi-libc
synced 2025-08-14 16:13:15 +00:00
Declare getentropy in <sys/random.h>
Some systems, such as Darwin, only declare getentropy in <sys/random.h>, so declare it there on WASI too for compatibility. Also, give getentropy the underscore-prefix/weak-symbol treatment, as it's not a standard-reserved identifier.
This commit is contained in:
parent
9bb4cc5c41
commit
401012952d
@ -80,6 +80,7 @@ __fwritex
|
|||||||
__fwriting
|
__fwriting
|
||||||
__get_locale
|
__get_locale
|
||||||
__getdelim
|
__getdelim
|
||||||
|
__getentropy
|
||||||
__getopt_msg
|
__getopt_msg
|
||||||
__gmtime_r
|
__gmtime_r
|
||||||
__hwcap
|
__hwcap
|
||||||
|
@ -711,8 +711,6 @@
|
|||||||
#define GLOB_NOSPACE 1
|
#define GLOB_NOSPACE 1
|
||||||
#define GLOB_NOSYS 4
|
#define GLOB_NOSYS 4
|
||||||
#define GLOB_PERIOD 0x80
|
#define GLOB_PERIOD 0x80
|
||||||
#define GRND_NONBLOCK 0x0001
|
|
||||||
#define GRND_RANDOM 0x0002
|
|
||||||
#define GROUP_FILTER_SIZE(numsrc) (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) + (numsrc) * sizeof(struct sockaddr_storage))
|
#define GROUP_FILTER_SIZE(numsrc) (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) + (numsrc) * sizeof(struct sockaddr_storage))
|
||||||
#define HFIXEDSZ NS_HFIXEDSZ
|
#define HFIXEDSZ NS_HFIXEDSZ
|
||||||
#define HIBITL MINLONG
|
#define HIBITL MINLONG
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#error With threads support, getentropy is not intended to be a cancellation point.
|
#error With threads support, getentropy is not intended to be a cancellation point.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int getentropy(void *buffer, size_t len) {
|
int __getentropy(void *buffer, size_t len) {
|
||||||
if (len > 256) {
|
if (len > 256) {
|
||||||
errno = EIO;
|
errno = EIO;
|
||||||
return -1;
|
return -1;
|
||||||
@ -21,3 +21,4 @@ int getentropy(void *buffer, size_t len) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
extern __typeof(__getentropy) getentropy __attribute__((weak, alias("__getentropy")));
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __wasilibc_unmodified_upstream /* WASI has no getrandom, but it does have getentropy */
|
||||||
#define __NEED_size_t
|
#define __NEED_size_t
|
||||||
#define __NEED_ssize_t
|
#define __NEED_ssize_t
|
||||||
#include <bits/alltypes.h>
|
#include <bits/alltypes.h>
|
||||||
@ -12,6 +13,12 @@ extern "C" {
|
|||||||
#define GRND_RANDOM 0x0002
|
#define GRND_RANDOM 0x0002
|
||||||
|
|
||||||
ssize_t getrandom(void *, size_t, unsigned);
|
ssize_t getrandom(void *, size_t, unsigned);
|
||||||
|
#else
|
||||||
|
#define __NEED_size_t
|
||||||
|
#include <bits/alltypes.h>
|
||||||
|
|
||||||
|
int getentropy(void *, size_t);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user