.\" $OpenBSD: CRYPTO_set_ex_data.3,v 1.3 2016/11/10 14:34:18 jmc Exp $ .\" .Dd $Mdocdate: November 10 2016 $ .Dt CRYPTO_SET_EX_DATA 3 .Os .Sh NAME .Nm CRYPTO_set_ex_data , .Nm CRYPTO_get_ex_data .Nd internal application specific data functions .Sh SYNOPSIS .In openssl/crypto.h .Ft int .Fo CRYPTO_set_ex_data .Fa "CRYPTO_EX_DATA *r" .Fa "int idx" .Fa "void *arg" .Fc .Ft void * .Fo CRYPTO_get_ex_data .Fa "CRYPTO_EX_DATA *r" .Fa "int idx" .Fc .Sh 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. .Pp These functions should only be used by applications to manipulate .Vt CRYPTO_EX_DATA structures passed to the .Fn new_func , .Fn free_func , and .Fn dup_func callbacks, as passed to .Xr RSA_get_ex_new_index 3 , for example. .Pp .Fn CRYPTO_set_ex_data is used to set application specific data. The data is supplied in the .Fa arg parameter and its precise meaning is up to the application. .Pp .Fn CRYPTO_get_ex_data is used to retrieve application specific data. The data is returned to the application; this will be the same value as supplied to a previous .Fn CRYPTO_set_ex_data call. .Sh RETURN VALUES .Fn CRYPTO_set_ex_data returns 1 on success or 0 on failure. .Pp .Fn CRYPTO_get_ex_data returns the application data or 0 on failure. 0 may also be valid application data but currently it can only fail if given an invalid .Fa idx parameter. .Pp On failure an error code can be obtained from .Xr ERR_get_error 3 . .Sh SEE ALSO .Xr DH_get_ex_new_index 3 , .Xr DSA_get_ex_new_index 3 , .Xr RSA_get_ex_new_index 3 .Sh HISTORY .Fn CRYPTO_set_ex_data and .Fn CRYPTO_get_ex_data have been available since SSLeay 0.9.0.