1/*
2 * Copyright 2013, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		J��r��me Duval, korli@berlios.de
7 */
8#ifndef _YARROW_RNG_H
9#define _YARROW_RNG_H
10
11
12#include <OS.h>
13
14#include "random.h"
15
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21status_t yarrow_init();
22void yarrow_uninit();
23void yarrow_enqueue_randomness(const uint64 value);
24
25status_t yarrow_rng_read(void* cookie, void *_buffer, size_t *_numBytes);
26status_t yarrow_rng_write(void* cookie, const void *_buffer, size_t *_numBytes);
27
28
29#define RANDOM_INIT yarrow_init
30#define RANDOM_UNINIT yarrow_uninit
31#define RANDOM_ENQUEUE yarrow_enqueue_randomness
32#define RANDOM_READ yarrow_rng_read
33#define RANDOM_WRITE yarrow_rng_write
34
35
36#ifdef __cplusplus
37}
38#endif
39
40
41#endif /* _YARROW_RNG_H */
42