diff options
author | Riccardo Spagni <ric@spagni.net> | 2015-10-26 18:12:15 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2015-10-26 18:24:59 +0200 |
commit | 7003e7c1565c1d391d6b907dc8667083092b9543 (patch) | |
tree | 6218bba2ad3cdaa4a8c0be027587db736a2cc946 /src/crypto/crypto_ops_builder/include/sodium/randombytes.h | |
parent | Merge pull request #448 (diff) | |
parent | Merge branch 'master' of https://github.com/fluffypony/bitmonero (diff) | |
download | monero-7003e7c1565c1d391d6b907dc8667083092b9543.tar.xz |
Merge pull request #450
cbdf197 renamed folder (Riccardo Spagni)
bb0c161 renamed folder (Riccardo Spagni)
Diffstat (limited to 'src/crypto/crypto_ops_builder/include/sodium/randombytes.h')
-rw-r--r-- | src/crypto/crypto_ops_builder/include/sodium/randombytes.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/crypto/crypto_ops_builder/include/sodium/randombytes.h b/src/crypto/crypto_ops_builder/include/sodium/randombytes.h new file mode 100644 index 000000000..08aff0525 --- /dev/null +++ b/src/crypto/crypto_ops_builder/include/sodium/randombytes.h @@ -0,0 +1,58 @@ + +#ifndef randombytes_H +#define randombytes_H + +#include <sys/types.h> + +#include <stddef.h> +#include <stdint.h> + +#include "export.h" + +#ifdef __cplusplus +# if __GNUC__ +# pragma GCC diagnostic ignored "-Wlong-long" +# endif +extern "C" { +#endif + +typedef struct randombytes_implementation { + const char *(*implementation_name)(void); /* required */ + uint32_t (*random)(void); /* required */ + void (*stir)(void); /* optional */ + uint32_t (*uniform)(const uint32_t upper_bound); /* optional, a default implementation will be used if NULL */ + void (*buf)(void * const buf, const size_t size); /* required */ + int (*close)(void); /* optional */ +} randombytes_implementation; + +SODIUM_EXPORT +void randombytes_buf(void * const buf, const size_t size); + +SODIUM_EXPORT +uint32_t randombytes_random(void); + +SODIUM_EXPORT +uint32_t randombytes_uniform(const uint32_t upper_bound); + +SODIUM_EXPORT +void randombytes_stir(void); + +SODIUM_EXPORT +int randombytes_close(void); + +SODIUM_EXPORT +int randombytes_set_implementation(randombytes_implementation *impl); + +SODIUM_EXPORT +const char *randombytes_implementation_name(void); + +/* -- NaCl compatibility interface -- */ + +SODIUM_EXPORT +void randombytes(unsigned char * const buf, const unsigned long long buf_len); + +#ifdef __cplusplus +} +#endif + +#endif |