Monero
Loading...
Searching...
No Matches
randombytes.h
Go to the documentation of this file.
1
2#ifndef randombytes_H
3#define randombytes_H
4
5#include <sys/types.h>
6
7#include <stddef.h>
8#include <stdint.h>
9
10#include "export.h"
11
12#ifdef __cplusplus
13# if __GNUC__
14# pragma GCC diagnostic ignored "-Wlong-long"
15# endif
16extern "C" {
17#endif
18
20 const char *(*implementation_name)(void); /* required */
21 uint32_t (*random)(void); /* required */
22 void (*stir)(void); /* optional */
23 uint32_t (*uniform)(const uint32_t upper_bound); /* optional, a default implementation will be used if NULL */
24 void (*buf)(void * const buf, const size_t size); /* required */
25 int (*close)(void); /* optional */
27
28SODIUM_EXPORT
29void randombytes_buf(void * const buf, const size_t size);
30
31SODIUM_EXPORT
33
34SODIUM_EXPORT
36
37SODIUM_EXPORT
39
40SODIUM_EXPORT
42
43SODIUM_EXPORT
45
46SODIUM_EXPORT
48
49/* -- NaCl compatibility interface -- */
50
51SODIUM_EXPORT
52void randombytes(unsigned char * const buf, const unsigned long long buf_len);
53
54#ifdef __cplusplus
55}
56#endif
57
58#endif
SODIUM_EXPORT uint32_t randombytes_random(void)
SODIUM_EXPORT uint32_t randombytes_uniform(const uint32_t upper_bound)
SODIUM_EXPORT void randombytes_buf(void *const buf, const size_t size)
SODIUM_EXPORT int randombytes_close(void)
SODIUM_EXPORT void randombytes_stir(void)
SODIUM_EXPORT const char * randombytes_implementation_name(void)
SODIUM_EXPORT void randombytes(unsigned char *const buf, const unsigned long long buf_len)
SODIUM_EXPORT int randombytes_set_implementation(randombytes_implementation *impl)
const char * buf
Definition slow_memmem.cpp:73
unsigned int uint32_t
Definition stdint.h:126
Definition randombytes.h:19
void(* buf)(void *const buf, const size_t size)
Definition randombytes.h:24
uint32_t(* random)(void)
Definition randombytes.h:21
uint32_t(* uniform)(const uint32_t upper_bound)
Definition randombytes.h:23
void(* stir)(void)
Definition randombytes.h:22
int(* close)(void)
Definition randombytes.h:25