
#use wml::openssl-macros area=docs page=ERR_print_errors

<title>Documents, ERR_print_errors(3)</title>

<h1>ERR_print_errors(3)</h1>

#use wml::imp::generic

{:
## What's this? [[s|(<STRONG>[^<].+?)</A>(</STRONG><DD>)|$1$2|sg]]
[[s|<P>\s+<P>|<P>|sg]]
[[s|<P>\s+</|</|sg]]
[[s|<DD>\s*<DT>|<DD>&nbsp;<DT>|sg]]
[[s|<DD>\s*</DL>|<DD>&nbsp;</DL>|sg]]
[[s|\[|&#91;|sg]]
[[s|\]|&#93;|sg]]

<!-- INDEX BEGIN -->

<UL>

	<LI><A HREF="#NAME">NAME</A>
	<LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
	<LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
	<LI><A HREF="#RETURN_VALUES">RETURN VALUES</A>
	<LI><A HREF="#SEE_ALSO">SEE ALSO</A>
	<LI><A HREF="#HISTORY">HISTORY</A>
</UL>
<!-- INDEX END -->

<HR>
<P>
<HR>
<H1><A NAME="NAME">NAME</A></H1>
<P>
ERR_print_errors, ERR_print_errors_fp - print error messages

</P>
<P>
<HR>
<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
<PRE> #include &lt;openssl/err.h&gt;
</PRE>
<PRE> void ERR_print_errors(BIO *bp);
 void ERR_print_errors_fp(FILE *fp);
</PRE>
<P>
<HR>
<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
<P>
<CODE>ERR_print_errors()</CODE> is a convenience function that prints the
error strings for all errors that OpenSSL has recorded to <STRONG>bp</STRONG>, thus emptying the error queue.

</P>
<P>
<CODE>ERR_print_errors_fp()</CODE> is the same, except that the output goes
to a
<STRONG>FILE</STRONG>.

</P>
<P>
The error strings will have the following format:

</P>
<PRE> [pid]:error:[error code]:[library name]:[function name]:[reason string]:[file name]:[line]:[optional text message]
</PRE>
<P>
<EM>error code</EM> is an 8 digit hexadecimal number. <EM>library name</EM>,
<EM>function name</EM> and <EM>reason string</EM> are ASCII text, as is <EM>optional
text message</EM> if one was set for the respective error code.

</P>
<P>
If there is no text string registered for the given error code, the error
string will contain the numeric code.

</P>
<P>
<HR>
<H1><A NAME="RETURN_VALUES">RETURN VALUES</A></H1>
<P>
<CODE>ERR_print_errors()</CODE> and <CODE>ERR_print_errors_fp()</CODE>
return no values.

</P>
<P>
<HR>
<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
<P>
<A HREF="../crypto/err.html#">err(3)</A>, <A HREF="../crypto/ERR_error_string.html#">ERR_error_string(3)</A>,
<A HREF="../crypto/ERR_get_error.html#">ERR_get_error(3)</A>,
<A HREF="../crypto/ERR_load_crypto_strings.html#">ERR_load_crypto_strings(3)</A>,
<A HREF="../crypto/ERR_load_crypto_strings.html#">SSL_load_error_strings(3)</A>



</P>
<P>
<HR>
<H1><A NAME="HISTORY">HISTORY</A></H1>
<P>
<CODE>ERR_print_errors()</CODE> and <CODE>ERR_print_errors_fp()</CODE> are
available in all versions of SSLeay and OpenSSL.

</P>
:}

