admin
2025-07-17 6cd92a169cbc0db35042f243a09d976fd3e1445c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
=pod
 
=head1 NAME
 
ERR_GET_LIB, ERR_GET_FUNC, ERR_GET_REASON - get library, function and
reason code
 
=head1 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);
 
=head1 DESCRIPTION
 
The error code returned by ERR_get_error() 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, 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.
 
B<ERR_R_...> reason codes such as B<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_FUNC() and ERR_GET_REASON() are macros.
 
=head1 RETURN VALUES
 
The library number, function code and reason code respectively.
 
=head1 SEE ALSO
 
L<err(3)|err(3)>, L<ERR_get_error(3)|ERR_get_error(3)>
 
=head1 HISTORY
 
ERR_GET_LIB(), ERR_GET_FUNC() and ERR_GET_REASON() are available in
all versions of SSLeay and OpenSSL.
 
=cut