NAME
ERR_error_string
,
ERR_error_string_n
,
ERR_lib_error_string
,
ERR_func_error_string
,
ERR_reason_error_string
—
obtain human-readable OpenSSL error
messages
SYNOPSIS
#include
<openssl/err.h>
char *
ERR_error_string
(unsigned long
e, char *buf);
void
ERR_error_string_n
(unsigned long
e, char *buf, size_t
len);
const char *
ERR_lib_error_string
(unsigned long
e);
const char *
ERR_func_error_string
(unsigned long
e);
const char *
ERR_reason_error_string
(unsigned long
e);
DESCRIPTION
ERR_error_string
()
generates a human-readable string representing the error code
e and places it in buf.
buf must be at least 256 bytes long. If
buf is NULL
, the error string
is placed in a static buffer. Note that this function is not thread-safe and
does no checks on the size of the buffer; use
ERR_error_string_n
() instead.
ERR_error_string_n
()
is a variant of ERR_error_string
() that writes at
most len characters (including the terminating NUL)
and truncates the string if necessary. For
ERR_error_string_n
(), buf may
not be NULL
.
The string will have the following format:
error:[error code]:[library
name]:[function name]:[reason string]
The error code is an 8-digit hexadecimal number. The library name, the function name, and the reason string are ASCII text.
ERR_lib_error_string
(),
ERR_func_error_string
(),
and
ERR_reason_error_string
()
return the library name, the function name, and the reason string,
respectively.
The OpenSSL error strings should be loaded by calling ERR_load_crypto_strings(3) or, for SSL applications, SSL_load_error_strings(3) first. If there is no text string registered for the given error code, the error string will contain the numeric code.
ERR_print_errors(3) can be used to print all error codes currently in the queue.
RETURN VALUES
ERR_error_string
() returns a pointer to a
static buffer containing the string if buf is
NULL
, or buf otherwise.
ERR_lib_error_string
(),
ERR_func_error_string
(), and
ERR_reason_error_string
() return the strings, or
NULL
if none is registered for the error code.
SEE ALSO
ERR(3), ERR_get_error(3), ERR_load_crypto_strings(3), ERR_print_errors(3), SSL_load_error_strings(3)
HISTORY
ERR_error_string
(),
ERR_lib_error_string
(),
ERR_func_error_string
(), and
ERR_reason_error_string
() first appeared in SSLeay
0.4.4 and have been available since OpenBSD 2.4.
ERR_error_string_n
() first appeared in
OpenSSL 0.9.6 and has been available since OpenBSD
2.9.