aboutsummaryrefslogtreecommitdiff
path: root/src/rnd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rnd.h')
-rw-r--r--src/rnd.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/rnd.h b/src/rnd.h
new file mode 100644
index 0000000..706ebc1
--- /dev/null
+++ b/src/rnd.h
@@ -0,0 +1,26 @@
+#pragma once
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+
+struct prne_rnd {
+ void *ctx;
+ void (*free_ctx_f)(void*);
+ bool (*random)(void*, uint8_t *buf, size_t len);
+};
+
+typedef struct prne_rnd prne_rnd_t;
+
+
+void prne_init_rnd (prne_rnd_t *p);
+void prne_free_rnd (prne_rnd_t *p);
+bool prne_rnd (prne_rnd_t *p, uint8_t *buf, const size_t len);
+
+/*
+* is_len should be 64 bytes(512 bits).
+*/
+bool prne_rnd_alloc_well512 (
+ prne_rnd_t *p,
+ const uint8_t *is,
+ const size_t is_len);