NAME
ERR_GET_LIB
,
ERR_GET_FUNC
,
ERR_GET_REASON
,
ERR_FATAL_ERROR
—
get library, function and reason codes
for OpenSSL errors
SYNOPSIS
#include
<openssl/err.h>
int
ERR_GET_LIB
(unsigned long
e);
int
ERR_GET_FUNC
(unsigned long
e);
int
ERR_GET_REASON
(unsigned long
e);
int
ERR_FATAL_ERROR
(unsigned long
e);
DESCRIPTION
The error code returned by
ERR_get_error(3) consists of a library number, function code, and
reason code.
ERR_GET_LIB
(),
ERR_GET_FUNC
(),
and
ERR_GET_REASON
()
can be used to extract these.
The library number and function code describe where the error occurred, whereas the reason code is the information about what went wrong.
Each sub-library of OpenSSL has a unique library number; function and reason codes are unique within each sub-library. Note that different libraries may use the same value to signal different functions and reasons.
ERR_R_*
reason codes such as
ERR_R_MALLOC_FAILURE
are globally unique. However,
when checking for sub-library specific reason codes, be sure to also compare
the library number.
ERR_FATAL_ERROR
()
indicates whether a given error code is a fatal error.
These functions are implemented as macros.
RETURN VALUES
ERR_GET_LIB
(),
ERR_GET_FUNC
(), and
ERR_GET_REASON
() return the library number, function
code, and reason code, respectively.
ERR_FATAL_ERROR
() returns non-zero if the
error is fatal or 0 otherwise.
SEE ALSO
HISTORY
ERR_GET_LIB
(),
ERR_GET_FUNC
(),
ERR_GET_REASON
(), and
ERR_FATAL_ERROR
() first appeared in SSLeay 0.4.4 and
have been available since OpenBSD 2.4.