libressl-X509_STORE_CTX_get_ex_new_index3
Add application specific data to x509_store_ctx structures
Usage
Crypto Library (libcrypto, -lcrypto)
#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);
Overview
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.