summaryrefslogtreecommitdiff
path: root/src/libsodium/include/sodium/randombytes_sysrandom.h
blob: 20dab78180c4b029dc5c85d9cb6f30557e183672 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

#ifndef randombytes_sysrandom_H
#define randombytes_sysrandom_H

/*
 * THREAD SAFETY: randombytes_sysrandom() functions are thread-safe,
 * provided that you called sodium_init() once before using any
 * other libsodium function.
 */

#include <stddef.h>
#include <stdint.h>

#include "export.h"

#ifdef __cplusplus
extern "C" {
#endif

SODIUM_EXPORT
extern struct randombytes_implementation randombytes_sysrandom_implementation;

SODIUM_EXPORT
const char *randombytes_sysrandom_implementation_name(void);

SODIUM_EXPORT
uint32_t    randombytes_sysrandom(void);

SODIUM_EXPORT
void        randombytes_sysrandom_stir(void);

SODIUM_EXPORT
uint32_t    randombytes_sysrandom_uniform(const uint32_t upper_bound);

SODIUM_EXPORT
void        randombytes_sysrandom_buf(void * const buf, const size_t size);

SODIUM_EXPORT
int         randombytes_sysrandom_close(void);

#ifdef __cplusplus
}
#endif

#endif