Deprecate RAND_pseudo_bytes
[openssl.git] / doc / crypto / CRYPTO_set_ex_data.pod
1 =pod
2
3 =head1 NAME
4
5 CRYPTO_set_ex_data, CRYPTO_get_ex_data - internal application specific data functions
6
7 =head1 SYNOPSIS
8
9  #include <openssl/crypto.h>
10
11  int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg);
12
13  void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx);
14
15 =head1 DESCRIPTION
16
17 Several OpenSSL structures can have application specific data attached to them.
18 These functions are used internally by OpenSSL to manipulate application
19 specific data attached to a specific structure.
20
21 These functions should only be used by applications to manipulate
22 B<CRYPTO_EX_DATA> structures passed to the B<new_func()>, B<free_func()> and
23 B<dup_func()> callbacks: as passed to B<RSA_get_ex_new_index()> for example.
24
25 B<CRYPTO_set_ex_data()> is used to set application specific data, the data is
26 supplied in the B<arg> parameter and its precise meaning is up to the
27 application.
28
29 B<CRYPTO_get_ex_data()> is used to retrieve application specific data. The data
30 is returned to the application, this will be the same value as supplied to
31 a previous B<CRYPTO_set_ex_data()> call.
32
33 =head1 RETURN VALUES
34
35 B<CRYPTO_set_ex_data()> returns 1 on success or 0 on failure.
36
37 B<CRYPTO_get_ex_data()> returns the application data or 0 on failure. 0 may also
38 be valid application data but currently it can only fail if given an invalid B<idx>
39 parameter.
40
41 On failure an error code can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>.
42
43 =head1 SEE ALSO
44
45 L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
46 L<DSA_get_ex_new_index(3)|DSA_get_ex_new_index(3)>,
47 L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)>
48
49 =head1 HISTORY
50
51 CRYPTO_set_ex_data() and CRYPTO_get_ex_data() have been available since SSLeay 0.9.0.
52
53 =cut