172613Skris=pod
272613Skris
372613Skris=head1 NAME
472613Skris
572613SkrisSSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data - internal application specific data functions
672613Skris
772613Skris=head1 SYNOPSIS
872613Skris
972613Skris #include <openssl/ssl.h>
1072613Skris
1172613Skris int SSL_SESSION_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_SESSION_set_ex_data(SSL_SESSION *session, int idx, void *arg);
1772613Skris
18160814Ssimon void *SSL_SESSION_get_ex_data(const SSL_SESSION *session, 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_SESSION_get_ex_new_index() is used to register a new index for application
3472613Skrisspecific data.
3572613Skris
3672613SkrisSSL_SESSION_set_ex_data() is used to store application data at B<arg> for B<idx>
3772613Skrisinto the B<session> object.
3872613Skris
3972613SkrisSSL_SESSION_get_ex_data() is used to retrieve the information for B<idx> from
4072613SkrisB<session>.
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 WARNINGS
4872613Skris
4972613SkrisThe application data is only maintained for sessions held in memory. The
5072613Skrisapplication data is not included when dumping the session with
5172613Skrisi2d_SSL_SESSION() (and all functions indirectly calling the dump functions
5272613Skrislike PEM_write_SSL_SESSION() and PEM_write_bio_SSL_SESSION()) and can
5372613Skristherefore not be restored.
5472613Skris
5572613Skris=head1 SEE ALSO
5672613Skris
5772613SkrisL<ssl(3)|ssl(3)>,
5872613SkrisL<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
5972613SkrisL<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>
6072613Skris
6172613Skris=cut
62