#ifndef OPENSSL_HEADER_RAND_H
#define OPENSSL_HEADER_RAND_H
#include <openssl/base.h>
#if defined(__cplusplus)
extern "C" {
#endif
OPENSSL_EXPORT int RAND_bytes(uint8_t *buf, size_t len);
OPENSSL_EXPORT void RAND_get_system_entropy_for_custom_prng(uint8_t *buf,
size_t len);
OPENSSL_EXPORT void RAND_cleanup(void);
#if !defined(OPENSSL_WINDOWS)
OPENSSL_EXPORT void RAND_enable_fork_unsafe_buffering(int fd);
#endif
#if defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE)
OPENSSL_EXPORT void RAND_reset_for_fuzzing(void);
#endif
OPENSSL_EXPORT int RAND_pseudo_bytes(uint8_t *buf, size_t len);
OPENSSL_EXPORT void RAND_seed(const void *buf, int num);
OPENSSL_EXPORT int RAND_load_file(const char *path, long num);
OPENSSL_EXPORT const char *RAND_file_name(char *buf, size_t num);
OPENSSL_EXPORT void RAND_add(const void *buf, int num, double entropy);
OPENSSL_EXPORT int RAND_egd(const char *);
OPENSSL_EXPORT int RAND_poll(void);
OPENSSL_EXPORT int RAND_status(void);
struct rand_meth_st {
void (*seed) (const void *buf, int num);
int (*bytes) (uint8_t *buf, size_t num);
void (*cleanup) (void);
void (*add) (const void *buf, int num, double entropy);
int (*pseudorand) (uint8_t *buf, size_t num);
int (*status) (void);
};
OPENSSL_EXPORT RAND_METHOD *RAND_SSLeay(void);
OPENSSL_EXPORT RAND_METHOD *RAND_OpenSSL(void);
OPENSSL_EXPORT const RAND_METHOD *RAND_get_rand_method(void);
OPENSSL_EXPORT int RAND_set_rand_method(const RAND_METHOD *);
#if defined(__cplusplus)
} #endif
#endif