X509_STORE_CTX_GET_EX_NEW_INDEX(3)

NAME
X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, X509_STORE_CTX_set_app_data, X509_STORE_CTX_get_app_data - add application specific data to X509_STORE_CTX structures

SYNOPSIS
libcrypto
#include <openssl/x509_vfy.h>
int
X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
int
X509_STORE_CTX_set_ex_data(X509_STORE_CTX *d, int idx, void *arg);
void *
X509_STORE_CTX_get_ex_data(X509_STORE_CTX *d, int idx);
int
X509_STORE_CTX_set_app_data(X509_STORE_CTX *d, void *arg);
void *
X509_STORE_CTX_get_app_data(X509_STORE_CTX *d);

DESCRIPTION
These functions handle application specific data in X509_STORE_CTX structures. Their usage is identical to that of RSA_get_ex_new_index(3), RSA_set_ex_data(3), and RSA_get_ex_data(3).

This mechanism is used internally by the ssl(3) library to store the SSL structure associated with a verification operation in an X509_STORE_CTX structure.

X509_STORE_CTX_set_app_data() and X509_STORE_CTX_get_app_data() are macros calling X509_STORE_CTX_set_ex_data() and X509_STORE_CTX_get_ex_data(), respectively, with an idx of 0.

RETURN VALUES
X509_STORE_CTX_get_ex_new_index() returns a new index or -1 on failure.

X509_STORE_CTX_set_ex_data() and X509_STORE_CTX_set_app_data() return 1 on success or 0 on failure.

X509_STORE_CTX_get_ex_data() and X509_STORE_CTX_get_app_data() return the application data or NULL on failure. NULL may also be valid application data, but currently these functions can only fail if given an invalid idx argument.

SEE ALSO
RSA_get_ex_new_index(3), X509_STORE_CTX_new(3)

HISTORY
X509_STORE_CTX_set_app_data() and X509_STORE_CTX_get_app_data() first appeared in SSLeay 0.8.0 and X509_STORE_CTX_get_ex_new_index(), X509_STORE_CTX_set_ex_data(), and X509_STORE_CTX_get_ex_data() in SSLeay 0.9.0. All these functions have been available since OpenBSD 2.4.