1=pod 2 3=head1 NAME 4 5ERR_GET_LIB, ERR_GET_FUNC, ERR_GET_REASON, ERR_FATAL_ERROR 6- get information from error codes 7 8=head1 SYNOPSIS 9 10 #include <openssl/err.h> 11 12 int ERR_GET_LIB(unsigned long e); 13 14 int ERR_GET_FUNC(unsigned long e); 15 16 int ERR_GET_REASON(unsigned long e); 17 18 int ERR_FATAL_ERROR(unsigned long e); 19 20=head1 DESCRIPTION 21 22The error code returned by ERR_get_error() consists of a library 23number, function code and reason code. ERR_GET_LIB(), ERR_GET_FUNC() 24and ERR_GET_REASON() can be used to extract these. 25 26ERR_FATAL_ERROR() indicates whether a given error code is a fatal error. 27 28The library number and function code describe where the error 29occurred, the reason code is the information about what went wrong. 30 31Each sub-library of OpenSSL has a unique library number; function and 32reason codes are unique within each sub-library. Note that different 33libraries may use the same value to signal different functions and 34reasons. 35 36B<ERR_R_...> reason codes such as B<ERR_R_MALLOC_FAILURE> are globally 37unique. However, when checking for sub-library specific reason codes, 38be sure to also compare the library number. 39 40ERR_GET_LIB(), ERR_GET_FUNC(), ERR_GET_REASON(), and ERR_FATAL_ERROR() 41 are macros. 42 43=head1 RETURN VALUES 44 45The library number, function code, reason code, and whether the error 46is fatal, respectively. 47 48=head1 SEE ALSO 49 50L<ERR_get_error(3)> 51 52=head1 HISTORY 53 54ERR_GET_LIB(), ERR_GET_FUNC() and ERR_GET_REASON() are available in 55all versions of OpenSSL. 56 57=head1 COPYRIGHT 58 59Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. 60 61Licensed under the OpenSSL license (the "License"). You may not use 62this file except in compliance with the License. You can obtain a copy 63in the file LICENSE in the source distribution or at 64L<https://www.openssl.org/source/license.html>. 65 66=cut 67