1252190Srpaulo/*
2252190Srpaulo * Random number generator
3252190Srpaulo * Copyright (c) 2010-2011, Jouni Malinen <j@w1.fi>
4252190Srpaulo *
5252190Srpaulo * This software may be distributed under the terms of the BSD license.
6252190Srpaulo * See README for more details.
7252190Srpaulo */
8252190Srpaulo
9252190Srpaulo#ifndef RANDOM_H
10252190Srpaulo#define RANDOM_H
11252190Srpaulo
12252190Srpaulo#ifdef CONFIG_NO_RANDOM_POOL
13252190Srpaulo#define random_init(e) do { } while (0)
14252190Srpaulo#define random_deinit() do { } while (0)
15252190Srpaulo#define random_add_randomness(b, l) do { } while (0)
16252190Srpaulo#define random_get_bytes(b, l) os_get_random((b), (l))
17252190Srpaulo#define random_pool_ready() 1
18252190Srpaulo#define random_mark_pool_ready() do { } while (0)
19252190Srpaulo#else /* CONFIG_NO_RANDOM_POOL */
20252190Srpaulovoid random_init(const char *entropy_file);
21252190Srpaulovoid random_deinit(void);
22252190Srpaulovoid random_add_randomness(const void *buf, size_t len);
23252190Srpauloint random_get_bytes(void *buf, size_t len);
24252190Srpauloint random_pool_ready(void);
25252190Srpaulovoid random_mark_pool_ready(void);
26252190Srpaulo#endif /* CONFIG_NO_RANDOM_POOL */
27252190Srpaulo
28252190Srpaulo#endif /* RANDOM_H */
29