Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

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.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org