18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Random number generator 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2010-2011, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef RANDOM_H 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define RANDOM_H 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifdef CONFIG_NO_RANDOM_POOL 1375ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinen#define random_init(e) do { } while (0) 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define random_deinit() do { } while (0) 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define random_add_randomness(b, l) do { } while (0) 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define random_get_bytes(b, l) os_get_random((b), (l)) 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define random_pool_ready() 1 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define random_mark_pool_ready() do { } while (0) 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#else /* CONFIG_NO_RANDOM_POOL */ 2075ecf5267604f166b85a7ee2cf0d9cb682966680Jouni Malinenvoid random_init(const char *entropy_file); 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid random_deinit(void); 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid random_add_randomness(const void *buf, size_t len); 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint random_get_bytes(void *buf, size_t len); 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint random_pool_ready(void); 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid random_mark_pool_ready(void); 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* CONFIG_NO_RANDOM_POOL */ 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* RANDOM_H */ 29