1=pod
2
3=head1 NAME
4
5BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data,
6ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data,
7UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data,
8X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data,
9X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data,
10X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data,
11DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data,
12DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data,
13ECDH_get_ex_new_index, ECDH_set_ex_data, ECDH_get_ex_data,
14EC_KEY_get_ex_new_index, EC_KEY_set_ex_data, EC_KEY_get_ex_data,
15RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data
16- application-specific data
17
18=head1 SYNOPSIS
19
20=for comment generic
21
22 #include <openssl/x509.h>
23
24 int TYPE_get_ex_new_index(long argl, void *argp,
25                           CRYPTO_EX_new *new_func,
26                           CRYPTO_EX_dup *dup_func,
27                           CRYPTO_EX_free *free_func);
28
29 int TYPE_set_ex_data(TYPE *d, int idx, void *arg);
30
31 void *TYPE_get_ex_data(TYPE *d, int idx);
32
33=head1 DESCRIPTION
34
35In the description here, I<TYPE> is used a placeholder
36for any of the OpenSSL datatypes listed in
37L<CRYPTO_get_ex_new_index(3)>.
38
39These functions handle application-specific data for OpenSSL data
40structures.
41
42TYPE_get_ex_new_index() is a macro that calls CRYPTO_get_ex_new_index()
43with the correct B<index> value.
44
45TYPE_set_ex_data() is a function that calls CRYPTO_set_ex_data() with
46an offset into the opaque exdata part of the TYPE object.
47
48TYPE_get_ex_data() is a function that calls CRYPTO_get_ex_data() with
49an offset into the opaque exdata part of the TYPE object.
50
51=head1 RETURN VALUES
52
53TYPE_get_ex_new_index() returns a new index on success or -1 on error.
54
55TYPE_set_ex_data() returns 1 on success or 0 on error.
56
57TYPE_get_ex_data() returns the application data or NULL if an error occurred.
58
59=head1 SEE ALSO
60
61L<CRYPTO_get_ex_new_index(3)>.
62
63=head1 COPYRIGHT
64
65Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved.
66
67Licensed under the OpenSSL license (the "License").  You may not use
68this file except in compliance with the License.  You can obtain a copy
69in the file LICENSE in the source distribution or at
70L<https://www.openssl.org/source/license.html>.
71
72=cut
73