summaryrefslogtreecommitdiffstats
path: root/crypto/engine/eng_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/engine/eng_int.h')
-rw-r--r--crypto/engine/eng_int.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/crypto/engine/eng_int.h b/crypto/engine/eng_int.h
index 0eee21163a..f6a54d8567 100644
--- a/crypto/engine/eng_int.h
+++ b/crypto/engine/eng_int.h
@@ -65,12 +65,15 @@
# define HEADER_ENGINE_INT_H
# include "internal/cryptlib.h"
+# include "internal/threads.h"
# include <internal/engine.h>
#ifdef __cplusplus
extern "C" {
#endif
+extern CRYPTO_RWLOCK *global_engine_lock;
+
/*
* If we compile with this symbol defined, then both reference counts in the
* ENGINE structure will be monitored with a line of output on stderr for
@@ -97,7 +100,7 @@ extern "C" {
/*
* Any code that will need cleanup operations should use these functions to
* register callbacks. ENGINE_cleanup() will call all registered callbacks in
- * order. NB: both the "add" functions assume CRYPTO_LOCK_ENGINE to already be
+ * order. NB: both the "add" functions assume the engine lock to already be
* held (in "write" mode).
*/
typedef void (ENGINE_CLEANUP_CB) (void);
@@ -144,7 +147,7 @@ void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb *cb,
/*
* Internal versions of API functions that have control over locking. These
* are used between C files when functionality needs to be shared but the
- * caller may already be controlling of the CRYPTO_LOCK_ENGINE lock.
+ * caller may already be controlling of the engine lock.
*/
int engine_unlocked_init(ENGINE *e);
int engine_unlocked_finish(ENGINE *e, int unlock_for_handlers);
@@ -167,6 +170,10 @@ void engine_set_all_null(ENGINE *e);
void engine_pkey_meths_free(ENGINE *e);
void engine_pkey_asn1_meths_free(ENGINE *e);
+/* Once initialisation function */
+extern CRYPTO_ONCE engine_lock_init;
+void do_engine_lock_init(void);
+
/*
* This is a structure for storing implementations of various crypto
* algorithms and functions.