diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-07 20:10:31 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-07 20:10:31 +0100 |
| commit | fc00c656c96528112d05cf0edf8631bd5eaea446 (patch) | |
| tree | a6e0e6c588191a8bd1c64afc3b7a258e3e66c236 /include/arch/x86_64/linux/random.h | |
Add build system scaffolding and libc headers
Diffstat (limited to 'include/arch/x86_64/linux/random.h')
| -rw-r--r-- | include/arch/x86_64/linux/random.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/include/arch/x86_64/linux/random.h b/include/arch/x86_64/linux/random.h new file mode 100644 index 00000000..9e9e90a8 --- /dev/null +++ b/include/arch/x86_64/linux/random.h @@ -0,0 +1,76 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * include/linux/random.h + * + * Include file for the random number generator. + */ + +#ifndef _LINUX_RANDOM_H +#define _LINUX_RANDOM_H + +#include <linux/types.h> +#include <linux/ioctl.h> +#include <linux/irqnr.h> + +/* ioctl()'s for the random number generator */ + +/* Get the entropy count. */ +#define RNDGETENTCNT _IOR('R', 0x00, int) + +/* Add to (or subtract from) the entropy count. (Superuser only.) */ +#define RNDADDTOENTCNT _IOW('R', 0x01, int) + +/* Get the contents of the entropy pool. (Superuser only.) (Removed + * in 2.6.9-rc2.) */ +#define RNDGETPOOL _IOR('R', 0x02, int[2]) + +/* + * Write bytes into the entropy pool and add to the entropy count. + * (Superuser only.) + */ +#define RNDADDENTROPY _IOW('R', 0x03, int[2]) + +/* Clear entropy count to 0. (Superuser only.) */ +#define RNDZAPENTCNT _IO('R', 0x04) + +/* Clear the entropy pool and associated counters. (Superuser only.) */ +#define RNDCLEARPOOL _IO('R', 0x06) + +/* Reseed CRNG. (Superuser only.) */ +#define RNDRESEEDCRNG _IO('R', 0x07) + +struct rand_pool_info { + int entropy_count; + int buf_size; + __u32 buf[]; +}; + +/* + * Flags for getrandom(2) + * + * GRND_NONBLOCK Don't block and return EAGAIN instead + * GRND_RANDOM No effect + * GRND_INSECURE Return non-cryptographic random bytes + */ +#define GRND_NONBLOCK 0x0001 +#define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 + +/** + * struct vgetrandom_opaque_params - arguments for allocating memory for + * vgetrandom + * + * @size_per_opaque_state: Size of each state that is to be passed to + * vgetrandom(). + * @mmap_prot: Value of the prot argument in mmap(2). + * @mmap_flags: Value of the flags argument in mmap(2). + * @reserved: Reserved for future use. + */ +struct vgetrandom_opaque_params { + __u32 size_of_opaque_state; + __u32 mmap_prot; + __u32 mmap_flags; + __u32 reserved[13]; +}; + +#endif /* _LINUX_RANDOM_H */ |
