1=pod
2
3=head1 NAME
4
5SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data - internal application specific data functions
6
7=head1 SYNOPSIS
8
9 #include <openssl/ssl.h>
10
11 int SSL_SESSION_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_SESSION_set_ex_data(SSL_SESSION *session, int idx, void *arg);
17
18 void *SSL_SESSION_get_ex_data(const SSL_SESSION *session, 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_SESSION_get_ex_new_index() is used to register a new index for application
34specific data.
35
36SSL_SESSION_set_ex_data() is used to store application data at B<arg> for B<idx>
37into the B<session> object.
38
39SSL_SESSION_get_ex_data() is used to retrieve the information for B<idx> from
40B<session>.
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 WARNINGS
48
49The application data is only maintained for sessions held in memory. The
50application data is not included when dumping the session with
51i2d_SSL_SESSION() (and all functions indirectly calling the dump functions
52like PEM_write_SSL_SESSION() and PEM_write_bio_SSL_SESSION()) and can
53therefore not be restored.
54
55=head1 SEE ALSO
56
57L<ssl(3)|ssl(3)>,
58L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
59L<CRYPTO_set_ex_data(3)|CRYPTO_set_ex_data(3)>
60
61=cut
62