X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Frand%2Frand.h;h=ac6c0217636f14d0af801360ae7b0b7ac46fb571;hb=82877ea449c322fce79d1b46c9ad354c15513f63;hp=28f45ec05269965e4a9b37819b16787016932a7d;hpb=4ec2d4d2b3a8cba1fdc656acd6b19d003191d779;p=oweals%2Fopenssl.git diff --git a/crypto/rand/rand.h b/crypto/rand/rand.h index 28f45ec052..ac6c021763 100644 --- a/crypto/rand/rand.h +++ b/crypto/rand/rand.h @@ -59,21 +59,44 @@ #ifndef HEADER_RAND_H #define HEADER_RAND_H +#include +#include +#include + +#if defined(OPENSSL_SYS_WINDOWS) +#include +#endif + #ifdef __cplusplus extern "C" { #endif -typedef struct rand_meth_st +#if defined(OPENSSL_FIPS) +#define FIPS_RAND_SIZE_T size_t +#endif + +/* Already defined in ossl_typ.h */ +/* typedef struct rand_meth_st RAND_METHOD; */ + +struct rand_meth_st { void (*seed)(const void *buf, int num); int (*bytes)(unsigned char *buf, int num); void (*cleanup)(void); void (*add)(const void *buf, int num, double entropy); int (*pseudorand)(unsigned char *buf, int num); - } RAND_METHOD; + int (*status)(void); + }; -void RAND_set_rand_method(RAND_METHOD *meth); -RAND_METHOD *RAND_get_rand_method(void ); +#ifdef BN_DEBUG +extern int rand_predictable; +#endif + +int RAND_set_rand_method(const RAND_METHOD *meth); +const RAND_METHOD *RAND_get_rand_method(void); +#ifndef OPENSSL_NO_ENGINE +int RAND_set_rand_engine(ENGINE *engine); +#endif RAND_METHOD *RAND_SSLeay(void); void RAND_cleanup(void ); int RAND_bytes(unsigned char *buf,int num); @@ -82,22 +105,30 @@ void RAND_seed(const void *buf,int num); void RAND_add(const void *buf,int num,double entropy); int RAND_load_file(const char *file,long max_bytes); int RAND_write_file(const char *file); -const char *RAND_file_name(char *file,int num); +const char *RAND_file_name(char *file,size_t num); int RAND_status(void); +int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); int RAND_egd(const char *path); -#ifdef WINDOWS +int RAND_egd_bytes(const char *path,int bytes); +int RAND_poll(void); + +#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) + void RAND_screen(void); +int RAND_event(UINT, WPARAM, LPARAM); + #endif -void ERR_load_RAND_strings(void); /* BEGIN ERROR CODES */ /* The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. */ +void ERR_load_RAND_strings(void); /* Error codes for the RAND functions. */ /* Function codes. */ +#define RAND_F_RAND_GET_RAND_METHOD 101 #define RAND_F_SSLEAY_RAND_BYTES 100 /* Reason codes. */ @@ -107,4 +138,3 @@ void ERR_load_RAND_strings(void); } #endif #endif -