Home | History | Annotate | Download | only in linux
      1 /*
      2  * include/linux/random.h
      3  *
      4  * Include file for the random number generator.
      5  */
      6 
      7 #ifndef _LINUX_RANDOM_H
      8 #define _LINUX_RANDOM_H
      9 
     10 #include <linux/types.h>
     11 #include <linux/ioctl.h>
     12 #include <linux/irqnr.h>
     13 
     14 /* ioctl()'s for the random number generator */
     15 
     16 /* Get the entropy count. */
     17 #define RNDGETENTCNT	_IOR( 'R', 0x00, int )
     18 
     19 /* Add to (or subtract from) the entropy count.  (Superuser only.) */
     20 #define RNDADDTOENTCNT	_IOW( 'R', 0x01, int )
     21 
     22 /* Get the contents of the entropy pool.  (Superuser only.) */
     23 #define RNDGETPOOL	_IOR( 'R', 0x02, int [2] )
     24 
     25 /*
     26  * Write bytes into the entropy pool and add to the entropy count.
     27  * (Superuser only.)
     28  */
     29 #define RNDADDENTROPY	_IOW( 'R', 0x03, int [2] )
     30 
     31 /* Clear entropy count to 0.  (Superuser only.) */
     32 #define RNDZAPENTCNT	_IO( 'R', 0x04 )
     33 
     34 /* Clear the entropy pool and associated counters.  (Superuser only.) */
     35 #define RNDCLEARPOOL	_IO( 'R', 0x06 )
     36 
     37 struct rand_pool_info {
     38 	int	entropy_count;
     39 	int	buf_size;
     40 	__u32	buf[0];
     41 };
     42 
     43 struct rnd_state {
     44 	__u32 s1, s2, s3;
     45 };
     46 
     47 /* Exported functions */
     48 
     49 
     50 #endif /* _LINUX_RANDOM_H */
     51