ERR_error_string, ERR_error_string_n, ERR_lib_error_string, ERR_func_error_string, ERR_reason_error_string - obtain human-readable error message
#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);
ERR_error_string()
generates a human-readable string representing the
error code e, and places it at buf. buf must be at least 120
bytes long. If buf is NULL, the error string is placed in a
static buffer.
ERR_error_string_n()
is a variant of ERR_error_string()
that writes
at most len characters (including the terminating 0)
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]
error code is an 8 digit hexadecimal number, library name, function name and reason string are ASCII text.
ERR_lib_error_string(), ERR_func_error_string()
and
ERR_reason_error_string()
return the library name, function
name and reason string respectively.
The OpenSSL error strings should be loaded by calling ERR_load_crypto_strings or, for SSL applications, SSL_load_error_strings first. If there is no text string registered for the given error code, the error string will contain the numeric code.
ERR_print_errors can be used to print all error codes currently in the queue.
ERR_error_string()
returns a pointer to a static buffer containing the
string if buf == NULL, buf otherwise.
ERR_lib_error_string(), ERR_func_error_string()
and
ERR_reason_error_string()
return the strings, and NULL if
none is registered for the error code.
err, ERR_get_error, ERR_load_crypto_strings, SSL_load_error_strings ERR_print_errors
ERR_error_string()
is available in all versions of SSLeay and OpenSSL.
ERR_error_string_n()
was added in OpenSSL 0.9.6.