Provided by: libssl-doc_3.0.8-1ubuntu1_all bug

NAME

       ERR_GET_LIB, ERR_GET_REASON, ERR_FATAL_ERROR - get information from error codes

SYNOPSIS

        #include <openssl/err.h>

        int ERR_GET_LIB(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() consists of a library number and reason code.
       ERR_GET_LIB() and ERR_GET_REASON() can be used to extract these.

       ERR_FATAL_ERROR() indicates whether a given error code is a fatal error.

       The library number describes where the error occurred, the reason code is the information
       about what went wrong.

       Each sub-library of OpenSSL has a unique library number; the reason code is unique within
       each sub-library.  Note that different libraries may use the same value to signal
       different 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_GET_LIB(), ERR_GET_REASON(), and ERR_FATAL_ERROR() are macros.

RETURN VALUES

       The library number, reason code, and whether the error is fatal, respectively.  Starting
       with OpenSSL 3.0.0, the function code is always set to zero.

NOTES

       Applications should not make control flow decisions based on specific error codes. Error
       codes are subject to change at any time (even in patch releases of OpenSSL). A particular
       error code can only be considered meaningful for control flow decisions if it is
       explicitly documented as such. New failure codes may still appear at any time.

SEE ALSO

       ERR_get_error(3)

HISTORY

       ERR_GET_LIB() and ERR_GET_REASON() are available in all versions of OpenSSL.

       ERR_GET_FUNC() was removed in OpenSSL 3.0.

COPYRIGHT

       Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.

       Licensed under the Apache License 2.0 (the "License").  You may not use this file except
       in compliance with the License.  You can obtain a copy in the file LICENSE in the source
       distribution or at <https://www.openssl.org/source/license.html>.