ERR_PUT_ERROR(3ssl) OpenSSL ERR_PUT_ERROR(3ssl) ERR_raise, ERR_raise_data, ERR_put_error, ERR_add_error_data, ERR_add_error_vdata, ERR_add_error_txt, ERR_add_error_mem_bio - #include void ERR_raise(int lib, int reason); void ERR_raise_data(int lib, int reason, const char *fmt, ...); void ERR_add_error_data(int num, ...); void ERR_add_error_vdata(int num, va_list arg); void ERR_add_error_txt(const char *sep, const char *txt); void ERR_add_error_mem_bio(const char *sep, BIO *bio); OpenSSL 3.0 OPENSSL_API_COMPAT openssl_user_macros(7): void ERR_put_error(int lib, int func, int reason, const char *file, int line); ERR_raise() . lib reason. . ERR_raise_data() ERR_raise() fmt BIO_snprintf(3). ERR_put_error() . reason func lib line file. . ERR_add_error_data() num . ERR_add_error_vdata() va_list. . 4096 . ERR_add_error_txt() NULL . . sep "\n" . 4096 ( ) . ERR_add_error_mem_bio() ERR_add_error_txt() BIO . '\0' BIO NUL . ERR_load_strings(3) . OpenSSL OpenSSL ERR_LIB_XXX XXX_R_.... ERR_raise() ERR_raise_data() . OpenSSL. OpenSSL . ssl3_read_bytes() " " : ERR_raise(ERR_LIB_SSL, SSL_R_SSL_HANDSHAKE_FAILURE); : ERR_LIB_SYS " " . ERR_raise() ERR_raise_data() errno(3). ERR_raise(ERR_LIB_SYS, errno); ERR_R_XXX . ERR_raise(ERR_LIB_RSA, ERR_R_PASSED_INVALID_ARGUMENT); OpenSSL . o "" ERR_get_next_error_library(3) . o "" . 1 524287 ( 18 ). " OpenSSL" ERR_LIB_SYS : ERR_raise(ERR_LIB_SYS, errno); ... ERR_R_XXX "" . int app_lib_code = ERR_get_next_error_library(); /* ... */ ERR_raise(app_lib_code, ERR_R_PASSED_INVALID_ARGUMENT); ERR_raise() ERR_raise_data() ERR_put_error() ERR_add_error_data() ERR_add_error_vdata() ERR_add_error_txt() ERR_add_error_mem_bio() . ERR_raise() ERR_raise() ERR_put_error() . ERR_load_strings(3) ERR_get_next_error_library(3) ERR_raise ERR_raise_data ERR_add_error_txt() ERR_add_error_mem_bio() OpenSSL 3.0. 2000-2020 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 ERR_PUT_ERROR(3ssl)