Blame view
include/linux/random.h
1.83 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 |
/* * include/linux/random.h * * Include file for the random number generator. */ |
1da177e4c Linux-2.6.12-rc2 |
6 7 |
#ifndef _LINUX_RANDOM_H #define _LINUX_RANDOM_H |
607ca46e9 UAPI: (Scripted) ... |
8 |
#include <uapi/linux/random.h> |
1da177e4c Linux-2.6.12-rc2 |
9 |
|
1da177e4c Linux-2.6.12-rc2 |
10 |
|
a2080a67a random: create ad... |
11 |
extern void add_device_randomness(const void *, unsigned int); |
1da177e4c Linux-2.6.12-rc2 |
12 13 |
extern void add_input_randomness(unsigned int type, unsigned int code, unsigned int value); |
775f4b297 random: make 'add... |
14 |
extern void add_interrupt_randomness(int irq, int irq_flags); |
1da177e4c Linux-2.6.12-rc2 |
15 16 |
extern void get_random_bytes(void *buf, int nbytes); |
c2557a303 random: add new g... |
17 |
extern void get_random_bytes_arch(void *buf, int nbytes); |
1da177e4c Linux-2.6.12-rc2 |
18 |
void generate_random_uuid(unsigned char uuid_out[16]); |
1da177e4c Linux-2.6.12-rc2 |
19 |
#ifndef MODULE |
540473208 [PATCH] mark stru... |
20 |
extern const struct file_operations random_fops, urandom_fops; |
1da177e4c Linux-2.6.12-rc2 |
21 22 23 24 |
#endif unsigned int get_random_int(void); unsigned long randomize_range(unsigned long start, unsigned long end, unsigned long len); |
496f2f93b random32: rename ... |
25 |
u32 prandom_u32(void); |
6582c665d prandom: introduc... |
26 |
void prandom_bytes(void *buf, int nbytes); |
496f2f93b random32: rename ... |
27 |
void prandom_seed(u32 seed); |
aaa248f6c [PATCH] rename ne... |
28 |
|
496f2f93b random32: rename ... |
29 |
u32 prandom_u32_state(struct rnd_state *); |
6582c665d prandom: introduc... |
30 |
void prandom_bytes_state(struct rnd_state *state, void *buf, int nbytes); |
5960164fd lib/random32: exp... |
31 32 33 34 35 36 37 38 39 40 |
/* * Handle minimum values for seeds */ static inline u32 __seed(u32 x, u32 m) { return (x < m) ? x + m : x; } /** |
496f2f93b random32: rename ... |
41 |
* prandom_seed_state - set seed for prandom_u32_state(). |
5960164fd lib/random32: exp... |
42 43 44 |
* @state: pointer to state structure to receive the seed. * @seed: arbitrary 64-bit value to use as a seed. */ |
496f2f93b random32: rename ... |
45 |
static inline void prandom_seed_state(struct rnd_state *state, u64 seed) |
5960164fd lib/random32: exp... |
46 47 48 49 50 51 52 |
{ u32 i = (seed >> 32) ^ (seed << 10) ^ seed; state->s1 = __seed(i, 1); state->s2 = __seed(i, 7); state->s3 = __seed(i, 15); } |
63d771732 random: Add suppo... |
53 54 55 56 57 58 59 60 61 62 63 64 |
#ifdef CONFIG_ARCH_RANDOM # include <asm/archrandom.h> #else static inline int arch_get_random_long(unsigned long *v) { return 0; } static inline int arch_get_random_int(unsigned int *v) { return 0; } #endif |
055dc21a1 soreuseport: infr... |
65 66 67 68 69 |
/* Pseudo random number generator from numerical recipes. */ static inline u32 next_pseudo_random32(u32 seed) { return seed * 1664525 + 1013904223; } |
1da177e4c Linux-2.6.12-rc2 |
70 |
#endif /* _LINUX_RANDOM_H */ |