| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | =pod | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =head1 NAME | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-13 00:14:40 +08:00
										 |  |  | ERR_GET_LIB, ERR_GET_FUNC, ERR_GET_REASON, ERR_FATAL_ERROR | 
					
						
							|  |  |  | - get information from error codes | 
					
						
							| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =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); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-09 02:01:31 +08:00
										 |  |  |  int ERR_FATAL_ERROR(unsigned long e); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | =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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-09 02:01:31 +08:00
										 |  |  | ERR_FATAL_ERROR() indicates whether a given error code is a fatal error. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-09 02:01:31 +08:00
										 |  |  | ERR_GET_LIB(), ERR_GET_FUNC(), ERR_GET_REASON(), and ERR_FATAL_ERROR() | 
					
						
							|  |  |  |  are macros. | 
					
						
							| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 RETURN VALUES | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-09 02:01:31 +08:00
										 |  |  | The library number, function code, reason code, and whether the error | 
					
						
							|  |  |  | is fatal, respectively. | 
					
						
							| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 SEE ALSO | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-02 23:07:21 +08:00
										 |  |  | L<ERR_get_error(3)> | 
					
						
							| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | =head1 HISTORY | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ERR_GET_LIB(), ERR_GET_FUNC() and ERR_GET_REASON() are available in | 
					
						
							| 
									
										
										
										
											2015-10-28 01:40:11 +08:00
										 |  |  | all versions of OpenSSL. | 
					
						
							| 
									
										
										
										
											2000-02-01 09:37:00 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | =head1 COPYRIGHT | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-02 23:07:21 +08:00
										 |  |  | Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved. | 
					
						
							| 
									
										
										
										
											2016-05-18 23:44:05 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | Licensed under the OpenSSL license (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 | 
					
						
							|  |  |  | L<https://www.openssl.org/source/license.html>. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | =cut |