NAME
ERR_get_error
,
ERR_peek_error
,
ERR_peek_last_error
,
ERR_get_error_line
,
ERR_peek_error_line
,
ERR_peek_last_error_line
,
ERR_get_error_line_data
,
ERR_peek_error_line_data
,
ERR_peek_last_error_line_data
—
obtain OpenSSL error code and
data
SYNOPSIS
#include
<openssl/err.h>
unsigned long
ERR_get_error
(void);
unsigned long
ERR_peek_error
(void);
unsigned long
ERR_peek_last_error
(void);
unsigned long
ERR_get_error_line
(const char
**file, int *line);
unsigned long
ERR_peek_error_line
(const char
**file, int *line);
unsigned long
ERR_peek_last_error_line
(const char
**file, int *line);
unsigned long
ERR_get_error_line_data
(const char
**file, int *line, const char
**data, int *flags);
unsigned long
ERR_peek_error_line_data
(const char
**file, int *line, const char
**data, int *flags);
unsigned long
ERR_peek_last_error_line_data
(const
char **file, int *line, const
char **data, int *flags);
DESCRIPTION
ERR_get_error
()
returns the earliest error code from the thread's error queue and removes the
entry. This function can be called repeatedly until there are no more error
codes to return.
ERR_peek_error
()
returns the earliest error code from the thread's error queue without
modifying it.
ERR_peek_last_error
()
returns the latest error code from the thread's error queue without
modifying it.
See ERR_GET_LIB(3) for obtaining information about the location and reason for the error, and ERR_error_string(3) for human-readable error messages.
ERR_get_error_line
(),
ERR_peek_error_line
(),
and
ERR_peek_last_error_line
()
are the same as the above, but they additionally store the file name and
line number where the error occurred in *file and
*line, unless these are
NULL
.
ERR_get_error_line_data
(),
ERR_peek_error_line_data
(),
and
ERR_peek_last_error_line_data
()
store additional data and flags associated with the error code in
*data and *flags, unless these
are NULL
. *data contains a
string if
*flags&ERR_TXT_STRING
is
true.
An application MUST NOT free the *data pointer (or any other pointers returned by these functions) with free(3) as freeing is handled automatically by the error library.
RETURN VALUES
The error code, or 0 if there is no error in the queue.
SEE ALSO
HISTORY
ERR_get_error
() and
ERR_peek_error
() first appeared in SSLeay 0.4.4.
ERR_get_error_line
() and
ERR_peek_error_line
() first appeared in SSLeay
0.6.0. ERR_get_error_line_data
() and
ERR_peek_error_line_data
() first appeared in SSLeay
0.9.0. All these functions have been available since
OpenBSD 2.4.
ERR_peek_last_error
(),
ERR_peek_last_error_line
(), and
ERR_peek_last_error_line_data
() first appeared in
OpenSSL 0.9.7 and have been available since OpenBSD
3.2.