aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme.h.in
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2025-03-14 12:03:46 +0000
committerWerner Koch <[email protected]>2025-03-14 12:08:37 +0000
commit926b1f1f1e3e382f08cc57fc86d5892649514007 (patch)
treeddc1bab10152c7de64a9c4167620f0683eac4a7f /src/gpgme.h.in
parentm4: Update libassuan.m4. (diff)
downloadgpgme-926b1f1f1e3e382f08cc57fc86d5892649514007.tar.gz
gpgme-926b1f1f1e3e382f08cc57fc86d5892649514007.zip
Add API gpgme_op_random_value.
* src/genrandom.c (getrandom_size_t): New. (gpgme_op_random_value): New. * src/gpgme.def: Add new function. * src/libgpgme.vers: Ditto. * src/gpgme.h.in: Add prototype. * tests/run-genrandom.c: Add an option to use the new function. -- The implementation is not optimized but sufficient for our use case. Possible improvements for this and gpgme_op_random_bytes are a cache for random bytes in the context so that we do not need to get out to gpgme for just a few random bytes. GnuPG-bug-id: 6694
Diffstat (limited to 'src/gpgme.h.in')
-rw-r--r--src/gpgme.h.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index 9c0c7977..705d9741 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -2481,10 +2481,15 @@ typedef enum
}
gpgme_random_mode_t;
-/* Fill BUFFER with BUFSIZE random bytes from gpg. */
+/* Fill BUFFER with BUFSIZE random bytes from gpg or return an error. */
gpgme_error_t gpgme_op_random_bytes (gpgme_ctx_t ctx, gpgme_random_mode_t mode,
char *buffer, size_t bufsize);
+/* Store an unbiased random value in the range [0,LIMIT) at RETVAL or
+ * return an error. */
+gpgme_error_t gpgme_op_random_value (gpgme_ctx_t ctx, size_t limit,
+ size_t *retval);
+
/*