diff options
Diffstat (limited to 'include/sys/random.h')
-rw-r--r-- | include/sys/random.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/sys/random.h b/include/sys/random.h new file mode 100644 index 000000000..b7f83ce1a --- /dev/null +++ b/include/sys/random.h @@ -0,0 +1,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 */ |