ERR_load_strings(3ssl)

ERR_load_strings3ssl

Load arbitrary error strings

Usage

 #include <openssl/err.h>
 int ERR_load_strings(int lib, ERR_STRING_DATA *str);
 int ERR_get_next_error_library(void);
 unsigned long ERR_PACK(int lib, int func, int reason);

Overview

ERR_load_strings() registers error strings for library number lib.

str is an array of error string data:

 typedef struct ERR_string_data_st
 {
     unsigned long error;
     char *string;
 } ERR_STRING_DATA;

The error code is generated from the library number and a function and reason code: error = ERR_PACK(lib, func, reason). ERR_PACK() is a macro.

The last entry in the array is {0,0}.

ERR_get_next_error_library() can be used to assign library numbers to user libraries at run time.

Return values

ERR_load_strings() returns 1 for success and 0 for failure. ERR_PACK() returns the error code. ERR_get_next_error_library() returns zero on failure, otherwise a new library number.

Releases

13 releases since Debian 3.0 (Woody); the text changed 12 times.

  1. 3.0
  2. 3.1
  3. 4.0
  4. 5.0
  5. 6.0
  6. 7
  7. 8
  8. 9
  9. 10
  10. 11
  11. 12
  12. 13
  13. Arch

From openssl 3.6.5-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.