add getrandom syscall wrapper

This syscall is available since Linux 3.17 and was also implemented in
glibc in version 2.25 using the same interfaces.
This commit is contained in:
Hauke Mehrtens 2018-01-06 23:08:09 +01:00 committed by Rich Felker
parent 9bed82df30
commit e206582091
2 changed files with 26 additions and 0 deletions

19
include/sys/random.h Normal file
View File

@ -0,0 +1,19 @@
#ifndef _SYS_RANDOM_H
#define _SYS_RANDOM_H
#ifdef __cplusplus
extern "C" {
#endif
#define __NEED_size_t
#define __NEED_ssize_t
#include <bits/alltypes.h>
#define GRND_NONBLOCK 0x0001
#define GRND_RANDOM 0x0002
ssize_t getrandom(void *, size_t, unsigned);
#ifdef __cplusplus
}
#endif
#endif

7
src/linux/getrandom.c Normal file
View File

@ -0,0 +1,7 @@
#include <sys/random.h>
#include "syscall.h"
ssize_t getrandom(void *buf, size_t buflen, unsigned flags)
{
return syscall_cp(SYS_getrandom, buf, buflen, flags);
}