Remove BN_init
[oweals/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 new_func(), free_func() and
23 dup_func() callbacks: as passed to RSA_get_ex_new_index() for example.
24
25 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 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 CRYPTO_set_ex_data() call.
32
33 =head1 RETURN VALUES
34
35 CRYPTO_set_ex_data() returns 1 on success or 0 on failure.
36
37 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)>.
42
43 =head1 SEE ALSO
44
45 L<RSA_get_ex_new_index(3)>,
46 L<DSA_get_ex_new_index(3)>,
47 L<DH_get_ex_new_index(3)>
48
49 =cut