summaryrefslogtreecommitdiffstats
path: root/include/spl-random.h
blob: b7f83ce1afc4a6d91abe8b32a6cd58a3062fd0eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef _SPL_RANDOM_H
#define	_SPL_RANDOM_H

#ifdef	__cplusplus
extern "C" {
#endif

#include <linux/module.h>
#include <linux/random.h>

/* FIXME:
 * Should add support for blocking in the future to
 * ensure that proper entopy is collected.  ZFS doesn't
 * use it at the moment so this is good enough for now.
 * Always will succeed by returning 0.
 */
static __inline__ int
random_get_bytes(uint8_t *ptr, size_t len)
{
	BUG_ON(len < 0);
	get_random_bytes((void *)ptr,(int)len);
	return 0;
}

 /* Always will succeed by returning 0. */
static __inline__ int
random_get_pseudo_bytes(uint8_t *ptr, size_t len)
{
	BUG_ON(len < 0);
	get_random_bytes((void *)ptr,(int)len);
	return 0;
}

#ifdef	__cplusplus
}
#endif

#endif	/* _SPL_RANDOM_H */