Totally get rid of CRYPTO_LOCK_ERR_HASH.
[openssl.git] / crypto / err / err.h
index 0fb8e02650584e797e5b548d7bdfe229bc8253e7..c3b54983ba2d69394e30e096adaa083f2f9ea8a9 100644 (file)
@@ -259,6 +259,7 @@ void ERR_print_errors(BIO *bp);
 void ERR_add_error_data(int num, ...);
 #endif
 void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
+void ERR_unload_strings(int lib,ERR_STRING_DATA str[]);
 void ERR_load_ERR_strings(void);
 void ERR_load_crypto_strings(void);
 void ERR_free_strings(void);
@@ -274,6 +275,15 @@ LHASH *ERR_get_err_state_table(void); /* even less thread-safe than
 
 int ERR_get_next_error_library(void);
 
+/* This opaque type encapsulates the low-level error-state functions */
+typedef struct st_ERR_FNS ERR_FNS;
+/* An application can use this function and provide the return value to loaded
+ * modules that should use the application's ERR state/functionality */
+const ERR_FNS *ERR_get_implementation(void);
+/* A loaded module should call this function prior to any ERR operations using
+ * the application's "ERR_FNS". */
+int ERR_set_implementation(const ERR_FNS *fns);
+
 #ifdef __cplusplus
 }
 #endif