60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
=pod
 | 
						|
 | 
						|
=head1 NAME
 | 
						|
 | 
						|
RAND_set_rand_method, RAND_get_rand_method, RAND_SSLeay - select RAND method
 | 
						|
 | 
						|
=head1 SYNOPSIS
 | 
						|
 | 
						|
 #include <openssl/rand.h>
 | 
						|
 | 
						|
 void RAND_set_rand_method(RAND_METHOD *meth);
 | 
						|
 | 
						|
 RAND_METHOD *RAND_get_rand_method(void);
 | 
						|
 | 
						|
 RAND_METHOD *RAND_SSLeay(void);
 | 
						|
 | 
						|
=head1 DESCRIPTION
 | 
						|
 | 
						|
A B<RAND_METHOD> specifies the functions that OpenSSL uses for random
 | 
						|
number generation. By modifying the method, alternative
 | 
						|
implementations such as hardware RNGs may be used.  Initially, the
 | 
						|
default is to use the OpenSSL internal implementation. RAND_SSLeay()
 | 
						|
returns a pointer to that method.
 | 
						|
 | 
						|
RAND_set_rand_method() sets the RAND method to B<meth>.
 | 
						|
RAND_get_rand_method() returns a pointer to the current method.
 | 
						|
 | 
						|
=head1 THE RAND_METHOD STRUCTURE
 | 
						|
 | 
						|
 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);
 | 
						|
        int (*pseudorand)(unsigned char *buf, int num);
 | 
						|
	int (*status)(void);
 | 
						|
 } RAND_METHOD;
 | 
						|
 | 
						|
The components point to the implementation of RAND_seed(),
 | 
						|
RAND_bytes(), RAND_cleanup(), RAND_add(), RAND_pseudo_rand()
 | 
						|
and RAND_status().
 | 
						|
Each component may be NULL if the function is not implemented.
 | 
						|
 | 
						|
=head1 RETURN VALUES
 | 
						|
 | 
						|
RAND_set_rand_method() returns no value. RAND_get_rand_method() and
 | 
						|
RAND_SSLeay() return pointers to the respective methods.
 | 
						|
 | 
						|
=head1 SEE ALSO
 | 
						|
 | 
						|
L<rand(3)|rand(3)>
 | 
						|
 | 
						|
=head1 HISTORY
 | 
						|
 | 
						|
RAND_set_rand_method(), RAND_get_rand_method() and RAND_SSLeay() are
 | 
						|
available in all versions of OpenSSL.
 | 
						|
 | 
						|
=cut
 |