1=pod 2 3=head1 NAME 4 5SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data - internal application specific data functions 6 7=head1 SYNOPSIS 8 9 #include <openssl/ssl.h> 10 11 int SSL_get_ex_new_index(long argl, void *argp, 12 CRYPTO_EX_new *new_func, 13 CRYPTO_EX_dup *dup_func, 14 CRYPTO_EX_free *free_func); 15 16 int SSL_set_ex_data(SSL *ssl, int idx, void *arg); 17 18 void *SSL_get_ex_data(const SSL *ssl, int idx); 19 20 typedef int new_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, 21 int idx, long argl, void *argp); 22 typedef void free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, 23 int idx, long argl, void *argp); 24 typedef int dup_func(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, 25 int idx, long argl, void *argp); 26 27=head1 DESCRIPTION 28 29Several OpenSSL structures can have application specific data attached to them. 30These functions are used internally by OpenSSL to manipulate application 31specific data attached to a specific structure. 32 33SSL_get_ex_new_index() is used to register a new index for application 34specific data. 35 36SSL_set_ex_data() is used to store application data at B<arg> for B<idx> into 37the B<ssl> object. 38 39SSL_get_ex_data() is used to retrieve the information for B<idx> from 40B<ssl>. 41 42A detailed description for the B<*_get_ex_new_index()> functionality 43can be found in L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>. 44The B<*_get_ex_data()> and B<*_set_ex_data()> functionality is described in 45L<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>. 46 47=head1 EXAMPLES 48 49An example on how to use the functionality is included in the example 50verify_callback() in L<SSL_CTX_set_verify(3)|SSL_CTX_set_verify(3)>. 51 52=head1 SEE ALSO 53 54L<ssl(3)|ssl(3)>, 55L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>, 56L<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>, 57L<SSL_CTX_set_verify(3)|SSL_CTX_set_verify(3)> 58 59=cut 60