New function CRYPTO_num_locks.
diff --git a/CHANGES b/CHANGES
index 8e71a6a..b8d1876 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,11 @@
Changes between 0.9.3a and 0.9.4
+ *) New function "CRYPTO_num_locks" that returns CRYPTO_NUM_LOCKS.
+ Whoever hopes to achieve shared-library compatibility across versions
+ must use this, not the compile-time macro.
+ [Bodo Moeller]
+
*) Add missing case to s3_clnt.c state machine -- one of the new SSL tests
through a BIO pair triggered the default case, i.e.
SSLerr(...,SSL_R_UNKNOWN_STATE).
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index 7808765..d70a570 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -133,6 +133,11 @@
return(i);
}
+int CRYPTO_num_locks(void)
+ {
+ return CRYPTO_NUM_LOCKS;
+ }
+
void (*CRYPTO_get_locking_callback(void))(int mode,int type,const char *file,
int line)
{
diff --git a/crypto/crypto.h b/crypto/crypto.h
index 8297b7d..1b927e1 100644
--- a/crypto/crypto.h
+++ b/crypto/crypto.h
@@ -256,6 +256,8 @@
int CRYPTO_mem_ctrl(int mode);
int CRYPTO_get_new_lockid(char *name);
+
+int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */
void CRYPTO_lock(int mode, int type,const char *file,int line);
void CRYPTO_set_locking_callback(void (*func)(int mode,int type,
const char *file,int line));