From 990dafb1c3a66076a1b3d66b901395ebc24de277 Mon Sep 17 00:00:00 2001 From: mdw Date: Wed, 26 Oct 2005 15:43:09 +0000 Subject: [PATCH] Allow insertion of new random data into the pool as a miscop. --- rand.c | 7 +++++++ rand.h | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/rand.c b/rand.c index c50e10a..b0622c2 100644 --- a/rand.c +++ b/rand.c @@ -466,6 +466,7 @@ static int gmisc(grand *r, unsigned op, ...) case RAND_SEED: case RAND_TIMER: case RAND_GOODBITS: + case RAND_ADD: rc = 1; break; default: @@ -515,6 +516,12 @@ static int gmisc(grand *r, unsigned op, ...) case RAND_GOODBITS: rc = rand_goodbits(&g->p); break; + case RAND_ADD: { + const void *p = va_arg(ap, const void *); + size_t sz = va_arg(ap, size_t); + unsigned goodbits = va_arg(ap, unsigned); + rand_add(&g->p, p, sz, goodbits); + } break; default: GRAND_BADOP; break; diff --git a/rand.h b/rand.h index 22f0188..25f806b 100644 --- a/rand.h +++ b/rand.h @@ -285,7 +285,9 @@ enum { RAND_NOISESRC, /* @const rand_source *s@ */ RAND_SEED, /* @unsigned bits@ */ RAND_TIMER, /* No args */ - RAND_GOODBITS /* No args */ + RAND_GOODBITS, /* No args */ + RAND_ADD /* @const void *p, size_t sz,@ + * @unsigned goodbits */ }; /* --- Default random number generator --- */ -- 2.11.0