1*2175Sjp161948=pod 2*2175Sjp161948 3*2175Sjp161948=head1 NAME 4*2175Sjp161948 5*2175Sjp161948CRYPTO_set_ex_data, CRYPTO_get_ex_data - internal application specific data functions 6*2175Sjp161948 7*2175Sjp161948=head1 SYNOPSIS 8*2175Sjp161948 9*2175Sjp161948 int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg); 10*2175Sjp161948 11*2175Sjp161948 void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx); 12*2175Sjp161948 13*2175Sjp161948=head1 DESCRIPTION 14*2175Sjp161948 15*2175Sjp161948Several OpenSSL structures can have application specific data attached to them. 16*2175Sjp161948These functions are used internally by OpenSSL to manipulate application 17*2175Sjp161948specific data attached to a specific structure. 18*2175Sjp161948 19*2175Sjp161948These functions should only be used by applications to manipulate 20*2175Sjp161948B<CRYPTO_EX_DATA> structures passed to the B<new_func()>, B<free_func()> and 21*2175Sjp161948B<dup_func()> callbacks: as passed to B<RSA_get_ex_new_index()> for example. 22*2175Sjp161948 23*2175Sjp161948B<CRYPTO_set_ex_data()> is used to set application specific data, the data is 24*2175Sjp161948supplied in the B<arg> parameter and its precise meaning is up to the 25*2175Sjp161948application. 26*2175Sjp161948 27*2175Sjp161948B<CRYPTO_get_ex_data()> is used to retrieve application specific data. The data 28*2175Sjp161948is returned to the application, this will be the same value as supplied to 29*2175Sjp161948a previous B<CRYPTO_set_ex_data()> call. 30*2175Sjp161948 31*2175Sjp161948=head1 RETURN VALUES 32*2175Sjp161948 33*2175Sjp161948B<CRYPTO_set_ex_data()> returns 1 on success or 0 on failure. 34*2175Sjp161948 35*2175Sjp161948B<CRYPTO_get_ex_data()> returns the application data or 0 on failure. 0 may also 36*2175Sjp161948be valid application data but currently it can only fail if given an invalid B<idx> 37*2175Sjp161948parameter. 38*2175Sjp161948 39*2175Sjp161948On failure an error code can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>. 40*2175Sjp161948 41*2175Sjp161948=head1 SEE ALSO 42*2175Sjp161948 43*2175Sjp161948L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>, 44*2175Sjp161948L<DSA_get_ex_new_index(3)|DSA_get_ex_new_index(3)>, 45*2175Sjp161948L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)> 46*2175Sjp161948 47*2175Sjp161948=head1 HISTORY 48*2175Sjp161948 49*2175Sjp161948CRYPTO_set_ex_data() and CRYPTO_get_ex_data() have been available since SSLeay 0.9.0. 50*2175Sjp161948 51*2175Sjp161948=cut 52