1*2175Sjp161948=pod 2*2175Sjp161948 3*2175Sjp161948=head1 NAME 4*2175Sjp161948 5*2175Sjp161948ERR_put_error, ERR_add_error_data - record an error 6*2175Sjp161948 7*2175Sjp161948=head1 SYNOPSIS 8*2175Sjp161948 9*2175Sjp161948 #include <openssl/err.h> 10*2175Sjp161948 11*2175Sjp161948 void ERR_put_error(int lib, int func, int reason, const char *file, 12*2175Sjp161948 int line); 13*2175Sjp161948 14*2175Sjp161948 void ERR_add_error_data(int num, ...); 15*2175Sjp161948 16*2175Sjp161948=head1 DESCRIPTION 17*2175Sjp161948 18*2175Sjp161948ERR_put_error() adds an error code to the thread's error queue. It 19*2175Sjp161948signals that the error of reason code B<reason> occurred in function 20*2175Sjp161948B<func> of library B<lib>, in line number B<line> of B<file>. 21*2175Sjp161948This function is usually called by a macro. 22*2175Sjp161948 23*2175Sjp161948ERR_add_error_data() associates the concatenation of its B<num> string 24*2175Sjp161948arguments with the error code added last. 25*2175Sjp161948 26*2175Sjp161948L<ERR_load_strings(3)|ERR_load_strings(3)> can be used to register 27*2175Sjp161948error strings so that the application can a generate human-readable 28*2175Sjp161948error messages for the error code. 29*2175Sjp161948 30*2175Sjp161948=head1 RETURN VALUES 31*2175Sjp161948 32*2175Sjp161948ERR_put_error() and ERR_add_error_data() return 33*2175Sjp161948no values. 34*2175Sjp161948 35*2175Sjp161948=head1 SEE ALSO 36*2175Sjp161948 37*2175Sjp161948L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)> 38*2175Sjp161948 39*2175Sjp161948=head1 HISTORY 40*2175Sjp161948 41*2175Sjp161948ERR_put_error() is available in all versions of SSLeay and OpenSSL. 42*2175Sjp161948ERR_add_error_data() was added in SSLeay 0.9.0. 43*2175Sjp161948 44*2175Sjp161948=cut 45