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.