diff options
author | markm <markm@FreeBSD.org> | 2015-07-12 18:14:38 +0000 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 2015-07-12 18:14:38 +0000 |
commit | 4637ff6821091c57822745d18854f54b02203327 (patch) | |
tree | 5ad967e986577467824558c7d72ffc554a5b9df7 /sys/dev/random/randomdev.h | |
parent | 69cdb114a9d0ef83c599d0e47901b96584f2c361 (diff) | |
download | FreeBSD-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.h | 12 |
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 */ |