summaryrefslogtreecommitdiffstats
path: root/sys/dev/random/randomdev.h
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>2015-07-12 18:14:38 +0000
committermarkm <markm@FreeBSD.org>2015-07-12 18:14:38 +0000
commit4637ff6821091c57822745d18854f54b02203327 (patch)
tree5ad967e986577467824558c7d72ffc554a5b9df7 /sys/dev/random/randomdev.h
parent69cdb114a9d0ef83c599d0e47901b96584f2c361 (diff)
downloadFreeBSD-src-4637ff6821091c57822745d18854f54b02203327.zip
FreeBSD-src-4637ff6821091c57822745d18854f54b02203327.tar.gz
* Address review (and add a bit myself).
- Tweek man page. - Remove all mention of RANDOM_FORTUNA. If the system owner wants YARROW or DUMMY, they ask for it, otherwise they get FORTUNA. - Tidy up headers a bit. - Tidy up declarations a bit. - Make static in a couple of places where needed. - Move Yarrow/Fortuna SYSINIT/SYSUNINIT to randomdev.c, moving us towards a single file where the algorithm context is used. - Get rid of random_*_process_buffer() functions. They were only used in one place each, and are better subsumed into those places. - Remove *_post_read() functions as they are stubs everywhere. - Assert against buffer size illegalities. - Clean up some silly code in the randomdev_read() routine. - Make the harvesting more consistent. - Make some requested argument name changes. - Tidy up and clarify a few comments. - Make some requested comment changes. - Make some requested macro changes. * NOTE: the thing calling itself a 'unit test' is not yet a proper unit test, but it helps me ensure things work. It may be a proper unit test at some time in the future, but for now please don't make any assumptions or hold any expectations. Differential Revision: https://reviews.freebsd.org/D2025 Approved by: so (/dev/random blanket)
Diffstat (limited to 'sys/dev/random/randomdev.h')
-rw-r--r--sys/dev/random/randomdev.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/random/randomdev.h b/sys/dev/random/randomdev.h
index 0af741f..799efb1 100644
--- a/sys/dev/random/randomdev.h
+++ b/sys/dev/random/randomdev.h
@@ -29,6 +29,8 @@
#ifndef SYS_DEV_RANDOM_RANDOMDEV_H_INCLUDED
#define SYS_DEV_RANDOM_RANDOMDEV_H_INCLUDED
+#ifdef _KERNEL
+
/* This header contains only those definitions that are global
* and non algorithm-specific for the entropy processor
*/
@@ -55,11 +57,12 @@ MALLOC_DECLARE(M_ENTROPY);
#define RANDOM_ALG_READ_RATE_MINIMUM 32
+#endif /* _KERNEL */
+
struct harvest_event;
typedef void random_alg_pre_read_t(void);
typedef void random_alg_read_t(uint8_t *, u_int);
-typedef void random_alg_post_read_t(void);
typedef void random_alg_write_t(uint8_t *, u_int);
typedef int random_alg_seeded_t(void);
typedef void random_alg_reseed_t(void);
@@ -74,9 +77,10 @@ typedef u_int random_source_read_t(void *, u_int);
struct random_algorithm {
const char *ra_ident;
u_int ra_poolcount;
+ void (*ra_init_alg)(void *);
+ void (*ra_deinit_alg)(void *);
random_alg_pre_read_t *ra_pre_read;
random_alg_read_t *ra_read;
- random_alg_post_read_t *ra_post_read;
random_alg_write_t *ra_write;
random_alg_reseed_t *ra_reseed;
random_alg_seeded_t *ra_seeded;
@@ -85,6 +89,8 @@ struct random_algorithm {
extern struct random_algorithm random_alg_context;
+#ifdef _KERNEL
+
/*
* Random Source is a source of entropy that can provide
* specified or approximate amount of entropy immediately
@@ -108,6 +114,8 @@ void random_source_deregister(struct random_source *);
void random_sources_feed(void);
+#endif /* _KERNEL */
+
void randomdev_unblock(void);
#endif /* SYS_DEV_RANDOM_RANDOMDEV_H_INCLUDED */
OpenPOWER on IntegriCloud