xref: /dflybsd-src/contrib/wpa_supplicant/src/crypto/random.h (revision bcf9aa4feb4a2fdf8ceac276d271a57f4b27e13d)
1*3ff40c12SJohn Marino /*
2*3ff40c12SJohn Marino  * Random number generator
3*3ff40c12SJohn Marino  * Copyright (c) 2010-2011, Jouni Malinen <j@w1.fi>
4*3ff40c12SJohn Marino  *
5*3ff40c12SJohn Marino  * This software may be distributed under the terms of the BSD license.
6*3ff40c12SJohn Marino  * See README for more details.
7*3ff40c12SJohn Marino  */
8*3ff40c12SJohn Marino 
9*3ff40c12SJohn Marino #ifndef RANDOM_H
10*3ff40c12SJohn Marino #define RANDOM_H
11*3ff40c12SJohn Marino 
12*3ff40c12SJohn Marino #ifdef CONFIG_NO_RANDOM_POOL
13*3ff40c12SJohn Marino #define random_init(e) do { } while (0)
14*3ff40c12SJohn Marino #define random_deinit() do { } while (0)
15*3ff40c12SJohn Marino #define random_add_randomness(b, l) do { } while (0)
16*3ff40c12SJohn Marino #define random_get_bytes(b, l) os_get_random((b), (l))
17*3ff40c12SJohn Marino #define random_pool_ready() 1
18*3ff40c12SJohn Marino #define random_mark_pool_ready() do { } while (0)
19*3ff40c12SJohn Marino #else /* CONFIG_NO_RANDOM_POOL */
20*3ff40c12SJohn Marino void random_init(const char *entropy_file);
21*3ff40c12SJohn Marino void random_deinit(void);
22*3ff40c12SJohn Marino void random_add_randomness(const void *buf, size_t len);
23*3ff40c12SJohn Marino int random_get_bytes(void *buf, size_t len);
24*3ff40c12SJohn Marino int random_pool_ready(void);
25*3ff40c12SJohn Marino void random_mark_pool_ready(void);
26*3ff40c12SJohn Marino #endif /* CONFIG_NO_RANDOM_POOL */
27*3ff40c12SJohn Marino 
28*3ff40c12SJohn Marino #endif /* RANDOM_H */
29