SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data - internal application specific data functions
#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);
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. The *_get_ex_data() and *_set_ex_data() functionality is described in CRYPTO_set_ex_data.
An example on how to use the functionality is included in the example
verify_callback()
in SSL_CTX_set_verify.
ssl, RSA_get_ex_new_index, CRYPTO_set_ex_data, SSL_CTX_set_verify