1
2
3
4
5
6
7 #ifndef _LINUX_RANDOM_H
8 #define _LINUX_RANDOM_H
9
10
11
12 #define RNDGETENTCNT 0x01080000
13 #define RNDADDTOENTCNT 0x01080001
14 #define RNDGETPOOL 0x01080002
15 #define RNDADDENTROPY 0x01080003
16 #define RNDZAPENTCNT 0x01080004
17
18 struct rand_pool_info {
19 int entropy_count;
20 int buf_size;
21 __u32 buf[0];
22 };
23
24
25
26 #ifdef __KERNEL__
27
28 extern void rand_initialize(void);
29 extern void rand_initialize_irq(int irq);
30 extern void rand_initialize_blkdev(int irq, int mode);
31
32 extern void add_keyboard_randomness(unsigned char scancode);
33 extern void add_mouse_randomness(__u32 mouse_data);
34 extern void add_interrupt_randomness(int irq);
35 extern void add_blkdev_randomness(int major);
36
37 extern void get_random_bytes(void *buf, int nbytes);
38
39 #ifndef MODULE
40 extern struct file_operations random_fops, urandom_fops;
41 #endif
42
43 #endif
44
45 #endif