Skip to content

Commit e206582

Browse files
haukerichfelker
authored andcommitted
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.
1 parent 9bed82d commit e206582

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

include/sys/random.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#ifndef _SYS_RANDOM_H
2+
#define _SYS_RANDOM_H
3+
#ifdef __cplusplus
4+
extern "C" {
5+
#endif
6+
7+
#define __NEED_size_t
8+
#define __NEED_ssize_t
9+
#include <bits/alltypes.h>
10+
11+
#define GRND_NONBLOCK 0x0001
12+
#define GRND_RANDOM 0x0002
13+
14+
ssize_t getrandom(void *, size_t, unsigned);
15+
16+
#ifdef __cplusplus
17+
}
18+
#endif
19+
#endif

src/linux/getrandom.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include <sys/random.h>
2+
#include "syscall.h"
3+
4+
ssize_t getrandom(void *buf, size_t buflen, unsigned flags)
5+
{
6+
return syscall_cp(SYS_getrandom, buf, buflen, flags);
7+
}

0 commit comments

Comments
 (0)