| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | 
 | /* | 
 |  * include/linux/random.h | 
 |  * | 
 |  * Include file for the random number generator. | 
 |  */ | 
 |  | 
 | #ifndef _UAPI_LINUX_RANDOM_H | 
 | #define _UAPI_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.) */ | 
 | #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[0]; | 
 | }; | 
 |  | 
 | /* | 
 |  * 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 | 
 |  | 
 | #endif /* _UAPI_LINUX_RANDOM_H */ |