Use RAND_METHOD for implementing RAND_status.
[openssl.git] / crypto / rand / rand.h
index 5ab94a779b5ba722e93c84a851175724ad35f232..79cb9047a2754729e685d91c574c640cfe0312b2 100644 (file)
@@ -68,10 +68,15 @@ typedef 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, int entropy);
+       void (*add)(const void *buf, int num, double entropy);
        int (*pseudorand)(unsigned char *buf, int num);
+       int (*status)(void);
        } RAND_METHOD;
 
+#ifdef BN_DEBUG
+extern int rand_predictable;
+#endif
+
 void RAND_set_rand_method(RAND_METHOD *meth);
 RAND_METHOD *RAND_get_rand_method(void );
 RAND_METHOD *RAND_SSLeay(void);
@@ -79,11 +84,13 @@ void RAND_cleanup(void );
 int  RAND_bytes(unsigned char *buf,int num);
 int  RAND_pseudo_bytes(unsigned char *buf,int num);
 void RAND_seed(const void *buf,int num);
-void RAND_add(const void *buf,int num,int entropy);
+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);
-char *RAND_file_name(char *file,int num);
-#ifdef WINDOWS
+const char *RAND_file_name(char *file,int num);
+int RAND_status(void);
+int RAND_egd(const char *path);
+#if defined(WINDOWS) || defined(WIN32)
 void RAND_screen(void);
 #endif
 void   ERR_load_RAND_strings(void);