1#ifndef __VSF_LINUX_SYS_RANDOM_H__
2#define __VSF_LINUX_SYS_RANDOM_H__
5#if VSF_LINUX_CFG_RELATIVE_PATH == ENABLED
6# include "../sys/types.h"
15#if VSF_LINUX_CFG_WRAPPER == ENABLED
16#define getrandom VSF_LINUX_WRAPPER(getrandom)
19#define GRND_NONBLOCK 0x0001
20#define GRND_RANDOM 0x0002
22#if VSF_LINUX_APPLET_USE_SYS_RANDOM == ENABLED
28# ifndef __VSF_APPLET__
33#if defined(__VSF_APPLET__) && (defined(__VSF_APPLET_LIB__) || defined(__VSF_APPLET_LINUX_SYS_RANDOM_LIB__))\
34 && VSF_APPLET_CFG_ABI_PATCH != ENABLED && VSF_LINUX_APPLET_USE_SYS_RANDOM == ENABLED
36#ifndef VSF_LINUX_APPLET_SYS_RANDOM_VPLT
37# if VSF_LINUX_USE_APPLET == ENABLED
38# define VSF_LINUX_APPLET_SYS_RANDOM_VPLT \
39 ((vsf_linux_sys_random_vplt_t *)(VSF_LINUX_APPLET_VPLT->sys_random_vplt))
41# define VSF_LINUX_APPLET_SYS_RANDOM_VPLT \
42 ((vsf_linux_sys_random_vplt_t *)vsf_vplt((void *)0))
46#define VSF_LINUX_APPLET_SYS_RANDOM_ENTRY(__NAME) \
47 VSF_APPLET_VPLT_ENTRY_FUNC_ENTRY(VSF_LINUX_APPLET_SYS_RANDOM_VPLT, __NAME)
48#define VSF_LINUX_APPLET_SYS_RANDOM_IMP(...) \
49 VSF_APPLET_VPLT_ENTRY_FUNC_IMP(VSF_LINUX_APPLET_SYS_RANDOM_VPLT, __VA_ARGS__)
51VSF_LINUX_APPLET_SYS_RANDOM_IMP(
getrandom,
ssize_t,
void *buf,
size_t buflen,
unsigned int flags) {
53 return VSF_LINUX_APPLET_SYS_RANDOM_ENTRY(
getrandom)(buf, buflen, flags);
int ssize_t
Definition types.h:68
VSF_APPLET_VPLT_ENTRY_FUNC_DEF(getrandom)
vsf_vplt_info_t info
Definition random.h:24
__VSF_VPLT_DECORATOR__ vsf_linux_sys_random_vplt_t vsf_linux_sys_random_vplt
Definition vsf_linux.c:4750
#define getrandom
Definition random.h:16
#define __VSF_VPLT_DECORATOR__
Definition vsf_cfg.h:93
#define VSF_APPLET_VPLT_ENTRY_FUNC_TRACE()
Definition vsf_cfg.h:165