Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

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

ERR(3), ERR_get_error(3)

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.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org