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_new_ex_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_new_ex_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-2018 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