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