5 ERR_error_string, ERR_error_string_n, ERR_lib_error_string,
6 ERR_func_error_string, ERR_reason_error_string - obtain human-readable
11 #include <openssl/err.h>
13 char *ERR_error_string(unsigned long e, char *buf);
14 void ERR_error_string_n(unsigned long e, char *buf, size_t len);
16 const char *ERR_lib_error_string(unsigned long e);
17 const char *ERR_func_error_string(unsigned long e);
18 const char *ERR_reason_error_string(unsigned long e);
22 ERR_error_string() generates a human-readable string representing the
23 error code I<e>, and places it at I<buf>. I<buf> must be at least 256
24 bytes long. If I<buf> is B<NULL>, the error string is placed in a
26 Note that this function is not thread-safe and does no checks on the size
27 of the buffer; use ERR_error_string_n() instead.
29 ERR_error_string_n() is a variant of ERR_error_string() that writes
30 at most I<len> characters (including the terminating 0)
31 and truncates the string if necessary.
32 For ERR_error_string_n(), I<buf> may not be B<NULL>.
34 The string will have the following format:
36 error:[error code]:[library name]:[function name]:[reason string]
38 I<error code> is an 8 digit hexadecimal number, I<library name>,
39 I<function name> and I<reason string> are ASCII text.
41 ERR_lib_error_string(), ERR_func_error_string() and
42 ERR_reason_error_string() return the library name, function
43 name and reason string respectively.
45 The OpenSSL error strings should be loaded by calling
46 L<ERR_load_crypto_strings(3)> or, for SSL
47 applications, L<SSL_load_error_strings(3)>
49 If there is no text string registered for the given error code,
50 the error string will contain the numeric code.
52 L<ERR_print_errors(3)> can be used to print
53 all error codes currently in the queue.
57 ERR_error_string() returns a pointer to a static buffer containing the
58 string if I<buf> B<== NULL>, I<buf> otherwise.
60 ERR_lib_error_string(), ERR_func_error_string() and
61 ERR_reason_error_string() return the strings, and B<NULL> if
62 none is registered for the error code.
66 L<err(3)>, L<ERR_get_error(3)>,
67 L<ERR_load_crypto_strings(3)>,
68 L<SSL_load_error_strings(3)>
69 L<ERR_print_errors(3)>