about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-27 19:35:27 +0000
committerptitSeb <sebastien.chev@gmail.com>2023-03-27 19:35:27 +0000
commitfeb4a394577ea152b60393875860c551a7573adf (patch)
tree1fb23ae437dae8b76e71719931be05d21bab9ca3 /src
parentcca1fd6f1987acc5fe7180a3925bbe8b1f34ccd0 (diff)
downloadbox64-feb4a394577ea152b60393875860c551a7573adf.tar.gz
box64-feb4a394577ea152b60393875860c551a7573adf.zip
Improved handling of libssl/libcrypto version 1.1 and 3.0
Diffstat (limited to 'src')
-rwxr-xr-xsrc/library_list.h2
-rw-r--r--src/wrapped/generated/functions_list.txt52
-rw-r--r--src/wrapped/generated/wrappedcrypto3defs.h8
-rw-r--r--src/wrapped/generated/wrappedcrypto3types.h48
-rw-r--r--src/wrapped/generated/wrappedcrypto3undefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibssl3defs.h8
-rw-r--r--src/wrapped/generated/wrappedlibssl3types.h34
-rw-r--r--src/wrapped/generated/wrappedlibssl3undefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibssltypes.h1
-rw-r--r--src/wrapped/generated/wrapper.c3
-rw-r--r--src/wrapped/generated/wrapper.h1
-rwxr-xr-xsrc/wrapped/wrappedcrypto3.c447
-rwxr-xr-xsrc/wrapped/wrappedcrypto3_private.h3841
-rwxr-xr-xsrc/wrapped/wrappedcrypto_private.h36
-rwxr-xr-xsrc/wrapped/wrappedlibssl.c32
-rwxr-xr-xsrc/wrapped/wrappedlibssl3.c338
-rwxr-xr-xsrc/wrapped/wrappedlibssl3_private.h598
-rwxr-xr-xsrc/wrapped/wrappedlibssl_private.h14
18 files changed, 5472 insertions, 7 deletions
diff --git a/src/library_list.h b/src/library_list.h
index 8fe866ed..a51a8f48 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -106,6 +106,8 @@ GO("libexpat.so.1", expat)
 GO("libexpat.so", expat)
 GO("libcrypto.so.1", crypto)
 GO("libssl.so.1", libssl)
+GO("libcrypto.so.3", crypto3)
+GO("libssl.so.3", libssl3)
 GO("libcrypt.so.1", libcrypt)
 GO("libgcrypt.so.20", gcrypt)
 GO("libutil.so.1", util)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index ad8646a2..807ab8c8 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -1295,6 +1295,7 @@
 #() iFppllp
 #() iFpplpp
 #() iFppLip
+#() iFppLup
 #() iFppLpi
 #() iFppLpL
 #() iFppLpp
@@ -2452,6 +2453,38 @@ wrappedcrypto:
   - PEM_write_bio_DSAPrivateKey
   - PEM_write_bio_ECPrivateKey
   - PEM_write_bio_RSAPrivateKey
+wrappedcrypto3:
+- vFp:
+  - CRYPTO_set_id_callback
+  - CRYPTO_set_locking_callback
+- vFpp:
+  - X509_STORE_CTX_set_verify_cb
+- pFpp:
+  - OPENSSL_sk_pop_free
+- iFppp:
+  - ASN1_i2d_bio
+- pFpppp:
+  - ASN1_d2i_bio
+  - PEM_read_bio_DSAPrivateKey
+  - PEM_read_bio_DSA_PUBKEY
+  - PEM_read_bio_ECPrivateKey
+  - PEM_read_bio_EC_PUBKEY
+  - PEM_read_bio_PKCS7
+  - PEM_read_bio_RSAPrivateKey
+  - PEM_read_bio_RSA_PUBKEY
+  - PEM_read_bio_X509
+  - PEM_read_bio_X509_AUX
+  - PEM_read_bio_X509_CERT_PAIR
+  - PEM_read_bio_X509_CRL
+  - PEM_read_bio_X509_REQ
+- iFpiipp:
+  - ENGINE_ctrl
+- iFpplppi:
+  - ENGINE_ctrl_cmd
+- iFppppipp:
+  - PEM_write_bio_DSAPrivateKey
+  - PEM_write_bio_ECPrivateKey
+  - PEM_write_bio_RSAPrivateKey
 wrappedcurl:
 - iFpup:
   - curl_multi_setopt
@@ -3673,6 +3706,25 @@ wrappedlibssl:
   - SSL_CTX_set_verify
   - SSL_set_verify
 - vFppp:
+  - SSL_CTX_set_alpn_select_cb
+  - SSL_CTX_set_cert_verify_callback
+  - SSL_CTX_set_next_proto_select_cb
+- lFpip:
+  - SSL_CTX_callback_ctrl
+  - SSL_callback_ctrl
+- iFlpppp:
+  - SSL_get_ex_new_index
+wrappedlibssl3:
+- pFp:
+  - SSL_get_verify_callback
+- vFpp:
+  - SSL_CTX_set_client_cert_cb
+  - SSL_CTX_set_default_passwd_cb
+  - SSL_set_psk_client_callback
+- vFpip:
+  - SSL_CTX_set_verify
+  - SSL_set_verify
+- vFppp:
   - SSL_CTX_set_cert_verify_callback
   - SSL_CTX_set_next_proto_select_cb
 - lFpip:
diff --git a/src/wrapped/generated/wrappedcrypto3defs.h b/src/wrapped/generated/wrappedcrypto3defs.h
new file mode 100644
index 00000000..69e5c034
--- /dev/null
+++ b/src/wrapped/generated/wrappedcrypto3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedcrypto3DEFS_H_
+#define __wrappedcrypto3DEFS_H_
+
+
+#endif // __wrappedcrypto3DEFS_H_
diff --git a/src/wrapped/generated/wrappedcrypto3types.h b/src/wrapped/generated/wrappedcrypto3types.h
new file mode 100644
index 00000000..2331cfce
--- /dev/null
+++ b/src/wrapped/generated/wrappedcrypto3types.h
@@ -0,0 +1,48 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedcrypto3TYPES_H_
+#define __wrappedcrypto3TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void (*vFp_t)(void*);
+typedef void (*vFpp_t)(void*, void*);
+typedef void* (*pFpp_t)(void*, void*);
+typedef int32_t (*iFppp_t)(void*, void*, void*);
+typedef void* (*pFpppp_t)(void*, void*, void*, void*);
+typedef int32_t (*iFpiipp_t)(void*, int32_t, int32_t, void*, void*);
+typedef int32_t (*iFpplppi_t)(void*, void*, intptr_t, void*, void*, int32_t);
+typedef int32_t (*iFppppipp_t)(void*, void*, void*, void*, int32_t, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(CRYPTO_set_id_callback, vFp_t) \
+	GO(CRYPTO_set_locking_callback, vFp_t) \
+	GO(X509_STORE_CTX_set_verify_cb, vFpp_t) \
+	GO(OPENSSL_sk_pop_free, pFpp_t) \
+	GO(ASN1_i2d_bio, iFppp_t) \
+	GO(ASN1_d2i_bio, pFpppp_t) \
+	GO(PEM_read_bio_DSAPrivateKey, pFpppp_t) \
+	GO(PEM_read_bio_DSA_PUBKEY, pFpppp_t) \
+	GO(PEM_read_bio_ECPrivateKey, pFpppp_t) \
+	GO(PEM_read_bio_EC_PUBKEY, pFpppp_t) \
+	GO(PEM_read_bio_PKCS7, pFpppp_t) \
+	GO(PEM_read_bio_RSAPrivateKey, pFpppp_t) \
+	GO(PEM_read_bio_RSA_PUBKEY, pFpppp_t) \
+	GO(PEM_read_bio_X509, pFpppp_t) \
+	GO(PEM_read_bio_X509_AUX, pFpppp_t) \
+	GO(PEM_read_bio_X509_CERT_PAIR, pFpppp_t) \
+	GO(PEM_read_bio_X509_CRL, pFpppp_t) \
+	GO(PEM_read_bio_X509_REQ, pFpppp_t) \
+	GO(ENGINE_ctrl, iFpiipp_t) \
+	GO(ENGINE_ctrl_cmd, iFpplppi_t) \
+	GO(PEM_write_bio_DSAPrivateKey, iFppppipp_t) \
+	GO(PEM_write_bio_ECPrivateKey, iFppppipp_t) \
+	GO(PEM_write_bio_RSAPrivateKey, iFppppipp_t)
+
+#endif // __wrappedcrypto3TYPES_H_
diff --git a/src/wrapped/generated/wrappedcrypto3undefs.h b/src/wrapped/generated/wrappedcrypto3undefs.h
new file mode 100644
index 00000000..f82bf8ef
--- /dev/null
+++ b/src/wrapped/generated/wrappedcrypto3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedcrypto3UNDEFS_H_
+#define __wrappedcrypto3UNDEFS_H_
+
+
+#endif // __wrappedcrypto3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibssl3defs.h b/src/wrapped/generated/wrappedlibssl3defs.h
new file mode 100644
index 00000000..dfd2472b
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibssl3defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibssl3DEFS_H_
+#define __wrappedlibssl3DEFS_H_
+
+
+#endif // __wrappedlibssl3DEFS_H_
diff --git a/src/wrapped/generated/wrappedlibssl3types.h b/src/wrapped/generated/wrappedlibssl3types.h
new file mode 100644
index 00000000..8749cada
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibssl3types.h
@@ -0,0 +1,34 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibssl3TYPES_H_
+#define __wrappedlibssl3TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void* (*pFp_t)(void*);
+typedef void (*vFpp_t)(void*, void*);
+typedef void (*vFpip_t)(void*, int32_t, void*);
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef intptr_t (*lFpip_t)(void*, int32_t, void*);
+typedef int32_t (*iFlpppp_t)(intptr_t, void*, void*, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(SSL_get_verify_callback, pFp_t) \
+	GO(SSL_CTX_set_client_cert_cb, vFpp_t) \
+	GO(SSL_CTX_set_default_passwd_cb, vFpp_t) \
+	GO(SSL_set_psk_client_callback, vFpp_t) \
+	GO(SSL_CTX_set_verify, vFpip_t) \
+	GO(SSL_set_verify, vFpip_t) \
+	GO(SSL_CTX_set_cert_verify_callback, vFppp_t) \
+	GO(SSL_CTX_set_next_proto_select_cb, vFppp_t) \
+	GO(SSL_CTX_callback_ctrl, lFpip_t) \
+	GO(SSL_callback_ctrl, lFpip_t) \
+	GO(SSL_get_ex_new_index, iFlpppp_t)
+
+#endif // __wrappedlibssl3TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibssl3undefs.h b/src/wrapped/generated/wrappedlibssl3undefs.h
new file mode 100644
index 00000000..f30c9702
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibssl3undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedlibssl3UNDEFS_H_
+#define __wrappedlibssl3UNDEFS_H_
+
+
+#endif // __wrappedlibssl3UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibssltypes.h b/src/wrapped/generated/wrappedlibssltypes.h
index b2c33bf7..7ebde447 100644
--- a/src/wrapped/generated/wrappedlibssltypes.h
+++ b/src/wrapped/generated/wrappedlibssltypes.h
@@ -25,6 +25,7 @@ typedef int32_t (*iFlpppp_t)(intptr_t, void*, void*, void*, void*);
 	GO(SSL_set_psk_client_callback, vFpp_t) \
 	GO(SSL_CTX_set_verify, vFpip_t) \
 	GO(SSL_set_verify, vFpip_t) \
+	GO(SSL_CTX_set_alpn_select_cb, vFppp_t) \
 	GO(SSL_CTX_set_cert_verify_callback, vFppp_t) \
 	GO(SSL_CTX_set_next_proto_select_cb, vFppp_t) \
 	GO(SSL_CTX_callback_ctrl, lFpip_t) \
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 11a5b501..6f0c8244 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -1329,6 +1329,7 @@ typedef int32_t (*iFppupp_t)(void*, void*, uint32_t, void*, void*);
 typedef int32_t (*iFppllp_t)(void*, void*, intptr_t, intptr_t, void*);
 typedef int32_t (*iFpplpp_t)(void*, void*, intptr_t, void*, void*);
 typedef int32_t (*iFppLip_t)(void*, void*, uintptr_t, int32_t, void*);
+typedef int32_t (*iFppLup_t)(void*, void*, uintptr_t, uint32_t, void*);
 typedef int32_t (*iFppLpi_t)(void*, void*, uintptr_t, void*, int32_t);
 typedef int32_t (*iFppLpL_t)(void*, void*, uintptr_t, void*, uintptr_t);
 typedef int32_t (*iFppLpp_t)(void*, void*, uintptr_t, void*, void*);
@@ -3722,6 +3723,7 @@ void iFppupp(x64emu_t *emu, uintptr_t fcn) { iFppupp_t fn = (iFppupp_t)fcn; R_RA
 void iFppllp(x64emu_t *emu, uintptr_t fcn) { iFppllp_t fn = (iFppllp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8); }
 void iFpplpp(x64emu_t *emu, uintptr_t fcn) { iFpplpp_t fn = (iFpplpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFppLip(x64emu_t *emu, uintptr_t fcn) { iFppLip_t fn = (iFppLip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
+void iFppLup(x64emu_t *emu, uintptr_t fcn) { iFppLup_t fn = (iFppLup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void iFppLpi(x64emu_t *emu, uintptr_t fcn) { iFppLpi_t fn = (iFppLpi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void iFppLpL(x64emu_t *emu, uintptr_t fcn) { iFppLpL_t fn = (iFppLpL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void iFppLpp(x64emu_t *emu, uintptr_t fcn) { iFppLpp_t fn = (iFppLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -5898,6 +5900,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppllp) return 1;
 	if (fun == &iFpplpp) return 1;
 	if (fun == &iFppLip) return 1;
+	if (fun == &iFppLup) return 1;
 	if (fun == &iFppLpi) return 1;
 	if (fun == &iFppLpL) return 1;
 	if (fun == &iFppLpp) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 3d481ac3..151c97e1 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1328,6 +1328,7 @@ void iFppupp(x64emu_t *emu, uintptr_t fnc);
 void iFppllp(x64emu_t *emu, uintptr_t fnc);
 void iFpplpp(x64emu_t *emu, uintptr_t fnc);
 void iFppLip(x64emu_t *emu, uintptr_t fnc);
+void iFppLup(x64emu_t *emu, uintptr_t fnc);
 void iFppLpi(x64emu_t *emu, uintptr_t fnc);
 void iFppLpL(x64emu_t *emu, uintptr_t fnc);
 void iFppLpp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedcrypto3.c b/src/wrapped/wrappedcrypto3.c
new file mode 100755
index 00000000..442237a1
--- /dev/null
+++ b/src/wrapped/wrappedcrypto3.c
@@ -0,0 +1,447 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+
+const char* crypto3Name = "libcrypto.so.3";
+#define LIBNAME crypto3
+
+#include "generated/wrappedcrypto3types.h"
+
+#include "wrappercallback.h"
+
+// utility functions
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)
+
+// ENGINE_ctrl_cb
+#define GO(A)   \
+static uintptr_t my3_ENGINE_ctrl_cb_fct_##A = 0;                                                      \
+static void my3_ENGINE_ctrl_cb_##A()                    \
+{                                                                                                   \
+    RunFunction(my_context, my3_ENGINE_ctrl_cb_fct_##A, 0);  \
+}
+SUPER()
+#undef GO
+static void* find_ENGINE_ctrl_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_ENGINE_ctrl_cb_fct_##A == (uintptr_t)fct) return my3_ENGINE_ctrl_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_ENGINE_ctrl_cb_fct_##A == 0) {my3_ENGINE_ctrl_cb_fct_##A = (uintptr_t)fct; return my3_ENGINE_ctrl_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto ENGINE_ctrl_cb callback\n");
+    return NULL;
+}
+
+// cmp_fnc
+#define GO(A)   \
+static uintptr_t my3_cmp_fnc_fct_##A = 0;                                \
+static int my3_cmp_fnc_##A(void* a, void* b)                             \
+{                                                                       \
+    return (int)RunFunction(my_context, my3_cmp_fnc_fct_##A, 2, a, b);   \
+}
+SUPER()
+#undef GO
+static void* find_cmp_fnc_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_cmp_fnc_fct_##A == (uintptr_t)fct) return my3_cmp_fnc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_cmp_fnc_fct_##A == 0) {my3_cmp_fnc_fct_##A = (uintptr_t)fct; return my3_cmp_fnc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto cmp_fnc callback\n");
+    return NULL;
+}
+
+// free_fnc
+#define GO(A)   \
+static uintptr_t my3_free_fnc_fct_##A = 0;               \
+static void my3_free_fnc_##A(void* p)                    \
+{                                                       \
+    RunFunction(my_context, my3_free_fnc_fct_##A, 1, p); \
+}
+SUPER()
+#undef GO
+static void* find_free_fnc_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_free_fnc_fct_##A == (uintptr_t)fct) return my3_free_fnc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_free_fnc_fct_##A == 0) {my3_free_fnc_fct_##A = (uintptr_t)fct; return my3_free_fnc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto free_fnc callback\n");
+    return NULL;
+}
+
+// id_func
+#define GO(A)   \
+static uintptr_t my3_id_func_fct_##A = 0;                                    \
+static unsigned long my3_id_func_##A()                                       \
+{                                                                           \
+    return (unsigned long)RunFunction(my_context, my3_id_func_fct_##A, 0);   \
+}
+SUPER()
+#undef GO
+static void* find_id_func_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_id_func_fct_##A == (uintptr_t)fct) return my3_id_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_id_func_fct_##A == 0) {my3_id_func_fct_##A = (uintptr_t)fct; return my3_id_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto id_func callback\n");
+    return NULL;
+}
+
+// lock_func
+#define GO(A)   \
+static uintptr_t my3_lock_func_fct_##A = 0;                              \
+static void my3_lock_func_##A(int mode, int n, void* f, int l)           \
+{                                                                       \
+    RunFunction(my_context, my3_lock_func_fct_##A, 4, mode, n, f, l);    \
+}
+SUPER()
+#undef GO
+static void* find_lock_func_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_lock_func_fct_##A == (uintptr_t)fct) return my3_lock_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_lock_func_fct_##A == 0) {my3_lock_func_fct_##A = (uintptr_t)fct; return my3_lock_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto lock_func callback\n");
+    return NULL;
+}
+
+// passphrase
+#define GO(A)   \
+static uintptr_t my3_passphrase_fct_##A = 0;                                             \
+static int my3_passphrase_##A(void* buff, int size, int rw, void* u)                     \
+{                                                                                       \
+    return (int)RunFunction(my_context, my3_passphrase_fct_##A, 4, buff, size, rw, u);   \
+}
+SUPER()
+#undef GO
+static void* find_passphrase_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_passphrase_fct_##A == (uintptr_t)fct) return my3_passphrase_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_passphrase_fct_##A == 0) {my3_passphrase_fct_##A = (uintptr_t)fct; return my3_passphrase_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto passphrase callback\n");
+    return NULL;
+}
+
+// xnew
+#define GO(A)   \
+static uintptr_t my3_xnew_fct_##A = 0;                           \
+static void* my3_xnew_##A()                                      \
+{                                                               \
+    return (void*)RunFunction(my_context, my3_xnew_fct_##A, 0);  \
+}
+SUPER()
+#undef GO
+static void* find_xnew_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_xnew_fct_##A == (uintptr_t)fct) return my3_xnew_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_xnew_fct_##A == 0) {my3_xnew_fct_##A = (uintptr_t)fct; return my3_xnew_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto xnew callback\n");
+    return NULL;
+}
+
+// d2i
+#define GO(A)   \
+static uintptr_t my3_d2i_fct_##A = 0;                            \
+static void* my3_d2i_##A()                                       \
+{                                                               \
+    return (void*)RunFunction(my_context, my3_d2i_fct_##A, 0);   \
+}
+SUPER()
+#undef GO
+static void* find_d2i_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_d2i_fct_##A == (uintptr_t)fct) return my3_d2i_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_d2i_fct_##A == 0) {my3_d2i_fct_##A = (uintptr_t)fct; return my3_d2i_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto d2i callback\n");
+    return NULL;
+}
+
+// i2d
+#define GO(A)   \
+static uintptr_t my3_i2d_fct_##A = 0;                        \
+static int my3_i2d_##A()                                     \
+{                                                           \
+    return (int)RunFunction(my_context, my3_i2d_fct_##A, 0); \
+}
+SUPER()
+#undef GO
+static void* find_i2d_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_i2d_fct_##A == (uintptr_t)fct) return my3_i2d_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_i2d_fct_##A == 0) {my3_i2d_fct_##A = (uintptr_t)fct; return my3_i2d_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto i2d callback\n");
+    return NULL;
+}
+
+// pem_password_cb
+#define GO(A)   \
+static uintptr_t my3_pem_password_cb_fct_##A = 0;                                    \
+static int my3_pem_password_cb_##A(void* a, int b, int c, void* d)                   \
+{                                                                                   \
+    return (int)RunFunction(my_context, my3_pem_password_cb_fct_##A, 4, a, b, c, d); \
+}
+SUPER()
+#undef GO
+static void* find_pem_password_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_pem_password_cb_fct_##A == (uintptr_t)fct) return my3_pem_password_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_pem_password_cb_fct_##A == 0) {my3_pem_password_cb_fct_##A = (uintptr_t)fct; return my3_pem_password_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto pem_password_cb callback\n");
+    return NULL;
+}
+
+// verify_cb
+#define GO(A)   \
+static uintptr_t my3_verify_cb_fct_##A = 0;                              \
+static int my3_verify_cb_##A(int a, void* b)                             \
+{                                                                       \
+    return (int)RunFunction(my_context, my3_verify_cb_fct_##A, 2, a, b); \
+}
+SUPER()
+#undef GO
+static void* find_verify_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_verify_cb_fct_##A == (uintptr_t)fct) return my3_verify_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_verify_cb_fct_##A == 0) {my3_verify_cb_fct_##A = (uintptr_t)fct; return my3_verify_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libcrypto verify_cb callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT int32_t my3_ENGINE_ctrl(x64emu_t* emu, void* e, int32_t cmd, int32_t i, void* p, void* f)
+{
+    (void)emu;
+    return my->ENGINE_ctrl(e, cmd, i, p, find_ENGINE_ctrl_cb_Fct(f));
+}
+
+EXPORT int32_t my3_ENGINE_ctrl_cmd(x64emu_t* emu, void* e, void* cmd, long i, void* p, void* f, int optional)
+{
+    (void)emu;
+    return my->ENGINE_ctrl_cmd(e, cmd, i, p, find_ENGINE_ctrl_cb_Fct(f), optional);
+}
+
+EXPORT void my3_CRYPTO_set_id_callback(x64emu_t* emu, void* cb)
+{
+    (void)emu;
+    my->CRYPTO_set_id_callback(find_id_func_Fct(cb));
+}
+
+EXPORT void my3_CRYPTO_set_locking_callback(x64emu_t* emu, void* cb)
+{
+    (void)emu;
+    my->CRYPTO_set_locking_callback(find_lock_func_Fct(cb));
+}
+
+EXPORT void my3_PEM_read_bio_DSAPrivateKey(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    my->PEM_read_bio_DSAPrivateKey(bp, x, find_passphrase_Fct(cb), u);
+}
+
+EXPORT void my3_PEM_read_bio_DSA_PUBKEY(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    my->PEM_read_bio_DSA_PUBKEY(bp, x, find_passphrase_Fct(cb), u);
+}
+
+EXPORT void my3_PEM_read_bio_RSAPrivateKey(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    my->PEM_read_bio_RSAPrivateKey(bp, x, find_passphrase_Fct(cb), u);
+}
+
+EXPORT void my3_PEM_read_bio_RSA_PUBKEY(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    my->PEM_read_bio_RSA_PUBKEY(bp, x, find_passphrase_Fct(cb), u);
+}
+
+EXPORT void my3_PEM_read_bio_ECPrivateKey(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    my->PEM_read_bio_ECPrivateKey(bp, x, find_passphrase_Fct(cb), u);
+}
+
+EXPORT void my3_PEM_read_bio_EC_PUBKEY(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    my->PEM_read_bio_EC_PUBKEY(bp, x, find_passphrase_Fct(cb), u);
+}
+
+EXPORT int my3_PEM_write_bio_DSAPrivateKey(x64emu_t* emu, void* bp, void* x, void* e, void* str, int len, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_write_bio_DSAPrivateKey(bp, x, e, str, len, find_passphrase_Fct(cb), u);
+}
+
+EXPORT int my3_PEM_write_bio_RSAPrivateKey(x64emu_t* emu, void* bp, void* x, void* e, void* str, int len, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_write_bio_RSAPrivateKey(bp, x, e, str, len, find_passphrase_Fct(cb), u);
+}
+
+EXPORT int my3_PEM_write_bio_ECPrivateKey(x64emu_t* emu, void* bp, void* x, void* e, void* str, int len, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_write_bio_ECPrivateKey(bp, x, e, str, len, find_passphrase_Fct(cb), u);
+}
+
+EXPORT void* my3_ASN1_d2i_bio(x64emu_t* emu, void* xnew, void* d2i, void* bp, void* x)
+{
+    (void)emu;
+    return my->ASN1_d2i_bio(find_xnew_Fct(xnew), find_d2i_Fct(d2i), bp, x);
+}
+
+EXPORT int my3_ASN1_i2d_bio(x64emu_t* emu, void* i2d, void* bp, void* x)
+{
+    (void)emu;
+    return my->ASN1_i2d_bio(find_i2d_Fct(i2d), bp, x);
+}
+
+EXPORT void* my3_PEM_read_bio_PKCS7(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_PKCS7(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+EXPORT void* my3_PEM_read_bio_X509(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_X509(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+EXPORT void* my3_PEM_read_bio_X509_AUX(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_X509_AUX(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+EXPORT void* my3_PEM_read_bio_X509_CRL(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_X509_CRL(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+EXPORT void* my3_PEM_read_bio_X509_REQ(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_X509_REQ(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+EXPORT void* my3_PEM_read_bio_X509_CERT_PAIR(x64emu_t* emu, void* bp, void* x, void* cb, void* u)
+{
+    (void)emu;
+    return my->PEM_read_bio_X509_CERT_PAIR(bp, x, find_pem_password_cb_Fct(cb), u);
+}
+
+EXPORT void my3_X509_STORE_CTX_set_verify_cb(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->X509_STORE_CTX_set_verify_cb(ctx, find_verify_cb_Fct(cb));
+}
+
+EXPORT void my3_OPENSSL_sk_pop_free(x64emu_t* emu, void* s, void* cb)
+{
+    (void)emu;
+    my->OPENSSL_sk_pop_free(s, find_free_fnc_Fct(cb));
+}
+
+#define CUSTOM_INIT \
+    SETALT(my3_);   \
+    getMy(lib);
+
+#define CUSTOM_FINI \
+    freeMy();
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedcrypto3_private.h b/src/wrapped/wrappedcrypto3_private.h
new file mode 100755
index 00000000..27a13232
--- /dev/null
+++ b/src/wrapped/wrappedcrypto3_private.h
@@ -0,0 +1,3841 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(a2d_ASN1_OBJECT, 
+//GO(a2i_ASN1_ENUMERATED, 
+//GO(a2i_ASN1_INTEGER, 
+//GO(a2i_ASN1_STRING, 
+//GO(a2i_GENERAL_NAME, 
+//GO(a2i_ipadd, 
+//GO(a2i_IPADDRESS, 
+//GO(a2i_IPADDRESS_NC, 
+//GO(ACCESS_DESCRIPTION_free, 
+//GO(ACCESS_DESCRIPTION_new, 
+GO(AES_bi_ige_encrypt, vFppLpppi)
+GO(AES_cbc_encrypt, vFppLppi)
+GO(AES_cfb128_encrypt, vFppLpppi)
+GO(AES_cfb1_encrypt, vFppLpppi)
+GO(AES_cfb8_encrypt, vFppLpppi)
+GO(AES_ctr128_encrypt, vFppLpppp)
+GO(AES_decrypt, vFppp)
+GO(AES_ecb_encrypt, vFpppi)
+GO(AES_encrypt, vFppp)
+GO(AES_ige_encrypt, cFppLppi)
+GO(AES_ofb128_encrypt, vFppLppp)
+//GO(AES_options, 
+GO(AES_set_decrypt_key, iFpip)
+//GO(AES_set_enc2dec_key, 
+GO(AES_set_encrypt_key, iFpip)
+GO(AES_unwrap_key, iFppppi)
+//GO(aes_v8_cbc_encrypt, 
+//GO(aes_v8_ctr32_encrypt_blocks, 
+//GO(aes_v8_decrypt, 
+//GO(aes_v8_encrypt, 
+//GO(aes_v8_set_decrypt_key, 
+//GO(aes_v8_set_encrypt_key, 
+GO(AES_wrap_key, iFppppi)
+//GO(_armv7_neon_probe, 
+//GO(_armv7_tick, 
+//GO(_armv8_aes_probe, 
+//GO(_armv8_pmull_probe, 
+//GO(_armv8_sha1_probe, 
+//GO(_armv8_sha256_probe, 
+//GO(asn1_add_error, 
+//GO(ASN1_add_oid_module, 
+//GO(ASN1_BIT_STRING_check, 
+GO(ASN1_BIT_STRING_free, vFp)
+//GO(ASN1_BIT_STRING_get_bit, 
+//GO(ASN1_BIT_STRING_name_print, 
+GO(ASN1_BIT_STRING_new, pFv)
+//GO(ASN1_BIT_STRING_num_asc, 
+//GO(ASN1_BIT_STRING_set, 
+//GO(ASN1_BIT_STRING_set_asc, 
+//GO(ASN1_BIT_STRING_set_bit, 
+//GO(ASN1_BMPSTRING_free, 
+//GO(ASN1_BMPSTRING_new, 
+//GO(ASN1_bn_print, 
+//GO(ASN1_check_infinite_end, 
+//GO(ASN1_const_check_infinite_end, 
+//GO(asn1_const_Finish, 
+GOM(ASN1_d2i_bio, pFEpppp)
+//GO(ASN1_d2i_fp, 
+//GO(ASN1_digest, 
+//GO(asn1_do_adb, 
+//GO(asn1_do_lock, 
+//GO(ASN1_dup, 
+//GO(asn1_enc_free, 
+//GO(asn1_enc_init, 
+//GO(asn1_enc_restore, 
+//GO(asn1_enc_save, 
+//GO(ASN1_ENUMERATED_free, 
+GO(ASN1_ENUMERATED_get, lFp)
+//GO(ASN1_ENUMERATED_new, 
+GO(ASN1_ENUMERATED_set, iFpl)
+GO(ASN1_ENUMERATED_to_BN, pFpp)
+//GO(asn1_ex_c2i, 
+//GO(asn1_ex_i2c, 
+//GO(asn1_Finish, 
+//GO(ASN1_GENERALIZEDTIME_adj, 
+//GO(ASN1_GENERALIZEDTIME_check, 
+GO(ASN1_GENERALIZEDTIME_free, vFp)
+//GO(ASN1_GENERALIZEDTIME_new, 
+//GO(ASN1_GENERALIZEDTIME_print, 
+//GO(ASN1_GENERALIZEDTIME_set, 
+//GO(ASN1_GENERALIZEDTIME_set_string, 
+//GO(asn1_generalizedtime_to_tm, 
+//GO(ASN1_GENERALSTRING_free, 
+//GO(ASN1_GENERALSTRING_new, 
+//GO(ASN1_generate_nconf, 
+//GO(ASN1_generate_v3, 
+//GO(asn1_get_choice_selector, 
+//GO(asn1_get_field_ptr, 
+//GO(ASN1_get_object, 
+//GO(asn1_GetSequence, 
+GOM(ASN1_i2d_bio, iFEppp)
+//GO(ASN1_i2d_fp, 
+//GO(ASN1_IA5STRING_free, 
+//GO(ASN1_IA5STRING_new, 
+//GO(ASN1_INTEGER_cmp, 
+//GO(ASN1_INTEGER_dup, 
+GO(ASN1_INTEGER_free, vFp)
+GO(ASN1_INTEGER_get, lFp)
+GO(ASN1_INTEGER_new, pFv)
+GO(ASN1_INTEGER_set, iFpl)
+GO(ASN1_INTEGER_to_BN, pFpp)
+//GO(ASN1_item_d2i, 
+//GO(ASN1_item_d2i_bio, 
+//GO(ASN1_item_d2i_fp, 
+//GO(ASN1_item_digest, 
+//GO(ASN1_item_dup, 
+//GO(ASN1_item_ex_d2i, 
+//GO(ASN1_item_ex_free, 
+//GO(ASN1_item_ex_i2d, 
+//GO(ASN1_item_ex_new, 
+//GO(ASN1_item_free, 
+//GO(ASN1_item_i2d, 
+//GO(ASN1_item_i2d_bio, 
+//GO(ASN1_item_i2d_fp, 
+//GO(ASN1_item_ndef_i2d, 
+//GO(ASN1_item_new, 
+//GO(ASN1_item_pack, 
+//GO(ASN1_item_print, 
+//GO(ASN1_item_sign, 
+//GO(ASN1_item_sign_ctx, 
+//GO(ASN1_item_unpack, 
+//GO(ASN1_item_verify, 
+//GO(ASN1_mbstring_copy, 
+//GO(ASN1_mbstring_ncopy, 
+//GO(ASN1_NULL_free, 
+//GO(ASN1_NULL_new, 
+//GO(ASN1_OBJECT_create, 
+GO(ASN1_OBJECT_free, vFp)
+//GO(ASN1_OBJECT_new, 
+//GO(ASN1_object_size, 
+//GO(ASN1_OCTET_STRING_cmp, 
+//GO(ASN1_OCTET_STRING_dup, 
+GO(ASN1_OCTET_STRING_free, vFp)
+GO(ASN1_OCTET_STRING_new, pFv)
+GO(ASN1_OCTET_STRING_set, iFppi)
+//GO(ASN1_pack_string, 
+//GO(ASN1_parse, 
+//GO(ASN1_parse_dump, 
+//GO(ASN1_PCTX_free, 
+//GO(ASN1_PCTX_get_cert_flags, 
+//GO(ASN1_PCTX_get_flags, 
+//GO(ASN1_PCTX_get_nm_flags, 
+//GO(ASN1_PCTX_get_oid_flags, 
+//GO(ASN1_PCTX_get_str_flags, 
+//GO(ASN1_PCTX_new, 
+//GO(ASN1_PCTX_set_cert_flags, 
+//GO(ASN1_PCTX_set_flags, 
+//GO(ASN1_PCTX_set_nm_flags, 
+//GO(ASN1_PCTX_set_oid_flags, 
+//GO(ASN1_PCTX_set_str_flags, 
+//GO(ASN1_primitive_free, 
+//GO(ASN1_primitive_new, 
+//GO(ASN1_PRINTABLE_free, 
+//GO(ASN1_PRINTABLE_new, 
+//GO(ASN1_PRINTABLESTRING_free, 
+//GO(ASN1_PRINTABLESTRING_new, 
+//GO(ASN1_PRINTABLE_type, 
+//GO(ASN1_put_eoc, 
+//GO(ASN1_put_object, 
+//GO(ASN1_seq_pack, 
+//GO(ASN1_seq_unpack, 
+//GO(asn1_set_choice_selector, 
+//GO(ASN1_sign, 
+//GO(ASN1_STRING_clear_free, 
+GO(ASN1_STRING_cmp, iFpp)
+//GO(ASN1_STRING_copy, 
+GO(ASN1_STRING_data, pFp)
+GO(ASN1_STRING_dup, pFp)
+GO(ASN1_STRING_free, vFp)
+//GO(ASN1_STRING_get_default_mask, 
+GO(ASN1_STRING_length, iFp)
+//GO(ASN1_STRING_length_set, 
+//GO(ASN1_STRING_new, 
+GO(ASN1_STRING_print, iFpp)
+GO(ASN1_STRING_print_ex, iFppu)
+GO(ASN1_STRING_print_ex_fp, iFppu)
+GO(ASN1_STRING_set, iFppi)
+//GO(ASN1_STRING_set0, 
+//GO(ASN1_STRING_set_by_NID, 
+//GO(ASN1_STRING_set_default_mask, 
+//GO(ASN1_STRING_set_default_mask_asc, 
+//GO(ASN1_STRING_TABLE_add, 
+//GO(ASN1_STRING_TABLE_cleanup, 
+//GO(ASN1_STRING_TABLE_get, 
+GO(ASN1_STRING_to_UTF8, iFpp)
+GO(ASN1_STRING_type, iFp)
+//GO(ASN1_STRING_type_new, 
+//GO(ASN1_T61STRING_free, 
+//GO(ASN1_T61STRING_new, 
+//GO(ASN1_tag2bit, 
+//GO(ASN1_tag2str, 
+//GO(ASN1_template_d2i, 
+//GO(ASN1_template_free, 
+//GO(ASN1_template_i2d, 
+//GO(ASN1_template_new, 
+//GO(asn1_template_print_ctx, 
+//GO(ASN1_TIME_adj, 
+//GO(ASN1_TIME_check, 
+//GO(ASN1_TIME_diff, 
+GO(ASN1_TIME_free, vFp)
+GO(ASN1_TIME_new, pFv)
+//GO(ASN1_TIME_print, 
+GO(ASN1_TIME_set, pFpL)
+//GO(ASN1_TIME_set_string, 
+//GO(ASN1_TIME_to_generalizedtime, 
+//GO(ASN1_TYPE_cmp, 
+//GO(ASN1_TYPE_free, 
+//GO(ASN1_TYPE_get, 
+//GO(ASN1_TYPE_get_int_octetstring, 
+//GO(ASN1_TYPE_get_octetstring, 
+//GO(ASN1_TYPE_new, 
+//GO(ASN1_TYPE_set, 
+//GO(ASN1_TYPE_set1, 
+//GO(ASN1_TYPE_set_int_octetstring, 
+//GO(ASN1_TYPE_set_octetstring, 
+//GO(ASN1_UNIVERSALSTRING_free, 
+//GO(ASN1_UNIVERSALSTRING_new, 
+//GO(ASN1_UNIVERSALSTRING_to_string, 
+//GO(ASN1_unpack_string, 
+//GO(ASN1_UTCTIME_adj, 
+//GO(ASN1_UTCTIME_check, 
+//GO(ASN1_UTCTIME_cmp_time_t, 
+//GO(ASN1_UTCTIME_free, 
+//GO(ASN1_UTCTIME_new, 
+//GO(ASN1_UTCTIME_print, 
+//GO(ASN1_UTCTIME_set, 
+//GO(ASN1_UTCTIME_set_string, 
+//GO(asn1_utctime_to_tm, 
+//GO(ASN1_UTF8STRING_free, 
+//GO(ASN1_UTF8STRING_new, 
+//GO(ASN1_verify, 
+//GO(ASN1_VISIBLESTRING_free, 
+//GO(ASN1_VISIBLESTRING_new, 
+//GO(AUTHORITY_INFO_ACCESS_free, 
+//GO(AUTHORITY_INFO_ACCESS_new, 
+GO(AUTHORITY_KEYID_free, vFp)
+GO(AUTHORITY_KEYID_new, pFv)
+//GO(b2i_PrivateKey, 
+//GO(b2i_PrivateKey_bio, 
+//GO(b2i_PublicKey, 
+//GO(b2i_PublicKey_bio, 
+//GO(b2i_PVK_bio, 
+GO(BASIC_CONSTRAINTS_free, vFp)
+GO(BASIC_CONSTRAINTS_new, pFv)
+//GO(BF_cbc_encrypt, 
+//GO(BF_cfb64_encrypt, 
+//GO(BF_decrypt, 
+//GO(BF_ecb_encrypt, 
+//GO(BF_encrypt, 
+//GO(BF_ofb64_encrypt, 
+//GO(BF_options, 
+//GO(BF_set_key, 
+//GO(BIO_accept, 
+//GO(BIO_asn1_get_prefix, 
+//GO(BIO_asn1_get_suffix, 
+//GO(BIO_asn1_set_prefix, 
+//GO(BIO_asn1_set_suffix, 
+//GO(BIO_callback_ctrl, 
+//GO(BIO_clear_flags, 
+//GO(BIO_CONNECT_free, 
+//GO(BIO_CONNECT_new, 
+//GO(BIO_copy_next_retry, 
+GO(BIO_ctrl, lFpilp)
+//GO(BIO_ctrl_get_read_request, 
+//GO(BIO_ctrl_get_write_guarantee, 
+GO(BIO_ctrl_pending, LFp)
+//GO(BIO_ctrl_reset_read_request, 
+GO(BIO_ctrl_wpending, LFp)
+//GO(BIO_debug_callback, 
+//GO(BIO_dgram_non_fatal_error, 
+//GO(BIO_dump, 
+//GO(BIO_dump_cb, 
+//GO(BIO_dump_fp, 
+//GO(BIO_dump_indent, 
+//GO(BIO_dump_indent_cb, 
+//GO(BIO_dump_indent_fp, 
+//GO(BIO_dup_chain, 
+GO(BIO_eof, iFp)
+//GO(BIO_f_asn1, 
+//GO(BIO_f_base64, 
+//GO(BIO_f_buffer, 
+//GO(BIO_f_cipher, 
+//GO(BIO_fd_non_fatal_error, 
+//GO(BIO_fd_should_retry, 
+GO(BIO_flush, iFp)
+//GO(BIO_find_type, 
+//GO(BIO_f_md, 
+//GO(BIO_f_nbio_test, 
+//GO(BIO_f_null, 
+GO(BIO_free, iFp)
+GO(BIO_free_all, vFp)
+//GO(BIO_f_reliable, 
+//GO(BIO_f_zlib, 
+//GO(BIO_get_accept_socket, 
+//GO(BIO_get_callback, 
+//GO(BIO_get_callback_arg, 
+GO(BIO_get_close, iFp)
+//GO(BIO_get_ex_data, 
+//GO(BIO_get_ex_new_index, 
+//GO(BIO_gethostbyname, 
+//GO(BIO_get_host_ip, 
+//GO(BIO_get_port, 
+//GO(BIO_get_retry_BIO, 
+//GO(BIO_get_retry_reason, 
+GO(BIO_gets, iFppi)
+//GO(BIO_hex_string, 
+//GO(BIO_indent, 
+GO(BIO_int_ctrl, lFpili)
+//GO(BIO_method_name, 
+//GO(BIO_method_type, 
+GO(BIO_new, pFp)
+//GO(BIO_new_accept, 
+GO(BIO_new_bio_pair, iFpLpL)
+//GO(BIO_new_CMS, 
+//GO(BIO_new_connect, 
+//GO(BIO_new_dgram, 
+//GO(BIO_new_fd, 
+GO(BIO_new_file, pFpp)
+//GO(BIO_new_fp, 
+GO(BIO_new_mem_buf, pFpi)
+//GO(BIO_new_NDEF, 
+//GO(BIO_new_PKCS7, 
+//GO(BIO_new_socket, 
+//GO(BIO_next, 
+//GO(BIO_nread, 
+//GO(BIO_nread0, 
+//GO(BIO_number_read, 
+//GO(BIO_number_written, 
+//GO(BIO_nwrite, 
+//GO(BIO_nwrite0, 
+GO(BIO_pending, iFp)
+//GO(BIO_pop, 
+//GO(BIO_printf, 
+GO(BIO_ptr_ctrl, pFpil)
+//GO(BIO_push, 
+GO(BIO_puts, iFpp)
+GO(BIO_read, iFppi)
+GO(BIO_reset, iFp)
+//GO(BIO_s_accept, 
+//GO(BIO_s_bio, 
+//GO(BIO_s_connect, 
+//GO(BIO_s_datagram, 
+GO(BIO_seek, iFpi)
+GO(BIO_set, iFpp)
+//GO(BIO_set_callback, 
+//GO(BIO_set_callback_arg, 
+GO(BIO_set_close, iFpl)
+//GO(BIO_set_cipher, 
+//GO(BIO_set_ex_data, 
+//GO(BIO_set_flags, 
+//GO(BIO_set_tcp_ndelay, 
+//GO(BIO_s_fd, 
+//GO(BIO_s_file, 
+//GO(BIO_s_log, 
+GO(BIO_s_mem, pFv)
+//GO(BIO_snprintf, 
+//GO(BIO_s_null, 
+//GO(BIO_sock_cleanup, 
+//GO(BIO_sock_error, 
+//GO(BIO_socket_ioctl, 
+//GO(BIO_socket_nbio, 
+//GO(BIO_sock_init, 
+//GO(BIO_sock_non_fatal_error, 
+//GO(BIO_sock_should_retry, 
+//GO(BIO_s_socket, 
+GO(BIO_tell, iFp)
+//GO(BIO_test_flags, 
+GO(BIO_vfree, vFp)
+//GO(BIO_vprintf, 
+//GO(BIO_vsnprintf, 
+GO(BIO_wpending, iFp)
+GO(BIO_write, iFppi)
+GO(BN_add, iFppp)
+//GO(bn_add_part_words, 
+GO(BN_add_word, iFpu)
+//GO(bn_add_words, 
+//GO(BN_asc2bn, 
+GO(BN_bin2bn, pFpip)
+//GO(BN_BLINDING_convert, 
+//GO(BN_BLINDING_convert_ex, 
+//GO(BN_BLINDING_create_param, 
+//GO(BN_BLINDING_free, 
+//GO(BN_BLINDING_get_flags, 
+//GO(BN_BLINDING_get_thread_id, 
+//GO(BN_BLINDING_invert, 
+//GO(BN_BLINDING_invert_ex, 
+//GO(BN_BLINDING_new, 
+//GO(BN_BLINDING_set_flags, 
+//GO(BN_BLINDING_set_thread_id, 
+//GO(BN_BLINDING_thread_id, 
+//GO(BN_BLINDING_update, 
+GO(BN_bn2bin, iFpp)
+GO(BN_bn2dec, pFp)
+GO(BN_bn2hex, pFp)
+GO(BN_bn2mpi, iFpp)
+//GO(BN_bntest_rand, 
+GO(BN_clear, vFp)
+GO(BN_clear_bit, iFpi)
+GO(BN_clear_free, vFp)
+GO(BN_cmp, iFpp)
+//GO(bn_cmp_part_words, 
+//GO(bn_cmp_words, 
+//GO(BN_consttime_swap, 
+GO(BN_copy, pFpp)
+//GO(BN_CTX_end, 
+GO(BN_CTX_free, vFp)
+//GO(BN_CTX_get, 
+GO(BN_CTX_init, vFp)
+GO(BN_CTX_new, pFv)
+//GO(BN_CTX_start, 
+GO(BN_dec2bn, iFpp)
+GO(BN_div, iFppppp)
+//GO(BN_div_recp, 
+GO(BN_div_word, uFpu)
+//GO(bn_div_words, 
+GO(BN_dup, pFp)
+//GO(bn_dup_expand, 
+GO(BN_exp, iFpppp)
+//GO(bn_expand2, 
+GO(BN_free, vFp)
+//GO(BN_from_montgomery, 
+GO(BN_gcd, iFpppp)
+//GO(BN_GENCB_call, 
+//GO(BN_generate_prime, pFpiippBp) //callback previous last argument...
+//GO(BN_generate_prime_ex, 
+//GO(BN_get0_nist_prime_192, 
+//GO(BN_get0_nist_prime_224, 
+//GO(BN_get0_nist_prime_256, 
+//GO(BN_get0_nist_prime_384, 
+//GO(BN_get0_nist_prime_521, 
+//GO(BN_get_params, 
+GO(BN_get_word, uFp)
+//GO(BN_GF2m_add, 
+//GO(BN_GF2m_arr2poly, 
+//GO(BN_GF2m_mod, 
+//GO(BN_GF2m_mod_arr, 
+//GO(BN_GF2m_mod_div, 
+//GO(BN_GF2m_mod_div_arr, 
+//GO(BN_GF2m_mod_exp, 
+//GO(BN_GF2m_mod_exp_arr, 
+//GO(BN_GF2m_mod_inv, 
+//GO(BN_GF2m_mod_inv_arr, 
+//GO(BN_GF2m_mod_mul, 
+//GO(BN_GF2m_mod_mul_arr, 
+//GO(BN_GF2m_mod_solve_quad, 
+//GO(BN_GF2m_mod_solve_quad_arr, 
+//GO(BN_GF2m_mod_sqr, 
+//GO(BN_GF2m_mod_sqr_arr, 
+//GO(BN_GF2m_mod_sqrt, 
+//GO(BN_GF2m_mod_sqrt_arr, 
+//GO(bn_GF2m_mul_2x2, 
+//GO(BN_GF2m_poly2arr, 
+GO(BN_hex2bn, iFpp)
+//GO(BN_init, 
+GO(BN_is_bit_set, iFpi)
+//GO(BN_is_prime, iFpiBpp)  // third argument is a callback
+//GO(BN_is_prime_ex, 
+//GO(BN_is_prime_fasttest, 
+//GO(BN_is_prime_fasttest_ex, 
+GO(BN_is_zero, iFp) 
+//GO(BN_kronecker, 
+GO(BN_lshift, iFppi)
+GO(BN_lshift1, iFpp)
+GO(BN_mask_bits, iFpi)
+GO(BN_mod_add, iFppppp)
+//GO(BN_mod_add_quick, 
+GO(BN_mod_exp, iFppppp)
+//GO(BN_mod_exp2_mont, 
+//GO(BN_mod_exp_mont, 
+//GO(BN_mod_exp_mont_consttime, 
+//GO(BN_mod_exp_mont_word, 
+//GO(BN_mod_exp_recp, 
+//GO(BN_mod_exp_simple, 
+GO(BN_mod_inverse, pFpppp)
+//GO(BN_mod_lshift, 
+//GO(BN_mod_lshift1, 
+//GO(BN_mod_lshift1_quick, 
+//GO(BN_mod_lshift_quick, 
+GO(BN_mod_mul, iFppppp)
+//GO(BN_mod_mul_montgomery, 
+//GO(BN_mod_mul_reciprocal, 
+GO(BN_mod_sqr, iFpppp)
+//GO(BN_mod_sqrt, 
+GO(BN_mod_sub, iFppppp)
+//GO(BN_mod_sub_quick, 
+GO(BN_mod_word, uFpu)
+//GO(BN_MONT_CTX_copy, 
+//GO(BN_MONT_CTX_free, 
+//GO(BN_MONT_CTX_init, 
+//GO(BN_MONT_CTX_new, 
+//GO(BN_MONT_CTX_set, 
+//GO(BN_MONT_CTX_set_locked, 
+GO(BN_mpi2bn, pFpip)
+GO(BN_mul, iFpppp)
+//GO(bn_mul_add_words, 
+//GO(bn_mul_comba4, 
+//GO(bn_mul_comba8, 
+//GO(bn_mul_high, 
+//GO(bn_mul_low_normal, 
+//GO(bn_mul_low_recursive, 
+//GO(bn_mul_mont, 
+//GO(bn_mul_normal, 
+//GO(bn_mul_part_recursive, 
+//GO(bn_mul_recursive, 
+GO(BN_mul_word, iFpu)
+//GO(bn_mul_words, 
+GO(BN_new, pFv)
+//GO(BN_nist_mod_192, 
+//GO(BN_nist_mod_224, 
+//GO(BN_nist_mod_256, 
+//GO(BN_nist_mod_384, 
+//GO(BN_nist_mod_521, 
+GO(BN_nnmod, iFpppp)
+GO(BN_num_bits, iFp)
+GO(BN_num_bits_word, iFu)
+GO(BN_one, iFp)
+//GO(BN_options, 
+GO(BN_print, iFpp)
+GO(BN_print_fp, iFpp)
+GO(BN_pseudo_rand, iFpiii)
+GO(BN_pseudo_rand_range, iFpp)
+GO(BN_rand, iFpiii)
+//GO(BN_rand_range, 
+//GO(BN_reciprocal, 
+//GO(BN_RECP_CTX_free, 
+//GO(BN_RECP_CTX_init, 
+//GO(BN_RECP_CTX_new, 
+//GO(BN_RECP_CTX_set, 
+GO(BN_rshift, iFppi)
+GO(BN_rshift1, iFpp)
+GO(BN_set_bit, iFpi)
+GO(BN_set_negative, vFpi)
+//GO(BN_set_params, 
+GO(BN_set_word, iFpu)
+GO(BN_sqr, iFppp)
+//GO(bn_sqr_comba4, 
+//GO(bn_sqr_comba8, 
+//GO(bn_sqr_normal, 
+//GO(bn_sqr_recursive, 
+//GO(bn_sqr_words, 
+GO(BN_sub, iFppp)
+//GO(bn_sub_part_words, 
+GO(BN_sub_word, iFpu)
+//GO(bn_sub_words, 
+GO(BN_swap, pFpp)
+GO(BN_to_ASN1_ENUMERATED, pFpp)
+GO(BN_to_ASN1_INTEGER, pFpp)
+//GO(BN_uadd, 
+GO(BN_ucmp, iFpp)
+//GO(BN_usub, 
+GO(BN_value_one, pFv)
+//GO(BN_X931_derive_prime_ex, 
+//GO(BN_X931_generate_prime_ex, 
+//GO(BN_X931_generate_Xpq, 
+GO(BN_zero, vFp)
+//GO(bsaes_cbc_encrypt, 
+//GO(bsaes_ctr32_encrypt_blocks, 
+//GO(bsaes_xts_decrypt, 
+//GO(bsaes_xts_encrypt, 
+//GO(BUF_memdup, 
+//GO(BUF_MEM_free, 
+//GO(BUF_MEM_grow, 
+//GO(BUF_MEM_grow_clean, 
+//GO(BUF_MEM_new, 
+//GO(BUF_reverse, 
+//GO(BUF_strdup, 
+//GO(BUF_strlcat, 
+//GO(BUF_strlcpy, 
+//GO(BUF_strndup, 
+//GO(BUF_strnlen, 
+//GO(c2i_ASN1_BIT_STRING, 
+//GO(c2i_ASN1_INTEGER, 
+//GO(c2i_ASN1_OBJECT, 
+//GO(Camellia_cbc_encrypt, 
+//GO(Camellia_cfb128_encrypt, 
+//GO(Camellia_cfb1_encrypt, 
+//GO(Camellia_cfb8_encrypt, 
+//GO(Camellia_ctr128_encrypt, 
+//GO(Camellia_decrypt, 
+//GO(Camellia_DecryptBlock, 
+//GO(Camellia_DecryptBlock_Rounds, 
+//GO(Camellia_ecb_encrypt, 
+//GO(Camellia_Ekeygen, 
+//GO(Camellia_encrypt, 
+//GO(Camellia_EncryptBlock, 
+//GO(Camellia_EncryptBlock_Rounds, 
+//GO(Camellia_ofb128_encrypt, 
+//GO(Camellia_set_key, 
+//GO(CAST_cbc_encrypt, 
+//GO(CAST_cfb64_encrypt, 
+//GO(CAST_decrypt, 
+//GO(CAST_ecb_encrypt, 
+//GO(CAST_encrypt, 
+//GO(CAST_ofb64_encrypt, 
+//GO(CAST_set_key, 
+//GO(CERTIFICATEPOLICIES_free, 
+//GO(CERTIFICATEPOLICIES_new, 
+//GO(check_defer, 
+//GO(CMAC_CTX_cleanup, 
+//GO(CMAC_CTX_copy, 
+//GO(CMAC_CTX_free, 
+//GO(CMAC_CTX_get0_cipher_ctx, 
+//GO(CMAC_CTX_new, 
+//GO(CMAC_Final, 
+//GO(CMAC_Init, 
+//GO(CMAC_resume, 
+//GO(CMAC_Update, 
+//GO(CMS_add0_cert, 
+//GO(CMS_add0_CertificateChoices, 
+//GO(CMS_add0_crl, 
+//GO(CMS_add0_recipient_key, 
+//GO(CMS_add0_recipient_password, 
+//GO(CMS_add0_RevocationInfoChoice, 
+//GO(CMS_add1_cert, 
+//GO(CMS_add1_crl, 
+//GO(CMS_add1_ReceiptRequest, 
+//GO(CMS_add1_recipient_cert, 
+//GO(CMS_add1_signer, 
+//GO(CMS_add_simple_smimecap, 
+//GO(CMS_add_smimecap, 
+//GO(CMS_add_standard_smimecap, 
+//GO(CMS_compress, 
+//GO(cms_CompressedData_create, 
+//GO(cms_CompressedData_init_bio, 
+//GO(cms_content_bio, 
+//GO(CMS_ContentInfo_free, 
+//GO(CMS_ContentInfo_new, 
+//GO(CMS_ContentInfo_print_ctx, 
+//GO(CMS_data, 
+//GO(cms_Data_create, 
+//GO(CMS_data_create, 
+//GO(CMS_dataFinal, 
+//GO(CMS_dataInit, 
+//GO(CMS_decrypt, 
+//GO(CMS_decrypt_set1_key, 
+//GO(CMS_decrypt_set1_password, 
+//GO(CMS_decrypt_set1_pkey, 
+//GO(cms_DigestAlgorithm_find_ctx, 
+//GO(cms_DigestAlgorithm_init_bio, 
+//GO(cms_DigestAlgorithm_set, 
+//GO(CMS_digest_create, 
+//GO(cms_DigestedData_create, 
+//GO(cms_DigestedData_do_final, 
+//GO(cms_DigestedData_init_bio, 
+//GO(CMS_digest_verify, 
+//GO(cms_encode_Receipt, 
+//GO(CMS_encrypt, 
+//GO(cms_EncryptedContent_init, 
+//GO(cms_EncryptedContent_init_bio, 
+//GO(CMS_EncryptedData_decrypt, 
+//GO(CMS_EncryptedData_encrypt, 
+//GO(cms_EncryptedData_init_bio, 
+//GO(CMS_EncryptedData_set1_key, 
+//GO(cms_env_asn1_ctrl, 
+//GO(CMS_EnvelopedData_create, 
+//GO(cms_EnvelopedData_init_bio, 
+//GO(CMS_final, 
+//GO(CMS_get0_content, 
+//GO(CMS_get0_eContentType, 
+//GO(cms_get0_enveloped, 
+//GO(CMS_get0_RecipientInfos, 
+//GO(CMS_get0_SignerInfos, 
+//GO(CMS_get0_signers, 
+//GO(CMS_get0_type, 
+//GO(CMS_get1_certs, 
+//GO(CMS_get1_crls, 
+//GO(CMS_get1_ReceiptRequest, 
+//GO(cms_ias_cert_cmp, 
+//GO(CMS_is_detached, 
+//GO(cms_keyid_cert_cmp, 
+//GO(cms_msgSigDigest_add1, 
+//GO(cms_pkey_get_ri_type, 
+//GO(CMS_ReceiptRequest_create0, 
+//GO(CMS_ReceiptRequest_free, 
+//GO(CMS_ReceiptRequest_get0_values, 
+//GO(CMS_ReceiptRequest_new, 
+//GO(cms_Receipt_verify, 
+//GO(CMS_RecipientEncryptedKey_cert_cmp, 
+//GO(CMS_RecipientEncryptedKey_get0_id, 
+//GO(CMS_RecipientInfo_decrypt, 
+//GO(CMS_RecipientInfo_encrypt, 
+//GO(CMS_RecipientInfo_get0_pkey_ctx, 
+//GO(CMS_RecipientInfo_kari_decrypt, 
+//GO(cms_RecipientInfo_kari_encrypt, 
+//GO(CMS_RecipientInfo_kari_get0_alg, 
+//GO(CMS_RecipientInfo_kari_get0_ctx, 
+//GO(CMS_RecipientInfo_kari_get0_orig_id, 
+//GO(CMS_RecipientInfo_kari_get0_reks, 
+//GO(cms_RecipientInfo_kari_init, 
+//GO(CMS_RecipientInfo_kari_orig_id_cmp, 
+//GO(CMS_RecipientInfo_kari_set0_pkey, 
+//GO(CMS_RecipientInfo_kekri_get0_id, 
+//GO(CMS_RecipientInfo_kekri_id_cmp, 
+//GO(CMS_RecipientInfo_ktri_cert_cmp, 
+//GO(CMS_RecipientInfo_ktri_get0_algs, 
+//GO(CMS_RecipientInfo_ktri_get0_signer_id, 
+//GO(cms_RecipientInfo_pwri_crypt, 
+//GO(CMS_RecipientInfo_set0_key, 
+//GO(CMS_RecipientInfo_set0_password, 
+//GO(CMS_RecipientInfo_set0_pkey, 
+//GO(CMS_RecipientInfo_type, 
+//GO(CMS_set1_eContentType, 
+//GO(cms_set1_ias, 
+//GO(cms_set1_keyid, 
+//GO(cms_set1_SignerIdentifier, 
+//GO(CMS_set1_signers_certs, 
+//GO(CMS_set_detached, 
+//GO(CMS_SharedInfo_encode, 
+//GO(CMS_sign, 
+//GO(CMS_signed_add1_attr, 
+//GO(CMS_signed_add1_attr_by_NID, 
+//GO(CMS_signed_add1_attr_by_OBJ, 
+//GO(CMS_signed_add1_attr_by_txt, 
+//GO(cms_SignedData_final, 
+//GO(CMS_SignedData_init, 
+//GO(cms_SignedData_init_bio, 
+//GO(CMS_signed_delete_attr, 
+//GO(CMS_signed_get0_data_by_OBJ, 
+//GO(CMS_signed_get_attr, 
+//GO(CMS_signed_get_attr_by_NID, 
+//GO(CMS_signed_get_attr_by_OBJ, 
+//GO(CMS_signed_get_attr_count, 
+//GO(cms_SignerIdentifier_cert_cmp, 
+//GO(cms_SignerIdentifier_get0_signer_id, 
+//GO(CMS_SignerInfo_cert_cmp, 
+//GO(CMS_SignerInfo_get0_algs, 
+//GO(CMS_SignerInfo_get0_md_ctx, 
+//GO(CMS_SignerInfo_get0_pkey_ctx, 
+//GO(CMS_SignerInfo_get0_signature, 
+//GO(CMS_SignerInfo_get0_signer_id, 
+//GO(CMS_SignerInfo_set1_signer_cert, 
+//GO(CMS_SignerInfo_sign, 
+//GO(CMS_SignerInfo_verify, 
+//GO(CMS_SignerInfo_verify_content, 
+//GO(CMS_sign_receipt, 
+//GO(CMS_stream, 
+//GO(CMS_uncompress, 
+//GO(CMS_unsigned_add1_attr, 
+//GO(CMS_unsigned_add1_attr_by_NID, 
+//GO(CMS_unsigned_add1_attr_by_OBJ, 
+//GO(CMS_unsigned_add1_attr_by_txt, 
+//GO(CMS_unsigned_delete_attr, 
+//GO(CMS_unsigned_get0_data_by_OBJ, 
+//GO(CMS_unsigned_get_attr, 
+//GO(CMS_unsigned_get_attr_by_NID, 
+//GO(CMS_unsigned_get_attr_by_OBJ, 
+//GO(CMS_unsigned_get_attr_count, 
+//GO(CMS_verify, 
+//GO(CMS_verify_receipt, 
+//GO(COMP_compress_block, 
+//GO(COMP_CTX_free, 
+//GO(COMP_CTX_new, 
+//GO(COMP_expand_block, 
+//GO(COMP_rle, 
+//GO(COMP_zlib, 
+//GO(COMP_zlib_cleanup, 
+//GO(_CONF_add_string, 
+//GO(CONF_dump_bio, 
+//GO(CONF_dump_fp, 
+//GO(CONF_free, 
+//GO(_CONF_free_data, 
+//GO(CONF_get1_default_config_file, 
+//GO(CONF_get_number, 
+//GO(_CONF_get_section, 
+//GO(CONF_get_section, 
+//GO(_CONF_get_section_values, 
+//GO(_CONF_get_string, 
+//GO(CONF_get_string, 
+//GO(CONF_imodule_get_flags, 
+//GO(CONF_imodule_get_module, 
+//GO(CONF_imodule_get_name, 
+//GO(CONF_imodule_get_usr_data, 
+//GO(CONF_imodule_get_value, 
+//GO(CONF_imodule_set_flags, 
+//GO(CONF_imodule_set_usr_data, 
+//GO(CONF_load, 
+//GO(CONF_load_bio, 
+//GO(CONF_load_fp, 
+//GO(CONF_module_add, 
+//GO(CONF_module_get_usr_data, 
+//GO(CONF_module_set_usr_data, 
+//GO(CONF_modules_finish, 
+//GO(CONF_modules_free, 
+//GO(CONF_modules_load, 
+//GO(CONF_modules_load_file, 
+GO(CONF_modules_unload, vFi)
+//GO(_CONF_new_data, 
+//GO(_CONF_new_section, 
+//GO(CONF_parse_list, 
+//GO(CONF_set_default_method, 
+//GO(CONF_set_nconf, 
+//GO(CRL_DIST_POINTS_free, 
+//GO(CRL_DIST_POINTS_new, 
+//GO(CRYPTO_128_unwrap, 
+//GO(CRYPTO_128_wrap, 
+GO(CRYPTO_add_lock, iFpiipi)
+//GO(CRYPTO_cbc128_decrypt, 
+//GO(CRYPTO_cbc128_encrypt, 
+//GO(CRYPTO_ccm128_aad, 
+//GO(CRYPTO_ccm128_decrypt, 
+//GO(CRYPTO_ccm128_decrypt_ccm64, 
+//GO(CRYPTO_ccm128_encrypt, 
+//GO(CRYPTO_ccm128_encrypt_ccm64, 
+//GO(CRYPTO_ccm128_init, 
+//GO(CRYPTO_ccm128_setiv, 
+//GO(CRYPTO_ccm128_tag, 
+//GO(CRYPTO_cfb128_1_encrypt, 
+//GO(CRYPTO_cfb128_8_encrypt, 
+//GO(CRYPTO_cfb128_encrypt, 
+GO(CRYPTO_cleanup_all_ex_data, vFv)
+//GO(CRYPTO_ctr128_encrypt, 
+//GO(CRYPTO_ctr128_encrypt_ctr32, 
+//GO(CRYPTO_cts128_decrypt, 
+//GO(CRYPTO_cts128_decrypt_block, 
+//GO(CRYPTO_cts128_encrypt, 
+//GO(CRYPTO_cts128_encrypt_block, 
+//GO(CRYPTO_dbg_free, 
+//GO(CRYPTO_dbg_get_options, 
+//GO(CRYPTO_dbg_malloc, 
+//GO(CRYPTO_dbg_realloc, 
+//GO(CRYPTO_dbg_set_options, 
+//GO(CRYPTO_destroy_dynlockid, 
+//GO(CRYPTO_dup_ex_data, 
+//GO(CRYPTO_ex_data_new_class, 
+GO(CRYPTO_free, vFppi)
+//GO(CRYPTO_free_ex_data, 
+//GO(CRYPTO_free_locked, 
+//GO(CRYPTO_gcm128_aad, 
+//GO(CRYPTO_gcm128_decrypt, 
+//GO(CRYPTO_gcm128_decrypt_ctr32, 
+//GO(CRYPTO_gcm128_encrypt, 
+//GO(CRYPTO_gcm128_encrypt_ctr32, 
+//GO(CRYPTO_gcm128_finish, 
+//GO(CRYPTO_gcm128_init, 
+//GO(CRYPTO_gcm128_new, 
+//GO(CRYPTO_gcm128_release, 
+//GO(CRYPTO_gcm128_setiv, 
+//GO(CRYPTO_gcm128_tag, 
+//GO(CRYPTO_get_add_lock_callback, 
+//GO(CRYPTO_get_dynlock_create_callback, 
+//GO(CRYPTO_get_dynlock_destroy_callback, 
+//GO(CRYPTO_get_dynlock_lock_callback, 
+//GO(CRYPTO_get_dynlock_value, 
+//GO(CRYPTO_get_ex_data, 
+//GO(CRYPTO_get_ex_data_implementation, 
+//GO(CRYPTO_get_ex_new_index, 
+//GO(CRYPTO_get_id_callback, 
+//GO(CRYPTO_get_locked_mem_ex_functions, 
+//GO(CRYPTO_get_locked_mem_functions, 
+//GO(CRYPTO_get_locking_callback, 
+//GO(CRYPTO_get_lock_name, 
+//GO(CRYPTO_get_mem_debug_functions, 
+//GO(CRYPTO_get_mem_debug_options, 
+//GO(CRYPTO_get_mem_ex_functions, 
+//GO(CRYPTO_get_mem_functions, 
+//GO(CRYPTO_get_new_dynlockid, 
+//GO(CRYPTO_get_new_lockid, 
+//GO(CRYPTO_is_mem_check_on, 
+//GO(CRYPTO_lock, 
+GO(CRYPTO_malloc, pFupi)
+//GO(CRYPTO_malloc_locked, 
+//GO(CRYPTO_memcmp, 
+//GO(CRYPTO_mem_ctrl, 
+//GO(CRYPTO_mem_leaks, 
+//GO(CRYPTO_mem_leaks_cb, 
+//GO(CRYPTO_mem_leaks_fp, 
+//GO(CRYPTO_new_ex_data, 
+//GO(CRYPTO_nistcts128_decrypt, 
+//GO(CRYPTO_nistcts128_decrypt_block, 
+//GO(CRYPTO_nistcts128_encrypt, 
+//GO(CRYPTO_nistcts128_encrypt_block, 
+GO(CRYPTO_num_locks, iFv)
+//GO(CRYPTO_ofb128_encrypt, 
+//GO(CRYPTO_pop_info, 
+//GO(CRYPTO_push_info_, 
+GO(CRYPTO_realloc, pFpupi)
+//GO(CRYPTO_realloc_clean, 
+//GO(CRYPTO_remalloc, 
+//GO(CRYPTO_remove_all_info, 
+//GO(CRYPTO_set_add_lock_callback, 
+//GO(CRYPTO_set_dynlock_create_callback, 
+//GO(CRYPTO_set_dynlock_destroy_callback, 
+//GO(CRYPTO_set_dynlock_lock_callback, 
+//GO(CRYPTO_set_ex_data, 
+//GO(CRYPTO_set_ex_data_implementation, 
+GOM(CRYPTO_set_id_callback, vFEp)
+//GO(CRYPTO_set_locked_mem_ex_functions, 
+//GO(CRYPTO_set_locked_mem_functions, 
+GOM(CRYPTO_set_locking_callback, vFEp)
+//GO(CRYPTO_set_mem_debug_functions, 
+//GO(CRYPTO_set_mem_debug_options, 
+//GO(CRYPTO_set_mem_ex_functions, 
+//GO(CRYPTO_set_mem_functions, 
+GO(CRYPTO_strdup, pFppi)
+//GO(CRYPTO_thread_id, 
+//GO(CRYPTO_THREADID_cmp, 
+//GO(CRYPTO_THREADID_cpy, 
+//GO(CRYPTO_THREADID_current, 
+//GO(CRYPTO_THREADID_get_callback, 
+//GO(CRYPTO_THREADID_hash, 
+//GO(CRYPTO_THREADID_set_callback, 
+//GO(CRYPTO_THREADID_set_numeric, 
+//GO(CRYPTO_THREADID_set_pointer, 
+//GO(CRYPTO_xts128_encrypt, 
+//GO(d2i_ACCESS_DESCRIPTION, 
+GO(d2i_ASN1_BIT_STRING, pFppl)
+//GO(d2i_ASN1_BMPSTRING, 
+//GO(d2i_ASN1_BOOLEAN, 
+//GO(d2i_ASN1_bytes, 
+//GO(d2i_ASN1_ENUMERATED, 
+//GO(d2i_ASN1_GENERALIZEDTIME, 
+//GO(d2i_ASN1_GENERALSTRING, 
+//GO(d2i_ASN1_IA5STRING, 
+//GO(d2i_ASN1_INTEGER, 
+//GO(d2i_ASN1_NULL, 
+//GO(d2i_ASN1_OBJECT, 
+//GO(d2i_ASN1_OCTET_STRING, 
+//GO(d2i_ASN1_PRINTABLE, 
+//GO(d2i_ASN1_PRINTABLESTRING, 
+//GO(d2i_ASN1_SEQUENCE_ANY, 
+//GO(d2i_ASN1_SET, 
+//GO(d2i_ASN1_SET_ANY, 
+//GO(d2i_ASN1_T61STRING, 
+//GO(d2i_ASN1_TIME, 
+//GO(d2i_ASN1_TYPE, 
+//GO(d2i_ASN1_type_bytes, 
+//GO(d2i_ASN1_UINTEGER, 
+//GO(d2i_ASN1_UNIVERSALSTRING, 
+//GO(d2i_ASN1_UTCTIME, 
+//GO(d2i_ASN1_UTF8STRING, 
+//GO(d2i_ASN1_VISIBLESTRING, 
+//GO(d2i_AUTHORITY_INFO_ACCESS, 
+//GO(d2i_AUTHORITY_KEYID, 
+GO(d2i_AutoPrivateKey, pFppl)
+GO(d2i_BASIC_CONSTRAINTS, pFppl)
+//GO(d2i_CERTIFICATEPOLICIES, 
+//GO(d2i_CMS_bio, 
+//GO(d2i_CMS_ContentInfo, 
+//GO(d2i_CMS_ReceiptRequest, 
+//GO(d2i_CRL_DIST_POINTS, 
+GO(d2i_DHparams, pFppl)
+//GO(d2i_DHxparams, 
+//GO(d2i_DIRECTORYSTRING, 
+//GO(d2i_DISPLAYTEXT, 
+//GO(d2i_DIST_POINT, 
+//GO(d2i_DIST_POINT_NAME, 
+//GO(d2i_DSAparams, 
+GO(d2i_DSAPrivateKey, pFppl)
+GO(d2i_DSAPrivateKey_bio, pFpp)
+GO(d2i_DSAPrivateKey_fp, pFpp)
+GO(d2i_DSA_PUBKEY, pFppl)
+GO(d2i_DSA_PUBKEY_bio, pFpp)
+GO(d2i_DSA_PUBKEY_fp, pFpp)
+//GO(d2i_DSAPublicKey, 
+//GO(d2i_DSA_SIG, 
+//GO(d2i_ECDSA_SIG, 
+//GO(d2i_ECParameters, 
+//GO(d2i_ECPKParameters, 
+//GO(d2i_ECPKPARAMETERS, 
+//GO(d2i_ECPrivateKey, 
+GO(d2i_EC_PRIVATEKEY, pFppl)
+GO(d2i_ECPrivateKey_bio, pFpp)
+GO(d2i_ECPrivateKey_fp, pFpp)
+GO(d2i_EC_PUBKEY, pFppl)
+GO(d2i_EC_PUBKEY_bio, pFpp)
+GO(d2i_EC_PUBKEY_fp, pFpp)
+//GO(d2i_EDIPARTYNAME, 
+//GO(d2i_ESS_CERT_ID, 
+//GO(d2i_ESS_ISSUER_SERIAL, 
+//GO(d2i_ESS_SIGNING_CERT, 
+GO(d2i_EXTENDED_KEY_USAGE, pFppl)
+//GO(d2i_GENERAL_NAME, 
+//GO(d2i_GENERAL_NAMES, 
+//GO(d2i_int_dhx, 
+//GO(d2i_ISSUING_DIST_POINT, 
+//GO(d2i_KRB5_APREQ, 
+//GO(d2i_KRB5_APREQBODY, 
+//GO(d2i_KRB5_AUTHDATA, 
+//GO(d2i_KRB5_AUTHENT, 
+//GO(d2i_KRB5_AUTHENTBODY, 
+//GO(d2i_KRB5_CHECKSUM, 
+//GO(d2i_KRB5_ENCDATA, 
+//GO(d2i_KRB5_ENCKEY, 
+//GO(d2i_KRB5_PRINCNAME, 
+//GO(d2i_KRB5_TICKET, 
+//GO(d2i_KRB5_TKTBODY, 
+//GO(d2i_NETSCAPE_CERT_SEQUENCE, 
+//GO(d2i_NETSCAPE_ENCRYPTED_PKEY, 
+//GO(d2i_NETSCAPE_PKEY, 
+//GO(d2i_Netscape_RSA, 
+//GO(d2i_NETSCAPE_SPKAC, 
+//GO(d2i_NETSCAPE_SPKI, 
+//GO(d2i_NETSCAPE_X509, 
+//GO(d2i_NOTICEREF, 
+//GO(d2i_OCSP_BASICRESP, 
+//GO(d2i_OCSP_CERTID, 
+//GO(d2i_OCSP_CERTSTATUS, 
+//GO(d2i_OCSP_CRLID, 
+//GO(d2i_OCSP_ONEREQ, 
+//GO(d2i_OCSP_REQINFO, 
+//GO(d2i_OCSP_REQUEST, 
+//GO(d2i_OCSP_RESPBYTES, 
+//GO(d2i_OCSP_RESPDATA, 
+//GO(d2i_OCSP_RESPID, 
+GO(d2i_OCSP_RESPONSE, pFppl)
+//GO(d2i_OCSP_REVOKEDINFO, 
+//GO(d2i_OCSP_SERVICELOC, 
+//GO(d2i_OCSP_SIGNATURE, 
+//GO(d2i_OCSP_SINGLERESP, 
+//GO(d2i_OTHERNAME, 
+//GO(d2i_PBE2PARAM, 
+//GO(d2i_PBEPARAM, 
+//GO(d2i_PBKDF2PARAM, 
+GO(d2i_PKCS12, pFppl)
+//GO(d2i_PKCS12_BAGS, 
+GO(d2i_PKCS12_bio, pFpp)
+GO(d2i_PKCS12_fp, pFpp)
+//GO(d2i_PKCS12_MAC_DATA, 
+//GO(d2i_PKCS12_SAFEBAG, 
+GO(d2i_PKCS7, pFppl)
+GO(d2i_PKCS7_bio, pFpp)
+//GO(d2i_PKCS7_DIGEST, 
+//GO(d2i_PKCS7_ENC_CONTENT, 
+//GO(d2i_PKCS7_ENCRYPT, 
+//GO(d2i_PKCS7_ENVELOPE, 
+GO(d2i_PKCS7_fp, pFpp)
+//GO(d2i_PKCS7_ISSUER_AND_SERIAL, 
+//GO(d2i_PKCS7_RECIP_INFO, 
+//GO(d2i_PKCS7_SIGNED, 
+//GO(d2i_PKCS7_SIGN_ENVELOPE, 
+//GO(d2i_PKCS7_SIGNER_INFO, 
+GO(d2i_PKCS8_bio, pFpp)
+GO(d2i_PKCS8_fp, pFpp)
+GO(d2i_PKCS8PrivateKey_bio, pFpp)
+GO(d2i_PKCS8PrivateKey_fp, pFpp)
+GO(d2i_PKCS8_PRIV_KEY_INFO, pFppl)
+GO(d2i_PKCS8_PRIV_KEY_INFO_bio, pFpp)
+GO(d2i_PKCS8_PRIV_KEY_INFO_fp, pFpp)
+//GO(d2i_PKEY_USAGE_PERIOD, 
+//GO(d2i_POLICYINFO, 
+//GO(d2i_POLICYQUALINFO, 
+GO(d2i_PrivateKey, pFppl)
+GO(d2i_PrivateKey_bio, pFpp)
+GO(d2i_PrivateKey_fp, pFpp)
+//GO(d2i_PROXY_CERT_INFO_EXTENSION, 
+//GO(d2i_PROXY_POLICY, 
+GO(d2i_PUBKEY, pFppl)
+GO(d2i_PUBKEY_bio, pFpp)
+GO(d2i_PUBKEY_fp, pFpp)
+//GO(d2i_PublicKey, 
+//GO(d2i_RSA_NET, 
+//GO(d2i_RSA_OAEP_PARAMS, 
+GO(d2i_RSAPrivateKey, pFppl)
+GO(d2i_RSAPrivateKey_bio, pFpp)
+GO(d2i_RSAPrivateKey_fp, pFpp)
+//GO(d2i_RSA_PSS_PARAMS, 
+GO(d2i_RSA_PUBKEY, pFppl)
+GO(d2i_RSA_PUBKEY_bio, pFpp)
+GO(d2i_RSA_PUBKEY_fp, pFpp)
+GO(d2i_RSAPublicKey, pFppl)
+GO(d2i_RSAPublicKey_bio, pFpp)
+GO(d2i_RSAPublicKey_fp, pFpp)
+//GO(d2i_SXNET, 
+//GO(d2i_SXNETID, 
+//GO(d2i_TS_ACCURACY, 
+GO(d2i_TS_MSG_IMPRINT, pFppl)
+GO(d2i_TS_MSG_IMPRINT_bio, pFpp)
+GO(d2i_TS_MSG_IMPRINT_fp, pFpp)
+GO(d2i_TS_REQ, pFppl)
+GO(d2i_TS_REQ_bio, pFpp)
+GO(d2i_TS_REQ_fp, pFpp)
+GO(d2i_TS_RESP, pFppl)
+GO(d2i_TS_RESP_bio, pFpp)
+GO(d2i_TS_RESP_fp, pFpp)
+//GO(d2i_TS_STATUS_INFO, 
+GO(d2i_TS_TST_INFO, pFppl)
+GO(d2i_TS_TST_INFO_bio, pFpp)
+GO(d2i_TS_TST_INFO_fp, pFpp)
+//GO(d2i_USERNOTICE, 
+GO(d2i_X509, pFppl)
+//GO(d2i_X509_ALGOR, 
+//GO(d2i_X509_ALGORS, 
+//GO(d2i_X509_ATTRIBUTE, 
+//GO(d2i_X509_AUX, 
+GO(d2i_X509_bio, pFpp)
+//GO(d2i_X509_CERT_AUX, 
+//GO(d2i_X509_CERT_PAIR, 
+//GO(d2i_X509_CINF, 
+GO(d2i_X509_CRL, pFppl)
+GO(d2i_X509_CRL_bio, pFpp)
+GO(d2i_X509_CRL_fp, pFpp)
+//GO(d2i_X509_CRL_INFO, 
+//GO(d2i_X509_EXTENSION, 
+//GO(d2i_X509_EXTENSIONS, 
+GO(d2i_X509_fp, pFppl)
+GO(d2i_X509_NAME, pFppl)
+//GO(d2i_X509_NAME_ENTRY, 
+//GO(d2i_X509_PKEY, 
+//GO(d2i_X509_PUBKEY, 
+GO(d2i_X509_REQ, pFppl)
+GO(d2i_X509_REQ_bio, pFpp)
+GO(d2i_X509_REQ_fp, pFpp)
+//GO(d2i_X509_REQ_INFO, 
+//GO(d2i_X509_REVOKED, 
+//GO(d2i_X509_SIG, 
+//GO(d2i_X509_VAL, 
+GO(DES_cbc_cksum, uFppipp)
+GO(DES_cbc_encrypt, vFppippi)
+GO(DES_cfb64_encrypt, vFppippppi)
+GO(DES_cfb_encrypt, vFppilppi)
+//GO(DES_check_key_parity, 
+//GO(_des_crypt, 
+GO(DES_crypt, pFpp)
+//GO(DES_decrypt3, 
+GO(DES_ecb3_encrypt, vFpppppi)
+GO(DES_ecb_encrypt, vFpppi)
+GO(DES_ede3_cbc_encrypt, vFppippppi)
+//GO(DES_ede3_cbcm_encrypt, 
+GO(DES_ede3_cfb64_encrypt, vFpplpppppi)
+//GO(DES_ede3_cfb_encrypt, 
+GO(DES_ede3_ofb64_encrypt, vFpplppppp)
+//GO(DES_enc_read, 
+//GO(DES_encrypt1, 
+//GO(DES_encrypt2, 
+//GO(DES_encrypt3, 
+//GO(DES_enc_write, 
+GO(DES_fcrypt, pFppp)
+GO(DES_is_weak_key, iFp)
+GO(DES_key_sched, iFpp)
+GO(DES_ncbc_encrypt, vFpplppi)
+GO(DES_ofb64_encrypt, vFpplppp)
+GO(DES_ofb_encrypt, vFppilpp)
+//GO(DES_options, 
+GO(DES_pcbc_encrypt, vFppippi)
+GO(DES_quad_cksum, uFpplip)
+GO(DES_random_key, vFp)
+//GO(DES_read_2passwords, 
+//GO(DES_read_password, 
+GO(DES_set_key, iFpp)
+GO(DES_set_key_checked, iFpp)
+GO(DES_set_key_unchecked, iFpp)
+GO(DES_set_odd_parity, vFp)
+GO(DES_string_to_2keys, vFppp)
+GO(DES_string_to_key, vFpp)
+GO(DES_xcbc_encrypt, vFpplppppi)
+//GO(DH_check, 
+//GO(DH_check_pub_key, 
+//GO(DH_compute_key, 
+//GO(DH_compute_key_padded, 
+GO(DH_free, vFp)
+//GO(DH_generate_key, 
+//GO(DH_generate_parameters, 
+//GO(DH_generate_parameters_ex, 
+//GO(DH_get_1024_160, 
+//GO(DH_get_2048_224, 
+//GO(DH_get_2048_256, 
+//GO(DH_get_default_method, 
+//GO(DH_get_ex_data, 
+//GO(DH_get_ex_new_index, 
+//GO(DH_KDF_X9_42, 
+GO(DH_new, pFv)
+//GO(DH_new_method, 
+//GO(DH_OpenSSL, 
+//GO(DHparams_dup, 
+//GO(DHparams_print, 
+//GO(DHparams_print_fp, 
+//GO(DH_set_default_method, 
+//GO(DH_set_ex_data, 
+//GO(DH_set_method, 
+//GO(DH_size, 
+//GO(DH_up_ref, 
+//GO(DIRECTORYSTRING_free, 
+//GO(DIRECTORYSTRING_new, 
+//GO(DISPLAYTEXT_free, 
+//GO(DISPLAYTEXT_new, 
+//GO(DIST_POINT_free, 
+//GO(DIST_POINT_NAME_free, 
+//GO(DIST_POINT_NAME_new, 
+//GO(DIST_POINT_new, 
+//GO(DIST_POINT_set_dpname, 
+//GO(dsa_builtin_paramgen, 
+//GO(dsa_builtin_paramgen2, 
+//GO(DSA_do_sign, 
+//GO(DSA_do_verify, 
+//GO(DSA_dup_DH, 
+GO(DSA_free, vFp)
+GO(DSA_generate_key, iFp)
+//GO(DSA_generate_parameters, 
+GO(DSA_generate_parameters_ex, iFpipippp)
+//GO(DSA_get_default_method, 
+//GO(DSA_get_ex_data, 
+//GO(DSA_get_ex_new_index, 
+GO(DSA_new, pFv)
+//GO(DSA_new_method, 
+GO(DSA_OpenSSL, pFv)
+//GO(dsa_paramgen_check_g, 
+//GO(DSAparams_dup, 
+//GO(DSAparams_print, 
+//GO(DSAparams_print_fp, 
+//GO(DSA_print, 
+//GO(DSA_print_fp, 
+//GO(DSA_set_default_method, 
+//GO(DSA_set_ex_data, 
+//GO(DSA_set_method, 
+//GO(DSA_SIG_free, 
+GO(DSA_sign, iFipippp)
+//GO(DSA_SIG_new, 
+//GO(DSA_sign_setup, 
+GO(DSA_size, iFp)
+GO(DSA_up_ref, iFp)
+GO(DSA_verify, iFipipip)
+//GO(DSO_bind_func, 
+//GO(DSO_bind_var, 
+//GO(DSO_convert_filename, 
+//GO(DSO_ctrl, 
+//GO(DSO_flags, 
+//GO(DSO_free, 
+//GO(DSO_get_default_method, 
+//GO(DSO_get_filename, 
+//GO(DSO_get_loaded_filename, 
+//GO(DSO_get_method, 
+//GO(DSO_global_lookup, 
+//GO(DSO_load, 
+//GO(DSO_merge, 
+//GO(DSO_METHOD_beos, 
+//GO(DSO_METHOD_dl, 
+//GO(DSO_METHOD_dlfcn, 
+//GO(DSO_METHOD_null, 
+//GO(DSO_METHOD_openssl, 
+//GO(DSO_METHOD_vms, 
+//GO(DSO_METHOD_win32, 
+//GO(DSO_new, 
+//GO(DSO_new_method, 
+//GO(DSO_pathbyaddr, 
+//GO(DSO_set_default_method, 
+//GO(DSO_set_filename, 
+//GO(DSO_set_method, 
+//GO(DSO_set_name_converter, 
+//GO(DSO_up_ref, 
+GO(EC_curve_nid2nist, pFi)
+GO(EC_curve_nist2nid, iFp)
+//GO(ecdh_check, 
+//GO(ECDH_compute_key, 
+//GO(ECDH_get_default_method, 
+//GO(ECDH_get_ex_data, 
+//GO(ECDH_get_ex_new_index, 
+//GO(ECDH_KDF_X9_62, 
+//GO(ECDH_OpenSSL, 
+//GO(ECDH_set_default_method, 
+//GO(ECDH_set_ex_data, 
+//GO(ECDH_set_method, 
+//GO(ecdsa_check, 
+//GO(ECDSA_do_sign, 
+GO(ECDSA_do_sign_ex, pFpippp)
+GO(ECDSA_do_verify, iFpipp)
+//GO(ECDSA_get_default_method, 
+//GO(ECDSA_get_ex_data, 
+//GO(ECDSA_get_ex_new_index, 
+//GO(ECDSA_METHOD_free, 
+//GO(ECDSA_METHOD_get_app_data, 
+//GO(ECDSA_METHOD_new, 
+//GO(ECDSA_METHOD_set_app_data, 
+//GO(ECDSA_METHOD_set_flags, 
+//GO(ECDSA_METHOD_set_name, 
+//GO(ECDSA_METHOD_set_sign, 
+//GO(ECDSA_METHOD_set_sign_setup, 
+//GO(ECDSA_METHOD_set_verify, 
+//GO(ECDSA_OpenSSL, 
+//GO(ECDSA_set_default_method, 
+//GO(ECDSA_set_ex_data, 
+//GO(ECDSA_set_method, 
+GO(ECDSA_SIG_free, vFp)
+GO(ECDSA_sign, iFipippp)
+GO(ECDSA_SIG_get0, vFppp)
+GO(ECDSA_SIG_new, pFv)
+GO(ECDSA_SIG_set0, iFppp)
+GO(ECDSA_sign_ex, iFipippppp)
+GO(ECDSA_sign_setup, iFpppp)
+GO(ECDSA_size, iFp)
+GO(ECDSA_verify, iFipipip)
+//GO(EC_EX_DATA_clear_free_all_data, 
+//GO(EC_EX_DATA_clear_free_data, 
+//GO(EC_EX_DATA_free_all_data, 
+//GO(EC_EX_DATA_free_data, 
+//GO(EC_EX_DATA_get_data, 
+//GO(EC_EX_DATA_set_data, 
+GO(EC_get_builtin_curves, LFpL)
+//GO(ec_GF2m_have_precompute_mult, 
+//GO(ec_GF2m_precompute_mult, 
+//GO(ec_GF2m_simple_add, 
+//GO(ec_GF2m_simple_cmp, 
+//GO(ec_GF2m_simple_dbl, 
+//GO(ec_GF2m_simple_field_div, 
+//GO(ec_GF2m_simple_field_mul, 
+//GO(ec_GF2m_simple_field_sqr, 
+//GO(ec_GF2m_simple_group_check_discriminant, 
+//GO(ec_GF2m_simple_group_clear_finish, 
+//GO(ec_GF2m_simple_group_copy, 
+//GO(ec_GF2m_simple_group_finish, 
+//GO(ec_GF2m_simple_group_get_curve, 
+//GO(ec_GF2m_simple_group_get_degree, 
+//GO(ec_GF2m_simple_group_init, 
+//GO(ec_GF2m_simple_group_set_curve, 
+//GO(ec_GF2m_simple_invert, 
+//GO(ec_GF2m_simple_is_at_infinity, 
+//GO(ec_GF2m_simple_is_on_curve, 
+//GO(ec_GF2m_simple_make_affine, 
+GO(EC_GF2m_simple_method, pFv)
+//GO(ec_GF2m_simple_mul, 
+//GO(ec_GF2m_simple_oct2point, 
+//GO(ec_GF2m_simple_point2oct, 
+//GO(ec_GF2m_simple_point_clear_finish, 
+//GO(ec_GF2m_simple_point_copy, 
+//GO(ec_GF2m_simple_point_finish, 
+//GO(ec_GF2m_simple_point_get_affine_coordinates, 
+//GO(ec_GF2m_simple_point_init, 
+//GO(ec_GF2m_simple_point_set_affine_coordinates, 
+//GO(ec_GF2m_simple_point_set_to_infinity, 
+//GO(ec_GF2m_simple_points_make_affine, 
+//GO(ec_GF2m_simple_set_compressed_coordinates, 
+//GO(ec_GFp_mont_field_decode, 
+//GO(ec_GFp_mont_field_encode, 
+//GO(ec_GFp_mont_field_mul, 
+//GO(ec_GFp_mont_field_set_to_one, 
+//GO(ec_GFp_mont_field_sqr, 
+//GO(ec_GFp_mont_group_clear_finish, 
+//GO(ec_GFp_mont_group_copy, 
+//GO(ec_GFp_mont_group_finish, 
+//GO(ec_GFp_mont_group_init, 
+//GO(ec_GFp_mont_group_set_curve, 
+GO(EC_GFp_mont_method, pFv)
+//GO(ec_GFp_nist_field_mul, 
+//GO(ec_GFp_nist_field_sqr, 
+//GO(ec_GFp_nist_group_copy, 
+//GO(ec_GFp_nist_group_set_curve, 
+GO(EC_GFp_nist_method, pFv)
+GO(EC_GFp_nistp224_method, pFv)
+GO(EC_GFp_nistp256_method, pFv)
+GO(EC_GFp_nistp521_method, pFv)
+//GO(ec_GFp_simple_add, 
+//GO(ec_GFp_simple_cmp, 
+//GO(ec_GFp_simple_dbl, 
+//GO(ec_GFp_simple_field_mul, 
+//GO(ec_GFp_simple_field_sqr, 
+//GO(ec_GFp_simple_get_Jprojective_coordinates_GFp, 
+//GO(ec_GFp_simple_group_check_discriminant, 
+//GO(ec_GFp_simple_group_clear_finish, 
+//GO(ec_GFp_simple_group_copy, 
+//GO(ec_GFp_simple_group_finish, 
+//GO(ec_GFp_simple_group_get_curve, 
+//GO(ec_GFp_simple_group_get_degree, 
+//GO(ec_GFp_simple_group_init, 
+//GO(ec_GFp_simple_group_set_curve, 
+//GO(ec_GFp_simple_invert, 
+//GO(ec_GFp_simple_is_at_infinity, 
+//GO(ec_GFp_simple_is_on_curve, 
+//GO(ec_GFp_simple_make_affine, 
+GO(EC_GFp_simple_method, pFv)
+//GO(ec_GFp_simple_oct2point, 
+//GO(ec_GFp_simple_point2oct, 
+//GO(ec_GFp_simple_point_clear_finish, 
+//GO(ec_GFp_simple_point_copy, 
+//GO(ec_GFp_simple_point_finish, 
+//GO(ec_GFp_simple_point_get_affine_coordinates, 
+//GO(ec_GFp_simple_point_init, 
+//GO(ec_GFp_simple_point_set_affine_coordinates, 
+//GO(ec_GFp_simple_point_set_to_infinity, 
+//GO(ec_GFp_simple_points_make_affine, 
+//GO(ec_GFp_simple_set_compressed_coordinates, 
+//GO(ec_GFp_simple_set_Jprojective_coordinates_GFp, 
+GO(EC_GROUP_check, iFpp)
+GO(EC_GROUP_check_discriminant, iFpp)
+GO(EC_GROUP_clear_free, vFp)
+//GO(EC_GROUP_cmp, 
+//GO(EC_GROUP_copy, 
+//GO(EC_GROUP_dup, 
+GO(EC_GROUP_free, vFp)
+GO(EC_GROUP_get0_generator, pFp)
+GO(EC_GROUP_get0_seed, pFp)
+//GO(EC_GROUP_get_asn1_flag, 
+//GO(EC_GROUP_get_basis_type, 
+GO(EC_GROUP_get_cofactor, iFppp)
+GO(EC_GROUP_get_curve_GF2m, iFppppp)
+GO(EC_GROUP_get_curve_GFp, iFppppp)
+GO(EC_GROUP_get_curve_name, iFp)
+GO(EC_GROUP_get_degree, iFp)
+GO(EC_GROUP_get_ecparameters, pFpp)
+GO(EC_GROUP_get_ecpkparameters, pFpp)
+//GO(EC_GROUP_get_mont_data, 
+GO(EC_GROUP_get_order, iFppp)
+//GO(EC_GROUP_get_pentanomial_basis, 
+//GO(EC_GROUP_get_point_conversion_form, 
+GO(EC_GROUP_get_seed_len, LFp)
+//GO(EC_GROUP_get_trinomial_basis, 
+//GO(EC_GROUP_have_precompute_mult, 
+GO(EC_GROUP_method_of, pFp)
+GO(EC_GROUP_new, pFp)
+GO(EC_GROUP_new_by_curve_name, pFi)
+GO(EC_GROUP_new_curve_GF2m, pFpppp)
+GO(EC_GROUP_new_curve_GFp, pFpppp)
+GO(EC_GROUP_new_from_ecparameters, pFp)
+GO(EC_GROUP_new_from_ecpkparameters, pFp)
+GO(EC_GROUP_precompute_mult, iFpp)
+//GO(EC_GROUP_set_asn1_flag, 
+GO(EC_GROUP_set_curve_GF2m, iFppppp)
+GO(EC_GROUP_set_curve_GFp, iFppppp)
+//GO(EC_GROUP_set_curve_name, 
+GO(EC_GROUP_set_generator, iFpppp)
+//GO(EC_GROUP_set_point_conversion_form, 
+GO(EC_GROUP_set_seed, LFppL)
+GO(EC_KEY_check_key, iFp)
+//GO(EC_KEY_clear_flags, 
+//GO(EC_KEY_copy, 
+GO(EC_KEY_dup, pFp)
+GO(EC_KEY_free, vFp)
+GO(EC_KEY_generate_key, iFp)
+GO(EC_KEY_get0_group, pFp)
+GO(EC_KEY_get0_private_key, pFp)
+GO(EC_KEY_get0_public_key, pFp)
+//GO(EC_KEY_get_conv_form, 
+//GO(EC_KEY_get_enc_flags, 
+//GO(EC_KEY_get_flags, 
+//GO(EC_KEY_get_key_method_data, 
+//GO(EC_KEY_insert_key_method_data, 
+GO(EC_KEY_new, pFv)
+GO(EC_KEY_new_by_curve_name, pFi)
+//GO(EC_KEY_precompute_mult, 
+//GO(EC_KEY_print, 
+//GO(EC_KEY_print_fp, 
+GO(EC_KEY_set_asn1_flag, vFpi)
+//GO(EC_KEY_set_conv_form, 
+//GO(EC_KEY_set_enc_flags, 
+//GO(EC_KEY_set_flags, 
+GO(EC_KEY_set_group, iFpp)
+GO(EC_KEY_set_private_key, iFpp)
+GO(EC_KEY_set_public_key, iFpp)
+GO(EC_KEY_set_public_key_affine_coordinates, iFppp)
+GO(EC_KEY_up_ref, iFp)
+GO(EC_METHOD_get_field_type, iFp)
+//GO(ECPARAMETERS_free, 
+//GO(ECPARAMETERS_new, 
+//GO(ECParameters_print, 
+//GO(ECParameters_print_fp, 
+//GO(ECPKPARAMETERS_free, 
+//GO(ECPKPARAMETERS_new, 
+//GO(ECPKParameters_print, 
+//GO(ECPKParameters_print_fp, 
+//GO(EC_POINT_add, 
+//GO(EC_POINT_bn2point, 
+GO(EC_POINT_clear_free, vFp)
+//GO(EC_POINT_cmp, 
+GO(EC_POINT_copy, iFpp)
+//GO(EC_POINT_dbl, 
+GO(EC_POINT_dup, pFpp)
+GO(EC_POINT_free, vFp)
+GO(EC_POINT_get_affine_coordinates, iFppppp)
+GO(EC_POINT_get_affine_coordinates_GF2m, iFppppp)
+GO(EC_POINT_get_affine_coordinates_GFp, iFppppp)
+GO(EC_POINT_get_Jprojective_coordinates_GFp, iFpppppp)
+//GO(EC_POINT_hex2point, 
+//GO(EC_POINT_invert, 
+//GO(EC_POINT_is_at_infinity, 
+//GO(EC_POINT_is_on_curve, 
+//GO(EC_POINT_make_affine, 
+GO(EC_POINT_method_of, pFp)
+GO(EC_POINT_mul, iFpppppp)
+GO(EC_POINT_new, pFp)
+//GO(EC_POINT_oct2point, 
+//GO(EC_POINT_point2buf,
+//GO(EC_POINT_point2bn, 
+//GO(EC_POINT_point2hex, 
+//GO(EC_POINT_point2oct,
+GO(EC_POINT_set_affine_coordinates, iFppppp)
+GO(EC_POINT_set_affine_coordinates_GF2m, iFppppp)
+GO(EC_POINT_set_affine_coordinates_GFp, iFppppp)
+GO(EC_POINT_set_compressed_coordinates, iFpppip)
+GO(EC_POINT_set_compressed_coordinates_GF2m, iFpppip)
+GO(EC_POINT_set_compressed_coordinates_GFp, iFpppip)
+GO(EC_POINT_set_Jprojective_coordinates_GFp, iFpppppp)
+GO(EC_POINT_set_to_infinity, iFpp)
+//GO(EC_POINTs_make_affine, 
+//GO(EC_POINTs_mul, 
+//GO(ec_precompute_mont_data, 
+//GO(EC_PRIVATEKEY_free, 
+//GO(EC_PRIVATEKEY_new, 
+//GO(ec_wNAF_have_precompute_mult, 
+//GO(ec_wNAF_mul, 
+//GO(ec_wNAF_precompute_mult, 
+//GO(EDIPARTYNAME_free, 
+//GO(EDIPARTYNAME_new, 
+GO(ENGINE_add, iFp)
+//GO(ENGINE_add_conf_module, 
+GO(ENGINE_by_id, pFp)
+GO(ENGINE_cleanup, vFv)
+//GO(engine_cleanup_add_first, 
+//GO(engine_cleanup_add_last, 
+GO(ENGINE_cmd_is_executable, iFpi)
+GOM(ENGINE_ctrl, iFEpiipp)
+GOM(ENGINE_ctrl_cmd, iFpplppi)
+GO(ENGINE_ctrl_cmd_string, iFpppi)
+GO(ENGINE_finish, iFp)
+GO(ENGINE_free, iFp)
+//GO(engine_free_util, 
+//GO(ENGINE_get_cipher, 
+GO(ENGINE_get_cipher_engine, pFi)
+//GOM(ENGINE_get_ciphers, pFEp)
+//GOM(ENGINE_get_cmd_defns, pFEp)
+//GOM(ENGINE_get_ctrl_function, pFEp)
+GO(ENGINE_get_default_DH, pFv)
+GO(ENGINE_get_default_DSA, pFv)
+GO(ENGINE_get_default_ECDH, pFv)
+GO(ENGINE_get_default_ECDSA, pFv)
+GO(ENGINE_get_default_RAND, pFv)
+GO(ENGINE_get_default_RSA, pFv)
+//GOM(ENGINE_get_destroy_function, pFEp)
+GO(ENGINE_get_DH, pFp)
+//GOM(ENGINE_get_digest, pFEp)
+GO(ENGINE_get_digest_engine, pFi)
+//GO(ENGINE_get_digests, 
+GO(ENGINE_get_DSA, pFp)
+GO(ENGINE_get_ECDH, pFp)
+GO(ENGINE_get_ECDSA, pFp)
+//GO(ENGINE_get_ex_data, 
+//GO(ENGINE_get_ex_new_index, 
+//GOM(ENGINE_get_finish_function, pFEp)
+GO(ENGINE_get_first, iFp)
+GO(ENGINE_get_flags, iFp)
+GO(ENGINE_get_id, pFp)
+//GOM(ENGINE_get_init_function, pFEp)
+GO(ENGINE_get_last, pFv)
+//GOM(ENGINE_get_load_privkey_function, pFEp)
+//GOM(ENGINE_get_load_pubkey_function, pFEp)
+GO(ENGINE_get_name, pFp)
+GO(ENGINE_get_next, pFp)
+//GO(ENGINE_get_pkey_asn1_meth, 
+//GO(ENGINE_get_pkey_asn1_meth_engine, 
+//GO(ENGINE_get_pkey_asn1_meths, 
+//GO(ENGINE_get_pkey_asn1_meth_str, 
+//GO(ENGINE_get_pkey_meth, 
+//GO(ENGINE_get_pkey_meth_engine, 
+//GO(ENGINE_get_pkey_meths, 
+GO(ENGINE_get_prev, pFp)
+GO(ENGINE_get_RAND, pFp)
+GO(ENGINE_get_RSA, pFp)
+//GO(ENGINE_get_ssl_client_cert_function, 
+//GO(ENGINE_get_static_state, 
+//GO(ENGINE_get_STORE, 
+GO(ENGINE_get_table_flags, uFv)
+GO(ENGINE_init, iFp)
+GO(ENGINE_load_builtin_engines, vFv)
+//GO(ENGINE_load_cryptodev, 
+//GO(ENGINE_load_dynamic, 
+//GO(ENGINE_load_openssl, 
+GO(ENGINE_load_private_key, pFpppp)
+GO(ENGINE_load_public_key, pFpppp)
+//GO(ENGINE_load_rdrand, 
+//GO(ENGINE_load_ssl_client_cert, 
+GO(ENGINE_new, pFv)
+//GO(ENGINE_pkey_asn1_find_str, 
+//GO(engine_pkey_asn1_meths_free, 
+//GO(engine_pkey_meths_free, 
+GO(ENGINE_register_all_ciphers, vFv)
+GO(ENGINE_register_all_complete, iFv)
+GO(ENGINE_register_all_DH, vFv)
+GO(ENGINE_register_all_digests, vFv)
+GO(ENGINE_register_all_DSA, vFv)
+GO(ENGINE_register_all_ECDH, vFv)
+GO(ENGINE_register_all_ECDSA, vFv)
+//GO(ENGINE_register_all_pkey_asn1_meths, 
+//GO(ENGINE_register_all_pkey_meths, 
+GO(ENGINE_register_all_RAND, vFv)
+GO(ENGINE_register_all_RSA, vFv)
+//GO(ENGINE_register_all_STORE, 
+GO(ENGINE_register_ciphers, iFp)
+GO(ENGINE_register_complete, iFp)
+GO(ENGINE_register_DH, iFp)
+GO(ENGINE_register_digests, iFp)
+GO(ENGINE_register_DSA, iFp)
+GO(ENGINE_register_ECDH, iFp)
+GO(ENGINE_register_ECDSA, iFp)
+//GO(ENGINE_register_pkey_asn1_meths, 
+//GO(ENGINE_register_pkey_meths, 
+GO(ENGINE_register_RAND, iFp)
+GO(ENGINE_register_RSA, iFp)
+//GO(ENGINE_register_STORE, 
+GO(ENGINE_remove, iFp)
+//GO(engine_set_all_null, 
+//GOM(ENGINE_set_ciphers, iFEpp)   //typedef int (*ENGINE_CIPHERS_PTR)(ENGINE *e, const EVP_CIPHER **impl, const int **nids, int nid)
+//GOM(ENGINE_set_cmd_defns, iFEpp)
+//GO(ENGINE_set_ctrl_function, 
+GO(ENGINE_set_default, iFpu)
+GO(ENGINE_set_default_ciphers, iFp)
+GO(ENGINE_set_default_DH, iFp)
+GO(ENGINE_set_default_digests, iFp)
+GO(ENGINE_set_default_DSA, iFp)
+GO(ENGINE_set_default_ECDH, iFp)
+GO(ENGINE_set_default_ECDSA, iFp)
+//GO(ENGINE_set_default_pkey_asn1_meths, 
+//GO(ENGINE_set_default_pkey_meths, 
+GO(ENGINE_set_default_RAND, iFp)
+GO(ENGINE_set_default_RSA, iFp)
+GO(ENGINE_set_default_string, iFpp)
+//GOM(ENGINE_set_destroy_function, iFEpp)
+//GO(ENGINE_set_DH, 
+//GOM(ENGINE_set_digests, iFEpp)
+GO(ENGINE_set_DSA, iFpp)
+GO(ENGINE_set_ECDH, iFpp)
+GO(ENGINE_set_ECDSA, iFpp)
+//GO(ENGINE_set_ex_data, 
+//GOM(ENGINE_set_finish_function, iFEpp)
+GO(ENGINE_set_flags, iFpi)
+GO(ENGINE_set_id, iFpp)
+//GOM(ENGINE_set_init_function, iFEpp)
+//GOM(ENGINE_set_load_privkey_function, iFEpp)
+//GOM(ENGINE_set_load_pubkey_function, iFEpp)
+//GOM(ENGINE_set_load_ssl_client_cert_function, 
+GO(ENGINE_set_name, iFpp)
+//GO(ENGINE_set_pkey_asn1_meths, 
+//GO(ENGINE_set_pkey_meths, 
+GO(ENGINE_set_RAND, iFpp)
+GO(ENGINE_set_RSA, iFpp)
+//GO(ENGINE_set_STORE, 
+GO(ENGINE_set_table_flags, vFu)
+//GO(engine_table_cleanup, 
+//GO(engine_table_doall, 
+//GO(engine_table_register, 
+//GO(engine_table_select, 
+//GO(engine_table_unregister, 
+//GO(engine_unlocked_finish, 
+//GO(engine_unlocked_init, 
+GO(ENGINE_unregister_ciphers, vFp)
+GO(ENGINE_unregister_DH, vFp)
+GO(ENGINE_unregister_digests, vFp)
+GO(ENGINE_unregister_DSA, vFp)
+GO(ENGINE_unregister_ECDH, vFp)
+GO(ENGINE_unregister_ECDSA, vFp)
+//GO(ENGINE_unregister_pkey_asn1_meths, 
+//GO(ENGINE_unregister_pkey_meths, 
+GO(ENGINE_unregister_RAND, vFp)
+GO(ENGINE_unregister_RSA, vFp)
+//GO(ENGINE_unregister_STORE, 
+GO(ENGINE_up_ref, iFp)
+//GO(ERR_add_error_data, 
+//GO(ERR_add_error_vdata, 
+GO(ERR_clear_error, vFv)
+GO(ERR_error_string, pFup)
+GO(ERR_error_string_n, vFupu)
+GO(ERR_free_strings, vFv)
+GO(ERR_func_error_string, pFu)
+GO(ERR_get_error, LFv)
+GO(ERR_get_error_line, LFpp)
+GO(ERR_get_error_line_data, LFpppp)
+//GO(ERR_get_err_state_table, 
+//GO(ERR_get_implementation, 
+//GO(ERR_get_next_error_library, 
+//GO(ERR_get_state, 
+//GO(ERR_get_string_table, 
+GO(ERR_lib_error_string, pFu)
+//GO(ERR_load_ASN1_strings, 
+//GO(ERR_load_BIO_strings, 
+//GO(ERR_load_BN_strings, 
+//GO(ERR_load_BUF_strings, 
+//GO(ERR_load_CMS_strings, 
+//GO(ERR_load_COMP_strings, 
+//GO(ERR_load_CONF_strings, 
+GO(ERR_load_crypto_strings, vFv)
+GO(ERR_load_CRYPTO_strings, vFv)
+//GO(ERR_load_DH_strings, 
+//GO(ERR_load_DSA_strings, 
+//GO(ERR_load_DSO_strings, 
+//GO(ERR_load_ECDH_strings, 
+//GO(ERR_load_ECDSA_strings, 
+//GO(ERR_load_EC_strings, 
+//GO(ERR_load_ENGINE_strings, 
+//GO(ERR_load_ERR_strings, 
+GO(ERR_load_EVP_strings, vFv)
+//GO(ERR_load_OBJ_strings, 
+//GO(ERR_load_OCSP_strings, 
+//GO(ERR_load_PEM_strings, 
+//GO(ERR_load_PKCS12_strings, 
+GO(ERR_load_PKCS7_strings, vFv)
+//GO(ERR_load_RAND_strings, 
+//GO(ERR_load_RSA_strings, 
+//GO(ERR_load_strings, 
+//GO(ERR_load_TS_strings, 
+//GO(ERR_load_UI_strings, 
+//GO(ERR_load_X509_strings, 
+//GO(ERR_load_X509V3_strings, 
+GO(ERR_peek_error, LFv)
+GO(ERR_peek_error_line, LFpp)
+GO(ERR_peek_error_line_data, LFpppp)
+GO(ERR_peek_last_error, LFv)
+GO(ERR_peek_last_error_line, LFpp)
+GO(ERR_peek_last_error_line_data, LFpppp)
+//GO(ERR_pop_to_mark, 
+//GO(ERR_print_errors, 
+//GO(ERR_print_errors_cb, 
+//GO(ERR_print_errors_fp, 
+GO(ERR_put_error, vFiiipi)
+GO(ERR_reason_error_string, pFu)
+//GO(ERR_release_err_state_table, 
+//GO(ERR_remove_state, 
+GO(ERR_remove_thread_state, vFp)
+//GO(ERR_set_error_data, 
+//GO(ERR_set_implementation, 
+//GO(ERR_set_mark, 
+//GO(ERR_unload_strings, 
+//GO(ESS_CERT_ID_dup, 
+//GO(ESS_CERT_ID_free, 
+//GO(ESS_CERT_ID_new, 
+//GO(ESS_ISSUER_SERIAL_dup, 
+//GO(ESS_ISSUER_SERIAL_free, 
+//GO(ESS_ISSUER_SERIAL_new, 
+//GO(ESS_SIGNING_CERT_dup, 
+//GO(ESS_SIGNING_CERT_free, 
+//GO(ESS_SIGNING_CERT_new, 
+//GO(EVP_add_alg_module, 
+//GO(EVP_add_cipher, 
+//GO(EVP_add_digest, 
+GO(EVP_aes_128_cbc, pFv)
+GO(EVP_aes_128_cbc_hmac_sha1, pFv)
+GO(EVP_aes_128_cbc_hmac_sha256, pFv)
+GO(EVP_aes_128_ccm, pFv)
+GO(EVP_aes_128_cfb, pFv)
+GO(EVP_aes_128_cfb1, pFv)
+GO(EVP_aes_128_cfb128, pFv)
+GO(EVP_aes_128_cfb8, pFv)
+GO(EVP_aes_128_ctr, pFv)
+GO(EVP_aes_128_ecb, pFv)
+GO(EVP_aes_128_gcm, pFv)
+GO(EVP_aes_128_ofb, pFv)
+GO(EVP_aes_128_wrap, pFv)
+GO(EVP_aes_128_xts, pFv)
+GO(EVP_aes_192_cbc, pFv)
+GO(EVP_aes_192_ccm, pFv)
+GO(EVP_aes_192_cfb, pFv)
+GO(EVP_aes_192_cfb1, pFv)
+GO(EVP_aes_192_cfb128, pFv)
+GO(EVP_aes_192_cfb8, pFv)
+GO(EVP_aes_192_ctr, pFv)
+GO(EVP_aes_192_ecb, pFv)
+GO(EVP_aes_192_gcm, pFv)
+GO(EVP_aes_192_ofb, pFv)
+GO(EVP_aes_192_wrap, pFv)
+GO(EVP_aes_256_cbc, pFv)
+GO(EVP_aes_256_cbc_hmac_sha1, pFv)
+GO(EVP_aes_256_cbc_hmac_sha256, pFv)
+GO(EVP_aes_256_ccm, pFv)
+GO(EVP_aes_256_cfb, pFv)
+GO(EVP_aes_256_cfb1, pFv)
+GO(EVP_aes_256_cfb128, pFv)
+GO(EVP_aes_256_cfb8, pFv)
+GO(EVP_aes_256_ctr, pFv)
+GO(EVP_aes_256_ecb, pFv)
+GO(EVP_aes_256_gcm, pFv)
+//GO(EVP_aes_256_ofb, 
+//GO(EVP_aes_256_wrap, 
+//GO(EVP_aes_256_xts, 
+//GO(EVP_bf_cbc, 
+//GO(EVP_bf_cfb, 
+//GO(EVP_bf_cfb64, 
+//GO(EVP_bf_ecb, 
+//GO(EVP_bf_ofb, 
+//GO(EVP_BytesToKey, 
+//GO(EVP_camellia_128_cbc, 
+//GO(EVP_camellia_128_cfb1, 
+//GO(EVP_camellia_128_cfb128, 
+//GO(EVP_camellia_128_cfb8, 
+//GO(EVP_camellia_128_ecb, 
+//GO(EVP_camellia_128_ofb, 
+//GO(EVP_camellia_192_cbc, 
+//GO(EVP_camellia_192_cfb1, 
+//GO(EVP_camellia_192_cfb128, 
+//GO(EVP_camellia_192_cfb8, 
+//GO(EVP_camellia_192_ecb, 
+//GO(EVP_camellia_192_ofb, 
+//GO(EVP_camellia_256_cbc, 
+//GO(EVP_camellia_256_cfb1, 
+//GO(EVP_camellia_256_cfb128, 
+//GO(EVP_camellia_256_cfb8, 
+//GO(EVP_camellia_256_ecb, 
+//GO(EVP_camellia_256_ofb, 
+//GO(EVP_cast5_cbc, 
+//GO(EVP_cast5_cfb, 
+//GO(EVP_cast5_cfb64, 
+//GO(EVP_cast5_ecb, 
+//GO(EVP_cast5_ofb, 
+//GO(EVP_Cipher, 
+GO(EVP_CIPHER_asn1_to_param, iFpp)
+//GO(EVP_CIPHER_block_size, 
+//GO(EVP_CIPHER_CTX_block_size, 
+//GO(EVP_CIPHER_CTX_cipher, 
+GO(EVP_CIPHER_CTX_cleanup, iFp)
+//GO(EVP_CIPHER_CTX_clear_flags, 
+//GO(EVP_CIPHER_CTX_copy, 
+GO(EVP_CIPHER_CTX_ctrl, iFpiip)
+//GO(EVP_CIPHER_CTX_flags, 
+GO(EVP_CIPHER_CTX_free, vFp)
+//GO(EVP_CIPHER_CTX_get_app_data, 
+GO(EVP_CIPHER_CTX_init, vFp)
+//GO(EVP_CIPHER_CTX_iv_length, 
+//GO(EVP_CIPHER_CTX_key_length, 
+GO(EVP_CIPHER_CTX_new, pFv)
+//GO(EVP_CIPHER_CTX_nid, 
+//GO(EVP_CIPHER_CTX_rand_key, 
+//GO(EVP_CIPHER_CTX_set_app_data, 
+//GO(EVP_CIPHER_CTX_set_flags, 
+GO(EVP_CIPHER_CTX_set_key_length, iFpi)
+GO(EVP_CIPHER_CTX_set_padding, iFpi)
+//GO(EVP_CIPHER_CTX_test_flags, 
+//GO(EVP_CIPHER_do_all, 
+//GO(EVP_CIPHER_do_all_sorted, 
+GO(EVP_CipherFinal, iFppp)
+GO(EVP_CipherFinal_ex, iFppp)
+//GO(EVP_CIPHER_flags, 
+//GO(EVP_CIPHER_get_asn1_iv, 
+GO(EVP_CipherInit, iFppppi)
+GO(EVP_CipherInit_ex, iFpppppi)
+//GO(EVP_CIPHER_iv_length, 
+//GO(EVP_CIPHER_key_length, 
+//GO(EVP_CIPHER_nid, 
+GO(EVP_CIPHER_param_to_asn1, iFpp)
+//GO(EVP_CIPHER_set_asn1_iv, 
+GO(EVP_CIPHER_type, iFp)
+GO(EVP_CipherUpdate, iFppppi)
+GO(EVP_cleanup, vFv)
+//GO(EVP_DecodeBlock, 
+//GO(EVP_DecodeFinal, 
+//GO(EVP_DecodeInit, 
+//GO(EVP_DecodeUpdate, 
+GO(EVP_DecryptFinal, iFppp)
+GO(EVP_DecryptFinal_ex, iFppp)
+GO(EVP_DecryptInit, iFpppp)
+GO(EVP_DecryptInit_ex, iFppppp)
+GO(EVP_DecryptUpdate, iFppppi)
+GO(EVP_des_cbc, pFv)
+GO(EVP_des_cfb, pFv)
+GO(EVP_des_cfb1, pFv)
+GO(EVP_des_cfb64, pFv)
+GO(EVP_des_cfb8, pFv)
+GO(EVP_des_ecb, pFv)
+GO(EVP_des_ede, pFv)
+GO(EVP_des_ede3, pFv)
+GO(EVP_des_ede3_cbc, pFv)
+GO(EVP_des_ede3_cfb, pFv)
+GO(EVP_des_ede3_cfb1, pFv)
+GO(EVP_des_ede3_cfb64, pFv)
+GO(EVP_des_ede3_cfb8, pFv)
+GO(EVP_des_ede3_ecb, pFv)
+GO(EVP_des_ede3_ofb, pFv)
+GO(EVP_des_ede3_wrap, pFv)
+GO(EVP_des_ede_cbc, pFv)
+GO(EVP_des_ede_cfb, pFv)
+GO(EVP_des_ede_cfb64, pFv)
+GO(EVP_des_ede_ecb, pFv)
+GO(EVP_des_ede_ofb, pFv)
+//GO(EVP_des_ofb, 
+//GO(EVP_desx_cbc, 
+//GO(EVP_Digest, 
+//GO(EVP_DigestFinal, 
+GO(EVP_DigestFinal_ex, iFppp)
+GO(EVP_DigestInit, iFpp)
+GO(EVP_DigestInit_ex, iFppp)
+GO(EVP_DigestSignFinal, iFppp)
+//GO(EVP_DigestSignInit, 
+GO(EVP_DigestUpdate, iFppL)
+//GO(EVP_DigestVerifyFinal, 
+//GO(EVP_DigestVerifyInit, 
+//GO(EVP_dss, 
+//GO(EVP_dss1, 
+//GO(EVP_ecdsa, 
+//GO(EVP_enc_null, 
+//GO(EVP_EncodeBlock, 
+//GO(EVP_EncodeFinal, 
+//GO(EVP_EncodeInit, 
+//GO(EVP_EncodeUpdate, 
+GO(EVP_EncryptFinal, iFppp)
+GO(EVP_EncryptFinal_ex, iFppp)
+GO(EVP_EncryptInit, iFpppp)
+GO(EVP_EncryptInit_ex, iFppppp)
+GO(EVP_EncryptUpdate, iFppppi)
+GO(EVP_get_cipherbyname, pFp)
+GO(EVP_get_digestbyname, pFp)
+//GO(EVP_get_pw_prompt, 
+//GO(EVP_idea_cbc, 
+//GO(EVP_idea_cfb, 
+//GO(EVP_idea_cfb64, 
+//GO(EVP_idea_ecb, 
+//GO(EVP_idea_ofb, 
+GO(EVP_md4, pFv)
+GO(EVP_md5, pFv)
+GO(EVP_MD_block_size, iFp)
+//GO(EVP_mdc2, 
+GO(EVP_MD_CTX_cleanup, iFp)
+GO(EVP_MD_CTX_clear_flags, vFpi)
+GO(EVP_MD_CTX_copy, iFpp)
+GO(EVP_MD_CTX_copy_ex, iFpp)
+GO(EVP_MD_CTX_create, pFv)
+GO(EVP_MD_CTX_ctrl, vFpiip)
+GO(EVP_MD_CTX_destroy, vFp)
+GO(EVP_MD_CTX_free, vFp)
+//GO(EVP_MD_CTX_init, 
+GO(EVP_MD_CTX_md, pFp)
+GO(EVP_MD_CTX_new, pFv)
+GO(EVP_MD_CTX_reset, iFp)
+GO(EVP_MD_CTX_set_flags, vFpi)
+//GO(EVP_MD_CTX_test_flags, 
+//GO(EVP_MD_do_all, 
+//GO(EVP_MD_do_all_sorted, 
+//GO(EVP_MD_flags, 
+GO(EVP_md_null, pFv)
+GO(EVP_MD_pkey_type, iFp)
+GO(EVP_MD_size, iFp)
+GO(EVP_MD_type, iFp)
+//GO(EVP_OpenFinal, 
+//GO(EVP_OpenInit, 
+//GO(EVP_PBE_alg_add, 
+//GO(EVP_PBE_alg_add_type, 
+//GO(EVP_PBE_CipherInit, 
+//GO(EVP_PBE_cleanup, 
+//GO(EVP_PBE_find, 
+//GO(EVP_PKCS82PKEY, 
+//GO(EVP_PKEY2PKCS8, 
+//GO(EVP_PKEY2PKCS8_broken, 
+//GO(EVP_PKEY_add1_attr, 
+//GO(EVP_PKEY_add1_attr_by_NID, 
+//GO(EVP_PKEY_add1_attr_by_OBJ, 
+//GO(EVP_PKEY_add1_attr_by_txt, 
+//GO(EVP_PKEY_asn1_add0, 
+//GO(EVP_PKEY_asn1_add_alias, 
+//GO(EVP_PKEY_asn1_copy, 
+//GO(EVP_PKEY_asn1_find, 
+//GO(EVP_PKEY_asn1_find_str, 
+//GO(EVP_PKEY_asn1_free, 
+//GO(EVP_PKEY_asn1_get0, 
+//GO(EVP_PKEY_asn1_get0_info, 
+//GO(EVP_PKEY_asn1_get_count, 
+//GO(EVP_PKEY_asn1_new, 
+//GO(EVP_PKEY_asn1_set_ctrl, 
+//GO(EVP_PKEY_asn1_set_free, 
+//GO(EVP_PKEY_asn1_set_item, 
+//GO(EVP_PKEY_asn1_set_param, 
+//GO(EVP_PKEY_asn1_set_private, 
+//GO(EVP_PKEY_asn1_set_public, 
+GO(EVP_PKEY_assign, iFpip)
+//GO(EVP_PKEY_base_id, 
+//GO(EVP_PKEY_bits, 
+GO(EVP_PKEY_cmp, iFpp)
+GO(EVP_PKEY_cmp_parameters, iFpp)
+GO(EVP_PKEY_copy_parameters, iFpp)
+GO(EVP_PKEY_CTX_ctrl, iFpiiiip)
+GO(EVP_PKEY_CTX_ctrl_str, iFppp)
+GO(EVP_PKEY_CTX_dup, pFp)
+GO(EVP_PKEY_CTX_free, vFp)
+//GO(EVP_PKEY_CTX_get0_peerkey, 
+//GO(EVP_PKEY_CTX_get0_pkey, 
+GO(EVP_PKEY_CTX_get_app_data, pFp)
+//GO(EVP_PKEY_CTX_get_cb, 
+//GO(EVP_PKEY_CTX_get_data, 
+GO(EVP_PKEY_CTX_get_keygen_info, iFpi)
+//GO(EVP_PKEY_CTX_get_operation, 
+GO(EVP_PKEY_CTX_new, pFpp)
+GO(EVP_PKEY_CTX_new_id, pFip)
+//GO(EVP_PKEY_CTX_set0_keygen_info, 
+GO(EVP_PKEY_CTX_set_app_data, vFpp)
+//GO(EVP_PKEY_CTX_set_cb, 
+//GO(EVP_PKEY_CTX_set_data, 
+//GO(EVP_PKEY_decrypt, 
+//GO(EVP_PKEY_decrypt_init, 
+//GO(EVP_PKEY_decrypt_old, 
+//GO(EVP_PKEY_delete_attr, 
+GO(EVP_PKEY_derive, iFppp)
+GO(EVP_PKEY_derive_init, iFp)
+GO(EVP_PKEY_derive_set_peer, iFppi)
+//GO(EVP_PKEY_encrypt, 
+//GO(EVP_PKEY_encrypt_init, 
+//GO(EVP_PKEY_encrypt_old, 
+GO(EVP_PKEY_free, vFp)
+//GO(EVP_PKEY_get0, 
+//GO(EVP_PKEY_get0_asn1, 
+//GO(EVP_PKEY_get1_DH, 
+GO(EVP_PKEY_get1_DSA, pFp)
+GO(EVP_PKEY_get1_EC_KEY, pFp)
+GO(EVP_PKEY_get1_RSA, pFp)
+//GO(EVP_PKEY_get_attr, 
+//GO(EVP_PKEY_get_attr_by_NID, 
+//GO(EVP_PKEY_get_attr_by_OBJ, 
+//GO(EVP_PKEY_get_attr_count, 
+//GO(EVP_PKEY_get_default_digest_nid, 
+//GO(EVP_PKEY_id, 
+GO(EVP_PKEY_keygen, iFpp)
+GO(EVP_PKEY_keygen_init, iFp)
+//GO(EVP_PKEY_meth_add0, 
+//GO(EVP_PKEY_meth_copy, 
+//GO(EVP_PKEY_meth_find, 
+//GO(EVP_PKEY_meth_free, 
+//GO(EVP_PKEY_meth_get0_info, 
+//GO(EVP_PKEY_meth_new, 
+//GO(EVP_PKEY_meth_set_cleanup, 
+//GO(EVP_PKEY_meth_set_copy, 
+//GO(EVP_PKEY_meth_set_ctrl, 
+//GO(EVP_PKEY_meth_set_decrypt, 
+//GO(EVP_PKEY_meth_set_derive, 
+//GO(EVP_PKEY_meth_set_encrypt, 
+//GO(EVP_PKEY_meth_set_init, 
+//GO(EVP_PKEY_meth_set_keygen, 
+//GO(EVP_PKEY_meth_set_paramgen, 
+//GO(EVP_PKEY_meth_set_sign, 
+//GO(EVP_PKEY_meth_set_signctx, 
+//GO(EVP_PKEY_meth_set_verify, 
+//GO(EVP_PKEY_meth_set_verifyctx, 
+//GO(EVP_PKEY_meth_set_verify_recover, 
+GO(EVP_PKEY_missing_parameters, iFp)
+GO(EVP_PKEY_new, pFv)
+GO(EVP_PKEY_new_mac_key, pFippi)
+GO(EVP_PKEY_paramgen, iFpp)
+GO(EVP_PKEY_paramgen_init, iFp)
+//GO(EVP_PKEY_print_params, 
+//GO(EVP_PKEY_print_private, 
+//GO(EVP_PKEY_print_public, 
+//GO(EVP_PKEY_save_parameters, 
+//GO(EVP_PKEY_set1_DH, 
+GO(EVP_PKEY_set1_DSA, iFpp)
+GO(EVP_PKEY_set1_EC_KEY, iFpp)
+GO(EVP_PKEY_set1_RSA, iFpp)
+//GO(evp_pkey_set_cb_translate, 
+//GO(EVP_PKEY_set_type, 
+//GO(EVP_PKEY_set_type_str, 
+GO(EVP_PKEY_sign, iFppppp)
+GO(EVP_PKEY_sign_init, iFp)
+//GO(EVP_PKEY_size, 
+GO(EVP_PKEY_type, iFi)
+GO(EVP_PKEY_up_ref, iFp)
+GO(EVP_PKEY_verify, iFppLpL)
+GO(EVP_PKEY_verify_init, iFp)
+//GO(EVP_PKEY_verify_recover, 
+//GO(EVP_PKEY_verify_recover_init, 
+GO(EVP_rc2_40_cbc, pFv)
+GO(EVP_rc2_64_cbc, pFv)
+GO(EVP_rc2_cbc, pFv)
+GO(EVP_rc2_cfb, pFv)
+GO(EVP_rc2_cfb64, pFv)
+GO(EVP_rc2_ecb, pFv)
+GO(EVP_rc2_ofb, pFv)
+//GO(EVP_rc4, 
+//GO(EVP_rc4_40, 
+//GO(EVP_rc4_hmac_md5, 
+//GO(EVP_read_pw_string, 
+//GO(EVP_read_pw_string_min, 
+//GO(EVP_ripemd160, 
+//GO(EVP_SealFinal, 
+//GO(EVP_SealInit, 
+//GO(EVP_seed_cbc, 
+//GO(EVP_seed_cfb128, 
+//GO(EVP_seed_ecb, 
+//GO(EVP_seed_ofb, 
+//GO(EVP_set_pw_prompt, 
+GO(EVP_sha, pFV)
+GO(EVP_sha1, pFv)
+GO(EVP_sha224, pFv)
+GO(EVP_sha256, pFv)
+GO(EVP_sha384, pFv)
+GO(EVP_sha512, pFv)
+//GO(EVP_SignFinal, 
+GO(EVP_VerifyFinal, iFppup)
+GO(EVP_VerifyInit, iFpp)        // 1.1.0+
+GO(EVP_VerifyInit_ex, iFppp)    // 1.1.0+
+GO(EVP_VerifyUpdate, iFppu)     // 1.1.0+
+//GO(EVP_whirlpool, 
+GO(EXTENDED_KEY_USAGE_free, vFp)
+//GO(EXTENDED_KEY_USAGE_new, 
+//GO(fcrypt_body, 
+//GO(_fini, 
+//GO(FIPS_mode, 
+//GO(FIPS_mode_set, 
+//GO(gcm_ghash_4bit, 
+//GO(gcm_ghash_neon, 
+//GO(gcm_ghash_v8, 
+//GO(gcm_gmult_4bit, 
+//GO(gcm_gmult_neon, 
+//GO(gcm_gmult_v8, 
+//GO(gcm_init_neon, 
+//GO(gcm_init_v8, 
+//GO(GENERAL_NAME_cmp, 
+GO(GENERAL_NAME_dup, pFp)
+GO(GENERAL_NAME_free, vFp)
+//GO(GENERAL_NAME_get0_otherName, 
+//GO(GENERAL_NAME_get0_value, 
+GO(GENERAL_NAME_new, pFv)
+//GO(GENERAL_NAME_print, 
+//GO(GENERAL_NAME_set0_othername, 
+//GO(GENERAL_NAME_set0_value, 
+GO(GENERAL_NAMES_free, vFp)
+GO(GENERAL_NAMES_new, pFv)
+GO(GENERAL_SUBTREE_free, vFp)
+GO(GENERAL_SUBTREE_new, pFv)
+//GO(get_rfc2409_prime_1024, 
+//GO(get_rfc2409_prime_768, 
+//GO(get_rfc3526_prime_1536, 
+//GO(get_rfc3526_prime_2048, 
+//GO(get_rfc3526_prime_3072, 
+//GO(get_rfc3526_prime_4096, 
+//GO(get_rfc3526_prime_6144, 
+//GO(get_rfc3526_prime_8192, 
+//GO(hex_to_string, 
+GO(HMAC, pFppipLpp)
+GO(HMAC_CTX_cleanup, vFp)
+GO(HMAC_CTX_copy, iFpp)
+GO(HMAC_CTX_init, vFp)
+GO(HMAC_CTX_set_flags, vFpL)
+GO(HMAC_Final, iFppp)
+GO(HMAC_Init, iFppip)
+GO(HMAC_Init_ex, iFppipp)
+GO(HMAC_Update, iFppi)
+//GO(i2a_ACCESS_DESCRIPTION, 
+//GO(i2a_ASN1_ENUMERATED, 
+//GO(i2a_ASN1_INTEGER, 
+//GO(i2a_ASN1_OBJECT, 
+//GO(i2a_ASN1_STRING, 
+//GO(i2b_PrivateKey_bio, 
+//GO(i2b_PublicKey_bio, 
+//GO(i2b_PVK_bio, 
+//GO(i2c_ASN1_BIT_STRING, 
+//GO(i2c_ASN1_INTEGER, 
+//GO(i2d_ACCESS_DESCRIPTION, 
+//GO(i2d_ASN1_bio_stream, 
+//GO(i2d_ASN1_BIT_STRING, 
+//GO(i2d_ASN1_BMPSTRING, 
+//GO(i2d_ASN1_BOOLEAN, 
+//GO(i2d_ASN1_bytes, 
+//GO(i2d_ASN1_ENUMERATED, 
+//GO(i2d_ASN1_GENERALIZEDTIME, 
+//GO(i2d_ASN1_GENERALSTRING, 
+//GO(i2d_ASN1_IA5STRING, 
+GO(i2d_ASN1_INTEGER, iFpp)
+//GO(i2d_ASN1_NULL, 
+//GO(i2d_ASN1_OBJECT, 
+//GO(i2d_ASN1_OCTET_STRING, 
+//GO(i2d_ASN1_PRINTABLE, 
+//GO(i2d_ASN1_PRINTABLESTRING, 
+//GO(i2d_ASN1_SEQUENCE_ANY, 
+//GO(i2d_ASN1_SET, 
+//GO(i2d_ASN1_SET_ANY, 
+//GO(i2d_ASN1_T61STRING, 
+//GO(i2d_ASN1_TIME, 
+GO(i2d_ASN1_TYPE, iFpp)
+//GO(i2d_ASN1_UNIVERSALSTRING, 
+//GO(i2d_ASN1_UTCTIME, 
+//GO(i2d_ASN1_UTF8STRING, 
+//GO(i2d_ASN1_VISIBLESTRING, 
+//GO(i2d_AUTHORITY_INFO_ACCESS, 
+//GO(i2d_AUTHORITY_KEYID, 
+//GO(i2d_BASIC_CONSTRAINTS, 
+//GO(i2d_CERTIFICATEPOLICIES, 
+GO(i2d_CMS_bio, iFpp)
+//GO(i2d_CMS_bio_stream, 
+//GO(i2d_CMS_ContentInfo, 
+//GO(i2d_CMS_ReceiptRequest, 
+//GO(i2d_CRL_DIST_POINTS, 
+GO(i2d_DHparams, iFpp)
+//GO(i2d_DHxparams, 
+//GO(i2d_DIRECTORYSTRING, 
+//GO(i2d_DISPLAYTEXT, 
+//GO(i2d_DIST_POINT, 
+//GO(i2d_DIST_POINT_NAME, 
+//GO(i2d_DSAparams, 
+GO(i2d_DSAPrivateKey, iFpp)
+GO(i2d_DSAPrivateKey_bio, iFpp)
+GO(i2d_DSAPrivateKey_fp, iFpp)
+GO(i2d_DSA_PUBKEY, iFpp)
+GO(i2d_DSA_PUBKEY_bio, iFpp)
+GO(i2d_DSA_PUBKEY_fp, iFpp)
+//GO(i2d_DSAPublicKey, 
+//GO(i2d_DSA_SIG, 
+//GO(i2d_ECDSA_SIG, 
+//GO(i2d_ECParameters, 
+//GO(i2d_ECPKParameters, 
+//GO(i2d_ECPKPARAMETERS, 
+GO(i2d_ECPrivateKey, iFpp)
+//GO(i2d_EC_PRIVATEKEY, 
+GO(i2d_ECPrivateKey_bio, iFpp)
+GO(i2d_ECPrivateKey_fp, iFpp)
+GO(i2d_EC_PUBKEY, iFpp)
+GO(i2d_EC_PUBKEY_bio, iFpp)
+GO(i2d_EC_PUBKEY_fp, iFpp)
+GO(i2d_EDIPARTYNAME, iFpp)
+GO(i2d_ESS_CERT_ID, iFpp)
+GO(i2d_ESS_ISSUER_SERIAL, iFpp)
+GO(i2d_ESS_SIGNING_CERT, iFpp)
+GO(i2d_EXTENDED_KEY_USAGE, iFpp)
+GO(i2d_GENERAL_NAME, iFpp)
+GO(i2d_GENERAL_NAMES, iFpp)
+//GO(i2d_int_dhx, 
+GO(i2d_ISSUING_DIST_POINT, iFpp)
+GO(i2d_KRB5_APREQ, iFpp)
+GO(i2d_KRB5_APREQBODY, iFpp)
+GO(i2d_KRB5_AUTHDATA, iFpp)
+GO(i2d_KRB5_AUTHENT, iFpp)
+GO(i2d_KRB5_AUTHENTBODY, iFpp)
+GO(i2d_KRB5_CHECKSUM, iFpp)
+GO(i2d_KRB5_ENCDATA, iFpp)
+GO(i2d_KRB5_ENCKEY, iFpp)
+GO(i2d_KRB5_PRINCNAME, iFpp)
+GO(i2d_KRB5_TICKET, iFpp)
+GO(i2d_KRB5_TKTBODY, iFpp)
+GO(i2d_NETSCAPE_CERT_SEQUENCE, iFpp)
+GO(i2d_NETSCAPE_ENCRYPTED_PKEY, iFpp)
+GO(i2d_NETSCAPE_PKEY, iFpp)
+GO(i2d_Netscape_RSA, iFpp)
+GO(i2d_NETSCAPE_SPKAC, iFpp)
+GO(i2d_NETSCAPE_SPKI, iFpp)
+GO(i2d_NETSCAPE_X509, iFpp)
+GO(i2d_NOTICEREF, iFpp)
+GO(i2d_OCSP_BASICRESP, iFpp)
+GO(i2d_OCSP_CERTID, iFpp)
+GO(i2d_OCSP_CERTSTATUS, iFpp)
+GO(i2d_OCSP_CRLID, iFpp)
+GO(i2d_OCSP_ONEREQ, iFpp)
+GO(i2d_OCSP_REQINFO, iFpp)
+GO(i2d_OCSP_REQUEST, iFpp)
+GO(i2d_OCSP_RESPBYTES, iFpp)
+GO(i2d_OCSP_RESPDATA, iFpp)
+GO(i2d_OCSP_RESPID, iFpp)
+GO(i2d_OCSP_RESPONSE, iFpp)
+GO(i2d_OCSP_REVOKEDINFO, iFpp)
+GO(i2d_OCSP_SERVICELOC, iFpp)
+GO(i2d_OCSP_SIGNATURE, iFpp)
+GO(i2d_OCSP_SINGLERESP, iFpp)
+GO(i2d_OTHERNAME, iFpp)
+GO(i2d_PBE2PARAM, iFpp)
+GO(i2d_PBEPARAM, iFpp)
+GO(i2d_PBKDF2PARAM, iFpp)
+GO(i2d_PKCS12, iFpp)
+GO(i2d_PKCS12_BAGS, iFpp)
+GO(i2d_PKCS12_bio, iFpp)
+GO(i2d_PKCS12_fp, iFpp)
+GO(i2d_PKCS12_MAC_DATA, iFpp)
+GO(i2d_PKCS12_SAFEBAG, iFpp)
+GO(i2d_PKCS7, iFpp)
+GO(i2d_PKCS7_bio, iFpp)
+GO(i2d_PKCS7_bio_stream, iFpppi)
+GO(i2d_PKCS7_DIGEST, iFpp)
+GO(i2d_PKCS7_ENC_CONTENT, iFpp)
+GO(i2d_PKCS7_ENCRYPT, iFpp)
+GO(i2d_PKCS7_ENVELOPE, iFpp)
+GO(i2d_PKCS7_fp, iFpp)
+GO(i2d_PKCS7_ISSUER_AND_SERIAL, iFpp)
+GO(i2d_PKCS7_NDEF, iFpp)
+GO(i2d_PKCS7_RECIP_INFO, iFpp)
+GO(i2d_PKCS7_SIGNED, iFpp)
+GO(i2d_PKCS7_SIGN_ENVELOPE, iFpp)
+GO(i2d_PKCS7_SIGNER_INFO, iFpp)
+GO(i2d_PKCS8_bio, iFpp)
+GO(i2d_PKCS8_fp, iFpp)
+GO(i2d_PKCS8PrivateKey_bio, iFpp)
+GO(i2d_PKCS8PrivateKey_fp, iFpp)
+GO(i2d_PKCS8PrivateKeyInfo_bio, iFpp)
+GO(i2d_PKCS8PrivateKeyInfo_fp, iFpp)
+GO(i2d_PKCS8PrivateKey_nid_bio, iFpp)
+GO(i2d_PKCS8PrivateKey_nid_fp, iFpp)
+GO(i2d_PKCS8_PRIV_KEY_INFO, iFpp)
+GO(i2d_PKCS8_PRIV_KEY_INFO_bio, iFpp)
+GO(i2d_PKCS8_PRIV_KEY_INFO_fp, iFpp)
+GO(i2d_PKEY_USAGE_PERIOD, iFpp)
+GO(i2d_POLICYINFO, iFpp)
+GO(i2d_POLICYQUALINFO, iFpp)
+GO(i2d_PrivateKey, iFpp)
+GO(i2d_PrivateKey_bio, iFpp)
+GO(i2d_PrivateKey_fp, iFpp)
+GO(i2d_PROXY_CERT_INFO_EXTENSION, iFpp)
+GO(i2d_PROXY_POLICY, iFpp)
+GO(i2d_PUBKEY, iFpp)
+GO(i2d_PUBKEY_bio, iFpp)
+GO(i2d_PUBKEY_fp, iFpp)
+//GO(i2d_PublicKey, 
+//GO(i2d_re_X509_tbs, 
+GO(i2d_RSA_NET, iFpp)
+GO(i2d_RSA_OAEP_PARAMS, iFpp)
+GO(i2d_RSAPrivateKey, iFpp)
+GO(i2d_RSAPrivateKey_bio, iFpp)
+GO(i2d_RSAPrivateKey_fp, iFpp)
+GO(i2d_RSA_PSS_PARAMS, iFpp)
+GO(i2d_RSA_PUBKEY, iFpp)
+GO(i2d_RSA_PUBKEY_bio, iFpp)
+GO(i2d_RSA_PUBKEY_fp, iFpp)
+GO(i2d_RSAPublicKey, iFpp)
+GO(i2d_RSAPublicKey_bio, iFpp)
+GO(i2d_RSAPublicKey_fp, iFpp)
+GO(i2d_SXNET, iFpp)
+GO(i2d_SXNETID, iFpp)
+GO(i2d_TS_ACCURACY, iFpp)
+GO(i2d_TS_MSG_IMPRINT, iFpp)
+GO(i2d_TS_MSG_IMPRINT_bio, iFpp)
+GO(i2d_TS_MSG_IMPRINT_fp, iFpp)
+GO(i2d_TS_REQ, iFpp)
+GO(i2d_TS_REQ_bio, iFpp)
+GO(i2d_TS_REQ_fp, iFpp)
+GO(i2d_TS_RESP, iFpp)
+GO(i2d_TS_RESP_bio, iFpp)
+GO(i2d_TS_RESP_fp, iFpp)
+GO(i2d_TS_STATUS_INFO, iFpp)
+GO(i2d_TS_TST_INFO, iFpp)
+GO(i2d_TS_TST_INFO_bio, iFpp)
+GO(i2d_TS_TST_INFO_fp, iFpp)
+GO(i2d_USERNOTICE, iFpp)
+GO(i2d_X509, iFpp)
+GO(i2d_X509_ALGOR, iFpp)
+GO(i2d_X509_ALGORS, iFpp)
+GO(i2d_X509_ATTRIBUTE, iFpp)
+GO(i2d_X509_AUX, iFpp)
+GO(i2d_X509_bio, iFpp)
+GO(i2d_X509_CERT_AUX, iFpp)
+GO(i2d_X509_CERT_PAIR, iFpp)
+GO(i2d_X509_CINF, iFpp)
+GO(i2d_X509_CRL, iFpp)
+GO(i2d_X509_CRL_bio, iFpp)
+GO(i2d_X509_CRL_fp, iFpp)
+GO(i2d_X509_CRL_INFO, iFpp)
+GO(i2d_X509_EXTENSION, iFpp)
+GO(i2d_X509_EXTENSIONS, iFpp)
+GO(i2d_X509_fp, iFpp)
+GO(i2d_X509_NAME, iFpp)
+GO(i2d_X509_NAME_ENTRY, iFpp)
+GO(i2d_X509_PKEY, iFpp)
+GO(i2d_X509_PUBKEY, iFpp)
+GO(i2d_X509_REQ, iFpp)
+GO(i2d_X509_REQ_bio, iFpp)
+GO(i2d_X509_REQ_fp, iFpp)
+GO(i2d_X509_REQ_INFO, iFpp)
+GO(i2d_X509_REVOKED, iFpp)
+GO(i2d_X509_SIG, iFpp)
+GO(i2d_X509_VAL, iFpp)
+//GO(i2o_ECPublicKey, 
+//GO(i2s_ASN1_ENUMERATED, 
+//GO(i2s_ASN1_ENUMERATED_TABLE, 
+//GO(i2s_ASN1_INTEGER, 
+//GO(i2s_ASN1_OCTET_STRING, 
+GO(i2t_ASN1_OBJECT, iFpip)
+//GO(i2v_ASN1_BIT_STRING, 
+//GO(i2v_GENERAL_NAME, 
+//GO(i2v_GENERAL_NAMES, 
+//GO(idea_cbc_encrypt, 
+//GO(idea_cfb64_encrypt, 
+//GO(idea_ecb_encrypt, 
+//GO(idea_encrypt, 
+//GO(idea_ofb64_encrypt, 
+//GO(idea_options, 
+//GO(idea_set_decrypt_key, 
+//GO(idea_set_encrypt_key, 
+//GO(_init, 
+//GO(int_rsa_verify, 
+//GO(ISSUING_DIST_POINT_free, 
+//GO(ISSUING_DIST_POINT_new, 
+//GO(KRB5_APREQBODY_free, 
+//GO(KRB5_APREQBODY_new, 
+//GO(KRB5_APREQ_free, 
+//GO(KRB5_APREQ_new, 
+//GO(KRB5_AUTHDATA_free, 
+//GO(KRB5_AUTHDATA_new, 
+//GO(KRB5_AUTHENTBODY_free, 
+//GO(KRB5_AUTHENTBODY_new, 
+//GO(KRB5_AUTHENT_free, 
+//GO(KRB5_AUTHENT_new, 
+//GO(KRB5_CHECKSUM_free, 
+//GO(KRB5_CHECKSUM_new, 
+//GO(KRB5_ENCDATA_free, 
+//GO(KRB5_ENCDATA_new, 
+//GO(KRB5_ENCKEY_free, 
+//GO(KRB5_ENCKEY_new, 
+//GO(KRB5_PRINCNAME_free, 
+//GO(KRB5_PRINCNAME_new, 
+//GO(KRB5_TICKET_free, 
+//GO(KRB5_TICKET_new, 
+//GO(KRB5_TKTBODY_free, 
+//GO(KRB5_TKTBODY_new, 
+//GO(level_add_node, 
+//GO(level_find_node, 
+//GO(lh_delete, 
+//GO(lh_doall, 
+//GO(lh_doall_arg, 
+//GO(lh_free, 
+//GO(lh_insert, 
+//GO(lh_new, 
+//GO(lh_node_stats, 
+//GO(lh_node_stats_bio, 
+//GO(lh_node_usage_stats, 
+//GO(lh_node_usage_stats_bio, 
+//GO(lh_num_items, 
+//GO(lh_retrieve, 
+//GO(lh_stats, 
+//GO(lh_stats_bio, 
+//GO(lh_strhash, 
+//GO(MD4, 
+//GO(md4_block_data_order, 
+GO(MD4_Final, iFpp)
+GO(MD4_Init, iFp)
+//GO(MD4_Transform, 
+GO(MD4_Update, iFppu)
+GO(MD5, pFpLp)
+//GO(md5_block_data_order, 
+GO(MD5_Final, iFpp)
+GO(MD5_Init, iFp)
+GO(MD5_Transform, vFpp)
+GO(MD5_Update, iFppu)
+//GO(MDC2, 
+//GO(MDC2_Final, 
+//GO(MDC2_Init, 
+//GO(MDC2_Update, 
+//GO(name_cmp, 
+//GO(NAME_CONSTRAINTS_check, 
+//GO(NAME_CONSTRAINTS_free, 
+//GO(NAME_CONSTRAINTS_new, 
+//GO(NCONF_default, 
+//GO(NCONF_dump_bio, 
+//GO(NCONF_dump_fp, 
+//GO(NCONF_free, 
+//GO(NCONF_free_data, 
+//GO(NCONF_get_number_e, 
+//GO(NCONF_get_section, 
+//GO(NCONF_get_string, 
+//GO(NCONF_load, 
+//GO(NCONF_load_bio, 
+//GO(NCONF_load_fp, 
+//GO(NCONF_new, 
+//GO(NCONF_WIN32, 
+//GO(NETSCAPE_CERT_SEQUENCE_free, 
+//GO(NETSCAPE_CERT_SEQUENCE_new, 
+//GO(NETSCAPE_ENCRYPTED_PKEY_free, 
+//GO(NETSCAPE_ENCRYPTED_PKEY_new, 
+//GO(NETSCAPE_PKEY_free, 
+//GO(NETSCAPE_PKEY_new, 
+//GO(NETSCAPE_SPKAC_free, 
+//GO(NETSCAPE_SPKAC_new, 
+//GO(NETSCAPE_SPKI_b64_decode, 
+//GO(NETSCAPE_SPKI_b64_encode, 
+//GO(NETSCAPE_SPKI_free, 
+//GO(NETSCAPE_SPKI_get_pubkey, 
+//GO(NETSCAPE_SPKI_new, 
+//GO(NETSCAPE_SPKI_print, 
+//GO(NETSCAPE_SPKI_set_pubkey, 
+//GO(NETSCAPE_SPKI_sign, 
+//GO(NETSCAPE_SPKI_verify, 
+GO(NETSCAPE_X509_free, vFp)
+GO(NETSCAPE_X509_new, pFv)
+//GO(NOTICEREF_free, 
+//GO(NOTICEREF_new, 
+//GO(o2i_ECPublicKey, 
+//GO(OBJ_add_object, 
+//GO(OBJ_add_sigid, 
+//GO(OBJ_bsearch_, 
+//GO(OBJ_bsearch_ex_, 
+GO(OBJ_cleanup, vFv)
+GO(OBJ_cmp, iFpp)
+GO(OBJ_create, iFppp)
+//GO(OBJ_create_objects, 
+GO(OBJ_dup, pFp)
+//GO(OBJ_find_sigid_algs, 
+//GO(OBJ_find_sigid_by_algs, 
+GO(OBJ_ln2nid, iFp)
+//GO(OBJ_NAME_add, 
+//GO(OBJ_NAME_cleanup, 
+//GO(OBJ_NAME_do_all, 
+//GO(OBJ_NAME_do_all_sorted, 
+//GO(OBJ_NAME_get, 
+//GO(OBJ_NAME_init, 
+//GO(OBJ_NAME_new_index, 
+//GO(OBJ_NAME_remove, 
+//GO(OBJ_new_nid, 
+GO(OBJ_nid2ln, pFi)
+GO(OBJ_nid2obj, pFi)
+GO(OBJ_nid2sn, pFi)
+GO(OBJ_obj2nid, iFp)
+GO(OBJ_obj2txt, iFpipi)
+//GO(OBJ_sigid_free, 
+GO(OBJ_sn2nid, iFp)
+GO(OBJ_txt2nid, iFp)
+GO(OBJ_txt2obj, pFpi)
+//GO(OCSP_accept_responses_new, 
+//GO(OCSP_archive_cutoff_new, 
+//GO(OCSP_basic_add1_cert, 
+//GO(OCSP_basic_add1_nonce, 
+//GO(OCSP_basic_add1_status, 
+//GO(OCSP_BASICRESP_add1_ext_i2d, 
+//GO(OCSP_BASICRESP_add_ext, 
+//GO(OCSP_BASICRESP_delete_ext, 
+GO(OCSP_BASICRESP_free, vFp)
+//GO(OCSP_BASICRESP_get1_ext_d2i, 
+//GO(OCSP_BASICRESP_get_ext, 
+//GO(OCSP_BASICRESP_get_ext_by_critical, 
+//GO(OCSP_BASICRESP_get_ext_by_NID, 
+//GO(OCSP_BASICRESP_get_ext_by_OBJ, 
+//GO(OCSP_BASICRESP_get_ext_count, 
+//GO(OCSP_BASICRESP_new, 
+//GO(OCSP_basic_sign, 
+GO(OCSP_basic_verify, iFpppL)
+//GO(OCSP_CERTID_dup, 
+GO(OCSP_CERTID_free, vFp)
+//GO(OCSP_cert_id_new, 
+//GO(OCSP_CERTID_new, 
+//GO(OCSP_CERTSTATUS_free, 
+//GO(OCSP_CERTSTATUS_new, 
+//GO(OCSP_cert_status_str, 
+GO(OCSP_cert_to_id, pFppp)
+GO(OCSP_check_nonce, iFpp)
+//GO(OCSP_check_validity, 
+//GO(OCSP_copy_nonce, 
+//GO(OCSP_CRLID_free, 
+//GO(OCSP_crlID_new, 
+//GO(OCSP_CRLID_new, 
+//GO(OCSP_crl_reason_str, 
+//GO(OCSP_id_cmp, 
+//GO(OCSP_id_get0_info, 
+//GO(OCSP_id_issuer_cmp, 
+//GO(OCSP_ONEREQ_add1_ext_i2d, 
+//GO(OCSP_ONEREQ_add_ext, 
+//GO(OCSP_ONEREQ_delete_ext, 
+//GO(OCSP_ONEREQ_free, 
+//GO(OCSP_onereq_get0_id, 
+//GO(OCSP_ONEREQ_get1_ext_d2i, 
+//GO(OCSP_ONEREQ_get_ext, 
+//GO(OCSP_ONEREQ_get_ext_by_critical, 
+//GO(OCSP_ONEREQ_get_ext_by_NID, 
+//GO(OCSP_ONEREQ_get_ext_by_OBJ, 
+//GO(OCSP_ONEREQ_get_ext_count, 
+//GO(OCSP_ONEREQ_new, 
+//GO(OCSP_parse_url, 
+//GO(OCSP_REQ_CTX_add1_header, 
+//GO(OCSP_REQ_CTX_free, 
+//GO(OCSP_REQ_CTX_get0_mem_bio, 
+//GO(OCSP_REQ_CTX_http, 
+//GO(OCSP_REQ_CTX_i2d, 
+//GO(OCSP_REQ_CTX_nbio, 
+//GO(OCSP_REQ_CTX_nbio_d2i, 
+//GO(OCSP_REQ_CTX_new, 
+//GO(OCSP_REQ_CTX_set1_req, 
+//GO(OCSP_REQINFO_free, 
+//GO(OCSP_REQINFO_new, 
+GO(OCSP_request_add0_id, pFpp)
+//GO(OCSP_request_add1_cert, 
+//GO(OCSP_REQUEST_add1_ext_i2d, 
+GO(OCSP_request_add1_nonce, iFppi)
+//GO(OCSP_REQUEST_add_ext, 
+//GO(OCSP_REQUEST_delete_ext, 
+GO(OCSP_REQUEST_free, vFp)
+//GO(OCSP_REQUEST_get1_ext_d2i, 
+//GO(OCSP_REQUEST_get_ext, 
+//GO(OCSP_REQUEST_get_ext_by_critical, 
+//GO(OCSP_REQUEST_get_ext_by_NID, 
+//GO(OCSP_REQUEST_get_ext_by_OBJ, 
+//GO(OCSP_REQUEST_get_ext_count, 
+//GO(OCSP_request_is_signed, 
+GO(OCSP_REQUEST_new, pFv)
+//GO(OCSP_request_onereq_count, 
+//GO(OCSP_request_onereq_get0, 
+//GO(OCSP_REQUEST_print, 
+//GO(OCSP_request_set1_name, 
+//GO(OCSP_request_sign, 
+//GO(OCSP_request_verify, 
+//GO(OCSP_RESPBYTES_free, 
+//GO(OCSP_RESPBYTES_new, 
+//GO(OCSP_resp_count, 
+//GO(OCSP_RESPDATA_free, 
+//GO(OCSP_RESPDATA_new, 
+//GO(OCSP_resp_find, 
+GO(OCSP_resp_find_status, iFppppppp)
+//GO(OCSP_resp_get0, 
+//GO(OCSP_RESPID_free, 
+//GO(OCSP_RESPID_new, 
+//GO(OCSP_response_create, 
+GO(OCSP_RESPONSE_free, vFp)
+GO(OCSP_response_get1_basic, pFp)
+GO(OCSP_RESPONSE_new, pFv)
+//GO(OCSP_RESPONSE_print, 
+//GO(OCSP_response_status, 
+//GO(OCSP_response_status_str, 
+//GO(OCSP_REVOKEDINFO_free, 
+//GO(OCSP_REVOKEDINFO_new, 
+//GO(OCSP_sendreq_bio, 
+//GO(OCSP_sendreq_nbio, 
+//GO(OCSP_sendreq_new, 
+//GO(OCSP_SERVICELOC_free, 
+//GO(OCSP_SERVICELOC_new, 
+//GO(OCSP_set_max_response_length, 
+//GO(OCSP_SIGNATURE_free, 
+//GO(OCSP_SIGNATURE_new, 
+//GO(OCSP_single_get0_status, 
+//GO(OCSP_SINGLERESP_add1_ext_i2d, 
+//GO(OCSP_SINGLERESP_add_ext, 
+//GO(OCSP_SINGLERESP_delete_ext, 
+//GO(OCSP_SINGLERESP_free, 
+//GO(OCSP_SINGLERESP_get1_ext_d2i, 
+//GO(OCSP_SINGLERESP_get_ext, 
+//GO(OCSP_SINGLERESP_get_ext_by_critical, 
+//GO(OCSP_SINGLERESP_get_ext_by_NID, 
+//GO(OCSP_SINGLERESP_get_ext_by_OBJ, 
+//GO(OCSP_SINGLERESP_get_ext_count, 
+//GO(OCSP_SINGLERESP_new, 
+//GO(OCSP_url_svcloc_new, 
+GO(OPENSSL_add_all_algorithms_conf, vFv)
+GO(OPENSSL_add_all_algorithms_noconf, vFv)
+GO(OpenSSL_add_all_ciphers, vFv)
+//GO(OpenSSL_add_all_digests, 
+//GO(OPENSSL_asc2uni, 
+//GO(OPENSSL_atomic_add, 
+GO(OPENSSL_cleanse, vFpL)
+GO(OPENSSL_config, vFp)
+//GO(OPENSSL_cpuid_setup, 
+//GO(OpenSSLDie, 
+//GO(OPENSSL_DIR_end, 
+//GO(OPENSSL_DIR_read, 
+//GO(OPENSSL_gmtime, 
+//GO(OPENSSL_gmtime_adj, 
+//GO(OPENSSL_gmtime_diff, 
+//GO(OPENSSL_ia32cap_loc, 
+//GO(OPENSSL_init, 
+GO(OPENSSL_init_crypto, iFUp)
+//GO(OPENSSL_instrument_bus, 
+//GO(OPENSSL_instrument_bus2, 
+//GO(OPENSSL_isservice, 
+//GO(OPENSSL_issetugid, 
+//GO(OPENSSL_load_builtin_modules, 
+//GO(OPENSSL_memcmp, 
+GO(OPENSSL_no_config, vFv)
+//GO(OPENSSL_rdtsc, 
+GO(OPENSSL_sk_free, vFp)    //1.1+
+GO(OPENSSL_sk_new_null, pFv)    //1.1+
+GO(OPENSSL_sk_num, iFp) //1.1+
+GO(OPENSSL_sk_pop, pFp) //1.1+
+GOM(OPENSSL_sk_pop_free, pFEpp) //1.1+
+GO(OPENSSL_sk_push, iFpp)   //1.1+
+GO(OPENSSL_sk_value, pFpi)  //1.1+
+//GO(OPENSSL_showfatal, 
+//GO(OPENSSL_stderr, 
+//GO(OPENSSL_strcasecmp, 
+//GO(OPENSSL_strncasecmp, 
+//GO(OPENSSL_uni2asc, 
+//GO(OPENSSL_wipe_cpu, 
+//GO(_ossl_096_des_random_seed, 
+//GO(_ossl_old_crypt, 
+//GO(_ossl_old_des_cbc_cksum, 
+//GO(_ossl_old_des_cbc_encrypt, 
+//GO(_ossl_old_des_cfb64_encrypt, 
+//GO(_ossl_old_des_cfb_encrypt, 
+//GO(_ossl_old_des_crypt, 
+//GO(_ossl_old_des_decrypt3, 
+//GO(_ossl_old_des_ecb3_encrypt, 
+//GO(_ossl_old_des_ecb_encrypt, 
+//GO(_ossl_old_des_ede3_cbc_encrypt, 
+//GO(_ossl_old_des_ede3_cfb64_encrypt, 
+//GO(_ossl_old_des_ede3_ofb64_encrypt, 
+//GO(_ossl_old_des_enc_read, 
+//GO(_ossl_old_des_encrypt, 
+//GO(_ossl_old_des_encrypt2, 
+//GO(_ossl_old_des_encrypt3, 
+//GO(_ossl_old_des_enc_write, 
+//GO(_ossl_old_des_fcrypt, 
+//GO(_ossl_old_des_is_weak_key, 
+//GO(_ossl_old_des_key_sched, 
+//GO(_ossl_old_des_ncbc_encrypt, 
+//GO(_ossl_old_des_ofb64_encrypt, 
+//GO(_ossl_old_des_ofb_encrypt, 
+//GO(_ossl_old_des_options, 
+//GO(_ossl_old_des_pcbc_encrypt, 
+//GO(_ossl_old_des_quad_cksum, 
+//GO(_ossl_old_des_random_key, 
+//GO(_ossl_old_des_random_seed, 
+//GO(_ossl_old_des_read_2passwords, 
+//GO(_ossl_old_des_read_password, 
+//GO(_ossl_old_des_read_pw, 
+//GO(_ossl_old_des_read_pw_string, 
+//GO(_ossl_old_des_set_key, 
+//GO(_ossl_old_des_set_odd_parity, 
+//GO(_ossl_old_des_string_to_2keys, 
+//GO(_ossl_old_des_string_to_key, 
+//GO(_ossl_old_des_xcbc_encrypt, 
+//GO(OTHERNAME_cmp, 
+//GO(OTHERNAME_free, 
+//GO(OTHERNAME_new, 
+//GO(PBE2PARAM_free, 
+//GO(PBE2PARAM_new, 
+//GO(PBEPARAM_free, 
+//GO(PBEPARAM_new, 
+//GO(PBKDF2PARAM_free, 
+//GO(PBKDF2PARAM_new, 
+//GO(PEM_ASN1_read, 
+//GO(PEM_ASN1_read_bio, 
+//GO(PEM_ASN1_write, 
+//GO(PEM_ASN1_write_bio, 
+//GO(PEM_bytes_read_bio, 
+//GO(pem_check_suffix, 
+//GO(PEM_def_callback, 
+//GO(PEM_dek_info, 
+//GO(PEM_do_header, 
+//GO(PEM_get_EVP_CIPHER_INFO, 
+//GO(PEM_proc_type, 
+//GO(PEM_read, 
+//GO(PEM_read_bio, 
+//GO(PEM_read_bio_CMS, 
+//GO(PEM_read_bio_DHparams, 
+//GO(PEM_read_bio_DSAparams, 
+GOM(PEM_read_bio_DSAPrivateKey, pFEpppp)
+GOM(PEM_read_bio_DSA_PUBKEY, pFEpppp)
+//GO(PEM_read_bio_ECPKParameters, 
+GOM(PEM_read_bio_ECPrivateKey, pFEpppp)
+GOM(PEM_read_bio_EC_PUBKEY, pFEpppp)
+//GO(PEM_read_bio_NETSCAPE_CERT_SEQUENCE, 
+//GO(PEM_read_bio_Parameters, 
+GOM(PEM_read_bio_PKCS7, pFEpppp)
+//GO(PEM_read_bio_PKCS8, 
+//GO(PEM_read_bio_PKCS8_PRIV_KEY_INFO, 
+//GO(PEM_read_bio_PrivateKey, 
+//GO(PEM_read_bio_PUBKEY, 
+GOM(PEM_read_bio_RSAPrivateKey, pFEpppp)
+GOM(PEM_read_bio_RSA_PUBKEY, pFEpppp)
+//GO(PEM_read_bio_RSAPublicKey, 
+GOM(PEM_read_bio_X509, pFEpppp)
+GOM(PEM_read_bio_X509_AUX, pFEpppp)
+GOM(PEM_read_bio_X509_CERT_PAIR, pFEpppp)
+GOM(PEM_read_bio_X509_CRL, pFEpppp)
+GOM(PEM_read_bio_X509_REQ, pFEpppp)
+//GO(PEM_read_CMS, 
+//GO(PEM_read_DHparams, 
+//GO(PEM_read_DSAparams, 
+//GO(PEM_read_DSAPrivateKey, 
+//GO(PEM_read_DSA_PUBKEY, 
+//GO(PEM_read_ECPKParameters, 
+//GO(PEM_read_ECPrivateKey, 
+//GO(PEM_read_EC_PUBKEY, 
+//GO(PEM_read_NETSCAPE_CERT_SEQUENCE, 
+//GO(PEM_read_PKCS7, 
+//GO(PEM_read_PKCS8, 
+//GO(PEM_read_PKCS8_PRIV_KEY_INFO, 
+//GO(PEM_read_PrivateKey, 
+//GO(PEM_read_PUBKEY, 
+//GO(PEM_read_RSAPrivateKey, 
+//GO(PEM_read_RSA_PUBKEY, 
+//GO(PEM_read_RSAPublicKey, 
+GO(PEM_read_X509, pFpppp)
+GO(PEM_read_X509_AUX, pFpppp)
+//GO(PEM_read_X509_CERT_PAIR, 
+//GO(PEM_read_X509_CRL, 
+//GO(PEM_read_X509_REQ, 
+//GO(PEM_SealFinal, 
+//GO(PEM_SealInit, 
+//GO(PEM_SealUpdate, 
+//GO(PEM_SignFinal, 
+//GO(PEM_SignInit, 
+//GO(PEM_SignUpdate, 
+//GO(PEM_write, 
+//GO(PEM_write_bio, 
+//GO(PEM_write_bio_ASN1_stream, 
+//GO(PEM_write_bio_CMS, 
+//GO(PEM_write_bio_CMS_stream, 
+//GO(PEM_write_bio_DHparams, 
+//GO(PEM_write_bio_DHxparams, 
+//GO(PEM_write_bio_DSAparams, 
+GOM(PEM_write_bio_DSAPrivateKey, iFEppppipp)
+GO(PEM_write_bio_DSA_PUBKEY, iFpp)
+//GO(PEM_write_bio_ECPKParameters, 
+GOM(PEM_write_bio_ECPrivateKey, iFEppppipp)
+GO(PEM_write_bio_EC_PUBKEY, iFpp)
+//GO(PEM_write_bio_NETSCAPE_CERT_SEQUENCE, 
+//GO(PEM_write_bio_Parameters, 
+//GO(PEM_write_bio_PKCS7, 
+//GO(PEM_write_bio_PKCS7_stream, 
+//GO(PEM_write_bio_PKCS8, 
+//GO(PEM_write_bio_PKCS8PrivateKey, 
+//GO(PEM_write_bio_PKCS8PrivateKey_nid, 
+//GO(PEM_write_bio_PKCS8_PRIV_KEY_INFO, 
+//GO(PEM_write_bio_PrivateKey, 
+//GO(PEM_write_bio_PUBKEY, 
+GOM(PEM_write_bio_RSAPrivateKey, iFEppppipp)
+GO(PEM_write_bio_RSA_PUBKEY, iFpp)
+//GO(PEM_write_bio_RSAPublicKey, 
+GO(PEM_write_bio_X509, iFpp)
+GO(PEM_write_bio_X509_AUX, iFpp)
+//GO(PEM_write_bio_X509_CERT_PAIR, 
+GO(PEM_write_bio_X509_CRL, iFpp)
+GO(PEM_write_bio_X509_REQ, iFpp)
+//GO(PEM_write_bio_X509_REQ_NEW, 
+//GO(PEM_write_CMS, 
+//GO(PEM_write_DHparams, 
+//GO(PEM_write_DHxparams, 
+//GO(PEM_write_DSAparams, 
+//GO(PEM_write_DSAPrivateKey, 
+//GO(PEM_write_DSA_PUBKEY, 
+//GO(PEM_write_ECPKParameters, 
+//GO(PEM_write_ECPrivateKey, 
+//GO(PEM_write_EC_PUBKEY, 
+//GO(PEM_write_NETSCAPE_CERT_SEQUENCE, 
+//GO(PEM_write_PKCS7, 
+//GO(PEM_write_PKCS8, 
+//GO(PEM_write_PKCS8PrivateKey, 
+//GO(PEM_write_PKCS8PrivateKey_nid, 
+//GO(PEM_write_PKCS8_PRIV_KEY_INFO, 
+//GO(PEM_write_PrivateKey, 
+//GO(PEM_write_PUBKEY, 
+//GO(PEM_write_RSAPrivateKey, 
+//GO(PEM_write_RSA_PUBKEY, 
+//GO(PEM_write_RSAPublicKey, 
+//GO(PEM_write_X509, 
+//GO(PEM_write_X509_AUX, 
+//GO(PEM_write_X509_CERT_PAIR, 
+//GO(PEM_write_X509_CRL, 
+//GO(PEM_write_X509_REQ, 
+//GO(PEM_write_X509_REQ_NEW, 
+//GO(PEM_X509_INFO_read, 
+//GO(PEM_X509_INFO_read_bio, 
+//GO(PEM_X509_INFO_write_bio, 
+//GO(pitem_free, 
+//GO(pitem_new, 
+//GO(PKCS12_add_cert, 
+//GO(PKCS12_add_CSPName_asc, 
+//GO(PKCS12_add_friendlyname_asc, 
+//GO(PKCS12_add_friendlyname_uni, 
+//GO(PKCS12_add_key, 
+//GO(PKCS12_add_localkeyid, 
+//GO(PKCS12_add_safe, 
+//GO(PKCS12_add_safes, 
+//GO(PKCS12_BAGS_free, 
+//GO(PKCS12_BAGS_new, 
+//GO(PKCS12_certbag2x509, 
+//GO(PKCS12_certbag2x509crl, 
+GO(PKCS12_create, pFppppp)
+//GO(PKCS12_decrypt_skey, 
+GO(PKCS12_free, vFp)
+//GO(PKCS12_gen_mac, 
+//GO(PKCS12_get_attr_gen, 
+//GO(PKCS12_get_friendlyname, 
+//GO(PKCS12_init, 
+//GO(PKCS12_item_decrypt_d2i, 
+//GO(PKCS12_item_i2d_encrypt, 
+//GO(PKCS12_item_pack_safebag, 
+//GO(PKCS12_key_gen_asc, 
+//GO(PKCS12_key_gen_uni, 
+//GO(PKCS12_MAC_DATA_free, 
+//GO(PKCS12_MAC_DATA_new, 
+//GO(PKCS12_MAKE_KEYBAG, 
+//GO(PKCS12_MAKE_SHKEYBAG, 
+GO(PKCS12_new, pFv)
+//GO(PKCS12_newpass, 
+//GO(PKCS12_pack_authsafes, 
+//GO(PKCS12_pack_p7data, 
+//GO(PKCS12_pack_p7encdata, 
+GO(PKCS12_parse, iFppppp)
+GO(PKCS12_PBE_add, vFv)
+//GO(PKCS12_pbe_crypt, 
+GO(PKCS12_PBE_keyivgen, iFppipppi)
+//GO(PKCS12_SAFEBAG_free, 
+//GO(PKCS12_SAFEBAG_new, 
+//GO(PKCS12_set_mac, 
+//GO(PKCS12_setup_mac, 
+//GO(PKCS12_unpack_authsafes, 
+//GO(PKCS12_unpack_p7data, 
+//GO(PKCS12_unpack_p7encdata, 
+//GO(PKCS12_verify_mac, 
+//GO(PKCS12_x5092certbag, 
+//GO(PKCS12_x509crl2certbag, 
+//GO(PKCS1_MGF1, 
+//GO(PKCS5_pbe2_set, 
+//GO(PKCS5_pbe2_set_iv, 
+//GO(PKCS5_PBE_add, 
+//GO(PKCS5_PBE_keyivgen, 
+//GO(PKCS5_pbe_set, 
+//GO(PKCS5_pbe_set0_algor, 
+//GO(PKCS5_PBKDF2_HMAC, 
+//GO(PKCS5_PBKDF2_HMAC_SHA1, 
+//GO(PKCS5_pbkdf2_set, 
+//GO(PKCS5_v2_PBE_keyivgen, 
+//GO(PKCS5_v2_PBKDF2_keyivgen, 
+//GO(PKCS7_add0_attrib_signing_time, 
+//GO(PKCS7_add1_attrib_digest, 
+//GO(PKCS7_add_attrib_content_type, 
+//GO(PKCS7_add_attrib_smimecap, 
+//GO(PKCS7_add_attribute, 
+//GO(PKCS7_add_certificate, 
+//GO(PKCS7_add_crl, 
+//GO(PKCS7_add_recipient, 
+//GO(PKCS7_add_recipient_info, 
+//GO(PKCS7_add_signature, 
+//GO(PKCS7_add_signed_attribute, 
+//GO(PKCS7_add_signer, 
+//GO(PKCS7_cert_from_signer_info, 
+//GO(PKCS7_content_new, 
+//GO(PKCS7_ctrl, 
+//GO(PKCS7_dataDecode, 
+//GO(PKCS7_dataFinal, 
+//GO(PKCS7_dataInit, 
+//GO(PKCS7_dataVerify, 
+//GO(PKCS7_decrypt, 
+//GO(PKCS7_DIGEST_free, 
+//GO(PKCS7_digest_from_attributes, 
+//GO(PKCS7_DIGEST_new, 
+//GO(PKCS7_dup, 
+//GO(PKCS7_ENC_CONTENT_free, 
+//GO(PKCS7_ENC_CONTENT_new, 
+//GO(PKCS7_encrypt, 
+//GO(PKCS7_ENCRYPT_free, 
+//GO(PKCS7_ENCRYPT_new, 
+//GO(PKCS7_ENVELOPE_free, 
+//GO(PKCS7_ENVELOPE_new, 
+//GO(PKCS7_final, 
+GO(PKCS7_free, vFp)
+//GO(PKCS7_get0_signers, 
+//GO(PKCS7_get_attribute, 
+//GO(PKCS7_get_issuer_and_serial, 
+//GO(PKCS7_get_signed_attribute, 
+//GO(PKCS7_get_signer_info, 
+//GO(PKCS7_get_smimecap, 
+//GO(PKCS7_ISSUER_AND_SERIAL_digest, 
+//GO(PKCS7_ISSUER_AND_SERIAL_free, 
+//GO(PKCS7_ISSUER_AND_SERIAL_new, 
+//GO(PKCS7_new, 
+//GO(PKCS7_print_ctx, 
+//GO(PKCS7_RECIP_INFO_free, 
+//GO(PKCS7_RECIP_INFO_get0_alg, 
+//GO(PKCS7_RECIP_INFO_new, 
+//GO(PKCS7_RECIP_INFO_set, 
+//GO(PKCS7_set0_type_other, 
+//GO(PKCS7_set_attributes, 
+//GO(PKCS7_set_cipher, 
+//GO(PKCS7_set_content, 
+//GO(PKCS7_set_digest, 
+//GO(PKCS7_set_signed_attributes, 
+//GO(PKCS7_set_type, 
+GO(PKCS7_sign, pFppppi)
+GO(PKCS7_sign_add_signer, pFppppi)
+GO(PKCS7_signatureVerify, iFpppp)
+//GO(PKCS7_SIGNED_free, 
+//GO(PKCS7_SIGNED_new, 
+//GO(PKCS7_SIGN_ENVELOPE_free, 
+//GO(PKCS7_SIGN_ENVELOPE_new, 
+//GO(PKCS7_SIGNER_INFO_free, 
+//GO(PKCS7_SIGNER_INFO_get0_algs, 
+//GO(PKCS7_SIGNER_INFO_new, 
+//GO(PKCS7_SIGNER_INFO_set, 
+//GO(PKCS7_SIGNER_INFO_sign, 
+//GO(PKCS7_simple_smimecap, 
+//GO(PKCS7_stream, 
+//GO(PKCS7_to_TS_TST_INFO, 
+//GO(PKCS7_verify, 
+//GO(PKCS8_add_keyusage, 
+//GO(PKCS8_decrypt, 
+//GO(PKCS8_encrypt, 
+//GO(PKCS8_pkey_get0, 
+//GO(PKCS8_pkey_set0, 
+//GO(PKCS8_PRIV_KEY_INFO_free, 
+//GO(PKCS8_PRIV_KEY_INFO_new, 
+//GO(PKCS8_set_broken, 
+//GO(PKEY_USAGE_PERIOD_free, 
+//GO(PKEY_USAGE_PERIOD_new, 
+//GO(policy_cache_find_data, 
+//GO(policy_cache_free, 
+//GO(policy_cache_set, 
+//GO(policy_cache_set_mapping, 
+//GO(POLICY_CONSTRAINTS_free, 
+//GO(POLICY_CONSTRAINTS_new, 
+//GO(policy_data_free, 
+//GO(policy_data_new, 
+//GO(POLICYINFO_free, 
+//GO(POLICYINFO_new, 
+//GO(POLICY_MAPPING_free, 
+//GO(POLICY_MAPPING_new, 
+//GO(policy_node_cmp_new, 
+//GO(policy_node_free, 
+//GO(policy_node_match, 
+//GO(POLICYQUALINFO_free, 
+//GO(POLICYQUALINFO_new, 
+//GO(pqueue_find, 
+//GO(pqueue_free, 
+//GO(pqueue_insert, 
+//GO(pqueue_iterator, 
+//GO(pqueue_new, 
+//GO(pqueue_next, 
+//GO(pqueue_peek, 
+//GO(pqueue_pop, 
+//GO(pqueue_print, 
+//GO(pqueue_size, 
+GO(private_AES_set_decrypt_key, iFpip)
+GO(private_AES_set_encrypt_key, iFpip)
+//GO(private_Camellia_set_key, 
+//GO(private_RC4_set_key, 
+//GO(PROXY_CERT_INFO_EXTENSION_free, 
+//GO(PROXY_CERT_INFO_EXTENSION_new, 
+//GO(PROXY_POLICY_free, 
+//GO(PROXY_POLICY_new, 
+GO(RAND_add, vFpid)
+GO(RAND_bytes, iFpi)
+//GO(RAND_cleanup, 
+GO(RAND_egd, iFp)
+GO(RAND_egd_bytes, iFpi)
+GO(RAND_file_name, pFpL)
+//GO(RAND_get_rand_method, 
+GO(RAND_load_file, iFpl)
+GO(RAND_poll, iFv)
+GO(RAND_pseudo_bytes, iFpi)
+GO(RAND_query_egd_bytes, iFppi)
+GO(RAND_seed, vFpi)
+//GO(RAND_set_rand_engine, 
+//GO(RAND_set_rand_method, 
+GO(RAND_SSLeay, pFv)
+GO(RAND_status, iFv)
+GO(RAND_write_file, iFp)
+//GO(RC2_cbc_encrypt, 
+//GO(RC2_cfb64_encrypt, 
+//GO(RC2_decrypt, 
+//GO(RC2_ecb_encrypt, 
+//GO(RC2_encrypt, 
+//GO(RC2_ofb64_encrypt, 
+//GO(RC2_set_key, 
+//GO(RC4, 
+//GO(RC4_options, 
+//GO(RC4_set_key, 
+//GO(RIPEMD160, 
+//GO(ripemd160_block_data_order, 
+//GO(RIPEMD160_Final, 
+//GO(RIPEMD160_Init, 
+//GO(RIPEMD160_Transform, 
+//GO(RIPEMD160_Update, 
+//GO(RSA_blinding_off, 
+//GO(RSA_blinding_on, 
+GO(RSA_check_key, iFp)
+//GO(RSA_flags, 
+GO(RSA_free, vFp)
+//GO(RSA_generate_key, 
+GO(RSA_generate_key_ex, iFpipp)
+//GO(RSA_get_default_method, 
+//GO(RSA_get_ex_data, 
+//GO(RSA_get_ex_new_index, 
+GO(RSA_get_method, pFp)
+//GO(RSA_memory_lock, 
+GO(RSA_new, pFv)
+GO(RSA_new_method, pFp)
+//GO(RSA_null_method, 
+//GO(RSA_OAEP_PARAMS_free, 
+//GO(RSA_OAEP_PARAMS_new, 
+//GO(RSA_padding_add_none, 
+//GO(RSA_padding_add_PKCS1_OAEP, 
+//GO(RSA_padding_add_PKCS1_OAEP_mgf1, 
+//GO(RSA_padding_add_PKCS1_PSS, 
+//GO(RSA_padding_add_PKCS1_PSS_mgf1, 
+//GO(RSA_padding_add_PKCS1_type_1, 
+//GO(RSA_padding_add_PKCS1_type_2, 
+//GO(RSA_padding_add_SSLv23, 
+//GO(RSA_padding_add_X931, 
+//GO(RSA_padding_check_none, 
+//GO(RSA_padding_check_PKCS1_OAEP, 
+//GO(RSA_padding_check_PKCS1_OAEP_mgf1, 
+//GO(RSA_padding_check_PKCS1_type_1, 
+//GO(RSA_padding_check_PKCS1_type_2, 
+//GO(RSA_padding_check_SSLv23, 
+//GO(RSA_padding_check_X931, 
+GO(RSA_PKCS1_OpenSSL, pFv)
+GO(RSA_PKCS1_SSLeay, pFv)
+//GO(RSA_print, 
+//GO(RSA_print_fp, 
+GO(RSA_private_decrypt, iFipppi)
+GO(RSA_private_encrypt, iFipppi)
+//GO(RSAPrivateKey_dup, 
+//GO(RSA_PSS_PARAMS_free, 
+//GO(RSA_PSS_PARAMS_new, 
+GO(RSA_public_decrypt, iFipppi)
+GO(RSA_public_encrypt, iFipppi)
+//GO(RSAPublicKey_dup, 
+//GO(RSA_set_default_method, 
+//GO(RSA_set_ex_data, 
+GO(RSA_set_method, iFpp)
+//GO(RSA_setup_blinding, 
+GO(RSA_sign, iFipuppp)
+GO(RSA_sign_ASN1_OCTET_STRING, iFipuppp)
+GO(RSA_size, iFp)
+GO(RSA_up_ref, iFp)
+GO(RSA_verify, iFipupup)
+GO(RSA_verify_ASN1_OCTET_STRING, iFipupup)
+GO(RSA_verify_PKCS1_PSS, iFppppi)
+GO(RSA_verify_PKCS1_PSS_mgf1, iFpppppi)
+//GO(RSA_X931_hash_id, 
+//GO(s2i_ASN1_INTEGER, 
+//GO(s2i_ASN1_OCTET_STRING, 
+//GO(SEED_cbc_encrypt, 
+//GO(SEED_cfb128_encrypt, 
+//GO(SEED_decrypt, 
+//GO(SEED_ecb_encrypt, 
+//GO(SEED_encrypt, 
+//GO(SEED_ofb128_encrypt, 
+//GO(SEED_set_key, 
+//GO(SHA, 
+GO(SHA1, pFpLp)
+//GO(sha1_block_data_order, 
+GO(SHA1_Final, iFpp)
+GO(SHA1_Init, iFp)
+//GO(SHA1_Transform, 
+GO(SHA1_Update, iFppL)
+GO(SHA224, pFpLp)
+GO(SHA224_Final, iFpp)
+GO(SHA224_Init, iFp)
+GO(SHA224_Update, iFppL)
+GO(SHA256, pFpLp)
+//GO(sha256_block_data_order, 
+//GO(sha256_block_data_order_neon, 
+GO(SHA256_Final, iFpp)
+GO(SHA256_Init, iFp)
+//GO(SHA256_Transform, 
+GO(SHA256_Update, iFppL)
+GO(SHA384, pFpLp)
+GO(SHA384_Final, iFpp)
+GO(SHA384_Init, iFp)
+GO(SHA384_Update, iFppL)
+GO(SHA512, pFpLp)
+//GO(sha512_block_data_order, 
+GO(SHA512_Final, iFpp)
+GO(SHA512_Init, iFp)
+//GO(SHA512_Transform, 
+GO(SHA512_Update, iFppL)
+//GO(SHA_Final, 
+//GO(SHA_Init, 
+//GO(SHA_Transform, 
+//GO(SHA_Update, 
+//GO(SMIME_crlf_copy, 
+//GO(SMIME_read_ASN1, 
+//GO(SMIME_read_CMS, 
+//GO(SMIME_read_PKCS7, 
+//GO(SMIME_text, 
+//GO(SMIME_write_ASN1, 
+//GO(SMIME_write_CMS, 
+//GO(SMIME_write_PKCS7, 
+//GO(SRP_Calc_A, 
+//GO(SRP_Calc_B, 
+//GO(SRP_Calc_client_key, 
+//GO(SRP_Calc_server_key, 
+//GO(SRP_Calc_u, 
+//GO(SRP_Calc_x, 
+//GO(SRP_check_known_gN_param, 
+//GO(SRP_create_verifier, 
+//GO(SRP_create_verifier_BN, 
+//GO(SRP_get_default_gN, 
+//GO(SRP_user_pwd_free, 
+//GO(SRP_VBASE_free, 
+//GO(SRP_VBASE_get1_by_user, 
+//GO(SRP_VBASE_get_by_user, 
+//GO(SRP_VBASE_init, 
+//GO(SRP_VBASE_new, 
+//GO(SRP_Verify_A_mod_N, 
+//GO(SRP_Verify_B_mod_N, 
+GO(SSLeay, lFv)
+//GO(ssleay_rand_bytes, 
+GO(SSLeay_version, pFi)
+//GO(string_to_hex, 
+//GO(SXNET_add_id_asc, 
+//GO(SXNET_add_id_INTEGER, 
+//GO(SXNET_add_id_ulong, 
+//GO(SXNET_free, 
+//GO(SXNET_get_id_asc, 
+//GO(SXNET_get_id_INTEGER, 
+//GO(SXNET_get_id_ulong, 
+//GO(SXNETID_free, 
+//GO(SXNETID_new, 
+//GO(SXNET_new, 
+//GO(tree_find_sk, 
+//GO(TS_ACCURACY_dup, 
+//GO(TS_ACCURACY_free, 
+//GO(TS_ACCURACY_get_micros, 
+//GO(TS_ACCURACY_get_millis, 
+//GO(TS_ACCURACY_get_seconds, 
+//GO(TS_ACCURACY_new, 
+//GO(TS_ACCURACY_set_micros, 
+//GO(TS_ACCURACY_set_millis, 
+//GO(TS_ACCURACY_set_seconds, 
+//GO(TS_ASN1_INTEGER_print_bio, 
+//GO(TS_CONF_get_tsa_section, 
+//GO(TS_CONF_load_cert, 
+//GO(TS_CONF_load_certs, 
+//GO(TS_CONF_load_key, 
+//GO(TS_CONF_set_accuracy, 
+//GO(TS_CONF_set_certs, 
+//GO(TS_CONF_set_clock_precision_digits, 
+//GO(TS_CONF_set_crypto_device, 
+//GO(TS_CONF_set_default_engine, 
+//GO(TS_CONF_set_def_policy, 
+//GO(TS_CONF_set_digests, 
+//GO(TS_CONF_set_ess_cert_id_chain, 
+//GO(TS_CONF_set_ordering, 
+//GO(TS_CONF_set_policies, 
+//GO(TS_CONF_set_serial, 
+//GO(TS_CONF_set_signer_cert, 
+//GO(TS_CONF_set_signer_key, 
+//GO(TS_CONF_set_tsa_name, 
+//GO(TS_ext_print_bio, 
+//GO(TS_MSG_IMPRINT_dup, 
+//GO(TS_MSG_IMPRINT_free, 
+//GO(TS_MSG_IMPRINT_get_algo, 
+//GO(TS_MSG_IMPRINT_get_msg, 
+//GO(TS_MSG_IMPRINT_new, 
+//GO(TS_MSG_IMPRINT_print_bio, 
+//GO(TS_MSG_IMPRINT_set_algo, 
+//GO(TS_MSG_IMPRINT_set_msg, 
+//GO(TS_OBJ_print_bio, 
+//GO(TS_REQ_add_ext, 
+//GO(TS_REQ_delete_ext, 
+//GO(TS_REQ_dup, 
+//GO(TS_REQ_ext_free, 
+//GO(TS_REQ_free, 
+//GO(TS_REQ_get_cert_req, 
+//GO(TS_REQ_get_ext, 
+//GO(TS_REQ_get_ext_by_critical, 
+//GO(TS_REQ_get_ext_by_NID, 
+//GO(TS_REQ_get_ext_by_OBJ, 
+//GO(TS_REQ_get_ext_count, 
+//GO(TS_REQ_get_ext_d2i, 
+//GO(TS_REQ_get_exts, 
+//GO(TS_REQ_get_msg_imprint, 
+//GO(TS_REQ_get_nonce, 
+//GO(TS_REQ_get_policy_id, 
+//GO(TS_REQ_get_version, 
+//GO(TS_REQ_new, 
+//GO(TS_REQ_print_bio, 
+//GO(TS_REQ_set_cert_req, 
+//GO(TS_REQ_set_msg_imprint, 
+//GO(TS_REQ_set_nonce, 
+//GO(TS_REQ_set_policy_id, 
+//GO(TS_REQ_set_version, 
+//GO(TS_REQ_to_TS_VERIFY_CTX, 
+//GO(TS_RESP_create_response, 
+//GO(TS_RESP_CTX_add_failure_info, 
+//GO(TS_RESP_CTX_add_flags, 
+//GO(TS_RESP_CTX_add_md, 
+//GO(TS_RESP_CTX_add_policy, 
+//GO(TS_RESP_CTX_free, 
+//GO(TS_RESP_CTX_get_request, 
+//GO(TS_RESP_CTX_get_tst_info, 
+//GO(TS_RESP_CTX_new, 
+//GO(TS_RESP_CTX_set_accuracy, 
+//GO(TS_RESP_CTX_set_certs, 
+//GO(TS_RESP_CTX_set_clock_precision_digits, 
+//GO(TS_RESP_CTX_set_def_policy, 
+//GO(TS_RESP_CTX_set_extension_cb, 
+//GO(TS_RESP_CTX_set_serial_cb, 
+//GO(TS_RESP_CTX_set_signer_cert, 
+//GO(TS_RESP_CTX_set_signer_key, 
+//GO(TS_RESP_CTX_set_status_info, 
+//GO(TS_RESP_CTX_set_status_info_cond, 
+//GO(TS_RESP_CTX_set_time_cb, 
+//GO(TS_RESP_dup, 
+//GO(TS_RESP_free, 
+//GO(TS_RESP_get_status_info, 
+//GO(TS_RESP_get_token, 
+//GO(TS_RESP_get_tst_info, 
+//GO(TS_RESP_new, 
+//GO(TS_RESP_print_bio, 
+//GO(TS_RESP_set_status_info, 
+//GO(TS_RESP_set_tst_info, 
+//GO(TS_RESP_verify_response, 
+//GO(TS_RESP_verify_signature, 
+//GO(TS_RESP_verify_token, 
+//GO(TS_STATUS_INFO_dup, 
+//GO(TS_STATUS_INFO_free, 
+//GO(TS_STATUS_INFO_new, 
+//GO(TS_STATUS_INFO_print_bio, 
+//GO(TS_TST_INFO_add_ext, 
+//GO(TS_TST_INFO_delete_ext, 
+//GO(TS_TST_INFO_dup, 
+//GO(TS_TST_INFO_ext_free, 
+//GO(TS_TST_INFO_free, 
+//GO(TS_TST_INFO_get_accuracy, 
+//GO(TS_TST_INFO_get_ext, 
+//GO(TS_TST_INFO_get_ext_by_critical, 
+//GO(TS_TST_INFO_get_ext_by_NID, 
+//GO(TS_TST_INFO_get_ext_by_OBJ, 
+//GO(TS_TST_INFO_get_ext_count, 
+//GO(TS_TST_INFO_get_ext_d2i, 
+//GO(TS_TST_INFO_get_exts, 
+//GO(TS_TST_INFO_get_msg_imprint, 
+//GO(TS_TST_INFO_get_nonce, 
+//GO(TS_TST_INFO_get_ordering, 
+//GO(TS_TST_INFO_get_policy_id, 
+//GO(TS_TST_INFO_get_serial, 
+//GO(TS_TST_INFO_get_time, 
+//GO(TS_TST_INFO_get_tsa, 
+//GO(TS_TST_INFO_get_version, 
+//GO(TS_TST_INFO_new, 
+//GO(TS_TST_INFO_print_bio, 
+//GO(TS_TST_INFO_set_accuracy, 
+//GO(TS_TST_INFO_set_msg_imprint, 
+//GO(TS_TST_INFO_set_nonce, 
+//GO(TS_TST_INFO_set_ordering, 
+//GO(TS_TST_INFO_set_policy_id, 
+//GO(TS_TST_INFO_set_serial, 
+//GO(TS_TST_INFO_set_time, 
+//GO(TS_TST_INFO_set_tsa, 
+//GO(TS_TST_INFO_set_version, 
+//GO(TS_VERIFY_CTX_cleanup, 
+//GO(TS_VERIFY_CTX_free, 
+//GO(TS_VERIFY_CTX_init, 
+//GO(TS_VERIFY_CTX_new, 
+//GO(TS_X509_ALGOR_print_bio, 
+//GO(TXT_DB_create_index, 
+//GO(TXT_DB_free, 
+//GO(TXT_DB_get_by_index, 
+//GO(TXT_DB_insert, 
+//GO(TXT_DB_read, 
+//GO(TXT_DB_write, 
+GO(UI_add_error_string, iFpp)
+GO(UI_add_info_string, iFpp)
+GO(UI_add_input_boolean, iFpppppip)
+GO(UI_add_input_string, iFppipii)
+GO(UI_add_user_data, pFpp)
+//GO(UI_add_verify_string, 
+GO(UI_construct_prompt, pFppp)
+//GO(UI_create_method, 
+//GO(UI_ctrl, 
+//GO(UI_destroy_method, 
+GO(UI_dup_error_string, iFpp)
+GO(UI_dup_info_string, iFpp)
+GO(UI_dup_input_boolean, iFpppppip)
+GO(UI_dup_input_string, iFppipii)
+GO(UI_dup_verify_string, iFppipiip)
+GO(UI_free, vFp)
+//GO(UI_get0_action_string, 
+//GO(UI_get0_output_string, 
+GO(UI_get0_result, pFpi)
+//GO(UI_get0_result_string, 
+//GO(UI_get0_test_string, 
+GO(UI_get0_user_data, pFp)
+GO(UI_get_default_method, pFv)
+//GO(UI_get_ex_data, 
+//GO(UI_get_ex_new_index, 
+//GO(UI_get_input_flags, 
+GO(UI_get_method, pFp)
+//GO(UI_get_result_maxsize, 
+//GO(UI_get_result_minsize, 
+//GO(UI_get_string_type, 
+//GO(UI_method_get_closer, 
+//GO(UI_method_get_flusher, 
+//GO(UI_method_get_opener, 
+//GO(UI_method_get_prompt_constructor, 
+//GO(UI_method_get_reader, 
+//GO(UI_method_get_writer, 
+//GO(UI_method_set_closer, 
+//GO(UI_method_set_flusher, 
+//GO(UI_method_set_opener, 
+//GO(UI_method_set_prompt_constructor, 
+//GO(UI_method_set_reader, 
+//GO(UI_method_set_writer, 
+GO(UI_new, pFv)
+GO(UI_new_method, pFp)
+GO(UI_OpenSSL, pFv)
+GO(UI_process, iFp)
+GO(UI_set_default_method, vFp)
+//GO(UI_set_ex_data, 
+GO(UI_set_method, pFpp)
+//GO(UI_set_result, 
+//GO(UI_UTIL_read_pw, 
+//GO(UI_UTIL_read_pw_string, 
+//GO(USERNOTICE_free, 
+//GO(USERNOTICE_new, 
+//GO(UTF8_getc, 
+//GO(UTF8_putc, 
+//GO(v2i_ASN1_BIT_STRING, 
+//GO(v2i_GENERAL_NAME, 
+//GO(v2i_GENERAL_NAME_ex, 
+//GO(v2i_GENERAL_NAMES, 
+//GO(WHIRLPOOL, 
+//GO(WHIRLPOOL_BitUpdate, 
+//GO(whirlpool_block, 
+//GO(WHIRLPOOL_Final, 
+//GO(WHIRLPOOL_Init, 
+//GO(WHIRLPOOL_Update, 
+GO(X509_add1_ext_i2d, iFpipiL)
+//GO(X509_add1_reject_object, 
+//GO(X509_add1_trust_object, 
+//GO(X509_add_ext, 
+//GO(X509_ALGOR_cmp, 
+//GO(X509_ALGOR_dup, 
+//GO(X509_ALGOR_free, 
+//GO(X509_ALGOR_get0, 
+//GO(X509_ALGOR_new, 
+//GO(X509_ALGOR_set0, 
+//GO(X509_ALGOR_set_md, 
+//GO(X509_alias_get0, 
+//GO(X509_alias_set1, 
+//GO(X509at_add1_attr, 
+//GO(X509at_add1_attr_by_NID, 
+//GO(X509at_add1_attr_by_OBJ, 
+//GO(X509at_add1_attr_by_txt, 
+//GO(X509at_delete_attr, 
+//GO(X509at_get0_data_by_OBJ, 
+//GO(X509at_get_attr, 
+//GO(X509at_get_attr_by_NID, 
+//GO(X509at_get_attr_by_OBJ, 
+//GO(X509at_get_attr_count, 
+//GO(X509_ATTRIBUTE_count, 
+//GO(X509_ATTRIBUTE_create, 
+//GO(X509_ATTRIBUTE_create_by_NID, 
+//GO(X509_ATTRIBUTE_create_by_OBJ, 
+//GO(X509_ATTRIBUTE_create_by_txt, 
+//GO(X509_ATTRIBUTE_dup, 
+//GO(X509_ATTRIBUTE_free, 
+//GO(X509_ATTRIBUTE_get0_data, 
+//GO(X509_ATTRIBUTE_get0_object, 
+//GO(X509_ATTRIBUTE_get0_type, 
+//GO(X509_ATTRIBUTE_new, 
+//GO(X509_ATTRIBUTE_set1_data, 
+//GO(X509_ATTRIBUTE_set1_object, 
+//GO(X509_CERT_AUX_free, 
+//GO(X509_CERT_AUX_new, 
+//GO(X509_CERT_AUX_print, 
+//GO(X509_certificate_type, 
+//GO(X509_CERT_PAIR_free, 
+//GO(X509_CERT_PAIR_new, 
+//GO(X509_chain_check_suiteb, 
+//GO(X509_chain_up_ref, 
+//GO(X509_check_akid, 
+//GO(X509_check_ca, 
+//GO(X509_check_email, 
+//GO(X509_check_host, 
+//GO(X509_check_ip, 
+//GO(X509_check_ip_asc, 
+GO(X509_check_issued, iFpp)
+//GO(X509_check_private_key, 
+GO(X509_check_purpose, iFpii)
+//GO(X509_check_trust, 
+//GO(X509_CINF_free, 
+//GO(X509_CINF_new, 
+GO(X509_cmp, iFpp)
+GO(X509_cmp_current_time, iFp)
+GO(X509_cmp_time, iFpp)
+//GO(X509_CRL_add0_revoked, 
+GO(X509_CRL_add1_ext_i2d, iFpipiL)
+//GO(X509_CRL_add_ext, 
+//GO(X509_CRL_check_suiteb, 
+//GO(X509_CRL_cmp, 
+//GO(X509_CRL_delete_ext, 
+//GO(X509_CRL_diff, 
+//GO(X509_CRL_digest, 
+//GO(X509_CRL_dup, 
+GO(X509_CRL_free, vFp)
+//GO(X509_CRL_get0_by_cert, 
+//GO(X509_CRL_get0_by_serial, 
+//GO(X509_CRL_get_ext, 
+//GO(X509_CRL_get_ext_by_critical, 
+//GO(X509_CRL_get_ext_by_NID, 
+//GO(X509_CRL_get_ext_by_OBJ, 
+//GO(X509_CRL_get_ext_count, 
+GO(X509_CRL_get_ext_d2i, pFpipp)
+//GO(X509_CRL_get_meth_data, 
+//GO(X509_CRL_http_nbio, 
+//GO(X509_CRL_INFO_free, 
+//GO(X509_CRL_INFO_new, 
+//GO(X509_CRL_match, 
+//GO(X509_CRL_METHOD_free, 
+//GO(X509_CRL_METHOD_new, 
+//GO(X509_CRL_new, 
+//GO(X509_CRL_print, 
+//GO(X509_CRL_print_fp, 
+//GO(X509_CRL_set_default_method, 
+GO(X509_CRL_set_issuer_name, iFpp)
+//GO(X509_CRL_set_lastUpdate, 
+//GO(X509_CRL_set_meth_data, 
+//GO(X509_CRL_set_nextUpdate, 
+//GO(X509_CRL_set_version, 
+//GO(X509_CRL_sign, 
+//GO(X509_CRL_sign_ctx, 
+//GO(X509_CRL_sort, 
+//GO(X509_CRL_verify, 
+//GO(X509_delete_ext, 
+GO(X509_digest, iFpppp)
+GO(X509_dup, pFp)
+//GO(X509_email_free, 
+GO(X509_EXTENSION_create_by_NID, pFpiip)
+GO(X509_EXTENSION_create_by_OBJ, pFppip)
+//GO(X509_EXTENSION_dup, 
+GO(X509_EXTENSION_free, vFp)
+GO(X509_EXTENSION_get_critical, iFp)
+GO(X509_EXTENSION_get_data, pFp)
+GO(X509_EXTENSION_get_object, pFp)
+//GO(X509_EXTENSION_new, 
+GO(X509_EXTENSION_set_critical, iFpi)
+GO(X509_EXTENSION_set_data, iFpp)
+GO(X509_EXTENSION_set_object, iFpp)
+//GO(X509_find_by_issuer_and_serial, 
+//GO(X509_find_by_subject, 
+GO(X509_free, vFp)
+//GO(X509_get0_pubkey_bitstr, 
+//GO(X509_get0_signature, 
+//GO(X509_get1_email, 
+//GO(X509_get1_ocsp, 
+//GO(X509_get_default_cert_area, 
+GO(X509_get_default_cert_dir, pFv)
+GO(X509_get_default_cert_dir_env, pFv)
+GO(X509_get_default_cert_file, pFv)
+GO(X509_get_default_cert_file_env, pFv)
+//GO(X509_get_default_private_dir, 
+//GO(X509_get_ex_data, 
+//GO(X509_get_ex_new_index, 
+GO(X509_get_ext, pFpi)
+GO(X509_get_ext_by_critical, iFpii)
+GO(X509_get_ext_by_NID, iFpii)
+GO(X509_get_ext_by_OBJ, iFppi)
+GO(X509_get_ext_count, iFp)
+GO(X509_get_ext_d2i, pFpipp)
+GO(X509_get_issuer_name, pFp)
+GO(X509_get_pubkey, pFp)
+//GO(X509_get_pubkey_parameters, 
+GO(X509_get_serialNumber, pFp)
+GO(X509_get0_serialNumber, pFp)
+//GO(X509_get_signature_nid, 
+GO(X509_get_subject_name, pFp)
+GO(X509_get_X509_PUBKEY, pFp)
+GO(X509_get0_pubkey, pFp)
+//GO(X509_gmtime_adj, 
+//GO(X509_http_nbio, 
+//GO(X509_INFO_free, 
+//GO(X509_INFO_new, 
+//GO(X509_issuer_and_serial_cmp, 
+//GO(X509_issuer_and_serial_hash, 
+//GO(X509_issuer_name_cmp, 
+GO(X509_issuer_name_hash, LFp)
+GO(X509_issuer_name_hash_old, LFp)
+//GO(X509_keyid_get0, 
+//GO(X509_keyid_set1, 
+GO(X509_load_cert_crl_file, iFppi)
+GO(X509_load_cert_file, iFppi)
+GO(X509_load_crl_file, iFppi)
+//GO(X509_LOOKUP_by_alias, 
+//GO(X509_LOOKUP_by_fingerprint, 
+//GO(X509_LOOKUP_by_issuer_serial, 
+//GO(X509_LOOKUP_by_subject, 
+//GO(X509_LOOKUP_ctrl, 
+GO(X509_LOOKUP_file, pFv)
+//GO(X509_LOOKUP_free, 
+GO(X509_LOOKUP_hash_dir, pFv)
+//GO(X509_LOOKUP_init, 
+//GO(X509_LOOKUP_new, 
+//GO(X509_LOOKUP_shutdown, 
+//GO(X509_NAME_add_entry, 
+//GO(X509_NAME_add_entry_by_NID, 
+//GO(X509_NAME_add_entry_by_OBJ, 
+GO(X509_NAME_add_entry_by_txt, iFppipiii)
+//GO(X509_NAME_cmp, 
+//GO(X509_NAME_delete_entry, 
+//GO(X509_NAME_digest, 
+//GO(X509_NAME_dup, 
+GO(X509_NAME_entry_count, iFp)
+GO(X509_NAME_ENTRY_create_by_NID, pFpiipi)
+GO(X509_NAME_ENTRY_create_by_OBJ, pFppipi)
+GO(X509_NAME_ENTRY_create_by_txt, pFppipi)
+//GO(X509_NAME_ENTRY_dup, 
+//GO(X509_NAME_ENTRY_free, 
+GO(X509_NAME_ENTRY_get_data, pFp)
+GO(X509_NAME_ENTRY_get_object, pFp)
+//GO(X509_NAME_ENTRY_new, 
+GO(X509_NAME_ENTRY_set_data, iFpipi)
+GO(X509_NAME_ENTRY_set_object, iFpp)
+GO(X509_NAME_free, vFp)
+GO(X509_NAME_get_entry, pFpi)
+GO(X509_NAME_get_index_by_NID, iFpii)
+GO(X509_NAME_get_index_by_OBJ, iFppi)
+GO(X509_NAME_get_text_by_NID, iFpipi)
+GO(X509_NAME_get_text_by_OBJ, iFpppi)
+//GO(X509_NAME_hash, 
+//GO(X509_NAME_hash_old, 
+//GO(X509_NAME_new, 
+GO(X509_NAME_oneline, pFppi)
+GO(X509_NAME_print, iFppi)
+GO(X509_NAME_print_ex, iFppiu)
+GO(X509_NAME_print_ex_fp, iFppiu)
+//GO(X509_NAME_set, 
+GO(X509_new, pFv)
+//GO(X509_OBJECT_free_contents, 
+//GO(X509_OBJECT_idx_by_subject, 
+//GO(X509_OBJECT_retrieve_by_subject, 
+//GO(X509_OBJECT_retrieve_match, 
+//GO(X509_OBJECT_up_ref_count, 
+//GO(X509_ocspid_print, 
+//GO(X509_PKEY_free, 
+//GO(X509_PKEY_new, 
+//GO(X509_policy_check, 
+//GO(X509_policy_level_get0_node, 
+//GO(X509_policy_level_node_count, 
+//GO(X509_policy_node_get0_parent, 
+//GO(X509_policy_node_get0_policy, 
+//GO(X509_policy_node_get0_qualifiers, 
+//GO(X509_POLICY_NODE_print, 
+//GO(X509_policy_tree_free, 
+//GO(X509_policy_tree_get0_level, 
+//GO(X509_policy_tree_get0_policies, 
+//GO(X509_policy_tree_get0_user_policies, 
+//GO(X509_policy_tree_level_count, 
+GO(X509_print, iFpp)
+GO(X509_print_ex, iFppLL)
+GO(X509_print_ex_fp, iFppLL)
+GO(X509_print_fp, iFpp)
+//GO(X509_pubkey_digest, 
+//GO(X509_PUBKEY_free, 
+GO(X509_PUBKEY_get, pFp)
+GO(X509_PUBKEY_get0_param, iFppppp)
+//GO(X509_PUBKEY_new, 
+//GO(X509_PUBKEY_set, 
+//GO(X509_PUBKEY_set0_param, 
+//GO(X509_PURPOSE_add, 
+//GO(X509_PURPOSE_cleanup, 
+//GO(X509_PURPOSE_get0, 
+//GO(X509_PURPOSE_get0_name, 
+//GO(X509_PURPOSE_get0_sname, 
+//GO(X509_PURPOSE_get_by_id, 
+//GO(X509_PURPOSE_get_by_sname, 
+//GO(X509_PURPOSE_get_count, 
+//GO(X509_PURPOSE_get_id, 
+//GO(X509_PURPOSE_get_trust, 
+//GO(X509_PURPOSE_set, 
+//GO(X509_reject_clear, 
+//GO(X509_REQ_add1_attr, 
+//GO(X509_REQ_add1_attr_by_NID, 
+//GO(X509_REQ_add1_attr_by_OBJ, 
+//GO(X509_REQ_add1_attr_by_txt, 
+//GO(X509_REQ_add_extensions, 
+//GO(X509_REQ_add_extensions_nid, 
+//GO(X509_REQ_check_private_key, 
+//GO(X509_REQ_delete_attr, 
+//GO(X509_REQ_digest, 
+//GO(X509_REQ_dup, 
+//GO(X509_REQ_extension_nid, 
+//GO(X509_REQ_free, 
+//GO(X509_REQ_get1_email, 
+//GO(X509_REQ_get_attr, 
+//GO(X509_REQ_get_attr_by_NID, 
+//GO(X509_REQ_get_attr_by_OBJ, 
+//GO(X509_REQ_get_attr_count, 
+//GO(X509_REQ_get_extension_nids, 
+//GO(X509_REQ_get_extensions, 
+GO(X509_REQ_get_pubkey, pFp)
+GO(X509_REQ_get_X509_PUBKEY, pFp)
+GO(X509_REQ_get0_pubkey, pFp)
+//GO(X509_REQ_INFO_free, 
+//GO(X509_REQ_INFO_new, 
+//GO(X509_REQ_new, 
+//GO(X509_REQ_print, 
+//GO(X509_REQ_print_ex, 
+//GO(X509_REQ_print_fp, 
+//GO(X509_REQ_set_extension_nids, 
+GO(X509_REQ_set_pubkey, iFpp)
+GO(X509_REQ_set_subject_name, iFpp)
+//GO(X509_REQ_set_version, 
+//GO(X509_REQ_sign, 
+//GO(X509_REQ_sign_ctx, 
+//GO(X509_REQ_to_X509, 
+//GO(X509_REQ_verify, 
+GO(X509_REVOKED_add1_ext_i2d, iFpipiL)
+//GO(X509_REVOKED_add_ext, 
+//GO(X509_REVOKED_delete_ext, 
+//GO(X509_REVOKED_dup, 
+//GO(X509_REVOKED_free, 
+//GO(X509_REVOKED_get_ext, 
+//GO(X509_REVOKED_get_ext_by_critical, 
+//GO(X509_REVOKED_get_ext_by_NID, 
+//GO(X509_REVOKED_get_ext_by_OBJ, 
+//GO(X509_REVOKED_get_ext_count, 
+GO(X509_REVOKED_get_ext_d2i, pFpipp)
+//GO(X509_REVOKED_new, 
+//GO(X509_REVOKED_set_revocationDate, 
+//GO(X509_REVOKED_set_serialNumber, 
+//GO(X509_set_ex_data, 
+GO(X509_set_issuer_name, iFpp)
+//GO(X509_set_notAfter, 
+//GO(X509_set_notBefore, 
+GO(X509_set_pubkey, iFpp)
+GO(X509_set_serialNumber, iFpp)
+GO(X509_set_subject_name, iFpp)
+//GO(X509_set_version, 
+//GO(X509_SIG_free, 
+GO(X509_sign, iFppp)
+GO(X509_signature_dump, iFppi)
+GO(X509_signature_print, iFppp)
+GO(X509_sign_ctx, iFpp)
+//GO(X509_SIG_new, 
+GO(X509_STORE_add_cert, iFpp)
+GO(X509_STORE_add_crl, iFpp)
+GO(X509_STORE_add_lookup, pFpp)
+GO(X509_STORE_CTX_cleanup, vFp)
+GO(X509_STORE_CTX_free, vFp)
+//GO(X509_STORE_CTX_get0_current_crl, 
+//GO(X509_STORE_CTX_get0_current_issuer, 
+GO(X509_STORE_CTX_get0_param, pFp)
+//GO(X509_STORE_CTX_get0_parent_ctx, 
+//GO(X509_STORE_CTX_get0_policy_tree, 
+//GO(X509_STORE_CTX_get0_store, 
+GO(X509_STORE_CTX_get1_chain, pFp)
+GO(X509_STORE_CTX_get1_issuer, iFppp)
+GO(X509_STORE_CTX_get_chain, pFp)
+GO(X509_STORE_CTX_get_current_cert, pFp)
+GO(X509_STORE_CTX_get_error, iFp)
+GO(X509_STORE_CTX_get_error_depth, iFp)
+//GO(X509_STORE_CTX_get_ex_data, 
+//GO(X509_STORE_CTX_get_ex_new_index, 
+//GO(X509_STORE_CTX_get_explicit_policy, 
+GO(X509_STORE_CTX_init, iFpppp)
+GO(X509_STORE_CTX_new, pFv)
+//GO(X509_STORE_CTX_purpose_inherit, 
+//GO(X509_STORE_CTX_set0_crls, 
+//GO(X509_STORE_CTX_set0_param, 
+//GO(X509_STORE_CTX_set_cert, 
+//GO(X509_STORE_CTX_set_chain, 
+GO(X509_STORE_CTX_set_current_cert, vFpp)
+GO(X509_STORE_CTX_set_default, iFp)
+//GO(X509_STORE_CTX_set_depth, 
+GO(X509_STORE_CTX_set_error, vFpi)
+GO(X509_STORE_CTX_set_error_depth, vFpi)
+//GO(X509_STORE_CTX_set_ex_data, 
+GO(X509_STORE_CTX_set_flags, vFpL)
+GO(X509_STORE_CTX_set_purpose, iFpi)
+//GO(X509_STORE_CTX_set_time, 
+//GO(X509_STORE_CTX_set_trust, 
+GOM(X509_STORE_CTX_set_verify_cb, vFEpp)
+//GO(X509_STORE_CTX_trusted_stack, 
+GO(X509_STORE_free, vFp)
+//GO(X509_STORE_get1_certs, 
+//GO(X509_STORE_get1_crls, 
+//GO(X509_STORE_get_by_subject, 
+GO(X509_STORE_load_file, iFpp)
+GO(X509_STORE_load_path, iFpp)
+GO(X509_STORE_load_store, iFpp)
+//GO(X509_STORE_load_locations, iFppp)
+GO(X509_STORE_new, pFv)
+//GO(X509_STORE_set1_param, 
+//GO(X509_STORE_set_default_paths, 
+GO(X509_STORE_set_depth, iFpi)
+GO(X509_STORE_set_flags, iFpL)
+//GO(X509_STORE_set_lookup_crls_cb, 
+GO(X509_STORE_set_purpose, iFpi)
+GO(X509_STORE_set_trust, iFpi)
+//GO(X509_STORE_set_verify_cb, 
+//GO(X509_subject_name_cmp, 
+GO(X509_subject_name_hash, LFp)
+GO(X509_subject_name_hash_old, LFp)
+//GO(X509_supported_extension, 
+//GO(X509_time_adj, 
+//GO(X509_time_adj_ex, 
+//GO(X509_to_X509_REQ, 
+//GO(X509_TRUST_add, 
+//GO(X509_TRUST_cleanup, 
+//GO(X509_trust_clear, 
+//GO(X509_TRUST_get0, 
+//GO(X509_TRUST_get0_name, 
+//GO(X509_TRUST_get_by_id, 
+//GO(X509_TRUST_get_count, 
+//GO(X509_TRUST_get_flags, 
+//GO(X509_TRUST_get_trust, 
+//GO(X509_TRUST_set, 
+//GO(X509_TRUST_set_default, 
+GO(X509V3_add1_i2d, iFpipiL)
+//GO(X509v3_add_ext, 
+//GO(X509V3_add_standard_extensions, 
+//GO(X509V3_add_value, 
+//GO(X509V3_add_value_bool, 
+//GO(X509V3_add_value_bool_nf, 
+//GO(X509V3_add_value_int, 
+//GO(X509V3_add_value_uchar, 
+//GO(X509V3_conf_free, 
+//GO(X509v3_delete_ext, 
+//GO(X509V3_EXT_add, 
+//GO(X509V3_EXT_add_alias, 
+//GO(X509V3_EXT_add_conf, 
+//GO(X509V3_EXT_add_list, 
+//GO(X509V3_EXT_add_nconf, 
+//GO(X509V3_EXT_add_nconf_sk, 
+//GO(X509V3_EXT_cleanup, 
+//GO(X509V3_EXT_conf, 
+//GO(X509V3_EXT_conf_nid, 
+//GO(X509V3_EXT_CRL_add_conf, 
+//GO(X509V3_EXT_CRL_add_nconf, 
+GO(X509V3_EXT_d2i, pFp)
+//GO(X509V3_extensions_print, 
+//GO(X509V3_EXT_free, 
+GO(X509V3_EXT_get, pFp)
+//GO(X509V3_EXT_get_nid, 
+GO(X509V3_EXT_i2d, pFiip)
+//GO(X509V3_EXT_nconf, 
+//GO(X509V3_EXT_nconf_nid, 
+GO(X509V3_EXT_print, iFppLi)
+GO(X509V3_EXT_print_fp, iFppii)
+//GO(X509V3_EXT_REQ_add_conf, 
+//GO(X509V3_EXT_REQ_add_nconf, 
+//GO(X509V3_EXT_val_prn, 
+GO(X509V3_get_d2i, pFpipp)
+//GO(X509v3_get_ext, 
+//GO(X509v3_get_ext_by_critical, 
+//GO(X509v3_get_ext_by_NID, 
+//GO(X509v3_get_ext_by_OBJ, 
+//GO(X509v3_get_ext_count, 
+//GO(X509V3_get_section, 
+//GO(X509V3_get_string, 
+//GO(X509V3_get_value_bool, 
+//GO(X509V3_get_value_int, 
+//GO(X509V3_NAME_from_section, 
+//GO(X509V3_parse_list, 
+//GO(X509V3_section_free, 
+//GO(X509V3_set_conf_lhash, 
+//GO(X509V3_set_ctx, 
+//GO(X509V3_set_nconf, 
+//GO(X509V3_string_free, 
+//GO(X509_VAL_free, 
+//GO(X509_VAL_new, 
+//GO(X509_verify, 
+GO(X509_verify_cert, iFp)
+GO(X509_verify_cert_error_string, pFl)
+//GO(X509_VERIFY_PARAM_add0_policy, 
+//GO(X509_VERIFY_PARAM_add0_table, 
+//GO(X509_VERIFY_PARAM_add1_host, 
+GO(X509_VERIFY_PARAM_clear_flags, iFpL)
+//GO(X509_VERIFY_PARAM_free, 
+//GO(X509_VERIFY_PARAM_get0, 
+//GO(X509_VERIFY_PARAM_get0_name, 
+//GO(X509_VERIFY_PARAM_get0_peername, 
+//GO(X509_VERIFY_PARAM_get_count, 
+//GO(X509_VERIFY_PARAM_get_depth, 
+GO(X509_VERIFY_PARAM_get_flags, LFp)
+//GO(X509_VERIFY_PARAM_inherit, 
+//GO(X509_VERIFY_PARAM_lookup, 
+//GO(X509_VERIFY_PARAM_new, 
+//GO(X509_VERIFY_PARAM_set1, 
+//GO(X509_VERIFY_PARAM_set1_email, 
+//GO(X509_VERIFY_PARAM_set1_host, 
+//GO(X509_VERIFY_PARAM_set1_ip, 
+//GO(X509_VERIFY_PARAM_set1_ip_asc, 
+//GO(X509_VERIFY_PARAM_set1_name, 
+//GO(X509_VERIFY_PARAM_set1_policies, 
+//GO(X509_VERIFY_PARAM_set_depth, 
+//GO(X509_VERIFY_PARAM_set_flags, 
+//GO(X509_VERIFY_PARAM_set_hostflags, 
+//GO(X509_VERIFY_PARAM_set_purpose, 
+GO(X509_VERIFY_PARAM_set_time, vFpl)
+//GO(X509_VERIFY_PARAM_set_trust, 
+//GO(X509_VERIFY_PARAM_table_cleanup, 
+//GO(X9_62_CHARACTERISTIC_TWO_free, 
+//GO(X9_62_CHARACTERISTIC_TWO_new, 
+//GO(X9_62_PENTANOMIAL_free, 
+//GO(X9_62_PENTANOMIAL_new, 
diff --git a/src/wrapped/wrappedcrypto_private.h b/src/wrapped/wrappedcrypto_private.h
index 87d73af2..7c127fc8 100755
--- a/src/wrapped/wrappedcrypto_private.h
+++ b/src/wrapped/wrappedcrypto_private.h
@@ -369,6 +369,7 @@ GO(BIO_s_mem, pFv)
 //GO(BIO_s_socket, 
 GO(BIO_tell, iFp)
 //GO(BIO_test_flags, 
+GO(BIO_up_ref, iFp)
 GO(BIO_vfree, vFp)
 //GO(BIO_vprintf, 
 //GO(BIO_vsnprintf, 
@@ -1191,6 +1192,9 @@ GO(DSA_free, vFp)
 GO(DSA_generate_key, iFp)
 //GO(DSA_generate_parameters, 
 GO(DSA_generate_parameters_ex, iFpipippp)
+GO(DSA_get0_key, iFppp)
+GO(DSA_get_method, pFp)
+GO(DSA_get0_pqg, vFpppp)
 //GO(DSA_get_default_method, 
 //GO(DSA_get_ex_data, 
 //GO(DSA_get_ex_new_index, 
@@ -1198,6 +1202,8 @@ GO(DSA_new, pFv)
 //GO(DSA_new_method, 
 GO(DSA_OpenSSL, pFv)
 //GO(dsa_paramgen_check_g, 
+GO(DSA_set0_key, iFppp)
+GO(DSA_set0_pqg, iFpppp)
 //GO(DSAparams_dup, 
 //GO(DSAparams_print, 
 //GO(DSAparams_print_fp, 
@@ -1807,6 +1813,7 @@ GO(EVP_CIPHER_CTX_init, vFp)
 GO(EVP_CIPHER_CTX_new, pFv)
 //GO(EVP_CIPHER_CTX_nid, 
 //GO(EVP_CIPHER_CTX_rand_key, 
+GO(EVP_CIPHER_CTX_reset, iFp)
 //GO(EVP_CIPHER_CTX_set_app_data, 
 //GO(EVP_CIPHER_CTX_set_flags, 
 GO(EVP_CIPHER_CTX_set_key_length, iFpi)
@@ -2113,8 +2120,10 @@ GO(HMAC_CTX_copy, iFpp)
 GO(HMAC_CTX_init, vFp)
 GO(HMAC_CTX_set_flags, vFpL)
 GO(HMAC_Final, iFppp)
+GO(HMAC_CTX_free, vFp)
 GO(HMAC_Init, iFppip)
 GO(HMAC_Init_ex, iFppipp)
+GO(HMAC_CTX_new, pFv)
 GO(HMAC_Update, iFppi)
 //GO(i2a_ACCESS_DESCRIPTION, 
 //GO(i2a_ASN1_ENUMERATED, 
@@ -2638,6 +2647,7 @@ GO(OPENSSL_sk_value, pFpi)  //1.1+
 //GO(OPENSSL_strcasecmp, 
 //GO(OPENSSL_strncasecmp, 
 //GO(OPENSSL_uni2asc, 
+GO(OpenSSL_version_num, LFv)
 //GO(OPENSSL_wipe_cpu, 
 //GO(_ossl_096_des_random_seed, 
 //GO(_ossl_old_crypt, 
@@ -3028,11 +3038,15 @@ GO(RSA_check_key, iFp)
 GO(RSA_free, vFp)
 //GO(RSA_generate_key, 
 GO(RSA_generate_key_ex, iFpipp)
+GO(RSA_get0_crt_params, vFpppp)
+GO(RSA_get0_factors, vFppp)
+GO(RSA_get0_key, vFpppp)
 //GO(RSA_get_default_method, 
 //GO(RSA_get_ex_data, 
 //GO(RSA_get_ex_new_index, 
 GO(RSA_get_method, pFp)
 //GO(RSA_memory_lock, 
+GO(RSA_meth_get_flags, iFp)
 GO(RSA_new, pFv)
 GO(RSA_new_method, pFp)
 //GO(RSA_null_method, 
@@ -3066,6 +3080,9 @@ GO(RSA_private_encrypt, iFipppi)
 GO(RSA_public_decrypt, iFipppi)
 GO(RSA_public_encrypt, iFipppi)
 //GO(RSAPublicKey_dup, 
+GO(RSA_set0_crt_params, iFpppp)
+GO(RSA_set0_factors, iFppp)
+GO(RSA_set0_key, iFpppp)
 //GO(RSA_set_default_method, 
 //GO(RSA_set_ex_data, 
 GO(RSA_set_method, iFpp)
@@ -3438,7 +3455,7 @@ GO(X509_add1_ext_i2d, iFpipiL)
 //GO(X509_check_akid, 
 //GO(X509_check_ca, 
 //GO(X509_check_email, 
-//GO(X509_check_host, 
+GO(X509_check_host, iFppLup)
 //GO(X509_check_ip, 
 //GO(X509_check_ip_asc, 
 GO(X509_check_issued, iFpp)
@@ -3462,6 +3479,7 @@ GO(X509_CRL_add1_ext_i2d, iFpipiL)
 GO(X509_CRL_free, vFp)
 //GO(X509_CRL_get0_by_cert, 
 //GO(X509_CRL_get0_by_serial, 
+GO(X509_CRL_get0_nextUpdate, pFp)
 //GO(X509_CRL_get_ext, 
 //GO(X509_CRL_get_ext_by_critical, 
 //GO(X509_CRL_get_ext_by_NID, 
@@ -3506,7 +3524,8 @@ GO(X509_EXTENSION_set_object, iFpp)
 //GO(X509_find_by_issuer_and_serial, 
 //GO(X509_find_by_subject, 
 GO(X509_free, vFp)
-//GO(X509_get0_pubkey_bitstr, 
+GO(X509_get0_pubkey_bitstr, pFp)
+GO(X509_get0_tbs_sigalg, pFp)
 //GO(X509_get0_signature, 
 //GO(X509_get1_email, 
 //GO(X509_get1_ocsp, 
@@ -3532,6 +3551,9 @@ GO(X509_get0_serialNumber, pFp)
 //GO(X509_get_signature_nid, 
 GO(X509_get_subject_name, pFp)
 GO(X509_get_X509_PUBKEY, pFp)
+GO(X509_get_version, lFp)
+GO(X509_get0_notAfter, pFp)
+GO(X509_get0_notBefore, pFp)
 GO(X509_get0_pubkey, pFp)
 //GO(X509_gmtime_adj, 
 //GO(X509_http_nbio, 
@@ -3578,6 +3600,7 @@ GO(X509_NAME_ENTRY_get_object, pFp)
 GO(X509_NAME_ENTRY_set_data, iFpipi)
 GO(X509_NAME_ENTRY_set_object, iFpp)
 GO(X509_NAME_free, vFp)
+GO(X509_NAME_get0_der, iFppp)
 GO(X509_NAME_get_entry, pFpi)
 GO(X509_NAME_get_index_by_NID, iFpii)
 GO(X509_NAME_get_index_by_OBJ, iFppi)
@@ -3685,6 +3708,8 @@ GO(X509_REVOKED_get_ext_d2i, pFpipp)
 //GO(X509_REVOKED_new, 
 //GO(X509_REVOKED_set_revocationDate, 
 //GO(X509_REVOKED_set_serialNumber, 
+GO(X509_set1_notAfter, iFpp)
+GO(X509_set1_notBefore, iFpp)
 //GO(X509_set_ex_data, 
 GO(X509_set_issuer_name, iFpp)
 //GO(X509_set_notAfter, 
@@ -3704,13 +3729,17 @@ GO(X509_STORE_add_crl, iFpp)
 GO(X509_STORE_add_lookup, pFpp)
 GO(X509_STORE_CTX_cleanup, vFp)
 GO(X509_STORE_CTX_free, vFp)
+GO(X509_STORE_CTX_get0_cert, pFp)
+GO(X509_STORE_CTX_get0_chain, pFp)
 //GO(X509_STORE_CTX_get0_current_crl, 
 //GO(X509_STORE_CTX_get0_current_issuer, 
 GO(X509_STORE_CTX_get0_param, pFp)
 //GO(X509_STORE_CTX_get0_parent_ctx, 
 //GO(X509_STORE_CTX_get0_policy_tree, 
-//GO(X509_STORE_CTX_get0_store, 
+GO(X509_STORE_CTX_get0_store, pFp)
 GO(X509_STORE_CTX_get1_chain, pFp)
+GO(X509_STORE_get0_param, pFp)
+GO(X509_STORE_CTX_get0_untrusted, pFp)
 GO(X509_STORE_CTX_get1_issuer, iFppp)
 GO(X509_STORE_CTX_get_chain, pFp)
 GO(X509_STORE_CTX_get_current_cert, pFp)
@@ -3773,6 +3802,7 @@ GO(X509_subject_name_hash_old, LFp)
 //GO(X509_TRUST_get_trust, 
 //GO(X509_TRUST_set, 
 //GO(X509_TRUST_set_default, 
+GO(X509_up_ref, iFp)
 GO(X509V3_add1_i2d, iFpipiL)
 //GO(X509v3_add_ext, 
 //GO(X509V3_add_standard_extensions, 
diff --git a/src/wrapped/wrappedlibssl.c b/src/wrapped/wrappedlibssl.c
index 48dae430..14f28ae9 100755
--- a/src/wrapped/wrappedlibssl.c
+++ b/src/wrapped/wrappedlibssl.c
@@ -22,6 +22,8 @@ const char* libsslName = "libssl.so.1.0.0";
 #define ALTNAME "libssl.so.1.0.2"
 #define ALTNAME2 "libssl.so.1.1"
 
+#define ADDED_FUNCTIONS()           \
+
 #include "generated/wrappedlibssltypes.h"
 
 #include "wrappercallback.h"
@@ -261,6 +263,30 @@ static void* find_client_cert_Fct(void* fct)
     return NULL;
 }
 
+// alpn_select
+#define GO(A)   \
+static uintptr_t my_alpn_select_fct_##A = 0;                                            \
+static int my_alpn_select_##A(void* a, void* b, void* c, void* d, uint32_t e, void* f)  \
+{                                                                                       \
+    return (int)RunFunction(my_context, my_alpn_select_fct_##A, 6, a, b, c, d, e, f);   \
+}
+SUPER()
+#undef GO
+static void* find_alpn_select_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my_alpn_select_fct_##A == (uintptr_t)fct) return my_alpn_select_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_alpn_select_fct_##A == 0) {my_alpn_select_fct_##A = (uintptr_t)fct; return my_alpn_select_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL alpn_select callback\n");
+    return NULL;
+}
+
 #undef SUPER
 
 EXPORT void my_SSL_CTX_set_default_passwd_cb(x64emu_t* emu, void* ctx, void* cb)
@@ -329,6 +355,12 @@ EXPORT void my_SSL_CTX_set_client_cert_cb(x64emu_t* emu, void* ctx, void* cb)
     my->SSL_CTX_set_client_cert_cb(ctx, find_client_cert_Fct(cb));
 }
 
+EXPORT void my_SSL_CTX_set_alpn_select_cb(x64emu_t* emu, void* ctx, void* f ,void* arg)
+{
+    (void)emu;
+    my->SSL_CTX_set_alpn_select_cb(ctx, find_alpn_select_Fct(f), arg);
+}
+
 #define CUSTOM_INIT \
     getMy(lib);     \
     setNeededLibs(lib, 2, "libcrypto.so.1.1", "libpthread.so.0");
diff --git a/src/wrapped/wrappedlibssl3.c b/src/wrapped/wrappedlibssl3.c
new file mode 100755
index 00000000..88c758d9
--- /dev/null
+++ b/src/wrapped/wrappedlibssl3.c
@@ -0,0 +1,338 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+
+const char* libssl3Name = "libssl.so.3";
+#define LIBNAME libssl3
+
+#include "generated/wrappedlibssl3types.h"
+
+#include "wrappercallback.h"
+
+// utility functions
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)
+
+// pem_passwd_cb
+#define GO(A)   \
+static uintptr_t my3_pem_passwd_cb_fct_##A = 0;                                                      \
+static int my3_pem_passwd_cb_##A(void* buf, int size, int rwflag, void* password)                    \
+{                                                                                                   \
+    return (int)RunFunction(my_context, my3_pem_passwd_cb_fct_##A, 4, buf, size, rwflag, password);  \
+}
+SUPER()
+#undef GO
+static void* find_pem_passwd_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_pem_passwd_cb_fct_##A == (uintptr_t)fct) return my3_pem_passwd_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_pem_passwd_cb_fct_##A == 0) {my3_pem_passwd_cb_fct_##A = (uintptr_t)fct; return my3_pem_passwd_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL pem_passwd_cb callback\n");
+    return NULL;
+}
+
+// anonymous
+#define GO(A)   \
+static uintptr_t my3_anonymous_fct_##A = 0;                                      \
+static void* my3_anonymous_##A(void* a, void* b, void* c, void *d)               \
+{                                                                               \
+    return (void*)RunFunction(my_context, my3_anonymous_fct_##A, 4, a, b, c, d);   \
+}
+SUPER()
+#undef GO
+static void* find_anonymous_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_anonymous_fct_##A == (uintptr_t)fct) return my3_anonymous_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_anonymous_fct_##A == 0) {my3_anonymous_fct_##A = (uintptr_t)fct; return my3_anonymous_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL anonymous callback\n");
+    return NULL;
+}
+
+
+// verify
+#define GO(A)   \
+static uintptr_t my3_verify_fct_##A = 0;                                 \
+static int my3_verify_##A(int a, void* b)                                \
+{                                                                       \
+    return (int)RunFunction(my_context, my3_verify_fct_##A, 2, a, b);    \
+}
+SUPER()
+#undef GO
+static void* find_verify_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_verify_fct_##A == (uintptr_t)fct) return my3_verify_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_verify_fct_##A == 0) {my3_verify_fct_##A = (uintptr_t)fct; return my3_verify_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL verify callback\n");
+    return NULL;
+}
+static void* reverse_verify_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my3_verify_##A == fct) return (void*)my3_verify_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, iFip, fct, 0, NULL);
+}
+
+// ex_new
+#define GO(A)   \
+static uintptr_t my3_ex_new_fct_##A = 0;                                                        \
+static void my3_ex_new_##A(void* parent, void* ptr, void* ad, int idx, long argl, void* argp)   \
+{                                                                                           \
+    RunFunction(my_context, my3_ex_new_fct_##A, 6, parent, ptr, ad, idx, argl, argp);           \
+}
+SUPER()
+#undef GO
+static void* find_ex_new_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_ex_new_fct_##A == (uintptr_t)fct) return my3_ex_new_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_ex_new_fct_##A == 0) {my3_ex_new_fct_##A = (uintptr_t)fct; return my3_ex_new_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL ex_new callback\n");
+    return NULL;
+}
+
+// ex_free
+#define GO(A)   \
+static uintptr_t my3_ex_free_fct_##A = 0;                                                        \
+static void my3_ex_free_##A(void* parent, void* ptr, void* ad, int idx, long argl, void* argp)   \
+{                                                                                               \
+    RunFunction(my_context, my3_ex_free_fct_##A, 6, parent, ptr, ad, idx, argl, argp);           \
+}
+SUPER()
+#undef GO
+static void* find_ex_free_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_ex_free_fct_##A == (uintptr_t)fct) return my3_ex_free_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_ex_free_fct_##A == 0) {my3_ex_free_fct_##A = (uintptr_t)fct; return my3_ex_free_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL ex_free callback\n");
+    return NULL;
+}
+
+// ex_dup
+#define GO(A)   \
+static uintptr_t my3_ex_dup_fct_##A = 0;                                                             \
+static int my3_ex_dup_##A(void* to, void* from, void* from_d, int idx, long argl, void* argp)        \
+{                                                                                                   \
+    return (int) RunFunction(my_context, my3_ex_dup_fct_##A, 6, to, from, from_d, idx, argl, argp);  \
+}
+SUPER()
+#undef GO
+static void* find_ex_dup_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_ex_dup_fct_##A == (uintptr_t)fct) return my3_ex_dup_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_ex_dup_fct_##A == 0) {my3_ex_dup_fct_##A = (uintptr_t)fct; return my3_ex_dup_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL ex_dup callback\n");
+    return NULL;
+}
+
+// client_cb
+#define GO(A)   \
+static uintptr_t my3_client_cb_fct_##A = 0;                                                                              \
+static uint32_t my3_client_cb_##A(void* ssl, void* hint, void* identity, uint32_t id_len, void* psk, uint32_t psk_len)   \
+{                                                                                                                       \
+    return RunFunction(my_context, my3_client_cb_fct_##A, 6, ssl, hint, identity, id_len, psk, psk_len);                 \
+}
+SUPER()
+#undef GO
+static void* find_client_cb_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_client_cb_fct_##A == (uintptr_t)fct) return my3_client_cb_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_client_cb_fct_##A == 0) {my3_client_cb_fct_##A = (uintptr_t)fct; return my3_client_cb_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL client_cb callback\n");
+    return NULL;
+}
+
+// proto_select
+#define GO(A)   \
+static uintptr_t my3_proto_select_fct_##A = 0;                                                           \
+static int my3_proto_select_##A(void* s, void* out, void* outlen, void* in, uint32_t inlen, void* arg)   \
+{                                                                                                       \
+    return (int)RunFunction(my_context, my3_proto_select_fct_##A, 6, s, out, outlen, in, inlen, arg);    \
+}
+SUPER()
+#undef GO
+static void* find_proto_select_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_proto_select_fct_##A == (uintptr_t)fct) return my3_proto_select_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_proto_select_fct_##A == 0) {my3_proto_select_fct_##A = (uintptr_t)fct; return my3_proto_select_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL proto_select callback\n");
+    return NULL;
+}
+
+// client_cert
+#define GO(A)   \
+static uintptr_t my3_client_cert_fct_##A = 0;                                    \
+static int my3_client_cert_##A(void* a, void* b, void* c)                        \
+{                                                                               \
+    return (int)RunFunction(my_context, my3_client_cert_fct_##A, 3, a, b, c);    \
+}
+SUPER()
+#undef GO
+static void* find_client_cert_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    void* p;
+    if((p = GetNativeFnc((uintptr_t)fct))) return p;
+    #define GO(A) if(my3_client_cert_fct_##A == (uintptr_t)fct) return my3_client_cert_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my3_client_cert_fct_##A == 0) {my3_client_cert_fct_##A = (uintptr_t)fct; return my3_client_cert_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libSSL client_cert callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT void my3_SSL_CTX_set_default_passwd_cb(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_CTX_set_default_passwd_cb(ctx, find_pem_passwd_cb_Fct(cb));
+}
+
+EXPORT long my3_SSL_CTX_callback_ctrl(x64emu_t* emu, void* ctx, int cmd, void* f)
+{
+    (void)emu;
+    return my->SSL_CTX_callback_ctrl(ctx, cmd, find_anonymous_Fct(f));
+}
+
+EXPORT long my3_SSL_callback_ctrl(x64emu_t* emu, void* ctx, int cmd, void* f)
+{
+    (void)emu;
+    return my->SSL_callback_ctrl(ctx, cmd, find_anonymous_Fct(f));
+}
+
+EXPORT void my3_SSL_CTX_set_verify(x64emu_t* emu, void* ctx, int mode, void* f)
+{
+    (void)emu;
+    my->SSL_CTX_set_verify(ctx, mode, find_verify_Fct(f));
+}
+
+EXPORT void my3_SSL_set_verify(x64emu_t* emu, void* ctx, int mode, void* f)
+{
+    (void)emu;
+    my->SSL_set_verify(ctx, mode, find_verify_Fct(f));
+}
+
+EXPORT void my3_SSL_get_ex_new_index(x64emu_t* emu, long argl, void* argp, void* new_func, void* dup_func, void* free_func)
+{
+    (void)emu;
+    my->SSL_get_ex_new_index(argl, argp, find_ex_new_Fct(new_func), find_ex_dup_Fct(dup_func), find_ex_free_Fct(free_func));
+}
+
+EXPORT void my3_SSL_set_psk_client_callback(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_set_psk_client_callback(ctx, find_client_cb_Fct(cb));
+}
+
+EXPORT void my3_SSL_CTX_set_next_proto_select_cb(x64emu_t* emu, void* ctx, void* cb, void* arg)
+{
+    (void)emu;
+    my->SSL_CTX_set_next_proto_select_cb(ctx, find_proto_select_Fct(cb), arg);
+}
+
+EXPORT void* my3_SSL_get_verify_callback(x64emu_t* emu, void* ctx)
+{
+    (void)emu;
+    return reverse_verify_Fct(my->SSL_get_verify_callback(ctx));
+}
+
+EXPORT void my3_SSL_CTX_set_cert_verify_callback(x64emu_t* emu, void* ctx, void* cb, void* arg)
+{
+    (void)emu;
+    my->SSL_CTX_set_cert_verify_callback(ctx, find_verify_Fct(cb), arg);
+}
+
+EXPORT void my3_SSL_CTX_set_client_cert_cb(x64emu_t* emu, void* ctx, void* cb)
+{
+    (void)emu;
+    my->SSL_CTX_set_client_cert_cb(ctx, find_client_cert_Fct(cb));
+}
+
+#define CUSTOM_INIT \
+    SETALT(my3_);   \
+    getMy(lib);     \
+    setNeededLibs(lib, 2, "libcrypto.so.3", "libpthread.so.0");
+
+#define CUSTOM_FINI \
+    freeMy();
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibssl3_private.h b/src/wrapped/wrappedlibssl3_private.h
new file mode 100755
index 00000000..755854d7
--- /dev/null
+++ b/src/wrapped/wrappedlibssl3_private.h
@@ -0,0 +1,598 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+//GO(BIO_f_ssl, 
+//GO(BIO_new_buffer_ssl_connect, 
+//GO(BIO_new_ssl, 
+//GO(BIO_new_ssl_connect, 
+//GO(BIO_ssl_copy_session_id, 
+//GO(BIO_ssl_shutdown, 
+//GO(custom_ext_add, 
+//GO(custom_ext_init, 
+//GO(custom_ext_parse, 
+//GO(custom_exts_copy, 
+//GO(custom_exts_free, 
+GO(d2i_SSL_SESSION, pFppl)
+//GO(do_dtls1_write, 
+//GO(dtls1_accept, 
+//GO(dtls1_buffer_message, 
+//GO(dtls1_check_timeout_num, 
+//GO(dtls1_clear, 
+//GO(dtls1_clear_received_buffer, 
+//GO(dtls1_clear_sent_buffer, 
+//GO(dtls1_connect, 
+//GO(dtls1_ctrl, 
+//GO(dtls1_default_timeout, 
+//GO(dtls1_dispatch_alert, 
+//GO(dtls1_double_timeout, 
+//GO(dtls1_do_write, 
+//GO(dtls1_free, 
+//GO(dtls1_get_ccs_header, 
+//GO(dtls1_get_cipher, 
+//GO(dtls1_get_message, 
+//GO(dtls1_get_message_header, 
+//GO(dtls1_get_queue_priority, 
+//GO(dtls1_get_record, 
+//GO(dtls1_get_timeout, 
+//GO(dtls1_handle_timeout, 
+//GO(dtls1_heartbeat, 
+//GO(dtls1_hm_fragment_free, 
+//GO(dtls1_is_timer_expired, 
+//GO(dtls1_link_min_mtu, 
+//GO(dtls1_listen, 
+//GO(dtls1_min_mtu, 
+//GO(dtls1_new, 
+//GO(dtls1_process_heartbeat, 
+//GO(dtls1_read_bytes, 
+//GO(dtls1_read_failed, 
+//GO(dtls1_reset_seq_numbers, 
+//GO(dtls1_retransmit_buffered_messages, 
+//GO(dtls1_retransmit_message, 
+//GO(dtls1_send_change_cipher_spec, 
+//GO(dtls1_set_message_header, 
+//GO(dtls1_shutdown, 
+//GO(dtls1_start_timer, 
+//GO(dtls1_stop_timer, 
+//GO(dtls1_write_app_data_bytes, 
+//GO(dtls1_write_bytes, 
+//GO(DTLS_client_method, 
+GO(DTLS_method, pFv)
+GO(DTLS_server_method, pFv)
+GO(DTLSv1_2_client_method, pFv)
+GO(DTLSv1_2_method, pFv)
+GO(DTLSv1_2_server_method, pFv)
+GO(DTLSv1_client_method, pFv)
+GO(DTLSv1_method, pFv)
+GO(DTLSv1_server_method, pFv)
+//GO(ERR_load_SSL_strings, 
+//GO(_fini, 
+GO(i2d_SSL_SESSION, iFpp)
+//GO(_init, 
+//GO(n_ssl3_mac, 
+//GO(OBJ_bsearch_ssl_cipher_id, 
+GO(OPENSSL_init_ssl, iFUp)
+//GO(PEM_read_bio_SSL_SESSION, 
+//GO(PEM_read_SSL_SESSION, 
+//GO(PEM_write_bio_SSL_SESSION, 
+//GO(PEM_write_SSL_SESSION, 
+//GO(SRP_Calc_A_param, 
+//GO(SRP_generate_client_master_secret, 
+//GO(SRP_generate_server_master_secret, 
+//GO(srp_verify_server_param, 
+//GO(ssl23_accept, 
+//GO(ssl23_connect, 
+//GO(ssl23_default_timeout, 
+//GO(ssl23_get_cipher, 
+//GO(ssl23_get_cipher_by_char, 
+//GO(ssl23_get_client_hello, 
+//GO(ssl23_num_ciphers, 
+//GO(ssl23_peek, 
+//GO(ssl23_put_cipher_by_char, 
+//GO(ssl23_read, 
+//GO(ssl23_read_bytes, 
+//GO(ssl23_write, 
+//GO(ssl23_write_bytes, 
+//GO(ssl3_accept, 
+//GO(ssl3_alert_code, 
+//GO(ssl3_callback_ctrl, 
+//GO(ssl3_cbc_copy_mac, 
+//GO(ssl3_cbc_digest_record, 
+//GO(ssl3_cbc_record_digest_supported, 
+//GO(ssl3_cbc_remove_padding, 
+//GO(ssl3_cert_verify_mac, 
+//GO(ssl3_change_cipher_state, 
+//GO(ssl3_check_cert_and_algorithm, 
+//GO(ssl3_choose_cipher, 
+//GO(ssl3_cleanup_key_block, 
+//GO(ssl3_clear, 
+//GO(ssl3_client_hello, 
+//GO(ssl3_comp_find, 
+//GO(ssl3_connect, 
+//GO(ssl3_ctrl, 
+//GO(ssl3_ctx_callback_ctrl, 
+//GO(ssl3_ctx_ctrl, 
+//GO(ssl3_default_timeout, 
+//GO(ssl3_digest_cached_records, 
+//GO(ssl3_dispatch_alert, 
+//GO(ssl3_do_change_cipher_spec, 
+//GO(ssl3_do_compress, 
+//GO(ssl3_do_uncompress, 
+//GO(ssl3_do_write, 
+//GO(ssl3_enc, 
+//GO(ssl3_final_finish_mac, 
+//GO(ssl3_finish_mac, 
+//GO(ssl3_free, 
+//GO(ssl3_free_digest_list, 
+//GO(ssl3_generate_master_secret, 
+//GO(ssl3_get_certificate_request, 
+//GO(ssl3_get_cert_status, 
+//GO(ssl3_get_cert_verify, 
+//GO(ssl3_get_cipher, 
+//GO(ssl3_get_cipher_by_char, 
+//GO(ssl3_get_client_certificate, 
+//GO(ssl3_get_client_hello, 
+//GO(ssl3_get_client_key_exchange, 
+//GO(ssl3_get_finished, 
+//GO(ssl3_get_key_exchange, 
+//GO(ssl3_get_message, 
+//GO(ssl3_get_new_session_ticket, 
+//GO(ssl3_get_next_proto, 
+//GO(ssl3_get_req_cert_type, 
+//GO(ssl3_get_server_certificate, 
+//GO(ssl3_get_server_done, 
+//GO(ssl3_get_server_hello, 
+//GO(ssl3_handshake_write, 
+//GO(ssl3_init_finished_mac, 
+//GO(ssl3_new, 
+//GO(ssl3_num_ciphers, 
+//GO(ssl3_output_cert_chain, 
+//GO(ssl3_peek, 
+//GO(ssl3_pending, 
+//GO(ssl3_put_cipher_by_char, 
+//GO(ssl3_read, 
+//GO(ssl3_read_bytes, 
+//GO(ssl3_read_n, 
+//GO(ssl3_record_sequence_update, 
+//GO(ssl3_release_read_buffer, 
+//GO(ssl3_release_write_buffer, 
+//GO(ssl3_renegotiate, 
+//GO(ssl3_renegotiate_check, 
+//GO(ssl3_send_alert, 
+//GO(ssl3_send_certificate_request, 
+//GO(ssl3_send_cert_status, 
+//GO(ssl3_send_change_cipher_spec, 
+//GO(ssl3_send_client_certificate, 
+//GO(ssl3_send_client_key_exchange, 
+//GO(ssl3_send_client_verify, 
+//GO(ssl3_send_finished, 
+//GO(ssl3_send_hello_request, 
+//GO(ssl3_send_newsession_ticket, 
+//GO(ssl3_send_next_proto, 
+//GO(ssl3_send_server_certificate, 
+//GO(ssl3_send_server_done, 
+//GO(ssl3_send_server_hello, 
+//GO(ssl3_send_server_key_exchange, 
+//GO(ssl3_set_handshake_header, 
+//GO(ssl3_setup_buffers, 
+//GO(ssl3_setup_key_block, 
+//GO(ssl3_setup_read_buffer, 
+//GO(ssl3_setup_write_buffer, 
+//GO(ssl3_shutdown, 
+//GO(ssl3_write, 
+//GO(ssl3_write_bytes, 
+//GO(ssl3_write_pending, 
+GO(SSL_accept, iFp)
+//GO(ssl_add_cert_chain, 
+GO(SSL_add_client_CA, iFpp)
+//GO(ssl_add_clienthello_renegotiate_ext, 
+//GO(ssl_add_clienthello_tlsext, 
+//GO(ssl_add_clienthello_use_srtp_ext, 
+//GO(SSL_add_dir_cert_subjects_to_stack, 
+//GO(SSL_add_file_cert_subjects_to_stack, 
+//GO(ssl_add_serverhello_renegotiate_ext, 
+//GO(ssl_add_serverhello_tlsext, 
+//GO(ssl_add_serverhello_use_srtp_ext, 
+//GO(SSL_alert_desc_string, 
+//GO(SSL_alert_desc_string_long, 
+//GO(SSL_alert_type_string, 
+//GO(SSL_alert_type_string_long, 
+//GO(ssl_bad_method, 
+//GO(ssl_build_cert_chain, 
+//GO(ssl_bytes_to_cipher_list, 
+//GO(SSL_cache_hit, 
+GOM(SSL_callback_ctrl, lFEpip)
+//GO(ssl_cert_add0_chain_cert, 
+//GO(ssl_cert_add1_chain_cert, 
+//GO(ssl_cert_clear_certs, 
+//GO(ssl_cert_dup, 
+//GO(ssl_cert_free, 
+//GO(ssl_cert_inst, 
+//GO(ssl_cert_new, 
+//GO(SSL_certs_clear, 
+//GO(ssl_cert_select_current, 
+//GO(ssl_cert_set0_chain, 
+//GO(ssl_cert_set1_chain, 
+//GO(ssl_cert_set_cert_cb, 
+//GO(ssl_cert_set_cert_store, 
+//GO(ssl_cert_set_current, 
+//GO(ssl_cert_set_default_md, 
+//GO(ssl_cert_type, 
+//GO(SSL_check_chain, 
+//GO(ssl_check_clienthello_tlsext_late, 
+GO(SSL_check_private_key, iFp)
+//GO(ssl_check_serverhello_tlsext, 
+//GO(ssl_check_srvr_ecc_cert_and_alg, 
+GO(SSL_CIPHER_description, pFppi)
+//GO(SSL_CIPHER_find, 
+GO(SSL_CIPHER_get_bits, iFpp)
+//GO(ssl_cipher_get_cert_index, 
+//GO(ssl_cipher_get_evp, 
+GO(SSL_CIPHER_get_id, uFp)
+GO(SSL_CIPHER_get_name, pFp)
+GO(SSL_CIPHER_get_version, pFp)
+//GO(ssl_cipher_id_cmp, 
+//GO(ssl_cipher_list_to_bytes, 
+//GO(ssl_cipher_ptr_id_cmp, 
+GO(SSL_clear, iFp)
+//GO(ssl_clear_bad_session, 
+//GO(ssl_clear_cipher_ctx, 
+//GO(ssl_clear_hash_ctx, 
+//GO(SSL_COMP_add_compression_method, 
+//GO(SSL_COMP_free_compression_methods, 
+//GO(SSL_COMP_get_compression_methods, 
+//GO(SSL_COMP_get_name, 
+//GO(SSL_COMP_set0_compression_methods, 
+//GO(SSL_CONF_cmd, 
+//GO(SSL_CONF_cmd_argv, 
+//GO(SSL_CONF_cmd_value_type, 
+//GO(SSL_CONF_CTX_clear_flags, 
+//GO(SSL_CONF_CTX_finish, 
+//GO(SSL_CONF_CTX_free, 
+//GO(SSL_CONF_CTX_new, 
+//GO(SSL_CONF_CTX_set1_prefix, 
+//GO(SSL_CONF_CTX_set_flags, 
+//GO(SSL_CONF_CTX_set_ssl, 
+//GO(SSL_CONF_CTX_set_ssl_ctx, 
+GO(SSL_connect, iFp)
+//GO(SSL_copy_session_id, 
+//GO(ssl_create_cipher_list, 
+GO(SSL_ctrl, lFpilp)
+GO(SSL_CTX_add_client_CA, iFpp)
+//GO(SSL_CTX_add_client_custom_ext, 
+//GO(SSL_CTX_add_server_custom_ext, 
+//GO(SSL_CTX_add_session, 
+GOM(SSL_CTX_callback_ctrl, lFEpip)
+GO(SSL_CTX_check_private_key, iFp)
+GO(SSL_CTX_ctrl, lFpilp)
+//GO(SSL_CTX_flush_sessions, 
+GO(SSL_CTX_free, vFp)
+//GO(SSL_CTX_get0_certificate, 
+//GO(SSL_CTX_get0_param, 
+//GO(SSL_CTX_get0_privatekey, 
+GO(SSL_CTX_get_cert_store, pFp)
+//GO(SSL_CTX_get_client_CA_list, 
+//GO(SSL_CTX_get_client_cert_cb, 
+GO(SSL_CTX_get_default_passwd_cb_userdata, pFp)
+GO(SSL_CTX_get_ex_data, pFpi)
+//GO(SSL_CTX_get_ex_new_index, 
+//GO(SSL_CTX_get_info_callback, 
+//GO(SSL_CTX_get_quiet_shutdown, 
+//GO(SSL_CTX_get_ssl_method, 
+//GO(SSL_CTX_get_timeout, 
+//GO(SSL_CTX_get_verify_callback, 
+//GO(SSL_CTX_get_verify_depth, 
+//GO(SSL_CTX_get_verify_mode, 
+GO(SSL_CTX_load_verify_locations, iFppp)
+GO(SSL_CTX_new, pFp)
+//GO(SSL_CTX_remove_session, 
+//GO(SSL_CTX_sess_get_get_cb, 
+//GO(SSL_CTX_sess_get_new_cb, 
+//GO(SSL_CTX_sess_get_remove_cb, 
+//GO(SSL_CTX_sessions, 
+//GO(SSL_CTX_sess_set_get_cb, 
+//GO(SSL_CTX_sess_set_new_cb, 
+//GO(SSL_CTX_sess_set_remove_cb, 
+//GO(SSL_CTX_set1_param, 
+//GO(SSL_CTX_set_alpn_protos, 
+//GO(SSL_CTX_set_alpn_select_cb, 
+//GO(SSL_CTX_set_cert_cb, 
+GO(SSL_CTX_set_cert_store, vFpp)
+GOM(SSL_CTX_set_cert_verify_callback, vFEppp)
+GO(SSL_CTX_set_cipher_list, iFpp)
+GO(SSL_CTX_set_client_CA_list, vFpp)
+GOM(SSL_CTX_set_client_cert_cb, vFEpp)
+//GO(SSL_CTX_set_client_cert_engine, 
+//GO(SSL_CTX_set_cookie_generate_cb, 
+//GO(SSL_CTX_set_cookie_verify_cb, 
+GOM(SSL_CTX_set_default_passwd_cb, vFEpp)
+GO(SSL_CTX_set_default_passwd_cb_userdata, vFpp)
+GO(SSL_CTX_set_default_verify_paths, iFp)
+//GO(SSL_CTX_set_ex_data, 
+//GO(SSL_CTX_set_generate_session_id, 
+//GO(SSL_CTX_set_info_callback, 
+//GO(SSL_CTX_set_msg_callback, 
+//GO(SSL_CTX_set_next_protos_advertised_cb, 
+GOM(SSL_CTX_set_next_proto_select_cb, vFEppp)
+GO(SSL_CTX_set_options, lFpl)
+//GO(SSL_CTX_set_psk_client_callback, 
+//GO(SSL_CTX_set_psk_server_callback, 
+//GO(SSL_CTX_set_purpose, 
+GO(SSL_CTX_set_quiet_shutdown, vFpi)
+//GO(SSL_CTX_set_session_id_context, 
+//GO(SSL_CTX_set_srp_cb_arg, 
+//GO(SSL_CTX_set_srp_client_pwd_callback, 
+//GO(SSL_CTX_set_srp_password, 
+//GO(SSL_CTX_set_srp_strength, 
+//GO(SSL_CTX_set_srp_username, 
+//GO(SSL_CTX_set_srp_username_callback, 
+//GO(SSL_CTX_set_srp_verify_param_callback, 
+//GO(SSL_CTX_set_ssl_version, 
+//GO(SSL_CTX_set_timeout, 
+//GO(SSL_CTX_set_tlsext_use_srtp, 
+//GO(SSL_CTX_set_tmp_dh_callback, 
+//GO(SSL_CTX_set_tmp_ecdh_callback, 
+//GO(SSL_CTX_set_tmp_rsa_callback, 
+//GO(SSL_CTX_set_trust, 
+GOM(SSL_CTX_set_verify, vFEpip)
+GO(SSL_CTX_set_verify_depth, vFpi)
+//GO(SSL_CTX_SRP_CTX_free, 
+//GO(SSL_CTX_SRP_CTX_init, 
+GO(SSL_CTX_use_certificate, iFpp)
+GO(SSL_CTX_use_certificate_ASN1, iFpip)
+GO(SSL_CTX_use_certificate_chain_file, iFpp)
+GO(SSL_CTX_use_certificate_file, iFppi)
+GO(SSL_CTX_use_PrivateKey, iFpp)
+GO(SSL_CTX_use_PrivateKey_ASN1, iFuppi)
+GO(SSL_CTX_use_PrivateKey_file, iFppi)
+//GO(SSL_CTX_use_psk_identity_hint, 
+GO(SSL_CTX_use_RSAPrivateKey, iFpp)
+GO(SSL_CTX_use_RSAPrivateKey_ASN1, iFppl)
+GO(SSL_CTX_use_RSAPrivateKey_file, iFppi)
+//GO(SSL_CTX_use_serverinfo, 
+//GO(SSL_CTX_use_serverinfo_file, 
+//GO(ssl_do_client_cert_cb, 
+GO(SSL_do_handshake, iFp)
+//GO(SSL_dup, 
+//GO(SSL_dup_CA_list, 
+//GO(SSL_export_keying_material, 
+//GO(SSL_extension_supported, 
+//GO(ssl_fill_hello_random, 
+GO(SSL_free, vFp)
+//GO(ssl_free_wbio_buffer, 
+//GO(SSL_get0_alpn_selected, 
+GO(SSL_get0_next_proto_negotiated, vFppp)
+//GO(SSL_get0_param, 
+GO(SSL_get0_session, pFp)
+GO(SSL_get1_session, pFp)
+//GO(ssl_get_algorithm2, 
+GO(SSL_get_certificate, pFp)
+//GO(ssl_get_cipher_by_char, 
+//GO(SSL_get_cipher_list, 
+GO(SSL_get_ciphers, pFp)
+//GO(ssl_get_ciphers_by_id, 
+GO(SSL_get_client_CA_list, pFp)
+GO(SSL_get_current_cipher, pFp)
+//GO(SSL_get_current_compression, 
+//GO(SSL_get_current_expansion, 
+//GO(SSL_get_default_timeout, 
+GO(SSL_get_error, iFpi)
+GO(SSL_get_ex_data, pFpi)
+GO(SSL_get_ex_data_X509_STORE_CTX_idx, iFv)
+GOM(SSL_get_ex_new_index, iFElpppp)
+//GO(SSL_get_fd, 
+GO(SSL_get_finished, LFppL)
+//GO(ssl_get_handshake_digest, 
+//GO(SSL_get_info_callback, 
+//GO(ssl_get_new_session, 
+GO(SSL_get_peer_cert_chain, pFp)
+GO(SSL_get_peer_certificate, pFp)
+GO(SSL_get_peer_finished, LFppL)
+//GO(ssl_get_prev_session, 
+GO(SSL_get_privatekey, pFp)
+//GO(SSL_get_psk_identity, 
+//GO(SSL_get_psk_identity_hint, 
+//GO(SSL_get_quiet_shutdown, 
+//GO(SSL_get_rbio, 
+//GO(SSL_get_read_ahead, 
+//GO(SSL_get_rfd, 
+//GO(SSL_get_selected_srtp_profile, 
+//GO(ssl_get_server_cert_serverinfo, 
+//GO(SSL_get_servername, 
+//GO(SSL_get_servername_type, 
+//GO(ssl_get_server_send_pkey, 
+GO(SSL_get_session, pFp)
+//GO(SSL_get_shared_ciphers, 
+//GO(SSL_get_shared_sigalgs, 
+GO(SSL_get_shutdown, iFp)
+//GO(SSL_get_sigalgs, 
+//GO(ssl_get_sign_pkey, 
+//GO(SSL_get_srp_g, 
+//GO(SSL_get_srp_N, 
+//GO(SSL_get_srp_userinfo, 
+//GO(SSL_get_srp_username, 
+//GO(SSL_get_srtp_profiles, 
+GO(SSL_get_SSL_CTX, pFp)
+//GO(SSL_get_ssl_method, 
+GOM(SSL_get_verify_callback, pFEp)
+GO(SSL_get_verify_depth, iFp)
+GO(SSL_get_verify_mode, iFp)
+GO(SSL_get_verify_result, iFp)
+GO(SSL_get_version, pFp)
+//GO(SSL_get_wbio, 
+//GO(SSL_get_wfd, 
+//GO(SSL_has_matching_session_id, 
+//GO(ssl_init_wbio_buffer, 
+GO(SSL_is_server, iFp)
+GO(SSL_library_init, iFv)
+//GO(ssl_load_ciphers, 
+//GO(SSL_load_client_CA_file, 
+GO(SSL_load_error_strings, vFv)
+GO(SSL_new, pFp)
+//GO(ssl_ok, 
+//GO(ssl_parse_clienthello_renegotiate_ext, 
+//GO(ssl_parse_clienthello_tlsext, 
+//GO(ssl_parse_clienthello_use_srtp_ext, 
+//GO(ssl_parse_serverhello_renegotiate_ext, 
+//GO(ssl_parse_serverhello_tlsext, 
+//GO(ssl_parse_serverhello_use_srtp_ext, 
+GO(SSL_peek, iFppi)
+GO(SSL_pending, iFp)
+//GO(ssl_prepare_clienthello_tlsext, 
+//GO(ssl_prepare_serverhello_tlsext, 
+GO(SSL_read, iFppi)
+//GO(SSL_renegotiate, 
+//GO(SSL_renegotiate_abbreviated, 
+GO(SSL_renegotiate_pending, iFp)
+//GO(ssl_replace_hash, 
+//GO(SSL_rstate_string, 
+//GO(SSL_rstate_string_long, 
+GO(SSL_select_next_proto, iFpppupu)
+//GO(ssl_sess_cert_free, 
+//GO(ssl_sess_cert_new, 
+GO(ssl_session_dup, pFp)
+GO(SSL_SESSION_dup, pFp)
+GO(SSL_SESSION_free, vFp)
+//GO(SSL_SESSION_get0_peer, 
+//GO(SSL_SESSION_get_compress_id, 
+//GO(SSL_SESSION_get_ex_data, 
+//GO(SSL_SESSION_get_ex_new_index, 
+//GO(SSL_SESSION_get_id, 
+//GO(SSL_SESSION_get_time, 
+//GO(SSL_SESSION_get_timeout, 
+GO(SSL_SESSION_new, pFv)
+//GO(SSL_SESSION_print, 
+//GO(SSL_SESSION_print_fp, 
+//GO(SSL_SESSION_set1_id_context, 
+//GO(SSL_SESSION_set_ex_data, 
+//GO(SSL_SESSION_set_time, 
+//GO(SSL_SESSION_set_timeout, 
+GO(SSL_SESSION_up_ref, iFp)
+//GO(SSL_set1_param, 
+GO(SSL_set_accept_state, vFp)
+//GO(SSL_set_alpn_protos, 
+GO(SSL_set_bio, vFppp)
+//GO(SSL_set_cert_cb, 
+//GO(ssl_set_cert_masks, 
+GO(SSL_set_cipher_list, iFpp)
+GO(SSL_set_client_CA_list, vFpp)
+//GO(ssl_set_client_disabled, 
+GO(SSL_set_connect_state, vFp)
+//GO(SSL_set_debug, 
+GO(SSL_set_ex_data, iFpip)
+GO(SSL_set_fd, iFpi)
+//GO(SSL_set_generate_session_id, 
+//GO(SSL_set_info_callback, 
+//GO(SSL_set_msg_callback, 
+//GO(ssl_set_peer_cert_type, 
+GOM(SSL_set_psk_client_callback, vFEpp)
+//GO(SSL_set_psk_server_callback, 
+//GO(SSL_set_purpose, 
+GO(SSL_set_quiet_shutdown, vFpi)
+//GO(SSL_set_read_ahead, 
+GO(SSL_set_rfd, iFpi)
+GO(SSL_set_session, iFpp)
+//GO(SSL_set_session_id_context, 
+//GO(SSL_set_session_secret_cb, 
+//GO(SSL_set_session_ticket_ext, 
+//GO(SSL_set_session_ticket_ext_cb, 
+GO(SSL_set_shutdown, iFp)
+//GO(SSL_set_srp_server_param, 
+//GO(SSL_set_srp_server_param_pw, 
+//GO(SSL_set_SSL_CTX, 
+//GO(SSL_set_ssl_method, 
+//GO(SSL_set_state, 
+//GO(SSL_set_tlsext_use_srtp, 
+//GO(SSL_set_tmp_dh_callback, 
+//GO(SSL_set_tmp_ecdh_callback, 
+//GO(SSL_set_tmp_rsa_callback, 
+//GO(SSL_set_trust, 
+GOM(SSL_set_verify, vFEpip)
+GO(SSL_set_verify_depth, vFpi)
+//GO(SSL_set_verify_result, 
+GO(SSL_set_wfd, iFpi)
+GO(SSL_shutdown, iFp)
+//GO(SSL_SRP_CTX_free, 
+//GO(SSL_SRP_CTX_init, 
+//GO(SSL_srp_server_param_with_username, 
+GO(SSL_state, iFp)
+//GO(SSL_state_string, 
+//GO(SSL_state_string_long, 
+//GO(ssl_undefined_const_function, 
+//GO(ssl_undefined_function, 
+//GO(ssl_undefined_void_function, 
+//GO(ssl_update_cache, 
+GO(SSL_use_certificate, iFpp)
+GO(SSL_use_certificate_ASN1, iFppi)
+GO(SSL_use_certificate_file, iFppi)
+GO(SSL_use_PrivateKey, iFpp)
+GO(SSL_use_PrivateKey_ASN1, iFppl)
+GO(SSL_use_PrivateKey_file, iFppi)
+//GO(SSL_use_psk_identity_hint, 
+GO(SSL_use_RSAPrivateKey, iFpp)
+GO(SSL_use_RSAPrivateKey_ASN1, iFppl)
+GO(SSL_use_RSAPrivateKey_file, iFppi)
+GO(SSLv23_client_method, pFv)
+GO(SSLv23_method, pFv)
+GO(SSLv23_server_method, pFv)
+GO(SSLv2_client_method, pFv)
+GO(SSLv2_method, pFv)
+GO(SSLv2_server_method, pFv)
+GO(SSLv3_client_method, pFv)
+GO(SSLv3_method, pFv)
+GO(SSLv3_server_method, pFv)
+//GO(ssl_verify_alarm_type, 
+//GO(ssl_verify_cert_chain, 
+GO(SSL_version, iFp)
+//GO(SSL_want, 
+GO(SSL_write, iFppi)
+//GO(tls12_check_peer_sigalg, 
+//GO(tls12_get_hash, 
+//GO(tls12_get_psigalgs, 
+//GO(tls12_get_sigandhash, 
+//GO(tls12_get_sigid, 
+//GO(tls1_alert_code, 
+//GO(tls1_cbc_remove_padding, 
+//GO(tls1_cert_verify_mac, 
+//GO(tls1_change_cipher_state, 
+//GO(tls1_check_chain, 
+//GO(tls1_check_curve, 
+//GO(tls1_check_ec_tmp_key, 
+//GO(tls1_clear, 
+//GO(tls1_default_timeout, 
+//GO(tls1_ec_curve_id2nid, 
+//GO(tls1_ec_nid2curve_id, 
+//GO(tls1_enc, 
+//GO(tls1_export_keying_material, 
+//GO(tls1_final_finish_mac, 
+//GO(tls1_free, 
+//GO(tls1_generate_master_secret, 
+//GO(tls1_heartbeat, 
+//GO(tls1_mac, 
+//GO(tls1_new, 
+//GO(tls1_process_heartbeat, 
+//GO(tls1_process_sigalgs, 
+//GO(tls1_process_ticket, 
+//GO(tls1_save_sigalgs, 
+//GO(tls1_set_cert_validity, 
+//GO(tls1_set_curves, 
+//GO(tls1_set_curves_list, 
+//GO(tls1_set_server_sigalgs, 
+//GO(tls1_set_sigalgs, 
+//GO(tls1_set_sigalgs_list, 
+//GO(tls1_setup_key_block, 
+//GO(tls1_shared_curve, 
+GO(TLS_method, pFv)
+GO(TLS_server_method, pFv)
+GO(TLS_client_method, pFv)
+GO(TLSv1_1_client_method, pFv)
+GO(TLSv1_1_method, pFv)
+GO(TLSv1_1_server_method, pFv)
+GO(TLSv1_2_client_method, pFv)
+GO(TLSv1_2_method, pFv)
+GO(TLSv1_2_server_method, pFv)
+GO(TLSv1_client_method, pFv)
+GO(TLSv1_method, pFv)
+GO(verify_callback, iFip)
+
+GO(TLSv1_server_method, pFv)    // not always present in lib
diff --git a/src/wrapped/wrappedlibssl_private.h b/src/wrapped/wrappedlibssl_private.h
index 755854d7..3595fea9 100755
--- a/src/wrapped/wrappedlibssl_private.h
+++ b/src/wrapped/wrappedlibssl_private.h
@@ -224,7 +224,7 @@ GO(SSL_check_private_key, iFp)
 //GO(ssl_check_serverhello_tlsext, 
 //GO(ssl_check_srvr_ecc_cert_and_alg, 
 GO(SSL_CIPHER_description, pFppi)
-//GO(SSL_CIPHER_find, 
+GO(SSL_CIPHER_find, pFpp)
 GO(SSL_CIPHER_get_bits, iFpp)
 //GO(ssl_cipher_get_cert_index, 
 //GO(ssl_cipher_get_evp, 
@@ -264,6 +264,7 @@ GO(SSL_CTX_add_client_CA, iFpp)
 //GO(SSL_CTX_add_session, 
 GOM(SSL_CTX_callback_ctrl, lFEpip)
 GO(SSL_CTX_check_private_key, iFp)
+GO(SSL_CTX_config, iFpp)
 GO(SSL_CTX_ctrl, lFpilp)
 //GO(SSL_CTX_flush_sessions, 
 GO(SSL_CTX_free, vFp)
@@ -294,12 +295,13 @@ GO(SSL_CTX_new, pFp)
 //GO(SSL_CTX_sess_set_new_cb, 
 //GO(SSL_CTX_sess_set_remove_cb, 
 //GO(SSL_CTX_set1_param, 
-//GO(SSL_CTX_set_alpn_protos, 
-//GO(SSL_CTX_set_alpn_select_cb, 
+GO(SSL_CTX_set_alpn_protos, iFppu)
+GOM(SSL_CTX_set_alpn_select_cb, vFEppp)
 //GO(SSL_CTX_set_cert_cb, 
 GO(SSL_CTX_set_cert_store, vFpp)
 GOM(SSL_CTX_set_cert_verify_callback, vFEppp)
 GO(SSL_CTX_set_cipher_list, iFpp)
+GO(SSL_CTX_set_ciphersuites, iFpp)
 GO(SSL_CTX_set_client_CA_list, vFpp)
 GOM(SSL_CTX_set_client_cert_cb, vFEpp)
 //GO(SSL_CTX_set_client_cert_engine, 
@@ -319,6 +321,7 @@ GO(SSL_CTX_set_options, lFpl)
 //GO(SSL_CTX_set_psk_server_callback, 
 //GO(SSL_CTX_set_purpose, 
 GO(SSL_CTX_set_quiet_shutdown, vFpi)
+GO(SSL_CTX_set_security_level, vFpi)
 //GO(SSL_CTX_set_session_id_context, 
 //GO(SSL_CTX_set_srp_cb_arg, 
 //GO(SSL_CTX_set_srp_client_pwd_callback, 
@@ -360,7 +363,7 @@ GO(SSL_do_handshake, iFp)
 //GO(ssl_fill_hello_random, 
 GO(SSL_free, vFp)
 //GO(ssl_free_wbio_buffer, 
-//GO(SSL_get0_alpn_selected, 
+GO(SSL_get0_alpn_selected, vFppp)
 GO(SSL_get0_next_proto_negotiated, vFppp)
 //GO(SSL_get0_param, 
 GO(SSL_get0_session, pFp)
@@ -405,6 +408,7 @@ GO(SSL_get_session, pFp)
 //GO(SSL_get_shared_ciphers, 
 //GO(SSL_get_shared_sigalgs, 
 GO(SSL_get_shutdown, iFp)
+GO(SSL_get_state, iFp)
 //GO(SSL_get_sigalgs, 
 //GO(ssl_get_sign_pkey, 
 //GO(SSL_get_srp_g, 
@@ -423,6 +427,7 @@ GO(SSL_get_version, pFp)
 //GO(SSL_get_wfd, 
 //GO(SSL_has_matching_session_id, 
 //GO(ssl_init_wbio_buffer, 
+GO(SSL_is_init_finished, iFp)
 GO(SSL_is_server, iFp)
 GO(SSL_library_init, iFv)
 //GO(ssl_load_ciphers, 
@@ -463,6 +468,7 @@ GO(SSL_SESSION_free, vFp)
 GO(SSL_SESSION_new, pFv)
 //GO(SSL_SESSION_print, 
 //GO(SSL_SESSION_print_fp, 
+GO(SSL_session_reused, iFp)
 //GO(SSL_SESSION_set1_id_context, 
 //GO(SSL_SESSION_set_ex_data, 
 //GO(SSL_SESSION_set_time,