SSL_GET_EX_NEW_INDEX(3) Library Functions Manual SSL_GET_EX_NEW_INDEX(3)
NAME
SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data — internal application specific data functions
SYNOPSIS
#include <openssl/ssl.h>
int
SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
int
SSL_set_ex_data(SSL *ssl, int idx, void *arg);
void *
SSL_get_ex_data(const SSL *ssl, int idx);
typedef int
new_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
int idx, long argl, void *argp);
typedef void free_func(void *parent, void *ptr,
CRYPTO_EX_DATA *ad,
int idx, long argl, void *argp);
typedef int dup_func(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA
*from, void *from_d,
int idx, long argl, void *argp);
DESCRIPTION
Several OpenSSL structures can have application specific data attached to them. These functions are used internally by OpenSSL to manipulate application specific data attached to a specific structure.
SSL_get_ex_new_index() is used to register a new index for application specific data.
SSL_set_ex_data() is used to store application data at arg for idx into the ssl object.
SSL_get_ex_data() is used to retrieve the information for idx from ssl.
A detailed description for the *_get_ex_new_index() functionality can be found in RSA_get_ex_new_index(3). The *_get_ex_data() and *_set_ex_data() functionality is described in CRYPTO_set_ex_data(3).
EXAMPLES
An example of how to use the functionality is included in the example verify_callback() in SSL_CTX_set_verify(3).
SEE ALSO
CRYPTO_set_ex_data(3), RSA_get_ex_new_index(3), ssl(3), SSL_CTX_set_verify(3)
HISTORY
Precursor functions SSL_set_app_data() and SSL_get_app_data() first appeared in SSLeay 0.6.1.
SSL_get_ex_new_index(), SSL_set_ex_data(), and SSL_get_ex_data() first appeared in SSLeay 0.9.0 and have been available since OpenBSD 2.4. GNU March 27, 2018 SSL_GET_EX_NEW_INDEX(3)