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