172613Skris=pod
272613Skris
372613Skris=head1 NAME
472613Skris
572613SkrisSSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data - internal application specific data functions
672613Skris
772613Skris=head1 SYNOPSIS
872613Skris
972613Skris #include <openssl/ssl.h>
1072613Skris
1172613Skris int SSL_get_ex_new_index(long argl, void *argp,
1272613Skris                CRYPTO_EX_new *new_func,
1372613Skris                CRYPTO_EX_dup *dup_func,
1472613Skris                CRYPTO_EX_free *free_func);
1572613Skris
1672613Skris int SSL_set_ex_data(SSL *ssl, int idx, void *arg);
1772613Skris
18160814Ssimon void *SSL_get_ex_data(const SSL *ssl, int idx);
1972613Skris
2072613Skris typedef int new_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
2172613Skris                int idx, long argl, void *argp);
2272613Skris typedef void free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
2372613Skris                int idx, long argl, void *argp);
2472613Skris typedef int dup_func(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d,
2572613Skris                int idx, long argl, void *argp);
2672613Skris
2772613Skris=head1 DESCRIPTION
2872613Skris
2972613SkrisSeveral OpenSSL structures can have application specific data attached to them.
3072613SkrisThese functions are used internally by OpenSSL to manipulate application
3172613Skrisspecific data attached to a specific structure.
3272613Skris
3372613SkrisSSL_get_ex_new_index() is used to register a new index for application
3472613Skrisspecific data.
3572613Skris
3672613SkrisSSL_set_ex_data() is used to store application data at B<arg> for B<idx> into
3772613Skristhe B<ssl> object.
3872613Skris
3972613SkrisSSL_get_ex_data() is used to retrieve the information for B<idx> from
4072613SkrisB<ssl>.
4172613Skris
4272613SkrisA detailed description for the B<*_get_ex_new_index()> functionality
4379998Skriscan be found in L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>.
4472613SkrisThe B<*_get_ex_data()> and B<*_set_ex_data()> functionality is described in
4572613SkrisL<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>.
4672613Skris
4772613Skris=head1 EXAMPLES
4872613Skris
4972613SkrisAn example on how to use the functionality is included in the example
5072613Skrisverify_callback() in L<SSL_CTX_set_verify(3)|SSL_CTX_set_verify(3)>.
5172613Skris
5272613Skris=head1 SEE ALSO
5372613Skris
5472613SkrisL<ssl(3)|ssl(3)>,
5572613SkrisL<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
5672613SkrisL<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>,
5772613SkrisL<SSL_CTX_set_verify(3)|SSL_CTX_set_verify(3)>
5872613Skris
5972613Skris=cut
60