=pod

=head1 NAME

ERR_put_error, ERR_add_error_data - record an error

=head1 SYNOPSIS

 #include <openssl/err.h>

 void ERR_put_error(int lib, int func, int reason, const char *file,
         int line);

 void ERR_add_error_data(int num, ...);

=head1 DESCRIPTION

ERR_put_error() adds an error code to the thread's error queue. It
signals that the error of reason code B<reason> occurred in function
B<func> of library B<lib>, in line number B<line> of B<file>.
This function is usually called by a macro.

ERR_add_error_data() associates the concatenation of its B<num> string
arguments with the error code added last.

L<ERR_load_strings(3)|ERR_load_strings(3)> can be used to register
error strings so that the application can a generate human-readable
error messages for the error code.

=head1 RETURN VALUES

ERR_put_error() and ERR_add_error_data() return
no values.

=head1 SEE ALSO

L<err(3)|err(3)>, L<ERR_load_strings(3)|ERR_load_strings(3)>

=head1 HISTORY

ERR_put_error() is available in all versions of SSLeay and OpenSSL.
ERR_add_error_data() was added in SSLeay 0.9.0.

=cut
