diff options
Diffstat (limited to 'src/lib/libcrypto/doc/RAND_set_rand_method.pod')
-rw-r--r-- | src/lib/libcrypto/doc/RAND_set_rand_method.pod | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/lib/libcrypto/doc/RAND_set_rand_method.pod b/src/lib/libcrypto/doc/RAND_set_rand_method.pod new file mode 100644 index 0000000000..466e9b8767 --- /dev/null +++ b/src/lib/libcrypto/doc/RAND_set_rand_method.pod | |||
@@ -0,0 +1,57 @@ | |||
1 | =pod | ||
2 | |||
3 | =head1 NAME | ||
4 | |||
5 | RAND_set_rand_method, RAND_get_rand_method, RAND_SSLeay - select RAND method | ||
6 | |||
7 | =head1 SYNOPSIS | ||
8 | |||
9 | #include <openssl/rand.h> | ||
10 | |||
11 | void RAND_set_rand_method(RAND_METHOD *meth); | ||
12 | |||
13 | RAND_METHOD *RAND_get_rand_method(void); | ||
14 | |||
15 | RAND_METHOD *RAND_SSLeay(void); | ||
16 | |||
17 | =head1 DESCRIPTION | ||
18 | |||
19 | A B<RAND_METHOD> specifies the functions that OpenSSL uses for random | ||
20 | number generation. By modifying the method, alternative | ||
21 | implementations such as hardware RNGs may be used. Initially, the | ||
22 | default is to use the OpenSSL internal implementation. RAND_SSLeay() | ||
23 | returns a pointer to that method. | ||
24 | |||
25 | RAND_set_rand_method() sets the RAND method to B<meth>. | ||
26 | RAND_get_rand_method() returns a pointer to the current method. | ||
27 | |||
28 | =head1 THE RAND_METHOD STRUCTURE | ||
29 | |||
30 | typedef struct rand_meth_st | ||
31 | { | ||
32 | void (*seed)(const void *buf, int num); | ||
33 | int (*bytes)(unsigned char *buf, int num); | ||
34 | void (*cleanup)(void); | ||
35 | void (*add)(const void *buf, int num, int entropy); | ||
36 | int (*pseudorand)(unsigned char *buf, int num); | ||
37 | } RAND_METHOD; | ||
38 | |||
39 | The components point to the implementation of RAND_seed(), | ||
40 | RAND_bytes(), RAND_cleanup(), RAND_add() and RAND_pseudo_rand(). | ||
41 | Each component may be NULL if the function is not implemented. | ||
42 | |||
43 | =head1 RETURN VALUES | ||
44 | |||
45 | RAND_set_rand_method() returns no value. RAND_get_rand_method() and | ||
46 | RAND_SSLeay() return pointers to the respective methods. | ||
47 | |||
48 | =head1 SEE ALSO | ||
49 | |||
50 | L<rand(3)|rand(3)> | ||
51 | |||
52 | =head1 HISTORY | ||
53 | |||
54 | RAND_set_rand_method(), RAND_get_rand_method() and RAND_SSLeay() are | ||
55 | available in all versions of OpenSSL. | ||
56 | |||
57 | =cut | ||