1=pod
2
3=head1 NAME
4
5SSL_CTX_get_ex_data, SSL_CTX_set_ex_data,
6SSL_get_ex_data, SSL_set_ex_data
7- Store and retrieve extra data from the SSL_CTX, SSL or SSL_SESSION
8
9=head1 SYNOPSIS
10
11 #include <openssl/ssl.h>
12
13 void *SSL_CTX_get_ex_data(const SSL_CTX *s, int idx);
14
15 int SSL_CTX_set_ex_data(SSL_CTX *s, int idx, void *arg);
16
17 void *SSL_get_ex_data(const SSL *s, int idx);
18
19 int SSL_set_ex_data(SSL *s, int idx, void *arg);
20
21=head1 DESCRIPTION
22
23SSL*_set_ex_data() functions can be used to store arbitrary user data into the
24B<SSL_CTX>, or B<SSL> object. The user must supply a unique index
25which they can subsequently use to retrieve the data using SSL*_get_ex_data().
26
27For more detailed information see L<CRYPTO_get_ex_data(3)> and
28L<CRYPTO_set_ex_data(3)> which implement these functions and
29L<CRYPTO_get_ex_new_index(3)> for generating a unique index.
30
31=head1 RETURN VALUES
32
33The SSL*_set_ex_data() functions return 1 if the item is successfully stored
34and 0 if it is not.
35The SSL*_get_ex_data() functions return the ex_data pointer if successful,
36otherwise NULL.
37
38=head1 SEE ALSO
39
40L<CRYPTO_get_ex_data(3)>, L<CRYPTO_set_ex_data(3)>,
41L<CRYPTO_get_ex_new_index(3)>
42
43=head1 COPYRIGHT
44
45Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
46
47Licensed under the OpenSSL license (the "License").  You may not use
48this file except in compliance with the License.  You can obtain a copy
49in the file LICENSE in the source distribution or at
50L<https://www.openssl.org/source/license.html>.
51
52=cut
53