[boringssl] Roll to 6650898e09

ZX-2902

Tests: Zircon's utest/crypto, Garnet's boringssl_tests, manual curling

Change-Id: Iafd967d278b8443a6b24fe1776e78df1e1806410
diff --git a/BUILD.generated.gni b/BUILD.generated.gni
index db2877d..5632f81 100644
--- a/BUILD.generated.gni
+++ b/BUILD.generated.gni
@@ -307,7 +307,6 @@
   "src/include/openssl/hmac.h",
   "src/include/openssl/is_boringssl.h",
   "src/include/openssl/lhash.h",
-  "src/include/openssl/lhash_macros.h",
   "src/include/openssl/md4.h",
   "src/include/openssl/md5.h",
   "src/include/openssl/mem.h",
diff --git a/BUILD.generated_tests.gni b/BUILD.generated_tests.gni
index ff5955f..02fa36c 100644
--- a/BUILD.generated_tests.gni
+++ b/BUILD.generated_tests.gni
@@ -70,6 +70,7 @@
   "src/crypto/refcount_test.cc",
   "src/crypto/rsa_extra/rsa_test.cc",
   "src/crypto/self_test.cc",
+  "src/crypto/stack/stack_test.cc",
   "src/crypto/test/file_test_gtest.cc",
   "src/crypto/test/gtest_main.cc",
   "src/crypto/thread_test.cc",
diff --git a/ios-aarch64/crypto/fipsmodule/sha1-armv8.S b/ios-aarch64/crypto/fipsmodule/sha1-armv8.S
index 61a5a80..17e1a56 100644
--- a/ios-aarch64/crypto/fipsmodule/sha1-armv8.S
+++ b/ios-aarch64/crypto/fipsmodule/sha1-armv8.S
@@ -1230,4 +1230,5 @@
 .align	2
 .align	2
 .comm	_OPENSSL_armcap_P,4,4
+.private_extern	_OPENSSL_armcap_P
 #endif  // !OPENSSL_NO_ASM
diff --git a/ios-aarch64/crypto/fipsmodule/sha256-armv8.S b/ios-aarch64/crypto/fipsmodule/sha256-armv8.S
index 08c8ea2..9076eeb 100644
--- a/ios-aarch64/crypto/fipsmodule/sha256-armv8.S
+++ b/ios-aarch64/crypto/fipsmodule/sha256-armv8.S
@@ -1208,5 +1208,6 @@
 #endif
 #ifndef	__KERNEL__
 .comm	_OPENSSL_armcap_P,4,4
+.private_extern	_OPENSSL_armcap_P
 #endif
 #endif  // !OPENSSL_NO_ASM
diff --git a/ios-aarch64/crypto/fipsmodule/sha512-armv8.S b/ios-aarch64/crypto/fipsmodule/sha512-armv8.S
index 0343672..d4fd317 100644
--- a/ios-aarch64/crypto/fipsmodule/sha512-armv8.S
+++ b/ios-aarch64/crypto/fipsmodule/sha512-armv8.S
@@ -1080,5 +1080,6 @@
 .align	2
 #ifndef	__KERNEL__
 .comm	_OPENSSL_armcap_P,4,4
+.private_extern	_OPENSSL_armcap_P
 #endif
 #endif  // !OPENSSL_NO_ASM
diff --git a/linux-aarch64/crypto/fipsmodule/sha1-armv8.S b/linux-aarch64/crypto/fipsmodule/sha1-armv8.S
index 5cd02b7..3b6cf6a 100644
--- a/linux-aarch64/crypto/fipsmodule/sha1-armv8.S
+++ b/linux-aarch64/crypto/fipsmodule/sha1-armv8.S
@@ -1231,5 +1231,6 @@
 .align	2
 .align	2
 .comm	OPENSSL_armcap_P,4,4
+.hidden	OPENSSL_armcap_P
 #endif
 #endif  // !OPENSSL_NO_ASM
diff --git a/linux-aarch64/crypto/fipsmodule/sha256-armv8.S b/linux-aarch64/crypto/fipsmodule/sha256-armv8.S
index aefcc88..8bb535c 100644
--- a/linux-aarch64/crypto/fipsmodule/sha256-armv8.S
+++ b/linux-aarch64/crypto/fipsmodule/sha256-armv8.S
@@ -1209,6 +1209,7 @@
 #endif
 #ifndef	__KERNEL__
 .comm	OPENSSL_armcap_P,4,4
+.hidden	OPENSSL_armcap_P
 #endif
 #endif
 #endif  // !OPENSSL_NO_ASM
diff --git a/linux-aarch64/crypto/fipsmodule/sha512-armv8.S b/linux-aarch64/crypto/fipsmodule/sha512-armv8.S
index 18f909a..ac9d5f0 100644
--- a/linux-aarch64/crypto/fipsmodule/sha512-armv8.S
+++ b/linux-aarch64/crypto/fipsmodule/sha512-armv8.S
@@ -1081,6 +1081,7 @@
 .align	2
 #ifndef	__KERNEL__
 .comm	OPENSSL_armcap_P,4,4
+.hidden	OPENSSL_armcap_P
 #endif
 #endif
 #endif  // !OPENSSL_NO_ASM
diff --git a/manifest b/manifest
index ae11b19..026ccbc 100644
--- a/manifest
+++ b/manifest
@@ -7,6 +7,6 @@
     <project name="third_party/boringssl/src"
              path="third_party/boringssl/src"
              remote="https://fuchsia.googlesource.com/third_party/boringssl"
-             revision="066b108957e3fe38947173c9acbc128e616b12f4"/>
+             revision="6650898e099b1b978954d57899297989c635a81c"/>
   </projects>
 </manifest>
diff --git a/rust/boringssl-sys/src/lib.rs b/rust/boringssl-sys/src/lib.rs
index 591daf1..a86ab5f 100644
--- a/rust/boringssl-sys/src/lib.rs
+++ b/rust/boringssl-sys/src/lib.rs
@@ -26,7 +26,10 @@
 {
     #[inline]
     pub fn new(storage: Storage) -> Self {
-        Self { storage, align: [] }
+        Self {
+            storage,
+            align: [],
+        }
     }
 
     #[inline]
@@ -36,11 +39,12 @@
         let byte_index = index / 8;
         let byte = self.storage.as_ref()[byte_index];
 
-        let bit_index = if cfg!(target_endian = "big") {
-            7 - (index % 8)
-        } else {
-            index % 8
-        };
+        let bit_index =
+            if cfg!(target_endian = "big") {
+                7 - (index % 8)
+            } else {
+                index % 8
+            };
 
         let mask = 1 << bit_index;
 
@@ -54,11 +58,12 @@
         let byte_index = index / 8;
         let byte = &mut self.storage.as_mut()[byte_index];
 
-        let bit_index = if cfg!(target_endian = "big") {
-            7 - (index % 8)
-        } else {
-            index % 8
-        };
+        let bit_index =
+            if cfg!(target_endian = "big") {
+                7 - (index % 8)
+            } else {
+                index % 8
+            };
 
         let mask = 1 << bit_index;
         if val {
@@ -78,11 +83,12 @@
 
         for i in 0..(bit_width as usize) {
             if self.get_bit(i + bit_offset) {
-                let index = if cfg!(target_endian = "big") {
-                    bit_width as usize - 1 - i
-                } else {
-                    i
-                };
+                let index =
+                    if cfg!(target_endian = "big") {
+                        bit_width as usize - 1 - i
+                    } else {
+                        i
+                    };
                 val |= 1 << index;
             }
         }
@@ -99,12938 +105,14 @@
         for i in 0..(bit_width as usize) {
             let mask = 1 << i;
             let val_bit_is_set = val & mask == mask;
-            let index = if cfg!(target_endian = "big") {
-                bit_width as usize - 1 - i
-            } else {
-                i
-            };
+            let index =
+                if cfg!(target_endian = "big") {
+                    bit_width as usize - 1 - i
+                } else {
+                    i
+                };
             self.set_bit(index + bit_offset, val_bit_is_set);
         }
     }
 }
-pub const OPENSSL_VERSION_NUMBER: u32 = 269484159;
-pub const SSLEAY_VERSION_NUMBER: u32 = 269484159;
-pub const EVP_AEAD_MAX_KEY_LENGTH: u32 = 80;
-pub const EVP_AEAD_MAX_NONCE_LENGTH: u32 = 24;
-pub const EVP_AEAD_MAX_OVERHEAD: u32 = 64;
-pub const EVP_AEAD_DEFAULT_TAG_LENGTH: u32 = 0;
-pub const ERR_FLAG_STRING: u32 = 1;
-pub const ERR_R_FATAL: u32 = 64;
-pub const ERR_R_MALLOC_FAILURE: u32 = 65;
-pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: u32 = 66;
-pub const ERR_R_PASSED_NULL_PARAMETER: u32 = 67;
-pub const ERR_R_INTERNAL_ERROR: u32 = 68;
-pub const ERR_R_OVERFLOW: u32 = 69;
-pub const ERR_ERROR_STRING_BUF_LEN: u32 = 120;
-pub const ERR_TXT_STRING: u32 = 1;
-pub const ERR_NUM_ERRORS: u32 = 16;
-pub const CRYPTO_LOCK: u32 = 1;
-pub const CRYPTO_UNLOCK: u32 = 2;
-pub const CRYPTO_READ: u32 = 4;
-pub const CRYPTO_WRITE: u32 = 8;
-pub const BIO_RR_CONNECT: u32 = 2;
-pub const BIO_RR_ACCEPT: u32 = 3;
-pub const BIO_CB_FREE: u32 = 1;
-pub const BIO_CB_READ: u32 = 2;
-pub const BIO_CB_WRITE: u32 = 3;
-pub const BIO_CB_PUTS: u32 = 4;
-pub const BIO_CB_GETS: u32 = 5;
-pub const BIO_CB_CTRL: u32 = 6;
-pub const BIO_CB_RETURN: u32 = 128;
-pub const BIO_NOCLOSE: u32 = 0;
-pub const BIO_CLOSE: u32 = 1;
-pub const BIO_CTRL_DGRAM_QUERY_MTU: u32 = 40;
-pub const BIO_CTRL_DGRAM_SET_MTU: u32 = 42;
-pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: u32 = 43;
-pub const BIO_CTRL_DGRAM_GET_PEER: u32 = 46;
-pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: u32 = 47;
-pub const BIO_CTRL_RESET: u32 = 1;
-pub const BIO_CTRL_EOF: u32 = 2;
-pub const BIO_CTRL_INFO: u32 = 3;
-pub const BIO_CTRL_GET_CLOSE: u32 = 8;
-pub const BIO_CTRL_SET_CLOSE: u32 = 9;
-pub const BIO_CTRL_PENDING: u32 = 10;
-pub const BIO_CTRL_FLUSH: u32 = 11;
-pub const BIO_CTRL_WPENDING: u32 = 13;
-pub const BIO_CTRL_SET_CALLBACK: u32 = 14;
-pub const BIO_CTRL_GET_CALLBACK: u32 = 15;
-pub const BIO_CTRL_SET: u32 = 4;
-pub const BIO_CTRL_GET: u32 = 5;
-pub const BIO_CTRL_PUSH: u32 = 6;
-pub const BIO_CTRL_POP: u32 = 7;
-pub const BIO_CTRL_DUP: u32 = 12;
-pub const BIO_CTRL_SET_FILENAME: u32 = 30;
-pub const BIO_FLAGS_READ: u32 = 1;
-pub const BIO_FLAGS_WRITE: u32 = 2;
-pub const BIO_FLAGS_IO_SPECIAL: u32 = 4;
-pub const BIO_FLAGS_RWS: u32 = 7;
-pub const BIO_FLAGS_SHOULD_RETRY: u32 = 8;
-pub const BIO_FLAGS_BASE64_NO_NL: u32 = 256;
-pub const BIO_FLAGS_MEM_RDONLY: u32 = 512;
-pub const BIO_TYPE_NONE: u32 = 0;
-pub const BIO_TYPE_MEM: u32 = 1025;
-pub const BIO_TYPE_FILE: u32 = 1026;
-pub const BIO_TYPE_FD: u32 = 1284;
-pub const BIO_TYPE_SOCKET: u32 = 1285;
-pub const BIO_TYPE_NULL: u32 = 1030;
-pub const BIO_TYPE_SSL: u32 = 519;
-pub const BIO_TYPE_MD: u32 = 520;
-pub const BIO_TYPE_BUFFER: u32 = 521;
-pub const BIO_TYPE_CIPHER: u32 = 522;
-pub const BIO_TYPE_BASE64: u32 = 523;
-pub const BIO_TYPE_CONNECT: u32 = 1292;
-pub const BIO_TYPE_ACCEPT: u32 = 1293;
-pub const BIO_TYPE_PROXY_CLIENT: u32 = 526;
-pub const BIO_TYPE_PROXY_SERVER: u32 = 527;
-pub const BIO_TYPE_NBIO_TEST: u32 = 528;
-pub const BIO_TYPE_NULL_FILTER: u32 = 529;
-pub const BIO_TYPE_BER: u32 = 530;
-pub const BIO_TYPE_BIO: u32 = 1043;
-pub const BIO_TYPE_LINEBUFFER: u32 = 532;
-pub const BIO_TYPE_DGRAM: u32 = 1301;
-pub const BIO_TYPE_ASN1: u32 = 534;
-pub const BIO_TYPE_COMP: u32 = 535;
-pub const BIO_TYPE_DESCRIPTOR: u32 = 256;
-pub const BIO_TYPE_FILTER: u32 = 512;
-pub const BIO_TYPE_SOURCE_SINK: u32 = 1024;
-pub const BIO_TYPE_START: u32 = 128;
-pub const BIO_C_SET_CONNECT: u32 = 100;
-pub const BIO_C_DO_STATE_MACHINE: u32 = 101;
-pub const BIO_C_SET_NBIO: u32 = 102;
-pub const BIO_C_SET_PROXY_PARAM: u32 = 103;
-pub const BIO_C_SET_FD: u32 = 104;
-pub const BIO_C_GET_FD: u32 = 105;
-pub const BIO_C_SET_FILE_PTR: u32 = 106;
-pub const BIO_C_GET_FILE_PTR: u32 = 107;
-pub const BIO_C_SET_FILENAME: u32 = 108;
-pub const BIO_C_SET_SSL: u32 = 109;
-pub const BIO_C_GET_SSL: u32 = 110;
-pub const BIO_C_SET_MD: u32 = 111;
-pub const BIO_C_GET_MD: u32 = 112;
-pub const BIO_C_GET_CIPHER_STATUS: u32 = 113;
-pub const BIO_C_SET_BUF_MEM: u32 = 114;
-pub const BIO_C_GET_BUF_MEM_PTR: u32 = 115;
-pub const BIO_C_GET_BUFF_NUM_LINES: u32 = 116;
-pub const BIO_C_SET_BUFF_SIZE: u32 = 117;
-pub const BIO_C_SET_ACCEPT: u32 = 118;
-pub const BIO_C_SSL_MODE: u32 = 119;
-pub const BIO_C_GET_MD_CTX: u32 = 120;
-pub const BIO_C_GET_PROXY_PARAM: u32 = 121;
-pub const BIO_C_SET_BUFF_READ_DATA: u32 = 122;
-pub const BIO_C_GET_ACCEPT: u32 = 124;
-pub const BIO_C_SET_SSL_RENEGOTIATE_BYTES: u32 = 125;
-pub const BIO_C_GET_SSL_NUM_RENEGOTIATES: u32 = 126;
-pub const BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT: u32 = 127;
-pub const BIO_C_FILE_SEEK: u32 = 128;
-pub const BIO_C_GET_CIPHER_CTX: u32 = 129;
-pub const BIO_C_SET_BUF_MEM_EOF_RETURN: u32 = 130;
-pub const BIO_C_SET_BIND_MODE: u32 = 131;
-pub const BIO_C_GET_BIND_MODE: u32 = 132;
-pub const BIO_C_FILE_TELL: u32 = 133;
-pub const BIO_C_GET_SOCKS: u32 = 134;
-pub const BIO_C_SET_SOCKS: u32 = 135;
-pub const BIO_C_SET_WRITE_BUF_SIZE: u32 = 136;
-pub const BIO_C_GET_WRITE_BUF_SIZE: u32 = 137;
-pub const BIO_C_GET_WRITE_GUARANTEE: u32 = 140;
-pub const BIO_C_GET_READ_REQUEST: u32 = 141;
-pub const BIO_C_SHUTDOWN_WR: u32 = 142;
-pub const BIO_C_NREAD0: u32 = 143;
-pub const BIO_C_NREAD: u32 = 144;
-pub const BIO_C_NWRITE0: u32 = 145;
-pub const BIO_C_NWRITE: u32 = 146;
-pub const BIO_C_RESET_READ_REQUEST: u32 = 147;
-pub const BIO_C_SET_MD_CTX: u32 = 148;
-pub const BIO_C_SET_PREFIX: u32 = 149;
-pub const BIO_C_GET_PREFIX: u32 = 150;
-pub const BIO_C_SET_SUFFIX: u32 = 151;
-pub const BIO_C_GET_SUFFIX: u32 = 152;
-pub const BIO_C_SET_EX_ARG: u32 = 153;
-pub const BIO_C_GET_EX_ARG: u32 = 154;
-pub const BIO_R_BAD_FOPEN_MODE: u32 = 100;
-pub const BIO_R_BROKEN_PIPE: u32 = 101;
-pub const BIO_R_CONNECT_ERROR: u32 = 102;
-pub const BIO_R_ERROR_SETTING_NBIO: u32 = 103;
-pub const BIO_R_INVALID_ARGUMENT: u32 = 104;
-pub const BIO_R_IN_USE: u32 = 105;
-pub const BIO_R_KEEPALIVE: u32 = 106;
-pub const BIO_R_NBIO_CONNECT_ERROR: u32 = 107;
-pub const BIO_R_NO_HOSTNAME_SPECIFIED: u32 = 108;
-pub const BIO_R_NO_PORT_SPECIFIED: u32 = 109;
-pub const BIO_R_NO_SUCH_FILE: u32 = 110;
-pub const BIO_R_NULL_PARAMETER: u32 = 111;
-pub const BIO_R_SYS_LIB: u32 = 112;
-pub const BIO_R_UNABLE_TO_CREATE_SOCKET: u32 = 113;
-pub const BIO_R_UNINITIALIZED: u32 = 114;
-pub const BIO_R_UNSUPPORTED_METHOD: u32 = 115;
-pub const BIO_R_WRITE_TO_READ_ONLY_BIO: u32 = 116;
-pub const V_ASN1_UNIVERSAL: u32 = 0;
-pub const V_ASN1_APPLICATION: u32 = 64;
-pub const V_ASN1_CONTEXT_SPECIFIC: u32 = 128;
-pub const V_ASN1_PRIVATE: u32 = 192;
-pub const V_ASN1_CONSTRUCTED: u32 = 32;
-pub const V_ASN1_PRIMITIVE_TAG: u32 = 31;
-pub const V_ASN1_APP_CHOOSE: i32 = -2;
-pub const V_ASN1_OTHER: i32 = -3;
-pub const V_ASN1_ANY: i32 = -4;
-pub const V_ASN1_NEG: u32 = 256;
-pub const V_ASN1_MAX_UNIVERSAL: u32 = 255;
-pub const V_ASN1_UNDEF: i32 = -1;
-pub const V_ASN1_EOC: u32 = 0;
-pub const V_ASN1_BOOLEAN: u32 = 1;
-pub const V_ASN1_INTEGER: u32 = 2;
-pub const V_ASN1_NEG_INTEGER: u32 = 258;
-pub const V_ASN1_BIT_STRING: u32 = 3;
-pub const V_ASN1_OCTET_STRING: u32 = 4;
-pub const V_ASN1_NULL: u32 = 5;
-pub const V_ASN1_OBJECT: u32 = 6;
-pub const V_ASN1_OBJECT_DESCRIPTOR: u32 = 7;
-pub const V_ASN1_EXTERNAL: u32 = 8;
-pub const V_ASN1_REAL: u32 = 9;
-pub const V_ASN1_ENUMERATED: u32 = 10;
-pub const V_ASN1_NEG_ENUMERATED: u32 = 266;
-pub const V_ASN1_UTF8STRING: u32 = 12;
-pub const V_ASN1_SEQUENCE: u32 = 16;
-pub const V_ASN1_SET: u32 = 17;
-pub const V_ASN1_NUMERICSTRING: u32 = 18;
-pub const V_ASN1_PRINTABLESTRING: u32 = 19;
-pub const V_ASN1_T61STRING: u32 = 20;
-pub const V_ASN1_TELETEXSTRING: u32 = 20;
-pub const V_ASN1_VIDEOTEXSTRING: u32 = 21;
-pub const V_ASN1_IA5STRING: u32 = 22;
-pub const V_ASN1_UTCTIME: u32 = 23;
-pub const V_ASN1_GENERALIZEDTIME: u32 = 24;
-pub const V_ASN1_GRAPHICSTRING: u32 = 25;
-pub const V_ASN1_ISO64STRING: u32 = 26;
-pub const V_ASN1_VISIBLESTRING: u32 = 26;
-pub const V_ASN1_GENERALSTRING: u32 = 27;
-pub const V_ASN1_UNIVERSALSTRING: u32 = 28;
-pub const V_ASN1_BMPSTRING: u32 = 30;
-pub const B_ASN1_NUMERICSTRING: u32 = 1;
-pub const B_ASN1_PRINTABLESTRING: u32 = 2;
-pub const B_ASN1_T61STRING: u32 = 4;
-pub const B_ASN1_TELETEXSTRING: u32 = 4;
-pub const B_ASN1_VIDEOTEXSTRING: u32 = 8;
-pub const B_ASN1_IA5STRING: u32 = 16;
-pub const B_ASN1_GRAPHICSTRING: u32 = 32;
-pub const B_ASN1_ISO64STRING: u32 = 64;
-pub const B_ASN1_VISIBLESTRING: u32 = 64;
-pub const B_ASN1_GENERALSTRING: u32 = 128;
-pub const B_ASN1_UNIVERSALSTRING: u32 = 256;
-pub const B_ASN1_OCTET_STRING: u32 = 512;
-pub const B_ASN1_BIT_STRING: u32 = 1024;
-pub const B_ASN1_BMPSTRING: u32 = 2048;
-pub const B_ASN1_UNKNOWN: u32 = 4096;
-pub const B_ASN1_UTF8STRING: u32 = 8192;
-pub const B_ASN1_UTCTIME: u32 = 16384;
-pub const B_ASN1_GENERALIZEDTIME: u32 = 32768;
-pub const B_ASN1_SEQUENCE: u32 = 65536;
-pub const ASN1_OBJECT_FLAG_DYNAMIC: u32 = 1;
-pub const ASN1_OBJECT_FLAG_DYNAMIC_STRINGS: u32 = 4;
-pub const ASN1_OBJECT_FLAG_DYNAMIC_DATA: u32 = 8;
-pub const ASN1_STRING_FLAG_BITS_LEFT: u32 = 8;
-pub const ASN1_STRING_FLAG_NDEF: u32 = 16;
-pub const ASN1_STRING_FLAG_MSTRING: u32 = 64;
-pub const ASN1_STRFLGS_ESC_2253: u32 = 1;
-pub const ASN1_STRFLGS_ESC_CTRL: u32 = 2;
-pub const ASN1_STRFLGS_ESC_MSB: u32 = 4;
-pub const ASN1_STRFLGS_ESC_QUOTE: u32 = 8;
-pub const ASN1_STRFLGS_UTF8_CONVERT: u32 = 16;
-pub const ASN1_STRFLGS_IGNORE_TYPE: u32 = 32;
-pub const ASN1_STRFLGS_SHOW_TYPE: u32 = 64;
-pub const ASN1_STRFLGS_DUMP_ALL: u32 = 128;
-pub const ASN1_STRFLGS_DUMP_UNKNOWN: u32 = 256;
-pub const ASN1_STRFLGS_DUMP_DER: u32 = 512;
-pub const ASN1_STRFLGS_RFC2253: u32 = 791;
-pub const B_ASN1_TIME: u32 = 49152;
-pub const B_ASN1_PRINTABLE: u32 = 81175;
-pub const B_ASN1_DIRECTORYSTRING: u32 = 10502;
-pub const B_ASN1_DISPLAYTEXT: u32 = 10320;
-pub const ASN1_R_ASN1_LENGTH_MISMATCH: u32 = 100;
-pub const ASN1_R_AUX_ERROR: u32 = 101;
-pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: u32 = 102;
-pub const ASN1_R_BAD_OBJECT_HEADER: u32 = 103;
-pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: u32 = 104;
-pub const ASN1_R_BN_LIB: u32 = 105;
-pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: u32 = 106;
-pub const ASN1_R_BUFFER_TOO_SMALL: u32 = 107;
-pub const ASN1_R_CONTEXT_NOT_INITIALISED: u32 = 108;
-pub const ASN1_R_DECODE_ERROR: u32 = 109;
-pub const ASN1_R_DEPTH_EXCEEDED: u32 = 110;
-pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: u32 = 111;
-pub const ASN1_R_ENCODE_ERROR: u32 = 112;
-pub const ASN1_R_ERROR_GETTING_TIME: u32 = 113;
-pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: u32 = 114;
-pub const ASN1_R_EXPECTING_AN_INTEGER: u32 = 115;
-pub const ASN1_R_EXPECTING_AN_OBJECT: u32 = 116;
-pub const ASN1_R_EXPECTING_A_BOOLEAN: u32 = 117;
-pub const ASN1_R_EXPECTING_A_TIME: u32 = 118;
-pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: u32 = 119;
-pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: u32 = 120;
-pub const ASN1_R_FIELD_MISSING: u32 = 121;
-pub const ASN1_R_FIRST_NUM_TOO_LARGE: u32 = 122;
-pub const ASN1_R_HEADER_TOO_LONG: u32 = 123;
-pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: u32 = 124;
-pub const ASN1_R_ILLEGAL_BOOLEAN: u32 = 125;
-pub const ASN1_R_ILLEGAL_CHARACTERS: u32 = 126;
-pub const ASN1_R_ILLEGAL_FORMAT: u32 = 127;
-pub const ASN1_R_ILLEGAL_HEX: u32 = 128;
-pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: u32 = 129;
-pub const ASN1_R_ILLEGAL_INTEGER: u32 = 130;
-pub const ASN1_R_ILLEGAL_NESTED_TAGGING: u32 = 131;
-pub const ASN1_R_ILLEGAL_NULL: u32 = 132;
-pub const ASN1_R_ILLEGAL_NULL_VALUE: u32 = 133;
-pub const ASN1_R_ILLEGAL_OBJECT: u32 = 134;
-pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: u32 = 135;
-pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: u32 = 136;
-pub const ASN1_R_ILLEGAL_TAGGED_ANY: u32 = 137;
-pub const ASN1_R_ILLEGAL_TIME_VALUE: u32 = 138;
-pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: u32 = 139;
-pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: u32 = 140;
-pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: u32 = 141;
-pub const ASN1_R_INVALID_BMPSTRING: u32 = 142;
-pub const ASN1_R_INVALID_DIGIT: u32 = 143;
-pub const ASN1_R_INVALID_MODIFIER: u32 = 144;
-pub const ASN1_R_INVALID_NUMBER: u32 = 145;
-pub const ASN1_R_INVALID_OBJECT_ENCODING: u32 = 146;
-pub const ASN1_R_INVALID_SEPARATOR: u32 = 147;
-pub const ASN1_R_INVALID_TIME_FORMAT: u32 = 148;
-pub const ASN1_R_INVALID_UNIVERSALSTRING: u32 = 149;
-pub const ASN1_R_INVALID_UTF8STRING: u32 = 150;
-pub const ASN1_R_LIST_ERROR: u32 = 151;
-pub const ASN1_R_MISSING_ASN1_EOS: u32 = 152;
-pub const ASN1_R_MISSING_EOC: u32 = 153;
-pub const ASN1_R_MISSING_SECOND_NUMBER: u32 = 154;
-pub const ASN1_R_MISSING_VALUE: u32 = 155;
-pub const ASN1_R_MSTRING_NOT_UNIVERSAL: u32 = 156;
-pub const ASN1_R_MSTRING_WRONG_TAG: u32 = 157;
-pub const ASN1_R_NESTED_ASN1_ERROR: u32 = 158;
-pub const ASN1_R_NESTED_ASN1_STRING: u32 = 159;
-pub const ASN1_R_NON_HEX_CHARACTERS: u32 = 160;
-pub const ASN1_R_NOT_ASCII_FORMAT: u32 = 161;
-pub const ASN1_R_NOT_ENOUGH_DATA: u32 = 162;
-pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: u32 = 163;
-pub const ASN1_R_NULL_IS_WRONG_LENGTH: u32 = 164;
-pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: u32 = 165;
-pub const ASN1_R_ODD_NUMBER_OF_CHARS: u32 = 166;
-pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: u32 = 167;
-pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: u32 = 168;
-pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: u32 = 169;
-pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: u32 = 170;
-pub const ASN1_R_SHORT_LINE: u32 = 171;
-pub const ASN1_R_STREAMING_NOT_SUPPORTED: u32 = 172;
-pub const ASN1_R_STRING_TOO_LONG: u32 = 173;
-pub const ASN1_R_STRING_TOO_SHORT: u32 = 174;
-pub const ASN1_R_TAG_VALUE_TOO_HIGH: u32 = 175;
-pub const ASN1_R_TIME_NOT_ASCII_FORMAT: u32 = 176;
-pub const ASN1_R_TOO_LONG: u32 = 177;
-pub const ASN1_R_TYPE_NOT_CONSTRUCTED: u32 = 178;
-pub const ASN1_R_TYPE_NOT_PRIMITIVE: u32 = 179;
-pub const ASN1_R_UNEXPECTED_EOC: u32 = 180;
-pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: u32 = 181;
-pub const ASN1_R_UNKNOWN_FORMAT: u32 = 182;
-pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: u32 = 183;
-pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: u32 = 184;
-pub const ASN1_R_UNKNOWN_TAG: u32 = 185;
-pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: u32 = 186;
-pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: u32 = 187;
-pub const ASN1_R_UNSUPPORTED_TYPE: u32 = 188;
-pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: u32 = 189;
-pub const ASN1_R_WRONG_TAG: u32 = 190;
-pub const ASN1_R_WRONG_TYPE: u32 = 191;
-pub const ASN1_R_NESTED_TOO_DEEP: u32 = 192;
-pub const ASN1_TFLG_OPTIONAL: u32 = 1;
-pub const ASN1_TFLG_SET_OF: u32 = 2;
-pub const ASN1_TFLG_SEQUENCE_OF: u32 = 4;
-pub const ASN1_TFLG_SET_ORDER: u32 = 6;
-pub const ASN1_TFLG_SK_MASK: u32 = 6;
-pub const ASN1_TFLG_IMPTAG: u32 = 8;
-pub const ASN1_TFLG_EXPTAG: u32 = 16;
-pub const ASN1_TFLG_TAG_MASK: u32 = 24;
-pub const ASN1_TFLG_UNIVERSAL: u32 = 0;
-pub const ASN1_TFLG_APPLICATION: u32 = 64;
-pub const ASN1_TFLG_CONTEXT: u32 = 128;
-pub const ASN1_TFLG_PRIVATE: u32 = 192;
-pub const ASN1_TFLG_TAG_CLASS: u32 = 192;
-pub const ASN1_TFLG_ADB_MASK: u32 = 768;
-pub const ASN1_TFLG_ADB_OID: u32 = 256;
-pub const ASN1_TFLG_ADB_INT: u32 = 512;
-pub const ASN1_TFLG_COMBINE: u32 = 1024;
-pub const ASN1_TFLG_NDEF: u32 = 2048;
-pub const ASN1_ITYPE_PRIMITIVE: u32 = 0;
-pub const ASN1_ITYPE_SEQUENCE: u32 = 1;
-pub const ASN1_ITYPE_CHOICE: u32 = 2;
-pub const ASN1_ITYPE_COMPAT: u32 = 3;
-pub const ASN1_ITYPE_EXTERN: u32 = 4;
-pub const ASN1_ITYPE_MSTRING: u32 = 5;
-pub const ASN1_ITYPE_NDEF_SEQUENCE: u32 = 6;
-pub const ASN1_AFLG_REFCOUNT: u32 = 1;
-pub const ASN1_AFLG_ENCODING: u32 = 2;
-pub const ASN1_AFLG_BROKEN: u32 = 4;
-pub const ASN1_OP_NEW_PRE: u32 = 0;
-pub const ASN1_OP_NEW_POST: u32 = 1;
-pub const ASN1_OP_FREE_PRE: u32 = 2;
-pub const ASN1_OP_FREE_POST: u32 = 3;
-pub const ASN1_OP_D2I_PRE: u32 = 4;
-pub const ASN1_OP_D2I_POST: u32 = 5;
-pub const ASN1_OP_I2D_PRE: u32 = 6;
-pub const ASN1_OP_I2D_POST: u32 = 7;
-pub const ASN1_OP_PRINT_PRE: u32 = 8;
-pub const ASN1_OP_PRINT_POST: u32 = 9;
-pub const ASN1_OP_STREAM_PRE: u32 = 10;
-pub const ASN1_OP_STREAM_POST: u32 = 11;
-pub const ASN1_OP_DETACHED_PRE: u32 = 12;
-pub const ASN1_OP_DETACHED_POST: u32 = 13;
-pub const CBS_ASN1_BOOLEAN: u32 = 1;
-pub const CBS_ASN1_INTEGER: u32 = 2;
-pub const CBS_ASN1_BITSTRING: u32 = 3;
-pub const CBS_ASN1_OCTETSTRING: u32 = 4;
-pub const CBS_ASN1_NULL: u32 = 5;
-pub const CBS_ASN1_OBJECT: u32 = 6;
-pub const CBS_ASN1_ENUMERATED: u32 = 10;
-pub const CBS_ASN1_UTF8STRING: u32 = 12;
-pub const CBS_ASN1_NUMERICSTRING: u32 = 18;
-pub const CBS_ASN1_PRINTABLESTRING: u32 = 19;
-pub const CBS_ASN1_T61STRING: u32 = 20;
-pub const CBS_ASN1_VIDEOTEXSTRING: u32 = 21;
-pub const CBS_ASN1_IA5STRING: u32 = 22;
-pub const CBS_ASN1_UTCTIME: u32 = 23;
-pub const CBS_ASN1_GENERALIZEDTIME: u32 = 24;
-pub const CBS_ASN1_GRAPHICSTRING: u32 = 25;
-pub const CBS_ASN1_VISIBLESTRING: u32 = 26;
-pub const CBS_ASN1_GENERALSTRING: u32 = 27;
-pub const CBS_ASN1_UNIVERSALSTRING: u32 = 28;
-pub const CBS_ASN1_BMPSTRING: u32 = 30;
-pub const CBS_ASN1_TAG_SHIFT: u32 = 24;
-pub const CBS_ASN1_CONSTRUCTED: u32 = 536870912;
-pub const CBS_ASN1_UNIVERSAL: u32 = 0;
-pub const CBS_ASN1_APPLICATION: u32 = 1073741824;
-pub const CBS_ASN1_CONTEXT_SPECIFIC: u32 = 2147483648;
-pub const CBS_ASN1_PRIVATE: u32 = 3221225472;
-pub const CBS_ASN1_CLASS_MASK: u32 = 3221225472;
-pub const CBS_ASN1_TAG_NUMBER_MASK: u32 = 536870911;
-pub const CAST_ENCRYPT: u32 = 1;
-pub const CAST_DECRYPT: u32 = 0;
-pub const CAST_BLOCK: u32 = 8;
-pub const CAST_KEY_LENGTH: u32 = 16;
-pub const EVP_CIPH_STREAM_CIPHER: u32 = 0;
-pub const EVP_CIPH_ECB_MODE: u32 = 1;
-pub const EVP_CIPH_CBC_MODE: u32 = 2;
-pub const EVP_CIPH_CFB_MODE: u32 = 3;
-pub const EVP_CIPH_OFB_MODE: u32 = 4;
-pub const EVP_CIPH_CTR_MODE: u32 = 5;
-pub const EVP_CIPH_GCM_MODE: u32 = 6;
-pub const EVP_CIPH_XTS_MODE: u32 = 7;
-pub const EVP_CIPH_VARIABLE_LENGTH: u32 = 64;
-pub const EVP_CIPH_ALWAYS_CALL_INIT: u32 = 128;
-pub const EVP_CIPH_CUSTOM_IV: u32 = 256;
-pub const EVP_CIPH_CTRL_INIT: u32 = 512;
-pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: u32 = 1024;
-pub const EVP_CIPH_FLAG_AEAD_CIPHER: u32 = 2048;
-pub const EVP_CIPH_CUSTOM_COPY: u32 = 4096;
-pub const EVP_CIPH_CCM_MODE: u32 = 0;
-pub const EVP_CIPH_WRAP_MODE: u32 = 0;
-pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: u32 = 0;
-pub const EVP_CIPH_NO_PADDING: u32 = 2048;
-pub const EVP_CTRL_INIT: u32 = 0;
-pub const EVP_CTRL_SET_KEY_LENGTH: u32 = 1;
-pub const EVP_CTRL_GET_RC2_KEY_BITS: u32 = 2;
-pub const EVP_CTRL_SET_RC2_KEY_BITS: u32 = 3;
-pub const EVP_CTRL_GET_RC5_ROUNDS: u32 = 4;
-pub const EVP_CTRL_SET_RC5_ROUNDS: u32 = 5;
-pub const EVP_CTRL_RAND_KEY: u32 = 6;
-pub const EVP_CTRL_PBE_PRF_NID: u32 = 7;
-pub const EVP_CTRL_COPY: u32 = 8;
-pub const EVP_CTRL_AEAD_SET_IVLEN: u32 = 9;
-pub const EVP_CTRL_AEAD_GET_TAG: u32 = 16;
-pub const EVP_CTRL_AEAD_SET_TAG: u32 = 17;
-pub const EVP_CTRL_AEAD_SET_IV_FIXED: u32 = 18;
-pub const EVP_CTRL_GCM_IV_GEN: u32 = 19;
-pub const EVP_CTRL_AEAD_SET_MAC_KEY: u32 = 23;
-pub const EVP_CTRL_GCM_SET_IV_INV: u32 = 24;
-pub const EVP_GCM_TLS_FIXED_IV_LEN: u32 = 4;
-pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: u32 = 8;
-pub const EVP_GCM_TLS_TAG_LEN: u32 = 16;
-pub const EVP_CTRL_GCM_SET_IVLEN: u32 = 9;
-pub const EVP_CTRL_GCM_GET_TAG: u32 = 16;
-pub const EVP_CTRL_GCM_SET_TAG: u32 = 17;
-pub const EVP_CTRL_GCM_SET_IV_FIXED: u32 = 18;
-pub const EVP_MAX_KEY_LENGTH: u32 = 64;
-pub const EVP_MAX_IV_LENGTH: u32 = 16;
-pub const EVP_MAX_BLOCK_LENGTH: u32 = 32;
-pub const CIPHER_R_AES_KEY_SETUP_FAILED: u32 = 100;
-pub const CIPHER_R_BAD_DECRYPT: u32 = 101;
-pub const CIPHER_R_BAD_KEY_LENGTH: u32 = 102;
-pub const CIPHER_R_BUFFER_TOO_SMALL: u32 = 103;
-pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: u32 = 104;
-pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: u32 = 105;
-pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: u32 = 106;
-pub const CIPHER_R_INITIALIZATION_ERROR: u32 = 107;
-pub const CIPHER_R_INPUT_NOT_INITIALIZED: u32 = 108;
-pub const CIPHER_R_INVALID_AD_SIZE: u32 = 109;
-pub const CIPHER_R_INVALID_KEY_LENGTH: u32 = 110;
-pub const CIPHER_R_INVALID_NONCE_SIZE: u32 = 111;
-pub const CIPHER_R_INVALID_OPERATION: u32 = 112;
-pub const CIPHER_R_IV_TOO_LARGE: u32 = 113;
-pub const CIPHER_R_NO_CIPHER_SET: u32 = 114;
-pub const CIPHER_R_OUTPUT_ALIASES_INPUT: u32 = 115;
-pub const CIPHER_R_TAG_TOO_LARGE: u32 = 116;
-pub const CIPHER_R_TOO_LARGE: u32 = 117;
-pub const CIPHER_R_UNSUPPORTED_AD_SIZE: u32 = 118;
-pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: u32 = 119;
-pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: u32 = 120;
-pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: u32 = 121;
-pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: u32 = 122;
-pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: u32 = 123;
-pub const CIPHER_R_NO_DIRECTION_SET: u32 = 124;
-pub const CIPHER_R_INVALID_NONCE: u32 = 125;
-pub const RAND_MAX: u32 = 2147483647;
-pub const OPENSSL_VERSION_TEXT: &'static [u8; 38usize] = b"OpenSSL 1.1.0 (compatible; BoringSSL)\0";
-pub const OPENSSL_VERSION: u32 = 0;
-pub const OPENSSL_CFLAGS: u32 = 1;
-pub const OPENSSL_BUILT_ON: u32 = 2;
-pub const OPENSSL_PLATFORM: u32 = 3;
-pub const OPENSSL_DIR: u32 = 4;
-pub const SSLEAY_VERSION: u32 = 0;
-pub const SSLEAY_CFLAGS: u32 = 1;
-pub const SSLEAY_BUILT_ON: u32 = 2;
-pub const SSLEAY_PLATFORM: u32 = 3;
-pub const SSLEAY_DIR: u32 = 4;
-pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: u32 = 0;
-pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: u32 = 0;
-pub const OPENSSL_INIT_ADD_ALL_CIPHERS: u32 = 0;
-pub const OPENSSL_INIT_ADD_ALL_DIGESTS: u32 = 0;
-pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: u32 = 0;
-pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: u32 = 0;
-pub const OPENSSL_INIT_LOAD_CONFIG: u32 = 0;
-pub const OPENSSL_INIT_NO_LOAD_CONFIG: u32 = 0;
-pub const X25519_PRIVATE_KEY_LEN: u32 = 32;
-pub const X25519_PUBLIC_VALUE_LEN: u32 = 32;
-pub const X25519_SHARED_KEY_LEN: u32 = 32;
-pub const ED25519_PRIVATE_KEY_LEN: u32 = 64;
-pub const ED25519_PUBLIC_KEY_LEN: u32 = 32;
-pub const ED25519_SIGNATURE_LEN: u32 = 64;
-pub const DES_ENCRYPT: u32 = 1;
-pub const DES_DECRYPT: u32 = 0;
-pub const DES_CBC_MODE: u32 = 0;
-pub const DES_PCBC_MODE: u32 = 1;
-pub const DH_GENERATOR_2: u32 = 2;
-pub const DH_GENERATOR_5: u32 = 5;
-pub const DH_CHECK_P_NOT_PRIME: u32 = 1;
-pub const DH_CHECK_P_NOT_SAFE_PRIME: u32 = 2;
-pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: u32 = 4;
-pub const DH_CHECK_NOT_SUITABLE_GENERATOR: u32 = 8;
-pub const DH_CHECK_Q_NOT_PRIME: u32 = 16;
-pub const DH_CHECK_INVALID_Q_VALUE: u32 = 32;
-pub const DH_CHECK_INVALID_J_VALUE: u32 = 64;
-pub const DH_NOT_SUITABLE_GENERATOR: u32 = 8;
-pub const DH_UNABLE_TO_CHECK_GENERATOR: u32 = 4;
-pub const DH_CHECK_PUBKEY_TOO_SMALL: u32 = 1;
-pub const DH_CHECK_PUBKEY_TOO_LARGE: u32 = 2;
-pub const DH_CHECK_PUBKEY_INVALID: u32 = 4;
-pub const DH_R_BAD_GENERATOR: u32 = 100;
-pub const DH_R_INVALID_PUBKEY: u32 = 101;
-pub const DH_R_MODULUS_TOO_LARGE: u32 = 102;
-pub const DH_R_NO_PRIVATE_VALUE: u32 = 103;
-pub const DH_R_DECODE_ERROR: u32 = 104;
-pub const DH_R_ENCODE_ERROR: u32 = 105;
-pub const EVP_MAX_MD_SIZE: u32 = 64;
-pub const EVP_MAX_MD_BLOCK_SIZE: u32 = 128;
-pub const EVP_MD_FLAG_PKEY_DIGEST: u32 = 1;
-pub const EVP_MD_FLAG_DIGALGID_ABSENT: u32 = 2;
-pub const DIGEST_R_INPUT_NOT_INITIALIZED: u32 = 100;
-pub const DIGEST_R_DECODE_ERROR: u32 = 101;
-pub const DIGEST_R_UNKNOWN_HASH: u32 = 102;
-pub const DSA_R_BAD_Q_VALUE: u32 = 100;
-pub const DSA_R_MISSING_PARAMETERS: u32 = 101;
-pub const DSA_R_MODULUS_TOO_LARGE: u32 = 102;
-pub const DSA_R_NEED_NEW_SETUP_VALUES: u32 = 103;
-pub const DSA_R_BAD_VERSION: u32 = 104;
-pub const DSA_R_DECODE_ERROR: u32 = 105;
-pub const DSA_R_ENCODE_ERROR: u32 = 106;
-pub const OPENSSL_EC_NAMED_CURVE: u32 = 0;
-pub const EC_PKEY_NO_PARAMETERS: u32 = 1;
-pub const EC_PKEY_NO_PUBKEY: u32 = 2;
-pub const ECDSA_FLAG_OPAQUE: u32 = 1;
-pub const EC_R_BUFFER_TOO_SMALL: u32 = 100;
-pub const EC_R_COORDINATES_OUT_OF_RANGE: u32 = 101;
-pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: u32 = 102;
-pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: u32 = 103;
-pub const EC_R_GROUP2PKPARAMETERS_FAILURE: u32 = 104;
-pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: u32 = 105;
-pub const EC_R_INCOMPATIBLE_OBJECTS: u32 = 106;
-pub const EC_R_INVALID_COMPRESSED_POINT: u32 = 107;
-pub const EC_R_INVALID_COMPRESSION_BIT: u32 = 108;
-pub const EC_R_INVALID_ENCODING: u32 = 109;
-pub const EC_R_INVALID_FIELD: u32 = 110;
-pub const EC_R_INVALID_FORM: u32 = 111;
-pub const EC_R_INVALID_GROUP_ORDER: u32 = 112;
-pub const EC_R_INVALID_PRIVATE_KEY: u32 = 113;
-pub const EC_R_MISSING_PARAMETERS: u32 = 114;
-pub const EC_R_MISSING_PRIVATE_KEY: u32 = 115;
-pub const EC_R_NON_NAMED_CURVE: u32 = 116;
-pub const EC_R_NOT_INITIALIZED: u32 = 117;
-pub const EC_R_PKPARAMETERS2GROUP_FAILURE: u32 = 118;
-pub const EC_R_POINT_AT_INFINITY: u32 = 119;
-pub const EC_R_POINT_IS_NOT_ON_CURVE: u32 = 120;
-pub const EC_R_SLOT_FULL: u32 = 121;
-pub const EC_R_UNDEFINED_GENERATOR: u32 = 122;
-pub const EC_R_UNKNOWN_GROUP: u32 = 123;
-pub const EC_R_UNKNOWN_ORDER: u32 = 124;
-pub const EC_R_WRONG_ORDER: u32 = 125;
-pub const EC_R_BIGNUM_OUT_OF_RANGE: u32 = 126;
-pub const EC_R_WRONG_CURVE_PARAMETERS: u32 = 127;
-pub const EC_R_DECODE_ERROR: u32 = 128;
-pub const EC_R_ENCODE_ERROR: u32 = 129;
-pub const EC_R_GROUP_MISMATCH: u32 = 130;
-pub const EC_R_INVALID_COFACTOR: u32 = 131;
-pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: u32 = 132;
-pub const EC_R_INVALID_SCALAR: u32 = 133;
-pub const ECDH_R_KDF_FAILED: u32 = 100;
-pub const ECDH_R_NO_PRIVATE_VALUE: u32 = 101;
-pub const ECDH_R_POINT_ARITHMETIC_FAILURE: u32 = 102;
-pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: u32 = 103;
-pub const ECDSA_R_BAD_SIGNATURE: u32 = 100;
-pub const ECDSA_R_MISSING_PARAMETERS: u32 = 101;
-pub const ECDSA_R_NEED_NEW_SETUP_VALUES: u32 = 102;
-pub const ECDSA_R_NOT_IMPLEMENTED: u32 = 103;
-pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: u32 = 104;
-pub const ECDSA_R_ENCODE_ERROR: u32 = 105;
-pub const NID_undef: u32 = 0;
-pub const NID_rsadsi: u32 = 1;
-pub const NID_pkcs: u32 = 2;
-pub const NID_md2: u32 = 3;
-pub const NID_md5: u32 = 4;
-pub const NID_rc4: u32 = 5;
-pub const NID_rsaEncryption: u32 = 6;
-pub const NID_md2WithRSAEncryption: u32 = 7;
-pub const NID_md5WithRSAEncryption: u32 = 8;
-pub const NID_pbeWithMD2AndDES_CBC: u32 = 9;
-pub const NID_pbeWithMD5AndDES_CBC: u32 = 10;
-pub const NID_X500: u32 = 11;
-pub const NID_X509: u32 = 12;
-pub const NID_commonName: u32 = 13;
-pub const NID_countryName: u32 = 14;
-pub const NID_localityName: u32 = 15;
-pub const NID_stateOrProvinceName: u32 = 16;
-pub const NID_organizationName: u32 = 17;
-pub const NID_organizationalUnitName: u32 = 18;
-pub const NID_rsa: u32 = 19;
-pub const NID_pkcs7: u32 = 20;
-pub const NID_pkcs7_data: u32 = 21;
-pub const NID_pkcs7_signed: u32 = 22;
-pub const NID_pkcs7_enveloped: u32 = 23;
-pub const NID_pkcs7_signedAndEnveloped: u32 = 24;
-pub const NID_pkcs7_digest: u32 = 25;
-pub const NID_pkcs7_encrypted: u32 = 26;
-pub const NID_pkcs3: u32 = 27;
-pub const NID_dhKeyAgreement: u32 = 28;
-pub const NID_des_ecb: u32 = 29;
-pub const NID_des_cfb64: u32 = 30;
-pub const NID_des_cbc: u32 = 31;
-pub const NID_des_ede_ecb: u32 = 32;
-pub const NID_des_ede3_ecb: u32 = 33;
-pub const NID_idea_cbc: u32 = 34;
-pub const NID_idea_cfb64: u32 = 35;
-pub const NID_idea_ecb: u32 = 36;
-pub const NID_rc2_cbc: u32 = 37;
-pub const NID_rc2_ecb: u32 = 38;
-pub const NID_rc2_cfb64: u32 = 39;
-pub const NID_rc2_ofb64: u32 = 40;
-pub const NID_sha: u32 = 41;
-pub const NID_shaWithRSAEncryption: u32 = 42;
-pub const NID_des_ede_cbc: u32 = 43;
-pub const NID_des_ede3_cbc: u32 = 44;
-pub const NID_des_ofb64: u32 = 45;
-pub const NID_idea_ofb64: u32 = 46;
-pub const NID_pkcs9: u32 = 47;
-pub const NID_pkcs9_emailAddress: u32 = 48;
-pub const NID_pkcs9_unstructuredName: u32 = 49;
-pub const NID_pkcs9_contentType: u32 = 50;
-pub const NID_pkcs9_messageDigest: u32 = 51;
-pub const NID_pkcs9_signingTime: u32 = 52;
-pub const NID_pkcs9_countersignature: u32 = 53;
-pub const NID_pkcs9_challengePassword: u32 = 54;
-pub const NID_pkcs9_unstructuredAddress: u32 = 55;
-pub const NID_pkcs9_extCertAttributes: u32 = 56;
-pub const NID_netscape: u32 = 57;
-pub const NID_netscape_cert_extension: u32 = 58;
-pub const NID_netscape_data_type: u32 = 59;
-pub const NID_des_ede_cfb64: u32 = 60;
-pub const NID_des_ede3_cfb64: u32 = 61;
-pub const NID_des_ede_ofb64: u32 = 62;
-pub const NID_des_ede3_ofb64: u32 = 63;
-pub const NID_sha1: u32 = 64;
-pub const NID_sha1WithRSAEncryption: u32 = 65;
-pub const NID_dsaWithSHA: u32 = 66;
-pub const NID_dsa_2: u32 = 67;
-pub const NID_pbeWithSHA1AndRC2_CBC: u32 = 68;
-pub const NID_id_pbkdf2: u32 = 69;
-pub const NID_dsaWithSHA1_2: u32 = 70;
-pub const NID_netscape_cert_type: u32 = 71;
-pub const NID_netscape_base_url: u32 = 72;
-pub const NID_netscape_revocation_url: u32 = 73;
-pub const NID_netscape_ca_revocation_url: u32 = 74;
-pub const NID_netscape_renewal_url: u32 = 75;
-pub const NID_netscape_ca_policy_url: u32 = 76;
-pub const NID_netscape_ssl_server_name: u32 = 77;
-pub const NID_netscape_comment: u32 = 78;
-pub const NID_netscape_cert_sequence: u32 = 79;
-pub const NID_desx_cbc: u32 = 80;
-pub const NID_id_ce: u32 = 81;
-pub const NID_subject_key_identifier: u32 = 82;
-pub const NID_key_usage: u32 = 83;
-pub const NID_private_key_usage_period: u32 = 84;
-pub const NID_subject_alt_name: u32 = 85;
-pub const NID_issuer_alt_name: u32 = 86;
-pub const NID_basic_constraints: u32 = 87;
-pub const NID_crl_number: u32 = 88;
-pub const NID_certificate_policies: u32 = 89;
-pub const NID_authority_key_identifier: u32 = 90;
-pub const NID_bf_cbc: u32 = 91;
-pub const NID_bf_ecb: u32 = 92;
-pub const NID_bf_cfb64: u32 = 93;
-pub const NID_bf_ofb64: u32 = 94;
-pub const NID_mdc2: u32 = 95;
-pub const NID_mdc2WithRSA: u32 = 96;
-pub const NID_rc4_40: u32 = 97;
-pub const NID_rc2_40_cbc: u32 = 98;
-pub const NID_givenName: u32 = 99;
-pub const NID_surname: u32 = 100;
-pub const NID_initials: u32 = 101;
-pub const NID_crl_distribution_points: u32 = 103;
-pub const NID_md5WithRSA: u32 = 104;
-pub const NID_serialNumber: u32 = 105;
-pub const NID_title: u32 = 106;
-pub const NID_description: u32 = 107;
-pub const NID_cast5_cbc: u32 = 108;
-pub const NID_cast5_ecb: u32 = 109;
-pub const NID_cast5_cfb64: u32 = 110;
-pub const NID_cast5_ofb64: u32 = 111;
-pub const NID_pbeWithMD5AndCast5_CBC: u32 = 112;
-pub const NID_dsaWithSHA1: u32 = 113;
-pub const NID_md5_sha1: u32 = 114;
-pub const NID_sha1WithRSA: u32 = 115;
-pub const NID_dsa: u32 = 116;
-pub const NID_ripemd160: u32 = 117;
-pub const NID_ripemd160WithRSA: u32 = 119;
-pub const NID_rc5_cbc: u32 = 120;
-pub const NID_rc5_ecb: u32 = 121;
-pub const NID_rc5_cfb64: u32 = 122;
-pub const NID_rc5_ofb64: u32 = 123;
-pub const NID_zlib_compression: u32 = 125;
-pub const NID_ext_key_usage: u32 = 126;
-pub const NID_id_pkix: u32 = 127;
-pub const NID_id_kp: u32 = 128;
-pub const NID_server_auth: u32 = 129;
-pub const NID_client_auth: u32 = 130;
-pub const NID_code_sign: u32 = 131;
-pub const NID_email_protect: u32 = 132;
-pub const NID_time_stamp: u32 = 133;
-pub const NID_ms_code_ind: u32 = 134;
-pub const NID_ms_code_com: u32 = 135;
-pub const NID_ms_ctl_sign: u32 = 136;
-pub const NID_ms_sgc: u32 = 137;
-pub const NID_ms_efs: u32 = 138;
-pub const NID_ns_sgc: u32 = 139;
-pub const NID_delta_crl: u32 = 140;
-pub const NID_crl_reason: u32 = 141;
-pub const NID_invalidity_date: u32 = 142;
-pub const NID_sxnet: u32 = 143;
-pub const NID_pbe_WithSHA1And128BitRC4: u32 = 144;
-pub const NID_pbe_WithSHA1And40BitRC4: u32 = 145;
-pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: u32 = 146;
-pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: u32 = 147;
-pub const NID_pbe_WithSHA1And128BitRC2_CBC: u32 = 148;
-pub const NID_pbe_WithSHA1And40BitRC2_CBC: u32 = 149;
-pub const NID_keyBag: u32 = 150;
-pub const NID_pkcs8ShroudedKeyBag: u32 = 151;
-pub const NID_certBag: u32 = 152;
-pub const NID_crlBag: u32 = 153;
-pub const NID_secretBag: u32 = 154;
-pub const NID_safeContentsBag: u32 = 155;
-pub const NID_friendlyName: u32 = 156;
-pub const NID_localKeyID: u32 = 157;
-pub const NID_x509Certificate: u32 = 158;
-pub const NID_sdsiCertificate: u32 = 159;
-pub const NID_x509Crl: u32 = 160;
-pub const NID_pbes2: u32 = 161;
-pub const NID_pbmac1: u32 = 162;
-pub const NID_hmacWithSHA1: u32 = 163;
-pub const NID_id_qt_cps: u32 = 164;
-pub const NID_id_qt_unotice: u32 = 165;
-pub const NID_rc2_64_cbc: u32 = 166;
-pub const NID_SMIMECapabilities: u32 = 167;
-pub const NID_pbeWithMD2AndRC2_CBC: u32 = 168;
-pub const NID_pbeWithMD5AndRC2_CBC: u32 = 169;
-pub const NID_pbeWithSHA1AndDES_CBC: u32 = 170;
-pub const NID_ms_ext_req: u32 = 171;
-pub const NID_ext_req: u32 = 172;
-pub const NID_name: u32 = 173;
-pub const NID_dnQualifier: u32 = 174;
-pub const NID_id_pe: u32 = 175;
-pub const NID_id_ad: u32 = 176;
-pub const NID_info_access: u32 = 177;
-pub const NID_ad_OCSP: u32 = 178;
-pub const NID_ad_ca_issuers: u32 = 179;
-pub const NID_OCSP_sign: u32 = 180;
-pub const NID_iso: u32 = 181;
-pub const NID_member_body: u32 = 182;
-pub const NID_ISO_US: u32 = 183;
-pub const NID_X9_57: u32 = 184;
-pub const NID_X9cm: u32 = 185;
-pub const NID_pkcs1: u32 = 186;
-pub const NID_pkcs5: u32 = 187;
-pub const NID_SMIME: u32 = 188;
-pub const NID_id_smime_mod: u32 = 189;
-pub const NID_id_smime_ct: u32 = 190;
-pub const NID_id_smime_aa: u32 = 191;
-pub const NID_id_smime_alg: u32 = 192;
-pub const NID_id_smime_cd: u32 = 193;
-pub const NID_id_smime_spq: u32 = 194;
-pub const NID_id_smime_cti: u32 = 195;
-pub const NID_id_smime_mod_cms: u32 = 196;
-pub const NID_id_smime_mod_ess: u32 = 197;
-pub const NID_id_smime_mod_oid: u32 = 198;
-pub const NID_id_smime_mod_msg_v3: u32 = 199;
-pub const NID_id_smime_mod_ets_eSignature_88: u32 = 200;
-pub const NID_id_smime_mod_ets_eSignature_97: u32 = 201;
-pub const NID_id_smime_mod_ets_eSigPolicy_88: u32 = 202;
-pub const NID_id_smime_mod_ets_eSigPolicy_97: u32 = 203;
-pub const NID_id_smime_ct_receipt: u32 = 204;
-pub const NID_id_smime_ct_authData: u32 = 205;
-pub const NID_id_smime_ct_publishCert: u32 = 206;
-pub const NID_id_smime_ct_TSTInfo: u32 = 207;
-pub const NID_id_smime_ct_TDTInfo: u32 = 208;
-pub const NID_id_smime_ct_contentInfo: u32 = 209;
-pub const NID_id_smime_ct_DVCSRequestData: u32 = 210;
-pub const NID_id_smime_ct_DVCSResponseData: u32 = 211;
-pub const NID_id_smime_aa_receiptRequest: u32 = 212;
-pub const NID_id_smime_aa_securityLabel: u32 = 213;
-pub const NID_id_smime_aa_mlExpandHistory: u32 = 214;
-pub const NID_id_smime_aa_contentHint: u32 = 215;
-pub const NID_id_smime_aa_msgSigDigest: u32 = 216;
-pub const NID_id_smime_aa_encapContentType: u32 = 217;
-pub const NID_id_smime_aa_contentIdentifier: u32 = 218;
-pub const NID_id_smime_aa_macValue: u32 = 219;
-pub const NID_id_smime_aa_equivalentLabels: u32 = 220;
-pub const NID_id_smime_aa_contentReference: u32 = 221;
-pub const NID_id_smime_aa_encrypKeyPref: u32 = 222;
-pub const NID_id_smime_aa_signingCertificate: u32 = 223;
-pub const NID_id_smime_aa_smimeEncryptCerts: u32 = 224;
-pub const NID_id_smime_aa_timeStampToken: u32 = 225;
-pub const NID_id_smime_aa_ets_sigPolicyId: u32 = 226;
-pub const NID_id_smime_aa_ets_commitmentType: u32 = 227;
-pub const NID_id_smime_aa_ets_signerLocation: u32 = 228;
-pub const NID_id_smime_aa_ets_signerAttr: u32 = 229;
-pub const NID_id_smime_aa_ets_otherSigCert: u32 = 230;
-pub const NID_id_smime_aa_ets_contentTimestamp: u32 = 231;
-pub const NID_id_smime_aa_ets_CertificateRefs: u32 = 232;
-pub const NID_id_smime_aa_ets_RevocationRefs: u32 = 233;
-pub const NID_id_smime_aa_ets_certValues: u32 = 234;
-pub const NID_id_smime_aa_ets_revocationValues: u32 = 235;
-pub const NID_id_smime_aa_ets_escTimeStamp: u32 = 236;
-pub const NID_id_smime_aa_ets_certCRLTimestamp: u32 = 237;
-pub const NID_id_smime_aa_ets_archiveTimeStamp: u32 = 238;
-pub const NID_id_smime_aa_signatureType: u32 = 239;
-pub const NID_id_smime_aa_dvcs_dvc: u32 = 240;
-pub const NID_id_smime_alg_ESDHwith3DES: u32 = 241;
-pub const NID_id_smime_alg_ESDHwithRC2: u32 = 242;
-pub const NID_id_smime_alg_3DESwrap: u32 = 243;
-pub const NID_id_smime_alg_RC2wrap: u32 = 244;
-pub const NID_id_smime_alg_ESDH: u32 = 245;
-pub const NID_id_smime_alg_CMS3DESwrap: u32 = 246;
-pub const NID_id_smime_alg_CMSRC2wrap: u32 = 247;
-pub const NID_id_smime_cd_ldap: u32 = 248;
-pub const NID_id_smime_spq_ets_sqt_uri: u32 = 249;
-pub const NID_id_smime_spq_ets_sqt_unotice: u32 = 250;
-pub const NID_id_smime_cti_ets_proofOfOrigin: u32 = 251;
-pub const NID_id_smime_cti_ets_proofOfReceipt: u32 = 252;
-pub const NID_id_smime_cti_ets_proofOfDelivery: u32 = 253;
-pub const NID_id_smime_cti_ets_proofOfSender: u32 = 254;
-pub const NID_id_smime_cti_ets_proofOfApproval: u32 = 255;
-pub const NID_id_smime_cti_ets_proofOfCreation: u32 = 256;
-pub const NID_md4: u32 = 257;
-pub const NID_id_pkix_mod: u32 = 258;
-pub const NID_id_qt: u32 = 259;
-pub const NID_id_it: u32 = 260;
-pub const NID_id_pkip: u32 = 261;
-pub const NID_id_alg: u32 = 262;
-pub const NID_id_cmc: u32 = 263;
-pub const NID_id_on: u32 = 264;
-pub const NID_id_pda: u32 = 265;
-pub const NID_id_aca: u32 = 266;
-pub const NID_id_qcs: u32 = 267;
-pub const NID_id_cct: u32 = 268;
-pub const NID_id_pkix1_explicit_88: u32 = 269;
-pub const NID_id_pkix1_implicit_88: u32 = 270;
-pub const NID_id_pkix1_explicit_93: u32 = 271;
-pub const NID_id_pkix1_implicit_93: u32 = 272;
-pub const NID_id_mod_crmf: u32 = 273;
-pub const NID_id_mod_cmc: u32 = 274;
-pub const NID_id_mod_kea_profile_88: u32 = 275;
-pub const NID_id_mod_kea_profile_93: u32 = 276;
-pub const NID_id_mod_cmp: u32 = 277;
-pub const NID_id_mod_qualified_cert_88: u32 = 278;
-pub const NID_id_mod_qualified_cert_93: u32 = 279;
-pub const NID_id_mod_attribute_cert: u32 = 280;
-pub const NID_id_mod_timestamp_protocol: u32 = 281;
-pub const NID_id_mod_ocsp: u32 = 282;
-pub const NID_id_mod_dvcs: u32 = 283;
-pub const NID_id_mod_cmp2000: u32 = 284;
-pub const NID_biometricInfo: u32 = 285;
-pub const NID_qcStatements: u32 = 286;
-pub const NID_ac_auditEntity: u32 = 287;
-pub const NID_ac_targeting: u32 = 288;
-pub const NID_aaControls: u32 = 289;
-pub const NID_sbgp_ipAddrBlock: u32 = 290;
-pub const NID_sbgp_autonomousSysNum: u32 = 291;
-pub const NID_sbgp_routerIdentifier: u32 = 292;
-pub const NID_textNotice: u32 = 293;
-pub const NID_ipsecEndSystem: u32 = 294;
-pub const NID_ipsecTunnel: u32 = 295;
-pub const NID_ipsecUser: u32 = 296;
-pub const NID_dvcs: u32 = 297;
-pub const NID_id_it_caProtEncCert: u32 = 298;
-pub const NID_id_it_signKeyPairTypes: u32 = 299;
-pub const NID_id_it_encKeyPairTypes: u32 = 300;
-pub const NID_id_it_preferredSymmAlg: u32 = 301;
-pub const NID_id_it_caKeyUpdateInfo: u32 = 302;
-pub const NID_id_it_currentCRL: u32 = 303;
-pub const NID_id_it_unsupportedOIDs: u32 = 304;
-pub const NID_id_it_subscriptionRequest: u32 = 305;
-pub const NID_id_it_subscriptionResponse: u32 = 306;
-pub const NID_id_it_keyPairParamReq: u32 = 307;
-pub const NID_id_it_keyPairParamRep: u32 = 308;
-pub const NID_id_it_revPassphrase: u32 = 309;
-pub const NID_id_it_implicitConfirm: u32 = 310;
-pub const NID_id_it_confirmWaitTime: u32 = 311;
-pub const NID_id_it_origPKIMessage: u32 = 312;
-pub const NID_id_regCtrl: u32 = 313;
-pub const NID_id_regInfo: u32 = 314;
-pub const NID_id_regCtrl_regToken: u32 = 315;
-pub const NID_id_regCtrl_authenticator: u32 = 316;
-pub const NID_id_regCtrl_pkiPublicationInfo: u32 = 317;
-pub const NID_id_regCtrl_pkiArchiveOptions: u32 = 318;
-pub const NID_id_regCtrl_oldCertID: u32 = 319;
-pub const NID_id_regCtrl_protocolEncrKey: u32 = 320;
-pub const NID_id_regInfo_utf8Pairs: u32 = 321;
-pub const NID_id_regInfo_certReq: u32 = 322;
-pub const NID_id_alg_des40: u32 = 323;
-pub const NID_id_alg_noSignature: u32 = 324;
-pub const NID_id_alg_dh_sig_hmac_sha1: u32 = 325;
-pub const NID_id_alg_dh_pop: u32 = 326;
-pub const NID_id_cmc_statusInfo: u32 = 327;
-pub const NID_id_cmc_identification: u32 = 328;
-pub const NID_id_cmc_identityProof: u32 = 329;
-pub const NID_id_cmc_dataReturn: u32 = 330;
-pub const NID_id_cmc_transactionId: u32 = 331;
-pub const NID_id_cmc_senderNonce: u32 = 332;
-pub const NID_id_cmc_recipientNonce: u32 = 333;
-pub const NID_id_cmc_addExtensions: u32 = 334;
-pub const NID_id_cmc_encryptedPOP: u32 = 335;
-pub const NID_id_cmc_decryptedPOP: u32 = 336;
-pub const NID_id_cmc_lraPOPWitness: u32 = 337;
-pub const NID_id_cmc_getCert: u32 = 338;
-pub const NID_id_cmc_getCRL: u32 = 339;
-pub const NID_id_cmc_revokeRequest: u32 = 340;
-pub const NID_id_cmc_regInfo: u32 = 341;
-pub const NID_id_cmc_responseInfo: u32 = 342;
-pub const NID_id_cmc_queryPending: u32 = 343;
-pub const NID_id_cmc_popLinkRandom: u32 = 344;
-pub const NID_id_cmc_popLinkWitness: u32 = 345;
-pub const NID_id_cmc_confirmCertAcceptance: u32 = 346;
-pub const NID_id_on_personalData: u32 = 347;
-pub const NID_id_pda_dateOfBirth: u32 = 348;
-pub const NID_id_pda_placeOfBirth: u32 = 349;
-pub const NID_id_pda_gender: u32 = 351;
-pub const NID_id_pda_countryOfCitizenship: u32 = 352;
-pub const NID_id_pda_countryOfResidence: u32 = 353;
-pub const NID_id_aca_authenticationInfo: u32 = 354;
-pub const NID_id_aca_accessIdentity: u32 = 355;
-pub const NID_id_aca_chargingIdentity: u32 = 356;
-pub const NID_id_aca_group: u32 = 357;
-pub const NID_id_aca_role: u32 = 358;
-pub const NID_id_qcs_pkixQCSyntax_v1: u32 = 359;
-pub const NID_id_cct_crs: u32 = 360;
-pub const NID_id_cct_PKIData: u32 = 361;
-pub const NID_id_cct_PKIResponse: u32 = 362;
-pub const NID_ad_timeStamping: u32 = 363;
-pub const NID_ad_dvcs: u32 = 364;
-pub const NID_id_pkix_OCSP_basic: u32 = 365;
-pub const NID_id_pkix_OCSP_Nonce: u32 = 366;
-pub const NID_id_pkix_OCSP_CrlID: u32 = 367;
-pub const NID_id_pkix_OCSP_acceptableResponses: u32 = 368;
-pub const NID_id_pkix_OCSP_noCheck: u32 = 369;
-pub const NID_id_pkix_OCSP_archiveCutoff: u32 = 370;
-pub const NID_id_pkix_OCSP_serviceLocator: u32 = 371;
-pub const NID_id_pkix_OCSP_extendedStatus: u32 = 372;
-pub const NID_id_pkix_OCSP_valid: u32 = 373;
-pub const NID_id_pkix_OCSP_path: u32 = 374;
-pub const NID_id_pkix_OCSP_trustRoot: u32 = 375;
-pub const NID_algorithm: u32 = 376;
-pub const NID_rsaSignature: u32 = 377;
-pub const NID_X500algorithms: u32 = 378;
-pub const NID_org: u32 = 379;
-pub const NID_dod: u32 = 380;
-pub const NID_iana: u32 = 381;
-pub const NID_Directory: u32 = 382;
-pub const NID_Management: u32 = 383;
-pub const NID_Experimental: u32 = 384;
-pub const NID_Private: u32 = 385;
-pub const NID_Security: u32 = 386;
-pub const NID_SNMPv2: u32 = 387;
-pub const NID_Mail: u32 = 388;
-pub const NID_Enterprises: u32 = 389;
-pub const NID_dcObject: u32 = 390;
-pub const NID_domainComponent: u32 = 391;
-pub const NID_Domain: u32 = 392;
-pub const NID_selected_attribute_types: u32 = 394;
-pub const NID_clearance: u32 = 395;
-pub const NID_md4WithRSAEncryption: u32 = 396;
-pub const NID_ac_proxying: u32 = 397;
-pub const NID_sinfo_access: u32 = 398;
-pub const NID_id_aca_encAttrs: u32 = 399;
-pub const NID_role: u32 = 400;
-pub const NID_policy_constraints: u32 = 401;
-pub const NID_target_information: u32 = 402;
-pub const NID_no_rev_avail: u32 = 403;
-pub const NID_ansi_X9_62: u32 = 405;
-pub const NID_X9_62_prime_field: u32 = 406;
-pub const NID_X9_62_characteristic_two_field: u32 = 407;
-pub const NID_X9_62_id_ecPublicKey: u32 = 408;
-pub const NID_X9_62_prime192v1: u32 = 409;
-pub const NID_X9_62_prime192v2: u32 = 410;
-pub const NID_X9_62_prime192v3: u32 = 411;
-pub const NID_X9_62_prime239v1: u32 = 412;
-pub const NID_X9_62_prime239v2: u32 = 413;
-pub const NID_X9_62_prime239v3: u32 = 414;
-pub const NID_X9_62_prime256v1: u32 = 415;
-pub const NID_ecdsa_with_SHA1: u32 = 416;
-pub const NID_ms_csp_name: u32 = 417;
-pub const NID_aes_128_ecb: u32 = 418;
-pub const NID_aes_128_cbc: u32 = 419;
-pub const NID_aes_128_ofb128: u32 = 420;
-pub const NID_aes_128_cfb128: u32 = 421;
-pub const NID_aes_192_ecb: u32 = 422;
-pub const NID_aes_192_cbc: u32 = 423;
-pub const NID_aes_192_ofb128: u32 = 424;
-pub const NID_aes_192_cfb128: u32 = 425;
-pub const NID_aes_256_ecb: u32 = 426;
-pub const NID_aes_256_cbc: u32 = 427;
-pub const NID_aes_256_ofb128: u32 = 428;
-pub const NID_aes_256_cfb128: u32 = 429;
-pub const NID_hold_instruction_code: u32 = 430;
-pub const NID_hold_instruction_none: u32 = 431;
-pub const NID_hold_instruction_call_issuer: u32 = 432;
-pub const NID_hold_instruction_reject: u32 = 433;
-pub const NID_data: u32 = 434;
-pub const NID_pss: u32 = 435;
-pub const NID_ucl: u32 = 436;
-pub const NID_pilot: u32 = 437;
-pub const NID_pilotAttributeType: u32 = 438;
-pub const NID_pilotAttributeSyntax: u32 = 439;
-pub const NID_pilotObjectClass: u32 = 440;
-pub const NID_pilotGroups: u32 = 441;
-pub const NID_iA5StringSyntax: u32 = 442;
-pub const NID_caseIgnoreIA5StringSyntax: u32 = 443;
-pub const NID_pilotObject: u32 = 444;
-pub const NID_pilotPerson: u32 = 445;
-pub const NID_account: u32 = 446;
-pub const NID_document: u32 = 447;
-pub const NID_room: u32 = 448;
-pub const NID_documentSeries: u32 = 449;
-pub const NID_rFC822localPart: u32 = 450;
-pub const NID_dNSDomain: u32 = 451;
-pub const NID_domainRelatedObject: u32 = 452;
-pub const NID_friendlyCountry: u32 = 453;
-pub const NID_simpleSecurityObject: u32 = 454;
-pub const NID_pilotOrganization: u32 = 455;
-pub const NID_pilotDSA: u32 = 456;
-pub const NID_qualityLabelledData: u32 = 457;
-pub const NID_userId: u32 = 458;
-pub const NID_textEncodedORAddress: u32 = 459;
-pub const NID_rfc822Mailbox: u32 = 460;
-pub const NID_info: u32 = 461;
-pub const NID_favouriteDrink: u32 = 462;
-pub const NID_roomNumber: u32 = 463;
-pub const NID_photo: u32 = 464;
-pub const NID_userClass: u32 = 465;
-pub const NID_host: u32 = 466;
-pub const NID_manager: u32 = 467;
-pub const NID_documentIdentifier: u32 = 468;
-pub const NID_documentTitle: u32 = 469;
-pub const NID_documentVersion: u32 = 470;
-pub const NID_documentAuthor: u32 = 471;
-pub const NID_documentLocation: u32 = 472;
-pub const NID_homeTelephoneNumber: u32 = 473;
-pub const NID_secretary: u32 = 474;
-pub const NID_otherMailbox: u32 = 475;
-pub const NID_lastModifiedTime: u32 = 476;
-pub const NID_lastModifiedBy: u32 = 477;
-pub const NID_aRecord: u32 = 478;
-pub const NID_pilotAttributeType27: u32 = 479;
-pub const NID_mXRecord: u32 = 480;
-pub const NID_nSRecord: u32 = 481;
-pub const NID_sOARecord: u32 = 482;
-pub const NID_cNAMERecord: u32 = 483;
-pub const NID_associatedDomain: u32 = 484;
-pub const NID_associatedName: u32 = 485;
-pub const NID_homePostalAddress: u32 = 486;
-pub const NID_personalTitle: u32 = 487;
-pub const NID_mobileTelephoneNumber: u32 = 488;
-pub const NID_pagerTelephoneNumber: u32 = 489;
-pub const NID_friendlyCountryName: u32 = 490;
-pub const NID_organizationalStatus: u32 = 491;
-pub const NID_janetMailbox: u32 = 492;
-pub const NID_mailPreferenceOption: u32 = 493;
-pub const NID_buildingName: u32 = 494;
-pub const NID_dSAQuality: u32 = 495;
-pub const NID_singleLevelQuality: u32 = 496;
-pub const NID_subtreeMinimumQuality: u32 = 497;
-pub const NID_subtreeMaximumQuality: u32 = 498;
-pub const NID_personalSignature: u32 = 499;
-pub const NID_dITRedirect: u32 = 500;
-pub const NID_audio: u32 = 501;
-pub const NID_documentPublisher: u32 = 502;
-pub const NID_x500UniqueIdentifier: u32 = 503;
-pub const NID_mime_mhs: u32 = 504;
-pub const NID_mime_mhs_headings: u32 = 505;
-pub const NID_mime_mhs_bodies: u32 = 506;
-pub const NID_id_hex_partial_message: u32 = 507;
-pub const NID_id_hex_multipart_message: u32 = 508;
-pub const NID_generationQualifier: u32 = 509;
-pub const NID_pseudonym: u32 = 510;
-pub const NID_id_set: u32 = 512;
-pub const NID_set_ctype: u32 = 513;
-pub const NID_set_msgExt: u32 = 514;
-pub const NID_set_attr: u32 = 515;
-pub const NID_set_policy: u32 = 516;
-pub const NID_set_certExt: u32 = 517;
-pub const NID_set_brand: u32 = 518;
-pub const NID_setct_PANData: u32 = 519;
-pub const NID_setct_PANToken: u32 = 520;
-pub const NID_setct_PANOnly: u32 = 521;
-pub const NID_setct_OIData: u32 = 522;
-pub const NID_setct_PI: u32 = 523;
-pub const NID_setct_PIData: u32 = 524;
-pub const NID_setct_PIDataUnsigned: u32 = 525;
-pub const NID_setct_HODInput: u32 = 526;
-pub const NID_setct_AuthResBaggage: u32 = 527;
-pub const NID_setct_AuthRevReqBaggage: u32 = 528;
-pub const NID_setct_AuthRevResBaggage: u32 = 529;
-pub const NID_setct_CapTokenSeq: u32 = 530;
-pub const NID_setct_PInitResData: u32 = 531;
-pub const NID_setct_PI_TBS: u32 = 532;
-pub const NID_setct_PResData: u32 = 533;
-pub const NID_setct_AuthReqTBS: u32 = 534;
-pub const NID_setct_AuthResTBS: u32 = 535;
-pub const NID_setct_AuthResTBSX: u32 = 536;
-pub const NID_setct_AuthTokenTBS: u32 = 537;
-pub const NID_setct_CapTokenData: u32 = 538;
-pub const NID_setct_CapTokenTBS: u32 = 539;
-pub const NID_setct_AcqCardCodeMsg: u32 = 540;
-pub const NID_setct_AuthRevReqTBS: u32 = 541;
-pub const NID_setct_AuthRevResData: u32 = 542;
-pub const NID_setct_AuthRevResTBS: u32 = 543;
-pub const NID_setct_CapReqTBS: u32 = 544;
-pub const NID_setct_CapReqTBSX: u32 = 545;
-pub const NID_setct_CapResData: u32 = 546;
-pub const NID_setct_CapRevReqTBS: u32 = 547;
-pub const NID_setct_CapRevReqTBSX: u32 = 548;
-pub const NID_setct_CapRevResData: u32 = 549;
-pub const NID_setct_CredReqTBS: u32 = 550;
-pub const NID_setct_CredReqTBSX: u32 = 551;
-pub const NID_setct_CredResData: u32 = 552;
-pub const NID_setct_CredRevReqTBS: u32 = 553;
-pub const NID_setct_CredRevReqTBSX: u32 = 554;
-pub const NID_setct_CredRevResData: u32 = 555;
-pub const NID_setct_PCertReqData: u32 = 556;
-pub const NID_setct_PCertResTBS: u32 = 557;
-pub const NID_setct_BatchAdminReqData: u32 = 558;
-pub const NID_setct_BatchAdminResData: u32 = 559;
-pub const NID_setct_CardCInitResTBS: u32 = 560;
-pub const NID_setct_MeAqCInitResTBS: u32 = 561;
-pub const NID_setct_RegFormResTBS: u32 = 562;
-pub const NID_setct_CertReqData: u32 = 563;
-pub const NID_setct_CertReqTBS: u32 = 564;
-pub const NID_setct_CertResData: u32 = 565;
-pub const NID_setct_CertInqReqTBS: u32 = 566;
-pub const NID_setct_ErrorTBS: u32 = 567;
-pub const NID_setct_PIDualSignedTBE: u32 = 568;
-pub const NID_setct_PIUnsignedTBE: u32 = 569;
-pub const NID_setct_AuthReqTBE: u32 = 570;
-pub const NID_setct_AuthResTBE: u32 = 571;
-pub const NID_setct_AuthResTBEX: u32 = 572;
-pub const NID_setct_AuthTokenTBE: u32 = 573;
-pub const NID_setct_CapTokenTBE: u32 = 574;
-pub const NID_setct_CapTokenTBEX: u32 = 575;
-pub const NID_setct_AcqCardCodeMsgTBE: u32 = 576;
-pub const NID_setct_AuthRevReqTBE: u32 = 577;
-pub const NID_setct_AuthRevResTBE: u32 = 578;
-pub const NID_setct_AuthRevResTBEB: u32 = 579;
-pub const NID_setct_CapReqTBE: u32 = 580;
-pub const NID_setct_CapReqTBEX: u32 = 581;
-pub const NID_setct_CapResTBE: u32 = 582;
-pub const NID_setct_CapRevReqTBE: u32 = 583;
-pub const NID_setct_CapRevReqTBEX: u32 = 584;
-pub const NID_setct_CapRevResTBE: u32 = 585;
-pub const NID_setct_CredReqTBE: u32 = 586;
-pub const NID_setct_CredReqTBEX: u32 = 587;
-pub const NID_setct_CredResTBE: u32 = 588;
-pub const NID_setct_CredRevReqTBE: u32 = 589;
-pub const NID_setct_CredRevReqTBEX: u32 = 590;
-pub const NID_setct_CredRevResTBE: u32 = 591;
-pub const NID_setct_BatchAdminReqTBE: u32 = 592;
-pub const NID_setct_BatchAdminResTBE: u32 = 593;
-pub const NID_setct_RegFormReqTBE: u32 = 594;
-pub const NID_setct_CertReqTBE: u32 = 595;
-pub const NID_setct_CertReqTBEX: u32 = 596;
-pub const NID_setct_CertResTBE: u32 = 597;
-pub const NID_setct_CRLNotificationTBS: u32 = 598;
-pub const NID_setct_CRLNotificationResTBS: u32 = 599;
-pub const NID_setct_BCIDistributionTBS: u32 = 600;
-pub const NID_setext_genCrypt: u32 = 601;
-pub const NID_setext_miAuth: u32 = 602;
-pub const NID_setext_pinSecure: u32 = 603;
-pub const NID_setext_pinAny: u32 = 604;
-pub const NID_setext_track2: u32 = 605;
-pub const NID_setext_cv: u32 = 606;
-pub const NID_set_policy_root: u32 = 607;
-pub const NID_setCext_hashedRoot: u32 = 608;
-pub const NID_setCext_certType: u32 = 609;
-pub const NID_setCext_merchData: u32 = 610;
-pub const NID_setCext_cCertRequired: u32 = 611;
-pub const NID_setCext_tunneling: u32 = 612;
-pub const NID_setCext_setExt: u32 = 613;
-pub const NID_setCext_setQualf: u32 = 614;
-pub const NID_setCext_PGWYcapabilities: u32 = 615;
-pub const NID_setCext_TokenIdentifier: u32 = 616;
-pub const NID_setCext_Track2Data: u32 = 617;
-pub const NID_setCext_TokenType: u32 = 618;
-pub const NID_setCext_IssuerCapabilities: u32 = 619;
-pub const NID_setAttr_Cert: u32 = 620;
-pub const NID_setAttr_PGWYcap: u32 = 621;
-pub const NID_setAttr_TokenType: u32 = 622;
-pub const NID_setAttr_IssCap: u32 = 623;
-pub const NID_set_rootKeyThumb: u32 = 624;
-pub const NID_set_addPolicy: u32 = 625;
-pub const NID_setAttr_Token_EMV: u32 = 626;
-pub const NID_setAttr_Token_B0Prime: u32 = 627;
-pub const NID_setAttr_IssCap_CVM: u32 = 628;
-pub const NID_setAttr_IssCap_T2: u32 = 629;
-pub const NID_setAttr_IssCap_Sig: u32 = 630;
-pub const NID_setAttr_GenCryptgrm: u32 = 631;
-pub const NID_setAttr_T2Enc: u32 = 632;
-pub const NID_setAttr_T2cleartxt: u32 = 633;
-pub const NID_setAttr_TokICCsig: u32 = 634;
-pub const NID_setAttr_SecDevSig: u32 = 635;
-pub const NID_set_brand_IATA_ATA: u32 = 636;
-pub const NID_set_brand_Diners: u32 = 637;
-pub const NID_set_brand_AmericanExpress: u32 = 638;
-pub const NID_set_brand_JCB: u32 = 639;
-pub const NID_set_brand_Visa: u32 = 640;
-pub const NID_set_brand_MasterCard: u32 = 641;
-pub const NID_set_brand_Novus: u32 = 642;
-pub const NID_des_cdmf: u32 = 643;
-pub const NID_rsaOAEPEncryptionSET: u32 = 644;
-pub const NID_itu_t: u32 = 645;
-pub const NID_joint_iso_itu_t: u32 = 646;
-pub const NID_international_organizations: u32 = 647;
-pub const NID_ms_smartcard_login: u32 = 648;
-pub const NID_ms_upn: u32 = 649;
-pub const NID_aes_128_cfb1: u32 = 650;
-pub const NID_aes_192_cfb1: u32 = 651;
-pub const NID_aes_256_cfb1: u32 = 652;
-pub const NID_aes_128_cfb8: u32 = 653;
-pub const NID_aes_192_cfb8: u32 = 654;
-pub const NID_aes_256_cfb8: u32 = 655;
-pub const NID_des_cfb1: u32 = 656;
-pub const NID_des_cfb8: u32 = 657;
-pub const NID_des_ede3_cfb1: u32 = 658;
-pub const NID_des_ede3_cfb8: u32 = 659;
-pub const NID_streetAddress: u32 = 660;
-pub const NID_postalCode: u32 = 661;
-pub const NID_id_ppl: u32 = 662;
-pub const NID_proxyCertInfo: u32 = 663;
-pub const NID_id_ppl_anyLanguage: u32 = 664;
-pub const NID_id_ppl_inheritAll: u32 = 665;
-pub const NID_name_constraints: u32 = 666;
-pub const NID_Independent: u32 = 667;
-pub const NID_sha256WithRSAEncryption: u32 = 668;
-pub const NID_sha384WithRSAEncryption: u32 = 669;
-pub const NID_sha512WithRSAEncryption: u32 = 670;
-pub const NID_sha224WithRSAEncryption: u32 = 671;
-pub const NID_sha256: u32 = 672;
-pub const NID_sha384: u32 = 673;
-pub const NID_sha512: u32 = 674;
-pub const NID_sha224: u32 = 675;
-pub const NID_identified_organization: u32 = 676;
-pub const NID_certicom_arc: u32 = 677;
-pub const NID_wap: u32 = 678;
-pub const NID_wap_wsg: u32 = 679;
-pub const NID_X9_62_id_characteristic_two_basis: u32 = 680;
-pub const NID_X9_62_onBasis: u32 = 681;
-pub const NID_X9_62_tpBasis: u32 = 682;
-pub const NID_X9_62_ppBasis: u32 = 683;
-pub const NID_X9_62_c2pnb163v1: u32 = 684;
-pub const NID_X9_62_c2pnb163v2: u32 = 685;
-pub const NID_X9_62_c2pnb163v3: u32 = 686;
-pub const NID_X9_62_c2pnb176v1: u32 = 687;
-pub const NID_X9_62_c2tnb191v1: u32 = 688;
-pub const NID_X9_62_c2tnb191v2: u32 = 689;
-pub const NID_X9_62_c2tnb191v3: u32 = 690;
-pub const NID_X9_62_c2onb191v4: u32 = 691;
-pub const NID_X9_62_c2onb191v5: u32 = 692;
-pub const NID_X9_62_c2pnb208w1: u32 = 693;
-pub const NID_X9_62_c2tnb239v1: u32 = 694;
-pub const NID_X9_62_c2tnb239v2: u32 = 695;
-pub const NID_X9_62_c2tnb239v3: u32 = 696;
-pub const NID_X9_62_c2onb239v4: u32 = 697;
-pub const NID_X9_62_c2onb239v5: u32 = 698;
-pub const NID_X9_62_c2pnb272w1: u32 = 699;
-pub const NID_X9_62_c2pnb304w1: u32 = 700;
-pub const NID_X9_62_c2tnb359v1: u32 = 701;
-pub const NID_X9_62_c2pnb368w1: u32 = 702;
-pub const NID_X9_62_c2tnb431r1: u32 = 703;
-pub const NID_secp112r1: u32 = 704;
-pub const NID_secp112r2: u32 = 705;
-pub const NID_secp128r1: u32 = 706;
-pub const NID_secp128r2: u32 = 707;
-pub const NID_secp160k1: u32 = 708;
-pub const NID_secp160r1: u32 = 709;
-pub const NID_secp160r2: u32 = 710;
-pub const NID_secp192k1: u32 = 711;
-pub const NID_secp224k1: u32 = 712;
-pub const NID_secp224r1: u32 = 713;
-pub const NID_secp256k1: u32 = 714;
-pub const NID_secp384r1: u32 = 715;
-pub const NID_secp521r1: u32 = 716;
-pub const NID_sect113r1: u32 = 717;
-pub const NID_sect113r2: u32 = 718;
-pub const NID_sect131r1: u32 = 719;
-pub const NID_sect131r2: u32 = 720;
-pub const NID_sect163k1: u32 = 721;
-pub const NID_sect163r1: u32 = 722;
-pub const NID_sect163r2: u32 = 723;
-pub const NID_sect193r1: u32 = 724;
-pub const NID_sect193r2: u32 = 725;
-pub const NID_sect233k1: u32 = 726;
-pub const NID_sect233r1: u32 = 727;
-pub const NID_sect239k1: u32 = 728;
-pub const NID_sect283k1: u32 = 729;
-pub const NID_sect283r1: u32 = 730;
-pub const NID_sect409k1: u32 = 731;
-pub const NID_sect409r1: u32 = 732;
-pub const NID_sect571k1: u32 = 733;
-pub const NID_sect571r1: u32 = 734;
-pub const NID_wap_wsg_idm_ecid_wtls1: u32 = 735;
-pub const NID_wap_wsg_idm_ecid_wtls3: u32 = 736;
-pub const NID_wap_wsg_idm_ecid_wtls4: u32 = 737;
-pub const NID_wap_wsg_idm_ecid_wtls5: u32 = 738;
-pub const NID_wap_wsg_idm_ecid_wtls6: u32 = 739;
-pub const NID_wap_wsg_idm_ecid_wtls7: u32 = 740;
-pub const NID_wap_wsg_idm_ecid_wtls8: u32 = 741;
-pub const NID_wap_wsg_idm_ecid_wtls9: u32 = 742;
-pub const NID_wap_wsg_idm_ecid_wtls10: u32 = 743;
-pub const NID_wap_wsg_idm_ecid_wtls11: u32 = 744;
-pub const NID_wap_wsg_idm_ecid_wtls12: u32 = 745;
-pub const NID_any_policy: u32 = 746;
-pub const NID_policy_mappings: u32 = 747;
-pub const NID_inhibit_any_policy: u32 = 748;
-pub const NID_ipsec3: u32 = 749;
-pub const NID_ipsec4: u32 = 750;
-pub const NID_camellia_128_cbc: u32 = 751;
-pub const NID_camellia_192_cbc: u32 = 752;
-pub const NID_camellia_256_cbc: u32 = 753;
-pub const NID_camellia_128_ecb: u32 = 754;
-pub const NID_camellia_192_ecb: u32 = 755;
-pub const NID_camellia_256_ecb: u32 = 756;
-pub const NID_camellia_128_cfb128: u32 = 757;
-pub const NID_camellia_192_cfb128: u32 = 758;
-pub const NID_camellia_256_cfb128: u32 = 759;
-pub const NID_camellia_128_cfb1: u32 = 760;
-pub const NID_camellia_192_cfb1: u32 = 761;
-pub const NID_camellia_256_cfb1: u32 = 762;
-pub const NID_camellia_128_cfb8: u32 = 763;
-pub const NID_camellia_192_cfb8: u32 = 764;
-pub const NID_camellia_256_cfb8: u32 = 765;
-pub const NID_camellia_128_ofb128: u32 = 766;
-pub const NID_camellia_192_ofb128: u32 = 767;
-pub const NID_camellia_256_ofb128: u32 = 768;
-pub const NID_subject_directory_attributes: u32 = 769;
-pub const NID_issuing_distribution_point: u32 = 770;
-pub const NID_certificate_issuer: u32 = 771;
-pub const NID_kisa: u32 = 773;
-pub const NID_seed_ecb: u32 = 776;
-pub const NID_seed_cbc: u32 = 777;
-pub const NID_seed_ofb128: u32 = 778;
-pub const NID_seed_cfb128: u32 = 779;
-pub const NID_hmac_md5: u32 = 780;
-pub const NID_hmac_sha1: u32 = 781;
-pub const NID_id_PasswordBasedMAC: u32 = 782;
-pub const NID_id_DHBasedMac: u32 = 783;
-pub const NID_id_it_suppLangTags: u32 = 784;
-pub const NID_caRepository: u32 = 785;
-pub const NID_id_smime_ct_compressedData: u32 = 786;
-pub const NID_id_ct_asciiTextWithCRLF: u32 = 787;
-pub const NID_id_aes128_wrap: u32 = 788;
-pub const NID_id_aes192_wrap: u32 = 789;
-pub const NID_id_aes256_wrap: u32 = 790;
-pub const NID_ecdsa_with_Recommended: u32 = 791;
-pub const NID_ecdsa_with_Specified: u32 = 792;
-pub const NID_ecdsa_with_SHA224: u32 = 793;
-pub const NID_ecdsa_with_SHA256: u32 = 794;
-pub const NID_ecdsa_with_SHA384: u32 = 795;
-pub const NID_ecdsa_with_SHA512: u32 = 796;
-pub const NID_hmacWithMD5: u32 = 797;
-pub const NID_hmacWithSHA224: u32 = 798;
-pub const NID_hmacWithSHA256: u32 = 799;
-pub const NID_hmacWithSHA384: u32 = 800;
-pub const NID_hmacWithSHA512: u32 = 801;
-pub const NID_dsa_with_SHA224: u32 = 802;
-pub const NID_dsa_with_SHA256: u32 = 803;
-pub const NID_whirlpool: u32 = 804;
-pub const NID_cryptopro: u32 = 805;
-pub const NID_cryptocom: u32 = 806;
-pub const NID_id_GostR3411_94_with_GostR3410_2001: u32 = 807;
-pub const NID_id_GostR3411_94_with_GostR3410_94: u32 = 808;
-pub const NID_id_GostR3411_94: u32 = 809;
-pub const NID_id_HMACGostR3411_94: u32 = 810;
-pub const NID_id_GostR3410_2001: u32 = 811;
-pub const NID_id_GostR3410_94: u32 = 812;
-pub const NID_id_Gost28147_89: u32 = 813;
-pub const NID_gost89_cnt: u32 = 814;
-pub const NID_id_Gost28147_89_MAC: u32 = 815;
-pub const NID_id_GostR3411_94_prf: u32 = 816;
-pub const NID_id_GostR3410_2001DH: u32 = 817;
-pub const NID_id_GostR3410_94DH: u32 = 818;
-pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: u32 = 819;
-pub const NID_id_Gost28147_89_None_KeyMeshing: u32 = 820;
-pub const NID_id_GostR3411_94_TestParamSet: u32 = 821;
-pub const NID_id_GostR3411_94_CryptoProParamSet: u32 = 822;
-pub const NID_id_Gost28147_89_TestParamSet: u32 = 823;
-pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: u32 = 824;
-pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: u32 = 825;
-pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: u32 = 826;
-pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: u32 = 827;
-pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: u32 = 828;
-pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: u32 = 829;
-pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: u32 = 830;
-pub const NID_id_GostR3410_94_TestParamSet: u32 = 831;
-pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: u32 = 832;
-pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: u32 = 833;
-pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: u32 = 834;
-pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: u32 = 835;
-pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: u32 = 836;
-pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: u32 = 837;
-pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: u32 = 838;
-pub const NID_id_GostR3410_2001_TestParamSet: u32 = 839;
-pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: u32 = 840;
-pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: u32 = 841;
-pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: u32 = 842;
-pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: u32 = 843;
-pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: u32 = 844;
-pub const NID_id_GostR3410_94_a: u32 = 845;
-pub const NID_id_GostR3410_94_aBis: u32 = 846;
-pub const NID_id_GostR3410_94_b: u32 = 847;
-pub const NID_id_GostR3410_94_bBis: u32 = 848;
-pub const NID_id_Gost28147_89_cc: u32 = 849;
-pub const NID_id_GostR3410_94_cc: u32 = 850;
-pub const NID_id_GostR3410_2001_cc: u32 = 851;
-pub const NID_id_GostR3411_94_with_GostR3410_94_cc: u32 = 852;
-pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: u32 = 853;
-pub const NID_id_GostR3410_2001_ParamSet_cc: u32 = 854;
-pub const NID_hmac: u32 = 855;
-pub const NID_LocalKeySet: u32 = 856;
-pub const NID_freshest_crl: u32 = 857;
-pub const NID_id_on_permanentIdentifier: u32 = 858;
-pub const NID_searchGuide: u32 = 859;
-pub const NID_businessCategory: u32 = 860;
-pub const NID_postalAddress: u32 = 861;
-pub const NID_postOfficeBox: u32 = 862;
-pub const NID_physicalDeliveryOfficeName: u32 = 863;
-pub const NID_telephoneNumber: u32 = 864;
-pub const NID_telexNumber: u32 = 865;
-pub const NID_teletexTerminalIdentifier: u32 = 866;
-pub const NID_facsimileTelephoneNumber: u32 = 867;
-pub const NID_x121Address: u32 = 868;
-pub const NID_internationaliSDNNumber: u32 = 869;
-pub const NID_registeredAddress: u32 = 870;
-pub const NID_destinationIndicator: u32 = 871;
-pub const NID_preferredDeliveryMethod: u32 = 872;
-pub const NID_presentationAddress: u32 = 873;
-pub const NID_supportedApplicationContext: u32 = 874;
-pub const NID_member: u32 = 875;
-pub const NID_owner: u32 = 876;
-pub const NID_roleOccupant: u32 = 877;
-pub const NID_seeAlso: u32 = 878;
-pub const NID_userPassword: u32 = 879;
-pub const NID_userCertificate: u32 = 880;
-pub const NID_cACertificate: u32 = 881;
-pub const NID_authorityRevocationList: u32 = 882;
-pub const NID_certificateRevocationList: u32 = 883;
-pub const NID_crossCertificatePair: u32 = 884;
-pub const NID_enhancedSearchGuide: u32 = 885;
-pub const NID_protocolInformation: u32 = 886;
-pub const NID_distinguishedName: u32 = 887;
-pub const NID_uniqueMember: u32 = 888;
-pub const NID_houseIdentifier: u32 = 889;
-pub const NID_supportedAlgorithms: u32 = 890;
-pub const NID_deltaRevocationList: u32 = 891;
-pub const NID_dmdName: u32 = 892;
-pub const NID_id_alg_PWRI_KEK: u32 = 893;
-pub const NID_cmac: u32 = 894;
-pub const NID_aes_128_gcm: u32 = 895;
-pub const NID_aes_128_ccm: u32 = 896;
-pub const NID_id_aes128_wrap_pad: u32 = 897;
-pub const NID_aes_192_gcm: u32 = 898;
-pub const NID_aes_192_ccm: u32 = 899;
-pub const NID_id_aes192_wrap_pad: u32 = 900;
-pub const NID_aes_256_gcm: u32 = 901;
-pub const NID_aes_256_ccm: u32 = 902;
-pub const NID_id_aes256_wrap_pad: u32 = 903;
-pub const NID_aes_128_ctr: u32 = 904;
-pub const NID_aes_192_ctr: u32 = 905;
-pub const NID_aes_256_ctr: u32 = 906;
-pub const NID_id_camellia128_wrap: u32 = 907;
-pub const NID_id_camellia192_wrap: u32 = 908;
-pub const NID_id_camellia256_wrap: u32 = 909;
-pub const NID_anyExtendedKeyUsage: u32 = 910;
-pub const NID_mgf1: u32 = 911;
-pub const NID_rsassaPss: u32 = 912;
-pub const NID_aes_128_xts: u32 = 913;
-pub const NID_aes_256_xts: u32 = 914;
-pub const NID_rc4_hmac_md5: u32 = 915;
-pub const NID_aes_128_cbc_hmac_sha1: u32 = 916;
-pub const NID_aes_192_cbc_hmac_sha1: u32 = 917;
-pub const NID_aes_256_cbc_hmac_sha1: u32 = 918;
-pub const NID_rsaesOaep: u32 = 919;
-pub const NID_dhpublicnumber: u32 = 920;
-pub const NID_brainpoolP160r1: u32 = 921;
-pub const NID_brainpoolP160t1: u32 = 922;
-pub const NID_brainpoolP192r1: u32 = 923;
-pub const NID_brainpoolP192t1: u32 = 924;
-pub const NID_brainpoolP224r1: u32 = 925;
-pub const NID_brainpoolP224t1: u32 = 926;
-pub const NID_brainpoolP256r1: u32 = 927;
-pub const NID_brainpoolP256t1: u32 = 928;
-pub const NID_brainpoolP320r1: u32 = 929;
-pub const NID_brainpoolP320t1: u32 = 930;
-pub const NID_brainpoolP384r1: u32 = 931;
-pub const NID_brainpoolP384t1: u32 = 932;
-pub const NID_brainpoolP512r1: u32 = 933;
-pub const NID_brainpoolP512t1: u32 = 934;
-pub const NID_pSpecified: u32 = 935;
-pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: u32 = 936;
-pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: u32 = 937;
-pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: u32 = 938;
-pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: u32 = 939;
-pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: u32 = 940;
-pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: u32 = 941;
-pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: u32 = 942;
-pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: u32 = 943;
-pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: u32 = 944;
-pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: u32 = 945;
-pub const NID_dh_std_kdf: u32 = 946;
-pub const NID_dh_cofactor_kdf: u32 = 947;
-pub const NID_X25519: u32 = 948;
-pub const NID_ED25519: u32 = 949;
-pub const NID_chacha20_poly1305: u32 = 950;
-pub const NID_kx_rsa: u32 = 951;
-pub const NID_kx_ecdhe: u32 = 952;
-pub const NID_kx_psk: u32 = 953;
-pub const NID_auth_rsa: u32 = 954;
-pub const NID_auth_ecdsa: u32 = 955;
-pub const NID_auth_psk: u32 = 956;
-pub const NID_kx_any: u32 = 957;
-pub const NID_auth_any: u32 = 958;
-pub const EVP_PKEY_NONE: u32 = 0;
-pub const EVP_PKEY_RSA: u32 = 6;
-pub const EVP_PKEY_RSA_PSS: u32 = 912;
-pub const EVP_PKEY_DSA: u32 = 116;
-pub const EVP_PKEY_EC: u32 = 408;
-pub const EVP_PKEY_ED25519: u32 = 949;
-pub const EVP_PKEY_DH: u32 = 28;
-pub const EVP_PKEY_RSA2: u32 = 19;
-pub const EVP_R_BUFFER_TOO_SMALL: u32 = 100;
-pub const EVP_R_COMMAND_NOT_SUPPORTED: u32 = 101;
-pub const EVP_R_DECODE_ERROR: u32 = 102;
-pub const EVP_R_DIFFERENT_KEY_TYPES: u32 = 103;
-pub const EVP_R_DIFFERENT_PARAMETERS: u32 = 104;
-pub const EVP_R_ENCODE_ERROR: u32 = 105;
-pub const EVP_R_EXPECTING_AN_EC_KEY_KEY: u32 = 106;
-pub const EVP_R_EXPECTING_AN_RSA_KEY: u32 = 107;
-pub const EVP_R_EXPECTING_A_DSA_KEY: u32 = 108;
-pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: u32 = 109;
-pub const EVP_R_INVALID_DIGEST_LENGTH: u32 = 110;
-pub const EVP_R_INVALID_DIGEST_TYPE: u32 = 111;
-pub const EVP_R_INVALID_KEYBITS: u32 = 112;
-pub const EVP_R_INVALID_MGF1_MD: u32 = 113;
-pub const EVP_R_INVALID_OPERATION: u32 = 114;
-pub const EVP_R_INVALID_PADDING_MODE: u32 = 115;
-pub const EVP_R_INVALID_PSS_SALTLEN: u32 = 116;
-pub const EVP_R_KEYS_NOT_SET: u32 = 117;
-pub const EVP_R_MISSING_PARAMETERS: u32 = 118;
-pub const EVP_R_NO_DEFAULT_DIGEST: u32 = 119;
-pub const EVP_R_NO_KEY_SET: u32 = 120;
-pub const EVP_R_NO_MDC2_SUPPORT: u32 = 121;
-pub const EVP_R_NO_NID_FOR_CURVE: u32 = 122;
-pub const EVP_R_NO_OPERATION_SET: u32 = 123;
-pub const EVP_R_NO_PARAMETERS_SET: u32 = 124;
-pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: u32 = 125;
-pub const EVP_R_OPERATON_NOT_INITIALIZED: u32 = 126;
-pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: u32 = 127;
-pub const EVP_R_UNSUPPORTED_ALGORITHM: u32 = 128;
-pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: u32 = 129;
-pub const EVP_R_NOT_A_PRIVATE_KEY: u32 = 130;
-pub const EVP_R_INVALID_SIGNATURE: u32 = 131;
-pub const EVP_R_MEMORY_LIMIT_EXCEEDED: u32 = 132;
-pub const EVP_R_INVALID_PARAMETERS: u32 = 133;
-pub const SHA_CBLOCK: u32 = 64;
-pub const SHA_DIGEST_LENGTH: u32 = 20;
-pub const SHA224_CBLOCK: u32 = 64;
-pub const SHA224_DIGEST_LENGTH: u32 = 28;
-pub const SHA256_CBLOCK: u32 = 64;
-pub const SHA256_DIGEST_LENGTH: u32 = 32;
-pub const SHA384_CBLOCK: u32 = 128;
-pub const SHA384_DIGEST_LENGTH: u32 = 48;
-pub const SHA512_CBLOCK: u32 = 128;
-pub const SHA512_DIGEST_LENGTH: u32 = 64;
-pub const OPENSSL_NPN_UNSUPPORTED: u32 = 0;
-pub const OPENSSL_NPN_NEGOTIATED: u32 = 1;
-pub const OPENSSL_NPN_NO_OVERLAP: u32 = 2;
-pub const OPENSSL_INIT_NO_LOAD_SSL_STRINGS: u32 = 0;
-pub const OPENSSL_INIT_LOAD_SSL_STRINGS: u32 = 0;
-pub const OPENSSL_INIT_SSL_DEFAULT: u32 = 0;
-pub type __int64_t = ::std::os::raw::c_longlong;
-pub type __darwin_va_list = __builtin_va_list;
-pub type __darwin_time_t = ::std::os::raw::c_long;
-pub type __darwin_off_t = __int64_t;
-pub type time_t = __darwin_time_t;
-pub type CRYPTO_THREADID = ::std::os::raw::c_int;
-pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
-pub type ASN1_NULL = ::std::os::raw::c_int;
-pub type ASN1_ITEM = ASN1_ITEM_st;
-pub type ASN1_OBJECT = asn1_object_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct asn1_pctx_st {
-    _unused: [u8; 0],
-}
-pub type ASN1_PCTX = asn1_pctx_st;
-pub type ASN1_BIT_STRING = asn1_string_st;
-pub type ASN1_BMPSTRING = asn1_string_st;
-pub type ASN1_ENUMERATED = asn1_string_st;
-pub type ASN1_GENERALIZEDTIME = asn1_string_st;
-pub type ASN1_GENERALSTRING = asn1_string_st;
-pub type ASN1_IA5STRING = asn1_string_st;
-pub type ASN1_INTEGER = asn1_string_st;
-pub type ASN1_OCTET_STRING = asn1_string_st;
-pub type ASN1_PRINTABLESTRING = asn1_string_st;
-pub type ASN1_STRING = asn1_string_st;
-pub type ASN1_T61STRING = asn1_string_st;
-pub type ASN1_TIME = asn1_string_st;
-pub type ASN1_UNIVERSALSTRING = asn1_string_st;
-pub type ASN1_UTCTIME = asn1_string_st;
-pub type ASN1_UTF8STRING = asn1_string_st;
-pub type ASN1_VISIBLESTRING = asn1_string_st;
-pub type ASN1_TYPE = asn1_type_st;
-pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
-pub type DSA_SIG = DSA_SIG_st;
-pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
-pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_POLICY_CACHE_st {
-    _unused: [u8; 0],
-}
-pub type X509_POLICY_CACHE = X509_POLICY_CACHE_st;
-pub type X509_ALGOR = X509_algor_st;
-pub type X509_CRL_INFO = X509_crl_info_st;
-pub type X509_CRL = X509_crl_st;
-pub type X509_NAME = X509_name_st;
-pub type X509_PUBKEY = X509_pubkey_st;
-pub type X509_REQ_INFO = X509_req_info_st;
-pub type X509_REQ = X509_req_st;
-pub type X509_VAL = X509_val_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bignum_ctx {
-    _unused: [u8; 0],
-}
-pub type BN_CTX = bignum_ctx;
-pub type BIGNUM = bignum_st;
-pub type BIO_METHOD = bio_method_st;
-pub type BIO = bio_st;
-pub type BN_GENCB = bn_gencb_st;
-pub type BN_MONT_CTX = bn_mont_ctx_st;
-pub type BUF_MEM = buf_mem_st;
-pub type CBB = cbb_st;
-pub type CBS = cbs_st;
-pub type CONF = conf_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct crypto_buffer_pool_st {
-    _unused: [u8; 0],
-}
-pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct crypto_buffer_st {
-    _unused: [u8; 0],
-}
-pub type CRYPTO_BUFFER = crypto_buffer_st;
-pub type DH = dh_st;
-pub type DSA = dsa_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ec_group_st {
-    _unused: [u8; 0],
-}
-pub type EC_GROUP = ec_group_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ec_key_st {
-    _unused: [u8; 0],
-}
-pub type EC_KEY = ec_key_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ec_point_st {
-    _unused: [u8; 0],
-}
-pub type EC_POINT = ec_point_st;
-pub type ECDSA_METHOD = ecdsa_method_st;
-pub type ECDSA_SIG = ecdsa_sig_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct engine_st {
-    _unused: [u8; 0],
-}
-pub type ENGINE = engine_st;
-pub type EVP_MD_CTX = env_md_ctx_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct env_md_st {
-    _unused: [u8; 0],
-}
-pub type EVP_MD = env_md_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_aead_st {
-    _unused: [u8; 0],
-}
-pub type EVP_AEAD = evp_aead_st;
-pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
-pub type EVP_CIPHER = evp_cipher_st;
-pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_pkey_asn1_method_st {
-    _unused: [u8; 0],
-}
-pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_pkey_ctx_st {
-    _unused: [u8; 0],
-}
-pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_pkey_method_st {
-    _unused: [u8; 0],
-}
-pub type EVP_PKEY_METHOD = evp_pkey_method_st;
-pub type EVP_PKEY = evp_pkey_st;
-pub type HMAC_CTX = hmac_ctx_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ossl_init_settings_st {
-    _unused: [u8; 0],
-}
-pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
-pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
-pub type RAND_METHOD = rand_meth_st;
-pub type RSA_METHOD = rsa_meth_st;
-pub type RSA = rsa_st;
-pub type SHA256_CTX = sha256_state_st;
-pub type SHA512_CTX = sha512_state_st;
-pub type SHA_CTX = sha_state_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ssl_st {
-    _unused: [u8; 0],
-}
-pub type SSL = ssl_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct st_ERR_FNS {
-    _unused: [u8; 0],
-}
-pub type ERR_FNS = st_ERR_FNS;
-pub type X509V3_CTX = v3_ext_ctx;
-pub type X509_CERT_AUX = x509_cert_aux_st;
-pub type X509_CINF = x509_cinf_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct x509_crl_method_st {
-    _unused: [u8; 0],
-}
-pub type X509_CRL_METHOD = x509_crl_method_st;
-pub type X509 = x509_st;
-pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
-extern "C" {
-    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
-}
-extern "C" {
-    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
-}
-extern "C" {
-    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
-}
-extern "C" {
-    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_aead_ctx_st {
-    pub aead: *const EVP_AEAD,
-    pub aead_state: *mut ::std::os::raw::c_void,
-    pub tag_len: u8,
-}
-#[test]
-fn bindgen_test_layout_evp_aead_ctx_st() {
-    assert_eq!(
-        ::std::mem::size_of::<evp_aead_ctx_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(evp_aead_ctx_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<evp_aead_ctx_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(evp_aead_ctx_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_aead_ctx_st>())).aead as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_aead_ctx_st),
-            "::",
-            stringify!(aead)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_aead_ctx_st>())).aead_state as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_aead_ctx_st),
-            "::",
-            stringify!(aead_state)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_aead_ctx_st>())).tag_len as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_aead_ctx_st),
-            "::",
-            stringify!(tag_len)
-        )
-    );
-}
-pub type EVP_AEAD_CTX = evp_aead_ctx_st;
-extern "C" {
-    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_new(
-        aead: *const EVP_AEAD,
-        key: *const u8,
-        key_len: usize,
-        tag_len: usize,
-    ) -> *mut EVP_AEAD_CTX;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_init(
-        ctx: *mut EVP_AEAD_CTX,
-        aead: *const EVP_AEAD,
-        key: *const u8,
-        key_len: usize,
-        tag_len: usize,
-        impl_: *mut ENGINE,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_seal(
-        ctx: *const EVP_AEAD_CTX,
-        out: *mut u8,
-        out_len: *mut usize,
-        max_out_len: usize,
-        nonce: *const u8,
-        nonce_len: usize,
-        in_: *const u8,
-        in_len: usize,
-        ad: *const u8,
-        ad_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_open(
-        ctx: *const EVP_AEAD_CTX,
-        out: *mut u8,
-        out_len: *mut usize,
-        max_out_len: usize,
-        nonce: *const u8,
-        nonce_len: usize,
-        in_: *const u8,
-        in_len: usize,
-        ad: *const u8,
-        ad_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_seal_scatter(
-        ctx: *const EVP_AEAD_CTX,
-        out: *mut u8,
-        out_tag: *mut u8,
-        out_tag_len: *mut usize,
-        max_out_tag_len: usize,
-        nonce: *const u8,
-        nonce_len: usize,
-        in_: *const u8,
-        in_len: usize,
-        extra_in: *const u8,
-        extra_in_len: usize,
-        ad: *const u8,
-        ad_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_open_gather(
-        ctx: *const EVP_AEAD_CTX,
-        out: *mut u8,
-        nonce: *const u8,
-        nonce_len: usize,
-        in_: *const u8,
-        in_len: usize,
-        in_tag: *const u8,
-        in_tag_len: usize,
-        ad: *const u8,
-        ad_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_cbc_sha256_tls() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
-}
-extern "C" {
-    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
-}
-pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
-pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
-pub type evp_aead_direction_t = u32;
-extern "C" {
-    pub fn EVP_AEAD_CTX_init_with_direction(
-        ctx: *mut EVP_AEAD_CTX,
-        aead: *const EVP_AEAD,
-        key: *const u8,
-        key_len: usize,
-        tag_len: usize,
-        dir: evp_aead_direction_t,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_get_iv(
-        ctx: *const EVP_AEAD_CTX,
-        out_iv: *mut *const u8,
-        out_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_AEAD_CTX_tag_len(
-        ctx: *const EVP_AEAD_CTX,
-        out_tag_len: *mut usize,
-        in_len: usize,
-        extra_in_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-pub type va_list = __darwin_va_list;
-pub type fpos_t = __darwin_off_t;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sbuf {
-    pub _base: *mut ::std::os::raw::c_uchar,
-    pub _size: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout___sbuf() {
-    assert_eq!(
-        ::std::mem::size_of::<__sbuf>(),
-        16usize,
-        concat!("Size of: ", stringify!(__sbuf))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<__sbuf>(),
-        8usize,
-        concat!("Alignment of ", stringify!(__sbuf))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sbuf>()))._base as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sbuf),
-            "::",
-            stringify!(_base)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sbuf>()))._size as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sbuf),
-            "::",
-            stringify!(_size)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sFILEX {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sFILE {
-    pub _p: *mut ::std::os::raw::c_uchar,
-    pub _r: ::std::os::raw::c_int,
-    pub _w: ::std::os::raw::c_int,
-    pub _flags: ::std::os::raw::c_short,
-    pub _file: ::std::os::raw::c_short,
-    pub _bf: __sbuf,
-    pub _lbfsize: ::std::os::raw::c_int,
-    pub _cookie: *mut ::std::os::raw::c_void,
-    pub _close: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
-    >,
-    pub _read: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            arg2: *mut ::std::os::raw::c_char,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub _seek: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            arg2: fpos_t,
-            arg3: ::std::os::raw::c_int,
-        ) -> fpos_t,
-    >,
-    pub _write: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut ::std::os::raw::c_void,
-            arg2: *const ::std::os::raw::c_char,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub _ub: __sbuf,
-    pub _extra: *mut __sFILEX,
-    pub _ur: ::std::os::raw::c_int,
-    pub _ubuf: [::std::os::raw::c_uchar; 3usize],
-    pub _nbuf: [::std::os::raw::c_uchar; 1usize],
-    pub _lb: __sbuf,
-    pub _blksize: ::std::os::raw::c_int,
-    pub _offset: fpos_t,
-}
-#[test]
-fn bindgen_test_layout___sFILE() {
-    assert_eq!(
-        ::std::mem::size_of::<__sFILE>(),
-        152usize,
-        concat!("Size of: ", stringify!(__sFILE))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<__sFILE>(),
-        8usize,
-        concat!("Alignment of ", stringify!(__sFILE))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._p as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_p)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._r as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_r)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._w as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_w)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._flags as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._file as *const _ as usize },
-        18usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_file)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._bf as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_bf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._lbfsize as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_lbfsize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._cookie as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_cookie)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._close as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_close)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._read as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_read)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._seek as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_seek)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._write as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_write)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._ub as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_ub)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._extra as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_extra)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._ur as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_ur)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._ubuf as *const _ as usize },
-        116usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_ubuf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._nbuf as *const _ as usize },
-        119usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_nbuf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._lb as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_lb)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._blksize as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_blksize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__sFILE>()))._offset as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__sFILE),
-            "::",
-            stringify!(_offset)
-        )
-    );
-}
-pub type FILE = __sFILE;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct buf_mem_st {
-    pub length: usize,
-    pub data: *mut ::std::os::raw::c_char,
-    pub max: usize,
-}
-#[test]
-fn bindgen_test_layout_buf_mem_st() {
-    assert_eq!(
-        ::std::mem::size_of::<buf_mem_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(buf_mem_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<buf_mem_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(buf_mem_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<buf_mem_st>())).length as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(buf_mem_st),
-            "::",
-            stringify!(length)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<buf_mem_st>())).data as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(buf_mem_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<buf_mem_st>())).max as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(buf_mem_st),
-            "::",
-            stringify!(max)
-        )
-    );
-}
-extern "C" {
-    pub fn ERR_load_BIO_strings();
-}
-extern "C" {
-    pub fn ERR_load_ERR_strings();
-}
-extern "C" {
-    pub fn ERR_load_crypto_strings();
-}
-extern "C" {
-    pub fn ERR_load_RAND_strings();
-}
-extern "C" {
-    pub fn ERR_free_strings();
-}
-extern "C" {
-    pub fn ERR_get_error() -> u32;
-}
-extern "C" {
-    pub fn ERR_get_error_line(
-        file: *mut *const ::std::os::raw::c_char,
-        line: *mut ::std::os::raw::c_int,
-    ) -> u32;
-}
-extern "C" {
-    pub fn ERR_get_error_line_data(
-        file: *mut *const ::std::os::raw::c_char,
-        line: *mut ::std::os::raw::c_int,
-        data: *mut *const ::std::os::raw::c_char,
-        flags: *mut ::std::os::raw::c_int,
-    ) -> u32;
-}
-extern "C" {
-    pub fn ERR_peek_error() -> u32;
-}
-extern "C" {
-    pub fn ERR_peek_error_line(
-        file: *mut *const ::std::os::raw::c_char,
-        line: *mut ::std::os::raw::c_int,
-    ) -> u32;
-}
-extern "C" {
-    pub fn ERR_peek_error_line_data(
-        file: *mut *const ::std::os::raw::c_char,
-        line: *mut ::std::os::raw::c_int,
-        data: *mut *const ::std::os::raw::c_char,
-        flags: *mut ::std::os::raw::c_int,
-    ) -> u32;
-}
-extern "C" {
-    pub fn ERR_peek_last_error() -> u32;
-}
-extern "C" {
-    pub fn ERR_peek_last_error_line(
-        file: *mut *const ::std::os::raw::c_char,
-        line: *mut ::std::os::raw::c_int,
-    ) -> u32;
-}
-extern "C" {
-    pub fn ERR_peek_last_error_line_data(
-        file: *mut *const ::std::os::raw::c_char,
-        line: *mut ::std::os::raw::c_int,
-        data: *mut *const ::std::os::raw::c_char,
-        flags: *mut ::std::os::raw::c_int,
-    ) -> u32;
-}
-extern "C" {
-    pub fn ERR_error_string_n(packed_error: u32, buf: *mut ::std::os::raw::c_char, len: usize);
-}
-extern "C" {
-    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
-}
-pub type ERR_print_errors_callback_t = ::std::option::Option<
-    unsafe extern "C" fn(
-        str: *const ::std::os::raw::c_char,
-        len: usize,
-        ctx: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int,
->;
-extern "C" {
-    pub fn ERR_print_errors_cb(
-        callback: ERR_print_errors_callback_t,
-        ctx: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn ERR_print_errors_fp(file: *mut FILE);
-}
-extern "C" {
-    pub fn ERR_clear_error();
-}
-extern "C" {
-    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
-}
-pub const ERR_LIB_NONE: _bindgen_ty_1 = 1;
-pub const ERR_LIB_SYS: _bindgen_ty_1 = 2;
-pub const ERR_LIB_BN: _bindgen_ty_1 = 3;
-pub const ERR_LIB_RSA: _bindgen_ty_1 = 4;
-pub const ERR_LIB_DH: _bindgen_ty_1 = 5;
-pub const ERR_LIB_EVP: _bindgen_ty_1 = 6;
-pub const ERR_LIB_BUF: _bindgen_ty_1 = 7;
-pub const ERR_LIB_OBJ: _bindgen_ty_1 = 8;
-pub const ERR_LIB_PEM: _bindgen_ty_1 = 9;
-pub const ERR_LIB_DSA: _bindgen_ty_1 = 10;
-pub const ERR_LIB_X509: _bindgen_ty_1 = 11;
-pub const ERR_LIB_ASN1: _bindgen_ty_1 = 12;
-pub const ERR_LIB_CONF: _bindgen_ty_1 = 13;
-pub const ERR_LIB_CRYPTO: _bindgen_ty_1 = 14;
-pub const ERR_LIB_EC: _bindgen_ty_1 = 15;
-pub const ERR_LIB_SSL: _bindgen_ty_1 = 16;
-pub const ERR_LIB_BIO: _bindgen_ty_1 = 17;
-pub const ERR_LIB_PKCS7: _bindgen_ty_1 = 18;
-pub const ERR_LIB_PKCS8: _bindgen_ty_1 = 19;
-pub const ERR_LIB_X509V3: _bindgen_ty_1 = 20;
-pub const ERR_LIB_RAND: _bindgen_ty_1 = 21;
-pub const ERR_LIB_ENGINE: _bindgen_ty_1 = 22;
-pub const ERR_LIB_OCSP: _bindgen_ty_1 = 23;
-pub const ERR_LIB_UI: _bindgen_ty_1 = 24;
-pub const ERR_LIB_COMP: _bindgen_ty_1 = 25;
-pub const ERR_LIB_ECDSA: _bindgen_ty_1 = 26;
-pub const ERR_LIB_ECDH: _bindgen_ty_1 = 27;
-pub const ERR_LIB_HMAC: _bindgen_ty_1 = 28;
-pub const ERR_LIB_DIGEST: _bindgen_ty_1 = 29;
-pub const ERR_LIB_CIPHER: _bindgen_ty_1 = 30;
-pub const ERR_LIB_HKDF: _bindgen_ty_1 = 31;
-pub const ERR_LIB_USER: _bindgen_ty_1 = 32;
-pub const ERR_NUM_LIBS: _bindgen_ty_1 = 33;
-pub type _bindgen_ty_1 = u32;
-extern "C" {
-    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
-}
-extern "C" {
-    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
-}
-extern "C" {
-    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn ERR_error_string(
-        packed_error: u32,
-        buf: *mut ::std::os::raw::c_char,
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn ERR_clear_system_error();
-}
-extern "C" {
-    pub fn ERR_put_error(
-        library: ::std::os::raw::c_int,
-        unused: ::std::os::raw::c_int,
-        reason: ::std::os::raw::c_int,
-        file: *const ::std::os::raw::c_char,
-        line: ::std::os::raw::c_uint,
-    );
-}
-extern "C" {
-    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
-}
-extern "C" {
-    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
-}
-pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_void {
-    _unused: [u8; 0],
-}
-pub type CRYPTO_EX_DATA = crypto_ex_data_st;
-pub type CRYPTO_EX_free = ::std::option::Option<
-    unsafe extern "C" fn(
-        parent: *mut ::std::os::raw::c_void,
-        ptr: *mut ::std::os::raw::c_void,
-        ad: *mut CRYPTO_EX_DATA,
-        index: ::std::os::raw::c_int,
-        argl: ::std::os::raw::c_long,
-        argp: *mut ::std::os::raw::c_void,
-    ),
->;
-extern "C" {
-    pub fn CRYPTO_cleanup_all_ex_data();
-}
-pub type CRYPTO_EX_dup = ::std::option::Option<
-    unsafe extern "C" fn(
-        to: *mut CRYPTO_EX_DATA,
-        from: *const CRYPTO_EX_DATA,
-        from_d: *mut *mut ::std::os::raw::c_void,
-        index: ::std::os::raw::c_int,
-        argl: ::std::os::raw::c_long,
-        argp: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int,
->;
-pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct crypto_ex_data_st {
-    pub sk: *mut stack_st_void,
-}
-#[test]
-fn bindgen_test_layout_crypto_ex_data_st() {
-    assert_eq!(
-        ::std::mem::size_of::<crypto_ex_data_st>(),
-        8usize,
-        concat!("Size of: ", stringify!(crypto_ex_data_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<crypto_ex_data_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(crypto_ex_data_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<crypto_ex_data_st>())).sk as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(crypto_ex_data_st),
-            "::",
-            stringify!(sk)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union crypto_mutex_st {
-    pub alignment: f64,
-    pub padding: [u8; 56usize],
-    _bindgen_union_align: [u64; 7usize],
-}
-#[test]
-fn bindgen_test_layout_crypto_mutex_st() {
-    assert_eq!(
-        ::std::mem::size_of::<crypto_mutex_st>(),
-        56usize,
-        concat!("Size of: ", stringify!(crypto_mutex_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<crypto_mutex_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(crypto_mutex_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<crypto_mutex_st>())).alignment as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(crypto_mutex_st),
-            "::",
-            stringify!(alignment)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<crypto_mutex_st>())).padding as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(crypto_mutex_st),
-            "::",
-            stringify!(padding)
-        )
-    );
-}
-pub type CRYPTO_MUTEX = crypto_mutex_st;
-pub type CRYPTO_refcount_t = u32;
-extern "C" {
-    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CRYPTO_set_locking_callback(
-        func: ::std::option::Option<
-            unsafe extern "C" fn(
-                mode: ::std::os::raw::c_int,
-                lock_num: ::std::os::raw::c_int,
-                file: *const ::std::os::raw::c_char,
-                line: ::std::os::raw::c_int,
-            ),
-        >,
-    );
-}
-extern "C" {
-    pub fn CRYPTO_set_add_lock_callback(
-        func: ::std::option::Option<
-            unsafe extern "C" fn(
-                num: *mut ::std::os::raw::c_int,
-                amount: ::std::os::raw::c_int,
-                lock_num: ::std::os::raw::c_int,
-                file: *const ::std::os::raw::c_char,
-                line: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-    );
-}
-extern "C" {
-    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<unsafe extern "C" fn()>;
-}
-extern "C" {
-    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn CRYPTO_THREADID_set_callback(
-        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
-}
-extern "C" {
-    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
-}
-extern "C" {
-    pub fn CRYPTO_set_id_callback(
-        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct CRYPTO_dynlock {
-    pub references: ::std::os::raw::c_int,
-    pub data: *mut CRYPTO_dynlock_value,
-}
-#[test]
-fn bindgen_test_layout_CRYPTO_dynlock() {
-    assert_eq!(
-        ::std::mem::size_of::<CRYPTO_dynlock>(),
-        16usize,
-        concat!("Size of: ", stringify!(CRYPTO_dynlock))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<CRYPTO_dynlock>(),
-        8usize,
-        concat!("Alignment of ", stringify!(CRYPTO_dynlock))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<CRYPTO_dynlock>())).references as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(CRYPTO_dynlock),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<CRYPTO_dynlock>())).data as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(CRYPTO_dynlock),
-            "::",
-            stringify!(data)
-        )
-    );
-}
-extern "C" {
-    pub fn CRYPTO_set_dynlock_create_callback(
-        dyn_create_function: ::std::option::Option<
-            unsafe extern "C" fn(file: *const ::std::os::raw::c_char, line: ::std::os::raw::c_int)
-                -> *mut CRYPTO_dynlock_value,
-        >,
-    );
-}
-extern "C" {
-    pub fn CRYPTO_set_dynlock_lock_callback(
-        dyn_lock_function: ::std::option::Option<
-            unsafe extern "C" fn(
-                mode: ::std::os::raw::c_int,
-                l: *mut CRYPTO_dynlock_value,
-                file: *const ::std::os::raw::c_char,
-                line: ::std::os::raw::c_int,
-            ),
-        >,
-    );
-}
-extern "C" {
-    pub fn CRYPTO_set_dynlock_destroy_callback(
-        dyn_destroy_function: ::std::option::Option<
-            unsafe extern "C" fn(
-                l: *mut CRYPTO_dynlock_value,
-                file: *const ::std::os::raw::c_char,
-                line: ::std::os::raw::c_int,
-            ),
-        >,
-    );
-}
-extern "C" {
-    pub fn CRYPTO_get_dynlock_create_callback(
-) -> ::std::option::Option<unsafe extern "C" fn() -> *mut CRYPTO_dynlock_value>;
-}
-extern "C" {
-    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<unsafe extern "C" fn()>;
-}
-extern "C" {
-    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<unsafe extern "C" fn()>;
-}
-extern "C" {
-    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_vfree(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_read(
-        bio: *mut BIO,
-        data: *mut ::std::os::raw::c_void,
-        len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_gets(
-        bio: *mut BIO,
-        buf: *mut ::std::os::raw::c_char,
-        size: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_write(
-        bio: *mut BIO,
-        data: *const ::std::os::raw::c_void,
-        len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_ctrl(
-        bio: *mut BIO,
-        cmd: ::std::os::raw::c_int,
-        larg: ::std::os::raw::c_long,
-        parg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_long;
-}
-extern "C" {
-    pub fn BIO_ptr_ctrl(
-        bp: *mut BIO,
-        cmd: ::std::os::raw::c_int,
-        larg: ::std::os::raw::c_long,
-    ) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn BIO_int_ctrl(
-        bp: *mut BIO,
-        cmd: ::std::os::raw::c_int,
-        larg: ::std::os::raw::c_long,
-        iarg: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_long;
-}
-extern "C" {
-    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn BIO_set_retry_read(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_set_retry_write(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_clear_retry_flags(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
-}
-pub type bio_info_cb = ::std::option::Option<
-    unsafe extern "C" fn(
-        bio: *mut BIO,
-        event: ::std::os::raw::c_int,
-        parg: *const ::std::os::raw::c_char,
-        cmd: ::std::os::raw::c_int,
-        larg: ::std::os::raw::c_long,
-        return_value: ::std::os::raw::c_long,
-    ) -> ::std::os::raw::c_long,
->;
-extern "C" {
-    pub fn BIO_callback_ctrl(
-        bio: *mut BIO,
-        cmd: ::std::os::raw::c_int,
-        fp: bio_info_cb,
-    ) -> ::std::os::raw::c_long;
-}
-extern "C" {
-    pub fn BIO_pending(bio: *const BIO) -> usize;
-}
-extern "C" {
-    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
-}
-extern "C" {
-    pub fn BIO_wpending(bio: *const BIO) -> usize;
-}
-extern "C" {
-    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
-        -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_number_read(bio: *const BIO) -> usize;
-}
-extern "C" {
-    pub fn BIO_number_written(bio: *const BIO) -> usize;
-}
-extern "C" {
-    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_free_all(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_copy_next_retry(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_printf(
-        bio: *mut BIO,
-        format: *const ::std::os::raw::c_char,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_indent(
-        bio: *mut BIO,
-        indent: ::std::os::raw::c_uint,
-        max_indent: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_hexdump(
-        bio: *mut BIO,
-        data: *const u8,
-        len: usize,
-        indent: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ERR_print_errors(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_read_asn1(
-        bio: *mut BIO,
-        out: *mut *mut u8,
-        out_len: *mut usize,
-        max_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_s_mem() -> *const BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_new_mem_buf(
-        buf: *const ::std::os::raw::c_void,
-        len: ::std::os::raw::c_int,
-    ) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_mem_contents(
-        bio: *const BIO,
-        out_contents: *mut *const u8,
-        out_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_get_mem_data(
-        bio: *mut BIO,
-        contents: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_long;
-}
-extern "C" {
-    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_mem_buf(
-        bio: *mut BIO,
-        b: *mut BUF_MEM,
-        take_ownership: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_mem_eof_return(
-        bio: *mut BIO,
-        eof_value: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_s_fd() -> *const BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_set_fd(
-        bio: *mut BIO,
-        fd: ::std::os::raw::c_int,
-        close_flag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_s_file() -> *const BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_new_file(
-        filename: *const ::std::os::raw::c_char,
-        mode: *const ::std::os::raw::c_char,
-    ) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_fp(
-        bio: *mut BIO,
-        file: *mut FILE,
-        close_flag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_read_filename(
-        bio: *mut BIO,
-        filename: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_write_filename(
-        bio: *mut BIO,
-        filename: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_append_filename(
-        bio: *mut BIO,
-        filename: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_rw_filename(
-        bio: *mut BIO,
-        filename: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_s_socket() -> *const BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
-        -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_s_connect() -> *const BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
-}
-extern "C" {
-    pub fn BIO_set_conn_hostname(
-        bio: *mut BIO,
-        host_and_optional_port: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_conn_port(
-        bio: *mut BIO,
-        port_str: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_conn_int_port(
-        bio: *mut BIO,
-        port: *const ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_new_bio_pair(
-        out1: *mut *mut BIO,
-        writebuf1: usize,
-        out2: *mut *mut BIO,
-        writebuf2: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
-}
-extern "C" {
-    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
-}
-extern "C" {
-    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_meth_new(
-        type_: ::std::os::raw::c_int,
-        name: *const ::std::os::raw::c_char,
-    ) -> *mut BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_meth_free(method: *mut BIO_METHOD);
-}
-extern "C" {
-    pub fn BIO_meth_set_create(
-        method: *mut BIO_METHOD,
-        create: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_meth_set_destroy(
-        method: *mut BIO_METHOD,
-        destroy: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_meth_set_write(
-        method: *mut BIO_METHOD,
-        write: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut BIO,
-                arg2: *const ::std::os::raw::c_char,
-                arg3: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_meth_set_read(
-        method: *mut BIO_METHOD,
-        read: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut BIO,
-                arg2: *mut ::std::os::raw::c_char,
-                arg3: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_meth_set_gets(
-        method: *mut BIO_METHOD,
-        gets: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut BIO,
-                arg2: *mut ::std::os::raw::c_char,
-                arg3: ::std::os::raw::c_int,
-            ) -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_meth_set_ctrl(
-        method: *mut BIO_METHOD,
-        ctrl: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: *mut BIO,
-                arg2: ::std::os::raw::c_int,
-                arg3: ::std::os::raw::c_long,
-                arg4: *mut ::std::os::raw::c_void,
-            ) -> ::std::os::raw::c_long,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_f_base64() -> *const BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_set_retry_special(bio: *mut BIO);
-}
-extern "C" {
-    pub fn BIO_set_write_buffer_size(
-        bio: *mut BIO,
-        buffer_size: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_meth_set_puts(
-        method: *mut BIO_METHOD,
-        puts: ::std::option::Option<
-            unsafe extern "C" fn(arg1: *mut BIO, arg2: *const ::std::os::raw::c_char)
-                -> ::std::os::raw::c_int,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bio_method_st {
-    pub type_: ::std::os::raw::c_int,
-    pub name: *const ::std::os::raw::c_char,
-    pub bwrite: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut BIO,
-            arg2: *const ::std::os::raw::c_char,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub bread: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut BIO,
-            arg2: *mut ::std::os::raw::c_char,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub bputs: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut BIO, arg2: *const ::std::os::raw::c_char)
-            -> ::std::os::raw::c_int,
-    >,
-    pub bgets: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut BIO,
-            arg2: *mut ::std::os::raw::c_char,
-            arg3: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub ctrl: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut BIO,
-            arg2: ::std::os::raw::c_int,
-            arg3: ::std::os::raw::c_long,
-            arg4: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_long,
-    >,
-    pub create:
-        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
-    pub destroy:
-        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
-    pub callback_ctrl: ::std::option::Option<
-        unsafe extern "C" fn(arg1: *mut BIO, arg2: ::std::os::raw::c_int, arg3: bio_info_cb)
-            -> ::std::os::raw::c_long,
-    >,
-}
-#[test]
-fn bindgen_test_layout_bio_method_st() {
-    assert_eq!(
-        ::std::mem::size_of::<bio_method_st>(),
-        80usize,
-        concat!("Size of: ", stringify!(bio_method_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<bio_method_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(bio_method_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).type_ as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(type_)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).name as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(name)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).bwrite as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(bwrite)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).bread as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(bread)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).bputs as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(bputs)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).bgets as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(bgets)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).ctrl as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(ctrl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).create as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(create)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).destroy as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(destroy)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_method_st>())).callback_ctrl as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_method_st),
-            "::",
-            stringify!(callback_ctrl)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bio_st {
-    pub method: *const BIO_METHOD,
-    pub init: ::std::os::raw::c_int,
-    pub shutdown: ::std::os::raw::c_int,
-    pub flags: ::std::os::raw::c_int,
-    pub retry_reason: ::std::os::raw::c_int,
-    pub num: ::std::os::raw::c_int,
-    pub references: CRYPTO_refcount_t,
-    pub ptr: *mut ::std::os::raw::c_void,
-    pub next_bio: *mut BIO,
-    pub num_read: usize,
-    pub num_write: usize,
-}
-#[test]
-fn bindgen_test_layout_bio_st() {
-    assert_eq!(
-        ::std::mem::size_of::<bio_st>(),
-        64usize,
-        concat!("Size of: ", stringify!(bio_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<bio_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(bio_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).method as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(method)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).init as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(init)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).shutdown as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(shutdown)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).flags as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).retry_reason as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(retry_reason)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).num as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(num)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).references as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).ptr as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(ptr)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).next_bio as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(next_bio)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).num_read as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(num_read)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bio_st>())).num_write as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bio_st),
-            "::",
-            stringify!(num_write)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bn_gencb_st {
-    pub arg: *mut ::std::os::raw::c_void,
-    pub callback: ::std::option::Option<
-        unsafe extern "C" fn(
-            event: ::std::os::raw::c_int,
-            n: ::std::os::raw::c_int,
-            arg1: *mut bn_gencb_st,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_bn_gencb_st() {
-    assert_eq!(
-        ::std::mem::size_of::<bn_gencb_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(bn_gencb_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<bn_gencb_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(bn_gencb_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bn_gencb_st>())).arg as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bn_gencb_st),
-            "::",
-            stringify!(arg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bn_gencb_st>())).callback as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bn_gencb_st),
-            "::",
-            stringify!(callback)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bignum_st {
-    pub d: *mut u64,
-    pub width: ::std::os::raw::c_int,
-    pub dmax: ::std::os::raw::c_int,
-    pub neg: ::std::os::raw::c_int,
-    pub flags: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_bignum_st() {
-    assert_eq!(
-        ::std::mem::size_of::<bignum_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(bignum_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<bignum_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(bignum_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bignum_st>())).d as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bignum_st),
-            "::",
-            stringify!(d)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bignum_st>())).width as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bignum_st),
-            "::",
-            stringify!(width)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bignum_st>())).dmax as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bignum_st),
-            "::",
-            stringify!(dmax)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bignum_st>())).neg as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bignum_st),
-            "::",
-            stringify!(neg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bignum_st>())).flags as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bignum_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bn_mont_ctx_st {
-    pub RR: BIGNUM,
-    pub N: BIGNUM,
-    pub n0: [u64; 2usize],
-}
-#[test]
-fn bindgen_test_layout_bn_mont_ctx_st() {
-    assert_eq!(
-        ::std::mem::size_of::<bn_mont_ctx_st>(),
-        64usize,
-        concat!("Size of: ", stringify!(bn_mont_ctx_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<bn_mont_ctx_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(bn_mont_ctx_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bn_mont_ctx_st>())).RR as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bn_mont_ctx_st),
-            "::",
-            stringify!(RR)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bn_mont_ctx_st>())).N as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bn_mont_ctx_st),
-            "::",
-            stringify!(N)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<bn_mont_ctx_st>())).n0 as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(bn_mont_ctx_st),
-            "::",
-            stringify!(n0)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct asn1_object_st {
-    pub sn: *const ::std::os::raw::c_char,
-    pub ln: *const ::std::os::raw::c_char,
-    pub nid: ::std::os::raw::c_int,
-    pub length: ::std::os::raw::c_int,
-    pub data: *const ::std::os::raw::c_uchar,
-    pub flags: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_asn1_object_st() {
-    assert_eq!(
-        ::std::mem::size_of::<asn1_object_st>(),
-        40usize,
-        concat!("Size of: ", stringify!(asn1_object_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<asn1_object_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(asn1_object_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_object_st>())).sn as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_object_st),
-            "::",
-            stringify!(sn)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_object_st>())).ln as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_object_st),
-            "::",
-            stringify!(ln)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_object_st>())).nid as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_object_st),
-            "::",
-            stringify!(nid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_object_st>())).length as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_object_st),
-            "::",
-            stringify!(length)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_object_st>())).data as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_object_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_object_st>())).flags as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_object_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_ASN1_OBJECT {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct asn1_string_st {
-    pub length: ::std::os::raw::c_int,
-    pub type_: ::std::os::raw::c_int,
-    pub data: *mut ::std::os::raw::c_uchar,
-    pub flags: ::std::os::raw::c_long,
-}
-#[test]
-fn bindgen_test_layout_asn1_string_st() {
-    assert_eq!(
-        ::std::mem::size_of::<asn1_string_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(asn1_string_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<asn1_string_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(asn1_string_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_st>())).length as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_st),
-            "::",
-            stringify!(length)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_st>())).type_ as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_st),
-            "::",
-            stringify!(type_)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_st>())).data as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_st>())).flags as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_ENCODING_st {
-    pub enc: *mut ::std::os::raw::c_uchar,
-    pub len: ::std::os::raw::c_long,
-    pub modified: ::std::os::raw::c_int,
-    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
-    pub __bindgen_padding_0: [u8; 3usize],
-}
-#[test]
-fn bindgen_test_layout_ASN1_ENCODING_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_ENCODING_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(ASN1_ENCODING_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_ENCODING_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_ENCODING_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ENCODING_st>())).enc as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ENCODING_st),
-            "::",
-            stringify!(enc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ENCODING_st>())).len as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ENCODING_st),
-            "::",
-            stringify!(len)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ENCODING_st>())).modified as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ENCODING_st),
-            "::",
-            stringify!(modified)
-        )
-    );
-}
-impl ASN1_ENCODING_st {
-    #[inline]
-    pub fn alias_only(&self) -> ::std::os::raw::c_uint {
-        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
-    }
-    #[inline]
-    pub fn set_alias_only(&mut self, val: ::std::os::raw::c_uint) {
-        unsafe {
-            let val: u32 = ::std::mem::transmute(val);
-            self._bitfield_1.set(0usize, 1u8, val as u64)
-        }
-    }
-    #[inline]
-    pub fn alias_only_on_next_parse(&self) -> ::std::os::raw::c_uint {
-        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
-    }
-    #[inline]
-    pub fn set_alias_only_on_next_parse(&mut self, val: ::std::os::raw::c_uint) {
-        unsafe {
-            let val: u32 = ::std::mem::transmute(val);
-            self._bitfield_1.set(1usize, 1u8, val as u64)
-        }
-    }
-    #[inline]
-    pub fn new_bitfield_1(
-        alias_only: ::std::os::raw::c_uint,
-        alias_only_on_next_parse: ::std::os::raw::c_uint,
-    ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
-        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
-            Default::default();
-        __bindgen_bitfield_unit.set(0usize, 1u8, {
-            let alias_only: u32 = unsafe { ::std::mem::transmute(alias_only) };
-            alias_only as u64
-        });
-        __bindgen_bitfield_unit.set(1usize, 1u8, {
-            let alias_only_on_next_parse: u32 =
-                unsafe { ::std::mem::transmute(alias_only_on_next_parse) };
-            alias_only_on_next_parse as u64
-        });
-        __bindgen_bitfield_unit
-    }
-}
-pub type ASN1_ENCODING = ASN1_ENCODING_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct asn1_string_table_st {
-    pub nid: ::std::os::raw::c_int,
-    pub minsize: ::std::os::raw::c_long,
-    pub maxsize: ::std::os::raw::c_long,
-    pub mask: ::std::os::raw::c_ulong,
-    pub flags: ::std::os::raw::c_ulong,
-}
-#[test]
-fn bindgen_test_layout_asn1_string_table_st() {
-    assert_eq!(
-        ::std::mem::size_of::<asn1_string_table_st>(),
-        40usize,
-        concat!("Size of: ", stringify!(asn1_string_table_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<asn1_string_table_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(asn1_string_table_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_table_st>())).nid as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_table_st),
-            "::",
-            stringify!(nid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_table_st>())).minsize as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_table_st),
-            "::",
-            stringify!(minsize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_table_st>())).maxsize as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_table_st),
-            "::",
-            stringify!(maxsize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_table_st>())).mask as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_table_st),
-            "::",
-            stringify!(mask)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_string_table_st>())).flags as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_string_table_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-}
-pub type ASN1_STRING_TABLE = asn1_string_table_st;
-pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
-pub type ASN1_TLC = ASN1_TLC_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_VALUE_st {
-    _unused: [u8; 0],
-}
-pub type ASN1_VALUE = ASN1_VALUE_st;
-pub type d2i_of_void = ::std::option::Option<
-    unsafe extern "C" fn(
-        arg1: *mut *mut ::std::os::raw::c_void,
-        arg2: *mut *const ::std::os::raw::c_uchar,
-        arg3: ::std::os::raw::c_long,
-    ) -> *mut ::std::os::raw::c_void,
->;
-pub type i2d_of_void = ::std::option::Option<
-    unsafe extern "C" fn(
-        arg1: *const ::std::os::raw::c_void,
-        arg2: *mut *mut ::std::os::raw::c_uchar,
-    ) -> ::std::os::raw::c_int,
->;
-pub type ASN1_ITEM_EXP = ASN1_ITEM;
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct asn1_type_st {
-    pub type_: ::std::os::raw::c_int,
-    pub value: asn1_type_st__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union asn1_type_st__bindgen_ty_1 {
-    pub ptr: *mut ::std::os::raw::c_char,
-    pub boolean: ASN1_BOOLEAN,
-    pub asn1_string: *mut ASN1_STRING,
-    pub object: *mut ASN1_OBJECT,
-    pub integer: *mut ASN1_INTEGER,
-    pub enumerated: *mut ASN1_ENUMERATED,
-    pub bit_string: *mut ASN1_BIT_STRING,
-    pub octet_string: *mut ASN1_OCTET_STRING,
-    pub printablestring: *mut ASN1_PRINTABLESTRING,
-    pub t61string: *mut ASN1_T61STRING,
-    pub ia5string: *mut ASN1_IA5STRING,
-    pub generalstring: *mut ASN1_GENERALSTRING,
-    pub bmpstring: *mut ASN1_BMPSTRING,
-    pub universalstring: *mut ASN1_UNIVERSALSTRING,
-    pub utctime: *mut ASN1_UTCTIME,
-    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
-    pub visiblestring: *mut ASN1_VISIBLESTRING,
-    pub utf8string: *mut ASN1_UTF8STRING,
-    pub set: *mut ASN1_STRING,
-    pub sequence: *mut ASN1_STRING,
-    pub asn1_value: *mut ASN1_VALUE,
-    _bindgen_union_align: u64,
-}
-#[test]
-fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
-    assert_eq!(
-        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
-        8usize,
-        concat!("Size of: ", stringify!(asn1_type_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
-        8usize,
-        concat!("Alignment of ", stringify!(asn1_type_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).ptr as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(ptr)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).boolean as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(boolean)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).asn1_string as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(asn1_string)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).object as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(object)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).integer as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(integer)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).enumerated as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(enumerated)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).bit_string as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(bit_string)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).octet_string as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(octet_string)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).printablestring as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(printablestring)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).t61string as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(t61string)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).ia5string as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(ia5string)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).generalstring as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(generalstring)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).bmpstring as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(bmpstring)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).universalstring as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(universalstring)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).utctime as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(utctime)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).generalizedtime as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(generalizedtime)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).visiblestring as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(visiblestring)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).utf8string as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(utf8string)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).set as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(set)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).sequence as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(sequence)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<asn1_type_st__bindgen_ty_1>())).asn1_value as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st__bindgen_ty_1),
-            "::",
-            stringify!(asn1_value)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_asn1_type_st() {
-    assert_eq!(
-        ::std::mem::size_of::<asn1_type_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(asn1_type_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<asn1_type_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(asn1_type_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_type_st>())).type_ as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st),
-            "::",
-            stringify!(type_)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<asn1_type_st>())).value as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(asn1_type_st),
-            "::",
-            stringify!(value)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_ASN1_TYPE {
-    _unused: [u8; 0],
-}
-pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
-extern "C" {
-    #[link_name = "\u{1}ASN1_SEQUENCE_ANY_it"]
-    pub static mut ASN1_SEQUENCE_ANY_it: ASN1_ITEM;
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_SET_ANY_it"]
-    pub static mut ASN1_SET_ANY_it: ASN1_ITEM;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_algor_st {
-    pub algorithm: *mut ASN1_OBJECT,
-    pub parameter: *mut ASN1_TYPE,
-}
-#[test]
-fn bindgen_test_layout_X509_algor_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_algor_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(X509_algor_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_algor_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_algor_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_algor_st>())).algorithm as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_algor_st),
-            "::",
-            stringify!(algorithm)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_algor_st>())).parameter as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_algor_st),
-            "::",
-            stringify!(parameter)
-        )
-    );
-}
-extern "C" {
-    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
-}
-extern "C" {
-    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_ANY_it"]
-    pub static mut ASN1_ANY_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_TYPE_get(a: *mut ASN1_TYPE) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_TYPE_set(
-        a: *mut ASN1_TYPE,
-        type_: ::std::os::raw::c_int,
-        value: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn ASN1_TYPE_set1(
-        a: *mut ASN1_TYPE,
-        type_: ::std::os::raw::c_int,
-        value: *const ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_OBJECT_new() -> *mut ASN1_OBJECT;
-}
-extern "C" {
-    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_OBJECT_it"]
-    pub static mut ASN1_OBJECT_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
-}
-extern "C" {
-    pub fn ASN1_STRING_free(a: *mut ASN1_STRING);
-}
-extern "C" {
-    pub fn ASN1_STRING_copy(
-        dst: *mut ASN1_STRING,
-        str: *const ASN1_STRING,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_dup(a: *const ASN1_STRING) -> *mut ASN1_STRING;
-}
-extern "C" {
-    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
-}
-extern "C" {
-    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_set(
-        str: *mut ASN1_STRING,
-        data: *const ::std::os::raw::c_void,
-        len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_set0(
-        str: *mut ASN1_STRING,
-        data: *mut ::std::os::raw::c_void,
-        len: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn ASN1_STRING_length(x: *const ASN1_STRING) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_length_set(x: *mut ASN1_STRING, n: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn ASN1_STRING_type(x: *mut ASN1_STRING) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_data(x: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn ASN1_STRING_get0_data(x: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
-}
-extern "C" {
-    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
-}
-extern "C" {
-    pub fn ASN1_BIT_STRING_free(a: *mut ASN1_BIT_STRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_BIT_STRING_it"]
-    pub static mut ASN1_BIT_STRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_BIT_STRING_set(
-        a: *mut ASN1_BIT_STRING,
-        d: *mut ::std::os::raw::c_uchar,
-        length: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_BIT_STRING_set_bit(
-        a: *mut ASN1_BIT_STRING,
-        n: ::std::os::raw::c_int,
-        value: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_BIT_STRING_get_bit(
-        a: *mut ASN1_BIT_STRING,
-        n: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_BIT_STRING_check(
-        a: *mut ASN1_BIT_STRING,
-        flags: *mut ::std::os::raw::c_uchar,
-        flags_len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_free(a: *mut ASN1_INTEGER);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_INTEGER_it"]
-    pub static mut ASN1_INTEGER_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_cmp(
-        x: *const ASN1_INTEGER,
-        y: *const ASN1_INTEGER,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
-}
-extern "C" {
-    pub fn ASN1_ENUMERATED_free(a: *mut ASN1_ENUMERATED);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_ENUMERATED_it"]
-    pub static mut ASN1_ENUMERATED_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, t: time_t) -> *mut ASN1_UTCTIME;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_adj(
-        s: *mut ASN1_UTCTIME,
-        t: time_t,
-        offset_day: ::std::os::raw::c_int,
-        offset_sec: ::std::os::raw::c_long,
-    ) -> *mut ASN1_UTCTIME;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_set_string(
-        s: *mut ASN1_UTCTIME,
-        str: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_GENERALIZEDTIME_set(
-        s: *mut ASN1_GENERALIZEDTIME,
-        t: time_t,
-    ) -> *mut ASN1_GENERALIZEDTIME;
-}
-extern "C" {
-    pub fn ASN1_GENERALIZEDTIME_adj(
-        s: *mut ASN1_GENERALIZEDTIME,
-        t: time_t,
-        offset_day: ::std::os::raw::c_int,
-        offset_sec: ::std::os::raw::c_long,
-    ) -> *mut ASN1_GENERALIZEDTIME;
-}
-extern "C" {
-    pub fn ASN1_GENERALIZEDTIME_set_string(
-        s: *mut ASN1_GENERALIZEDTIME,
-        str: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_TIME_diff(
-        pday: *mut ::std::os::raw::c_int,
-        psec: *mut ::std::os::raw::c_int,
-        from: *const ASN1_TIME,
-        to: *const ASN1_TIME,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
-}
-extern "C" {
-    pub fn ASN1_OCTET_STRING_free(a: *mut ASN1_OCTET_STRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_OCTET_STRING_it"]
-    pub static mut ASN1_OCTET_STRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
-}
-extern "C" {
-    pub fn ASN1_OCTET_STRING_cmp(
-        a: *const ASN1_OCTET_STRING,
-        b: *const ASN1_OCTET_STRING,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_OCTET_STRING_set(
-        str: *mut ASN1_OCTET_STRING,
-        data: *const ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
-}
-extern "C" {
-    pub fn ASN1_VISIBLESTRING_free(a: *mut ASN1_VISIBLESTRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_VISIBLESTRING_it"]
-    pub static mut ASN1_VISIBLESTRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
-}
-extern "C" {
-    pub fn ASN1_UNIVERSALSTRING_free(a: *mut ASN1_UNIVERSALSTRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_UNIVERSALSTRING_it"]
-    pub static mut ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
-}
-extern "C" {
-    pub fn ASN1_UTF8STRING_free(a: *mut ASN1_UTF8STRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_UTF8STRING_it"]
-    pub static mut ASN1_UTF8STRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
-}
-extern "C" {
-    pub fn ASN1_NULL_free(a: *mut ASN1_NULL);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_NULL_it"]
-    pub static mut ASN1_NULL_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
-}
-extern "C" {
-    pub fn ASN1_BMPSTRING_free(a: *mut ASN1_BMPSTRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_BMPSTRING_it"]
-    pub static mut ASN1_BMPSTRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
-}
-extern "C" {
-    pub fn ASN1_PRINTABLE_free(a: *mut ASN1_STRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_PRINTABLE_it"]
-    pub static mut ASN1_PRINTABLE_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
-}
-extern "C" {
-    pub fn ASN1_PRINTABLESTRING_free(a: *mut ASN1_PRINTABLESTRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_PRINTABLESTRING_it"]
-    pub static mut ASN1_PRINTABLESTRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
-}
-extern "C" {
-    pub fn ASN1_T61STRING_free(a: *mut ASN1_T61STRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_T61STRING_it"]
-    pub static mut ASN1_T61STRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
-}
-extern "C" {
-    pub fn ASN1_IA5STRING_free(a: *mut ASN1_IA5STRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_IA5STRING_it"]
-    pub static mut ASN1_IA5STRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
-}
-extern "C" {
-    pub fn ASN1_GENERALSTRING_free(a: *mut ASN1_GENERALSTRING);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_GENERALSTRING_it"]
-    pub static mut ASN1_GENERALSTRING_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_free(a: *mut ASN1_UTCTIME);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_UTCTIME_it"]
-    pub static mut ASN1_UTCTIME_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
-}
-extern "C" {
-    pub fn ASN1_GENERALIZEDTIME_free(a: *mut ASN1_GENERALIZEDTIME);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_GENERALIZEDTIME_it"]
-    pub static mut ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
-}
-extern "C" {
-    pub fn ASN1_TIME_free(a: *mut ASN1_TIME);
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_TIME_it"]
-    pub static mut ASN1_TIME_it: ASN1_ITEM;
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_OCTET_STRING_NDEF_it"]
-    pub static mut ASN1_OCTET_STRING_NDEF_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, t: time_t) -> *mut ASN1_TIME;
-}
-extern "C" {
-    pub fn ASN1_TIME_adj(
-        s: *mut ASN1_TIME,
-        t: time_t,
-        offset_day: ::std::os::raw::c_int,
-        offset_sec: ::std::os::raw::c_long,
-    ) -> *mut ASN1_TIME;
-}
-extern "C" {
-    pub fn ASN1_TIME_check(t: *mut ASN1_TIME) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_TIME_to_generalizedtime(
-        t: *mut ASN1_TIME,
-        out: *mut *mut ASN1_GENERALIZEDTIME,
-    ) -> *mut ASN1_GENERALIZEDTIME;
-}
-extern "C" {
-    pub fn ASN1_TIME_set_string(
-        s: *mut ASN1_TIME,
-        str: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_OBJECT_create(
-        nid: ::std::os::raw::c_int,
-        data: *mut ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_int,
-        sn: *const ::std::os::raw::c_char,
-        ln: *const ::std::os::raw::c_char,
-    ) -> *mut ASN1_OBJECT;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_set(
-        a: *mut ASN1_INTEGER,
-        v: ::std::os::raw::c_long,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
-}
-extern "C" {
-    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
-}
-extern "C" {
-    pub fn ASN1_ENUMERATED_set(
-        a: *mut ASN1_ENUMERATED,
-        v: ::std::os::raw::c_long,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_ENUMERATED_get(a: *mut ASN1_ENUMERATED) -> ::std::os::raw::c_long;
-}
-extern "C" {
-    pub fn ASN1_ENUMERATED_to_BN(ai: *mut ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
-}
-extern "C" {
-    pub fn ASN1_PRINTABLE_type(
-        s: *const ::std::os::raw::c_uchar,
-        max: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
-}
-extern "C" {
-    pub fn ASN1_get_object(
-        pp: *mut *const ::std::os::raw::c_uchar,
-        plength: *mut ::std::os::raw::c_long,
-        ptag: *mut ::std::os::raw::c_int,
-        pclass: *mut ::std::os::raw::c_int,
-        omax: ::std::os::raw::c_long,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_put_object(
-        pp: *mut *mut ::std::os::raw::c_uchar,
-        constructed: ::std::os::raw::c_int,
-        length: ::std::os::raw::c_int,
-        tag: ::std::os::raw::c_int,
-        xclass: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn ASN1_put_eoc(pp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_object_size(
-        constructed: ::std::os::raw::c_int,
-        length: ::std::os::raw::c_int,
-        tag: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_dup(
-        i2d: i2d_of_void,
-        d2i: d2i_of_void,
-        x: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn ASN1_item_dup(
-        it: *const ASN1_ITEM,
-        x: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn ASN1_d2i_fp(
-        xnew: ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>,
-        d2i: d2i_of_void,
-        in_: *mut FILE,
-        x: *mut *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn ASN1_item_d2i_fp(
-        it: *const ASN1_ITEM,
-        in_: *mut FILE,
-        x: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn ASN1_i2d_fp(
-        i2d: i2d_of_void,
-        out: *mut FILE,
-        x: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_i2d_fp(
-        it: *const ASN1_ITEM,
-        out: *mut FILE,
-        x: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_print_ex_fp(
-        fp: *mut FILE,
-        str: *mut ASN1_STRING,
-        flags: ::std::os::raw::c_ulong,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_to_UTF8(
-        out: *mut *mut ::std::os::raw::c_uchar,
-        in_: *mut ASN1_STRING,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_d2i_bio(
-        xnew: ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>,
-        d2i: d2i_of_void,
-        in_: *mut BIO,
-        x: *mut *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn ASN1_item_d2i_bio(
-        it: *const ASN1_ITEM,
-        in_: *mut BIO,
-        x: *mut ::std::os::raw::c_void,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn ASN1_i2d_bio(
-        i2d: i2d_of_void,
-        out: *mut BIO,
-        x: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_i2d_bio(
-        it: *const ASN1_ITEM,
-        out: *mut BIO,
-        x: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_UTCTIME_print(fp: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_GENERALIZEDTIME_print(
-        fp: *mut BIO,
-        a: *const ASN1_GENERALIZEDTIME,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_TIME_print(fp: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_print(bp: *mut BIO, v: *const ASN1_STRING) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_print_ex(
-        out: *mut BIO,
-        str: *mut ASN1_STRING,
-        flags: ::std::os::raw::c_ulong,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn ASN1_item_unpack(
-        oct: *mut ASN1_STRING,
-        it: *const ASN1_ITEM,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn ASN1_item_pack(
-        obj: *mut ::std::os::raw::c_void,
-        it: *const ASN1_ITEM,
-        oct: *mut *mut ASN1_OCTET_STRING,
-    ) -> *mut ASN1_STRING;
-}
-extern "C" {
-    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
-}
-extern "C" {
-    pub fn ASN1_STRING_set_default_mask_asc(
-        p: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
-}
-extern "C" {
-    pub fn ASN1_mbstring_copy(
-        out: *mut *mut ASN1_STRING,
-        in_: *const ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_int,
-        inform: ::std::os::raw::c_int,
-        mask: ::std::os::raw::c_ulong,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_mbstring_ncopy(
-        out: *mut *mut ASN1_STRING,
-        in_: *const ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_int,
-        inform: ::std::os::raw::c_int,
-        mask: ::std::os::raw::c_ulong,
-        minsize: ::std::os::raw::c_long,
-        maxsize: ::std::os::raw::c_long,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_set_by_NID(
-        out: *mut *mut ASN1_STRING,
-        in_: *const ::std::os::raw::c_uchar,
-        inlen: ::std::os::raw::c_int,
-        inform: ::std::os::raw::c_int,
-        nid: ::std::os::raw::c_int,
-    ) -> *mut ASN1_STRING;
-}
-extern "C" {
-    pub fn ASN1_STRING_TABLE_get(nid: ::std::os::raw::c_int) -> *mut ASN1_STRING_TABLE;
-}
-extern "C" {
-    pub fn ASN1_STRING_TABLE_add(
-        arg1: ::std::os::raw::c_int,
-        arg2: ::std::os::raw::c_long,
-        arg3: ::std::os::raw::c_long,
-        arg4: ::std::os::raw::c_ulong,
-        arg5: ::std::os::raw::c_ulong,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_STRING_TABLE_cleanup();
-}
-extern "C" {
-    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
-}
-extern "C" {
-    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
-}
-extern "C" {
-    pub fn ASN1_item_d2i(
-        val: *mut *mut ASN1_VALUE,
-        in_: *mut *const ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_long,
-        it: *const ASN1_ITEM,
-    ) -> *mut ASN1_VALUE;
-}
-extern "C" {
-    pub fn ASN1_item_i2d(
-        val: *mut ASN1_VALUE,
-        out: *mut *mut ::std::os::raw::c_uchar,
-        it: *const ASN1_ITEM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_ndef_i2d(
-        val: *mut ASN1_VALUE,
-        out: *mut *mut ::std::os::raw::c_uchar,
-        it: *const ASN1_ITEM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_generate_nconf(
-        str: *mut ::std::os::raw::c_char,
-        nconf: *mut CONF,
-    ) -> *mut ASN1_TYPE;
-}
-extern "C" {
-    pub fn ASN1_generate_v3(
-        str: *mut ::std::os::raw::c_char,
-        cnf: *mut X509V3_CTX,
-    ) -> *mut ASN1_TYPE;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_TEMPLATE_st {
-    pub flags: ::std::os::raw::c_ulong,
-    pub tag: ::std::os::raw::c_long,
-    pub offset: ::std::os::raw::c_ulong,
-    pub field_name: *const ::std::os::raw::c_char,
-    pub item: *mut ASN1_ITEM_EXP,
-}
-#[test]
-fn bindgen_test_layout_ASN1_TEMPLATE_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
-        40usize,
-        concat!("Size of: ", stringify!(ASN1_TEMPLATE_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_TEMPLATE_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TEMPLATE_st>())).flags as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TEMPLATE_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TEMPLATE_st>())).tag as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TEMPLATE_st),
-            "::",
-            stringify!(tag)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TEMPLATE_st>())).offset as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TEMPLATE_st),
-            "::",
-            stringify!(offset)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TEMPLATE_st>())).field_name as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TEMPLATE_st),
-            "::",
-            stringify!(field_name)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TEMPLATE_st>())).item as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TEMPLATE_st),
-            "::",
-            stringify!(item)
-        )
-    );
-}
-pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
-pub type ASN1_ADB = ASN1_ADB_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct asn1_must_be_null_st {
-    _unused: [u8; 0],
-}
-pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_ADB_st {
-    pub flags: ::std::os::raw::c_ulong,
-    pub offset: ::std::os::raw::c_ulong,
-    pub unused: *mut ASN1_MUST_BE_NULL,
-    pub tbl: *const ASN1_ADB_TABLE,
-    pub tblcount: ::std::os::raw::c_long,
-    pub default_tt: *const ASN1_TEMPLATE,
-    pub null_tt: *const ASN1_TEMPLATE,
-}
-#[test]
-fn bindgen_test_layout_ASN1_ADB_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_ADB_st>(),
-        56usize,
-        concat!("Size of: ", stringify!(ASN1_ADB_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_ADB_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_ADB_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_st>())).flags as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_st>())).offset as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_st),
-            "::",
-            stringify!(offset)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_st>())).unused as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_st),
-            "::",
-            stringify!(unused)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_st>())).tbl as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_st),
-            "::",
-            stringify!(tbl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_st>())).tblcount as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_st),
-            "::",
-            stringify!(tblcount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_st>())).default_tt as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_st),
-            "::",
-            stringify!(default_tt)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_st>())).null_tt as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_st),
-            "::",
-            stringify!(null_tt)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_ADB_TABLE_st {
-    pub value: ::std::os::raw::c_long,
-    pub tt: ASN1_TEMPLATE,
-}
-#[test]
-fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
-        48usize,
-        concat!("Size of: ", stringify!(ASN1_ADB_TABLE_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_ADB_TABLE_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_TABLE_st>())).value as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_TABLE_st),
-            "::",
-            stringify!(value)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ADB_TABLE_st>())).tt as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ADB_TABLE_st),
-            "::",
-            stringify!(tt)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_ITEM_st {
-    pub itype: ::std::os::raw::c_char,
-    pub utype: ::std::os::raw::c_long,
-    pub templates: *const ASN1_TEMPLATE,
-    pub tcount: ::std::os::raw::c_long,
-    pub funcs: *const ::std::os::raw::c_void,
-    pub size: ::std::os::raw::c_long,
-    pub sname: *const ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_ASN1_ITEM_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_ITEM_st>(),
-        56usize,
-        concat!("Size of: ", stringify!(ASN1_ITEM_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_ITEM_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_ITEM_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ITEM_st>())).itype as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ITEM_st),
-            "::",
-            stringify!(itype)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ITEM_st>())).utype as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ITEM_st),
-            "::",
-            stringify!(utype)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ITEM_st>())).templates as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ITEM_st),
-            "::",
-            stringify!(templates)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ITEM_st>())).tcount as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ITEM_st),
-            "::",
-            stringify!(tcount)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ITEM_st>())).funcs as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ITEM_st),
-            "::",
-            stringify!(funcs)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ITEM_st>())).size as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ITEM_st),
-            "::",
-            stringify!(size)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_ITEM_st>())).sname as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_ITEM_st),
-            "::",
-            stringify!(sname)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_TLC_st {
-    pub valid: ::std::os::raw::c_char,
-    pub ret: ::std::os::raw::c_int,
-    pub plen: ::std::os::raw::c_long,
-    pub ptag: ::std::os::raw::c_int,
-    pub pclass: ::std::os::raw::c_int,
-    pub hdrlen: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ASN1_TLC_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_TLC_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(ASN1_TLC_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_TLC_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_TLC_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TLC_st>())).valid as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TLC_st),
-            "::",
-            stringify!(valid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TLC_st>())).ret as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TLC_st),
-            "::",
-            stringify!(ret)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TLC_st>())).plen as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TLC_st),
-            "::",
-            stringify!(plen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TLC_st>())).ptag as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TLC_st),
-            "::",
-            stringify!(ptag)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TLC_st>())).pclass as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TLC_st),
-            "::",
-            stringify!(pclass)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_TLC_st>())).hdrlen as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_TLC_st),
-            "::",
-            stringify!(hdrlen)
-        )
-    );
-}
-pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
-pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
-pub type ASN1_d2i_func = ::std::option::Option<
-    unsafe extern "C" fn(
-        a: *mut *mut ASN1_VALUE,
-        in_: *mut *const ::std::os::raw::c_uchar,
-        length: ::std::os::raw::c_long,
-    ) -> *mut ASN1_VALUE,
->;
-pub type ASN1_i2d_func = ::std::option::Option<
-    unsafe extern "C" fn(a: *mut ASN1_VALUE, in_: *mut *mut ::std::os::raw::c_uchar)
-        -> ::std::os::raw::c_int,
->;
-pub type ASN1_ex_d2i = ::std::option::Option<
-    unsafe extern "C" fn(
-        pval: *mut *mut ASN1_VALUE,
-        in_: *mut *const ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_long,
-        it: *const ASN1_ITEM,
-        tag: ::std::os::raw::c_int,
-        aclass: ::std::os::raw::c_int,
-        opt: ::std::os::raw::c_char,
-        ctx: *mut ASN1_TLC,
-    ) -> ::std::os::raw::c_int,
->;
-pub type ASN1_ex_i2d = ::std::option::Option<
-    unsafe extern "C" fn(
-        pval: *mut *mut ASN1_VALUE,
-        out: *mut *mut ::std::os::raw::c_uchar,
-        it: *const ASN1_ITEM,
-        tag: ::std::os::raw::c_int,
-        aclass: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int,
->;
-pub type ASN1_ex_new_func = ::std::option::Option<
-    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
->;
-pub type ASN1_ex_free_func =
-    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
-pub type ASN1_ex_print_func = ::std::option::Option<
-    unsafe extern "C" fn(
-        out: *mut BIO,
-        pval: *mut *mut ASN1_VALUE,
-        indent: ::std::os::raw::c_int,
-        fname: *const ::std::os::raw::c_char,
-        pctx: *const ASN1_PCTX,
-    ) -> ::std::os::raw::c_int,
->;
-pub type ASN1_primitive_i2c = ::std::option::Option<
-    unsafe extern "C" fn(
-        pval: *mut *mut ASN1_VALUE,
-        cont: *mut ::std::os::raw::c_uchar,
-        putype: *mut ::std::os::raw::c_int,
-        it: *const ASN1_ITEM,
-    ) -> ::std::os::raw::c_int,
->;
-pub type ASN1_primitive_c2i = ::std::option::Option<
-    unsafe extern "C" fn(
-        pval: *mut *mut ASN1_VALUE,
-        cont: *const ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_int,
-        utype: ::std::os::raw::c_int,
-        free_cont: *mut ::std::os::raw::c_char,
-        it: *const ASN1_ITEM,
-    ) -> ::std::os::raw::c_int,
->;
-pub type ASN1_primitive_print = ::std::option::Option<
-    unsafe extern "C" fn(
-        out: *mut BIO,
-        pval: *mut *mut ASN1_VALUE,
-        it: *const ASN1_ITEM,
-        indent: ::std::os::raw::c_int,
-        pctx: *const ASN1_PCTX,
-    ) -> ::std::os::raw::c_int,
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_COMPAT_FUNCS_st {
-    pub asn1_new: ASN1_new_func,
-    pub asn1_free: ASN1_free_func,
-    pub asn1_d2i: ASN1_d2i_func,
-    pub asn1_i2d: ASN1_i2d_func,
-}
-#[test]
-fn bindgen_test_layout_ASN1_COMPAT_FUNCS_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_COMPAT_FUNCS_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(ASN1_COMPAT_FUNCS_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_COMPAT_FUNCS_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_COMPAT_FUNCS_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_COMPAT_FUNCS_st>())).asn1_new as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_COMPAT_FUNCS_st),
-            "::",
-            stringify!(asn1_new)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_COMPAT_FUNCS_st>())).asn1_free as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_COMPAT_FUNCS_st),
-            "::",
-            stringify!(asn1_free)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_COMPAT_FUNCS_st>())).asn1_d2i as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_COMPAT_FUNCS_st),
-            "::",
-            stringify!(asn1_d2i)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_COMPAT_FUNCS_st>())).asn1_i2d as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_COMPAT_FUNCS_st),
-            "::",
-            stringify!(asn1_i2d)
-        )
-    );
-}
-pub type ASN1_COMPAT_FUNCS = ASN1_COMPAT_FUNCS_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_EXTERN_FUNCS_st {
-    pub app_data: *mut ::std::os::raw::c_void,
-    pub asn1_ex_new: ASN1_ex_new_func,
-    pub asn1_ex_free: ASN1_ex_free_func,
-    pub asn1_ex_clear: ASN1_ex_free_func,
-    pub asn1_ex_d2i: ASN1_ex_d2i,
-    pub asn1_ex_i2d: ASN1_ex_i2d,
-    pub asn1_ex_print: ASN1_ex_print_func,
-}
-#[test]
-fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
-        56usize,
-        concat!("Size of: ", stringify!(ASN1_EXTERN_FUNCS_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_EXTERN_FUNCS_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_EXTERN_FUNCS_st>())).app_data as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_EXTERN_FUNCS_st),
-            "::",
-            stringify!(app_data)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_EXTERN_FUNCS_st>())).asn1_ex_new as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_EXTERN_FUNCS_st),
-            "::",
-            stringify!(asn1_ex_new)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_EXTERN_FUNCS_st>())).asn1_ex_free as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_EXTERN_FUNCS_st),
-            "::",
-            stringify!(asn1_ex_free)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_EXTERN_FUNCS_st>())).asn1_ex_clear as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_EXTERN_FUNCS_st),
-            "::",
-            stringify!(asn1_ex_clear)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_EXTERN_FUNCS_st>())).asn1_ex_d2i as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_EXTERN_FUNCS_st),
-            "::",
-            stringify!(asn1_ex_d2i)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_EXTERN_FUNCS_st>())).asn1_ex_i2d as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_EXTERN_FUNCS_st),
-            "::",
-            stringify!(asn1_ex_i2d)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_EXTERN_FUNCS_st>())).asn1_ex_print as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_EXTERN_FUNCS_st),
-            "::",
-            stringify!(asn1_ex_print)
-        )
-    );
-}
-pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_PRIMITIVE_FUNCS_st {
-    pub app_data: *mut ::std::os::raw::c_void,
-    pub flags: ::std::os::raw::c_ulong,
-    pub prim_new: ASN1_ex_new_func,
-    pub prim_free: ASN1_ex_free_func,
-    pub prim_clear: ASN1_ex_free_func,
-    pub prim_c2i: ASN1_primitive_c2i,
-    pub prim_i2c: ASN1_primitive_i2c,
-    pub prim_print: ASN1_primitive_print,
-}
-#[test]
-fn bindgen_test_layout_ASN1_PRIMITIVE_FUNCS_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_PRIMITIVE_FUNCS_st>(),
-        64usize,
-        concat!("Size of: ", stringify!(ASN1_PRIMITIVE_FUNCS_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_PRIMITIVE_FUNCS_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_PRIMITIVE_FUNCS_st))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).app_data as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(app_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).flags as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).prim_new as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(prim_new)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).prim_free as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(prim_free)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).prim_clear as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(prim_clear)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).prim_c2i as *const _ as usize
-        },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(prim_c2i)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).prim_i2c as *const _ as usize
-        },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(prim_i2c)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ASN1_PRIMITIVE_FUNCS_st>())).prim_print as *const _ as usize
-        },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRIMITIVE_FUNCS_st),
-            "::",
-            stringify!(prim_print)
-        )
-    );
-}
-pub type ASN1_PRIMITIVE_FUNCS = ASN1_PRIMITIVE_FUNCS_st;
-pub type ASN1_aux_cb = ::std::option::Option<
-    unsafe extern "C" fn(
-        operation: ::std::os::raw::c_int,
-        in_: *mut *mut ASN1_VALUE,
-        it: *const ASN1_ITEM,
-        exarg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int,
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_AUX_st {
-    pub app_data: *mut ::std::os::raw::c_void,
-    pub flags: ::std::os::raw::c_int,
-    pub ref_offset: ::std::os::raw::c_int,
-    pub asn1_cb: ASN1_aux_cb,
-    pub enc_offset: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ASN1_AUX_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_AUX_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(ASN1_AUX_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_AUX_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_AUX_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_AUX_st>())).app_data as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_AUX_st),
-            "::",
-            stringify!(app_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_AUX_st>())).flags as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_AUX_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_AUX_st>())).ref_offset as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_AUX_st),
-            "::",
-            stringify!(ref_offset)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_AUX_st>())).asn1_cb as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_AUX_st),
-            "::",
-            stringify!(asn1_cb)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_AUX_st>())).enc_offset as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_AUX_st),
-            "::",
-            stringify!(enc_offset)
-        )
-    );
-}
-pub type ASN1_AUX = ASN1_AUX_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_PRINT_ARG_st {
-    pub out: *mut BIO,
-    pub indent: ::std::os::raw::c_int,
-    pub pctx: *const ASN1_PCTX,
-}
-#[test]
-fn bindgen_test_layout_ASN1_PRINT_ARG_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_PRINT_ARG_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(ASN1_PRINT_ARG_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_PRINT_ARG_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_PRINT_ARG_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_PRINT_ARG_st>())).out as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRINT_ARG_st),
-            "::",
-            stringify!(out)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_PRINT_ARG_st>())).indent as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRINT_ARG_st),
-            "::",
-            stringify!(indent)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_PRINT_ARG_st>())).pctx as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_PRINT_ARG_st),
-            "::",
-            stringify!(pctx)
-        )
-    );
-}
-pub type ASN1_PRINT_ARG = ASN1_PRINT_ARG_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ASN1_STREAM_ARG_st {
-    pub out: *mut BIO,
-    pub ndef_bio: *mut BIO,
-    pub boundary: *mut *mut ::std::os::raw::c_uchar,
-}
-#[test]
-fn bindgen_test_layout_ASN1_STREAM_ARG_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ASN1_STREAM_ARG_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(ASN1_STREAM_ARG_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ASN1_STREAM_ARG_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ASN1_STREAM_ARG_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_STREAM_ARG_st>())).out as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_STREAM_ARG_st),
-            "::",
-            stringify!(out)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_STREAM_ARG_st>())).ndef_bio as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_STREAM_ARG_st),
-            "::",
-            stringify!(ndef_bio)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ASN1_STREAM_ARG_st>())).boundary as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ASN1_STREAM_ARG_st),
-            "::",
-            stringify!(boundary)
-        )
-    );
-}
-pub type ASN1_STREAM_ARG = ASN1_STREAM_ARG_st;
-extern "C" {
-    #[link_name = "\u{1}ASN1_BOOLEAN_it"]
-    pub static mut ASN1_BOOLEAN_it: ASN1_ITEM;
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_TBOOLEAN_it"]
-    pub static mut ASN1_TBOOLEAN_it: ASN1_ITEM;
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_FBOOLEAN_it"]
-    pub static mut ASN1_FBOOLEAN_it: ASN1_ITEM;
-}
-extern "C" {
-    #[link_name = "\u{1}ASN1_SEQUENCE_it"]
-    pub static mut ASN1_SEQUENCE_it: ASN1_ITEM;
-}
-extern "C" {
-    pub fn ASN1_item_ex_new(
-        pval: *mut *mut ASN1_VALUE,
-        it: *const ASN1_ITEM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_ex_free(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM);
-}
-extern "C" {
-    pub fn ASN1_template_new(
-        pval: *mut *mut ASN1_VALUE,
-        tt: *const ASN1_TEMPLATE,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_primitive_new(
-        pval: *mut *mut ASN1_VALUE,
-        it: *const ASN1_ITEM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_template_free(pval: *mut *mut ASN1_VALUE, tt: *const ASN1_TEMPLATE);
-}
-extern "C" {
-    pub fn ASN1_item_ex_d2i(
-        pval: *mut *mut ASN1_VALUE,
-        in_: *mut *const ::std::os::raw::c_uchar,
-        len: ::std::os::raw::c_long,
-        it: *const ASN1_ITEM,
-        tag: ::std::os::raw::c_int,
-        aclass: ::std::os::raw::c_int,
-        opt: ::std::os::raw::c_char,
-        ctx: *mut ASN1_TLC,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_ex_i2d(
-        pval: *mut *mut ASN1_VALUE,
-        out: *mut *mut ::std::os::raw::c_uchar,
-        it: *const ASN1_ITEM,
-        tag: ::std::os::raw::c_int,
-        aclass: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_primitive_free(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM);
-}
-extern "C" {
-    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
-}
-extern "C" {
-    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecodeBase64(
-        out: *mut u8,
-        out_len: *mut usize,
-        max_out: usize,
-        in_: *const u8,
-        in_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
-}
-extern "C" {
-    pub fn EVP_EncodeUpdate(
-        ctx: *mut EVP_ENCODE_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-        in_: *const u8,
-        in_len: usize,
-    );
-}
-extern "C" {
-    pub fn EVP_EncodeFinal(
-        ctx: *mut EVP_ENCODE_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
-}
-extern "C" {
-    pub fn EVP_DecodeUpdate(
-        ctx: *mut EVP_ENCODE_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-        in_: *const u8,
-        in_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecodeFinal(
-        ctx: *mut EVP_ENCODE_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct evp_encode_ctx_st {
-    pub data_used: ::std::os::raw::c_uint,
-    pub data: [u8; 48usize],
-    pub eof_seen: ::std::os::raw::c_char,
-    pub error_encountered: ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_evp_encode_ctx_st() {
-    assert_eq!(
-        ::std::mem::size_of::<evp_encode_ctx_st>(),
-        56usize,
-        concat!("Size of: ", stringify!(evp_encode_ctx_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<evp_encode_ctx_st>(),
-        4usize,
-        concat!("Alignment of ", stringify!(evp_encode_ctx_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_encode_ctx_st>())).data_used as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_encode_ctx_st),
-            "::",
-            stringify!(data_used)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_encode_ctx_st>())).data as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_encode_ctx_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_encode_ctx_st>())).eof_seen as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_encode_ctx_st),
-            "::",
-            stringify!(eof_seen)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<evp_encode_ctx_st>())).error_encountered as *const _ as usize
-        },
-        53usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_encode_ctx_st),
-            "::",
-            stringify!(error_encountered)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cbs_st {
-    pub data: *const u8,
-    pub len: usize,
-}
-#[test]
-fn bindgen_test_layout_cbs_st() {
-    assert_eq!(
-        ::std::mem::size_of::<cbs_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(cbs_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<cbs_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(cbs_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbs_st>())).data as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbs_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbs_st>())).len as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbs_st),
-            "::",
-            stringify!(len)
-        )
-    );
-}
-extern "C" {
-    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
-}
-extern "C" {
-    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_data(cbs: *const CBS) -> *const u8;
-}
-extern "C" {
-    pub fn CBS_len(cbs: *const CBS) -> usize;
-}
-extern "C" {
-    pub fn CBS_stow(
-        cbs: *const CBS,
-        out_ptr: *mut *mut u8,
-        out_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_strdup(
-        cbs: *const CBS,
-        out_ptr: *mut *mut ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_asn1(
-        cbs: *mut CBS,
-        out: *mut CBS,
-        tag_value: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_asn1_element(
-        cbs: *mut CBS,
-        out: *mut CBS,
-        tag_value: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_peek_asn1_tag(
-        cbs: *const CBS,
-        tag_value: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_any_asn1(
-        cbs: *mut CBS,
-        out: *mut CBS,
-        out_tag: *mut ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_any_asn1_element(
-        cbs: *mut CBS,
-        out: *mut CBS,
-        out_tag: *mut ::std::os::raw::c_uint,
-        out_header_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_any_ber_asn1_element(
-        cbs: *mut CBS,
-        out: *mut CBS,
-        out_tag: *mut ::std::os::raw::c_uint,
-        out_header_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_asn1_bool(
-        cbs: *mut CBS,
-        out: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_optional_asn1(
-        cbs: *mut CBS,
-        out: *mut CBS,
-        out_present: *mut ::std::os::raw::c_int,
-        tag: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_optional_asn1_octet_string(
-        cbs: *mut CBS,
-        out: *mut CBS,
-        out_present: *mut ::std::os::raw::c_int,
-        tag: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_optional_asn1_uint64(
-        cbs: *mut CBS,
-        out: *mut u64,
-        tag: ::std::os::raw::c_uint,
-        default_value: u64,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_get_optional_asn1_bool(
-        cbs: *mut CBS,
-        out: *mut ::std::os::raw::c_int,
-        tag: ::std::os::raw::c_uint,
-        default_value: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_asn1_bitstring_has_bit(
-        cbs: *const CBS,
-        bit: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cbb_buffer_st {
-    pub buf: *mut u8,
-    pub len: usize,
-    pub cap: usize,
-    pub can_resize: ::std::os::raw::c_char,
-    pub error: ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_cbb_buffer_st() {
-    assert_eq!(
-        ::std::mem::size_of::<cbb_buffer_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(cbb_buffer_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<cbb_buffer_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(cbb_buffer_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_buffer_st>())).buf as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_buffer_st),
-            "::",
-            stringify!(buf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_buffer_st>())).len as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_buffer_st),
-            "::",
-            stringify!(len)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_buffer_st>())).cap as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_buffer_st),
-            "::",
-            stringify!(cap)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_buffer_st>())).can_resize as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_buffer_st),
-            "::",
-            stringify!(can_resize)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_buffer_st>())).error as *const _ as usize },
-        25usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_buffer_st),
-            "::",
-            stringify!(error)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cbb_st {
-    pub base: *mut cbb_buffer_st,
-    pub child: *mut CBB,
-    pub offset: usize,
-    pub pending_len_len: u8,
-    pub pending_is_asn1: ::std::os::raw::c_char,
-    pub is_top_level: ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_cbb_st() {
-    assert_eq!(
-        ::std::mem::size_of::<cbb_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(cbb_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<cbb_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(cbb_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_st>())).base as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_st),
-            "::",
-            stringify!(base)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_st>())).child as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_st),
-            "::",
-            stringify!(child)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_st>())).offset as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_st),
-            "::",
-            stringify!(offset)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_st>())).pending_len_len as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_st),
-            "::",
-            stringify!(pending_len_len)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_st>())).pending_is_asn1 as *const _ as usize },
-        25usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_st),
-            "::",
-            stringify!(pending_is_asn1)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cbb_st>())).is_top_level as *const _ as usize },
-        26usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cbb_st),
-            "::",
-            stringify!(is_top_level)
-        )
-    );
-}
-extern "C" {
-    pub fn CBB_zero(cbb: *mut CBB);
-}
-extern "C" {
-    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_cleanup(cbb: *mut CBB);
-}
-extern "C" {
-    pub fn CBB_finish(
-        cbb: *mut CBB,
-        out_data: *mut *mut u8,
-        out_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_data(cbb: *const CBB) -> *const u8;
-}
-extern "C" {
-    pub fn CBB_len(cbb: *const CBB) -> usize;
-}
-extern "C" {
-    pub fn CBB_add_u8_length_prefixed(
-        cbb: *mut CBB,
-        out_contents: *mut CBB,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_u16_length_prefixed(
-        cbb: *mut CBB,
-        out_contents: *mut CBB,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_u24_length_prefixed(
-        cbb: *mut CBB,
-        out_contents: *mut CBB,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_asn1(
-        cbb: *mut CBB,
-        out_contents: *mut CBB,
-        tag: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_space(
-        cbb: *mut CBB,
-        out_data: *mut *mut u8,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_discard_child(cbb: *mut CBB);
-}
-extern "C" {
-    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_asn1_octet_string(
-        cbb: *mut CBB,
-        data: *const u8,
-        data_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_add_asn1_oid_from_text(
-        cbb: *mut CBB,
-        text: *const ::std::os::raw::c_char,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cast_key_st {
-    pub data: [u32; 32usize],
-    pub short_key: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_cast_key_st() {
-    assert_eq!(
-        ::std::mem::size_of::<cast_key_st>(),
-        132usize,
-        concat!("Size of: ", stringify!(cast_key_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<cast_key_st>(),
-        4usize,
-        concat!("Alignment of ", stringify!(cast_key_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cast_key_st>())).data as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cast_key_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<cast_key_st>())).short_key as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(cast_key_st),
-            "::",
-            stringify!(short_key)
-        )
-    );
-}
-pub type CAST_KEY = cast_key_st;
-extern "C" {
-    pub fn CAST_set_key(key: *mut CAST_KEY, len: usize, data: *const u8);
-}
-extern "C" {
-    pub fn CAST_ecb_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        key: *const CAST_KEY,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn CAST_encrypt(data: *mut u32, key: *const CAST_KEY);
-}
-extern "C" {
-    pub fn CAST_decrypt(data: *mut u32, key: *const CAST_KEY);
-}
-extern "C" {
-    pub fn CAST_cbc_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        length: ::std::os::raw::c_long,
-        ks: *const CAST_KEY,
-        iv: *mut u8,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn CAST_cfb64_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        length: ::std::os::raw::c_long,
-        schedule: *const CAST_KEY,
-        ivec: *mut u8,
-        num: *mut ::std::os::raw::c_int,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn CRYPTO_chacha_20(
-        out: *mut u8,
-        in_: *const u8,
-        in_len: usize,
-        key: *const u8,
-        nonce: *const u8,
-        counter: u32,
-    );
-}
-extern "C" {
-    pub fn EVP_rc4() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_des_ede() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_enc_null() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_copy(
-        out: *mut EVP_CIPHER_CTX,
-        in_: *const EVP_CIPHER_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX);
-}
-extern "C" {
-    pub fn EVP_CipherInit_ex(
-        ctx: *mut EVP_CIPHER_CTX,
-        cipher: *const EVP_CIPHER,
-        engine: *mut ENGINE,
-        key: *const u8,
-        iv: *const u8,
-        enc: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_EncryptInit_ex(
-        ctx: *mut EVP_CIPHER_CTX,
-        cipher: *const EVP_CIPHER,
-        impl_: *mut ENGINE,
-        key: *const u8,
-        iv: *const u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecryptInit_ex(
-        ctx: *mut EVP_CIPHER_CTX,
-        cipher: *const EVP_CIPHER,
-        impl_: *mut ENGINE,
-        key: *const u8,
-        iv: *const u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_EncryptUpdate(
-        ctx: *mut EVP_CIPHER_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-        in_: *const u8,
-        in_len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_EncryptFinal_ex(
-        ctx: *mut EVP_CIPHER_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecryptUpdate(
-        ctx: *mut EVP_CIPHER_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-        in_: *const u8,
-        in_len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecryptFinal_ex(
-        ctx: *mut EVP_CIPHER_CTX,
-        out: *mut ::std::os::raw::c_uchar,
-        out_len: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_Cipher(
-        ctx: *mut EVP_CIPHER_CTX,
-        out: *mut u8,
-        in_: *const u8,
-        in_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CipherUpdate(
-        ctx: *mut EVP_CIPHER_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-        in_: *const u8,
-        in_len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CipherFinal_ex(
-        ctx: *mut EVP_CIPHER_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_ctrl(
-        ctx: *mut EVP_CIPHER_CTX,
-        command: ::std::os::raw::c_int,
-        arg: ::std::os::raw::c_int,
-        ptr: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_set_padding(
-        ctx: *mut EVP_CIPHER_CTX,
-        pad: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_set_key_length(
-        ctx: *mut EVP_CIPHER_CTX,
-        key_len: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
-}
-extern "C" {
-    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
-}
-extern "C" {
-    pub fn EVP_BytesToKey(
-        type_: *const EVP_CIPHER,
-        md: *const EVP_MD,
-        salt: *const u8,
-        data: *const u8,
-        data_len: usize,
-        count: ::std::os::raw::c_uint,
-        key: *mut u8,
-        iv: *mut u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_CipherInit(
-        ctx: *mut EVP_CIPHER_CTX,
-        cipher: *const EVP_CIPHER,
-        key: *const u8,
-        iv: *const u8,
-        enc: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_EncryptInit(
-        ctx: *mut EVP_CIPHER_CTX,
-        cipher: *const EVP_CIPHER,
-        key: *const u8,
-        iv: *const u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DecryptInit(
-        ctx: *mut EVP_CIPHER_CTX,
-        cipher: *const EVP_CIPHER,
-        key: *const u8,
-        iv: *const u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_add_cipher_alias(
-        a: *const ::std::os::raw::c_char,
-        b: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
-}
-extern "C" {
-    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_cipher_ctx_st {
-    pub cipher: *const EVP_CIPHER,
-    pub app_data: *mut ::std::os::raw::c_void,
-    pub cipher_data: *mut ::std::os::raw::c_void,
-    pub key_len: ::std::os::raw::c_uint,
-    pub encrypt: ::std::os::raw::c_int,
-    pub flags: u32,
-    pub oiv: [u8; 16usize],
-    pub iv: [u8; 16usize],
-    pub buf: [u8; 32usize],
-    pub buf_len: ::std::os::raw::c_int,
-    pub num: ::std::os::raw::c_uint,
-    pub final_used: ::std::os::raw::c_int,
-    pub block_mask: ::std::os::raw::c_int,
-    pub final_: [u8; 32usize],
-}
-#[test]
-fn bindgen_test_layout_evp_cipher_ctx_st() {
-    assert_eq!(
-        ::std::mem::size_of::<evp_cipher_ctx_st>(),
-        152usize,
-        concat!("Size of: ", stringify!(evp_cipher_ctx_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<evp_cipher_ctx_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(evp_cipher_ctx_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).cipher as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(cipher)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).app_data as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(app_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).cipher_data as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(cipher_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).key_len as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(key_len)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).encrypt as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(encrypt)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).flags as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).oiv as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(oiv)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).iv as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(iv)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).buf as *const _ as usize },
-        68usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(buf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).buf_len as *const _ as usize },
-        100usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(buf_len)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).num as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(num)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).final_used as *const _ as usize },
-        108usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(final_used)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).block_mask as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(block_mask)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_ctx_st>())).final_ as *const _ as usize },
-        116usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_ctx_st),
-            "::",
-            stringify!(final_)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_cipher_info_st {
-    pub cipher: *const EVP_CIPHER,
-    pub iv: [::std::os::raw::c_uchar; 16usize],
-}
-#[test]
-fn bindgen_test_layout_evp_cipher_info_st() {
-    assert_eq!(
-        ::std::mem::size_of::<evp_cipher_info_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(evp_cipher_info_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<evp_cipher_info_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(evp_cipher_info_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_info_st>())).cipher as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_info_st),
-            "::",
-            stringify!(cipher)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_info_st>())).iv as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_info_st),
-            "::",
-            stringify!(iv)
-        )
-    );
-}
-pub type EVP_CIPHER_INFO = evp_cipher_info_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_cipher_st {
-    pub nid: ::std::os::raw::c_int,
-    pub block_size: ::std::os::raw::c_uint,
-    pub key_len: ::std::os::raw::c_uint,
-    pub iv_len: ::std::os::raw::c_uint,
-    pub ctx_size: ::std::os::raw::c_uint,
-    pub flags: u32,
-    pub app_data: *mut ::std::os::raw::c_void,
-    pub init: ::std::option::Option<
-        unsafe extern "C" fn(
-            ctx: *mut EVP_CIPHER_CTX,
-            key: *const u8,
-            iv: *const u8,
-            enc: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub cipher: ::std::option::Option<
-        unsafe extern "C" fn(ctx: *mut EVP_CIPHER_CTX, out: *mut u8, in_: *const u8, inl: usize)
-            -> ::std::os::raw::c_int,
-    >,
-    pub cleanup: ::std::option::Option<unsafe extern "C" fn(arg1: *mut EVP_CIPHER_CTX)>,
-    pub ctrl: ::std::option::Option<
-        unsafe extern "C" fn(
-            arg1: *mut EVP_CIPHER_CTX,
-            type_: ::std::os::raw::c_int,
-            arg: ::std::os::raw::c_int,
-            ptr: *mut ::std::os::raw::c_void,
-        ) -> ::std::os::raw::c_int,
-    >,
-}
-#[test]
-fn bindgen_test_layout_evp_cipher_st() {
-    assert_eq!(
-        ::std::mem::size_of::<evp_cipher_st>(),
-        64usize,
-        concat!("Size of: ", stringify!(evp_cipher_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<evp_cipher_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(evp_cipher_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).nid as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(nid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).block_size as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(block_size)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).key_len as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(key_len)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).iv_len as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(iv_len)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).ctx_size as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(ctx_size)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).flags as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).app_data as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(app_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).init as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(init)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).cipher as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(cipher)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).cleanup as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(cleanup)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_cipher_st>())).ctrl as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_cipher_st),
-            "::",
-            stringify!(ctrl)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct conf_st {
-    pub data: *mut lhash_st_CONF_VALUE,
-}
-#[test]
-fn bindgen_test_layout_conf_st() {
-    assert_eq!(
-        ::std::mem::size_of::<conf_st>(),
-        8usize,
-        concat!("Size of: ", stringify!(conf_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<conf_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(conf_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<conf_st>())).data as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(conf_st),
-            "::",
-            stringify!(data)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_CONF_VALUE {
-    _unused: [u8; 0],
-}
-extern "C" {
-    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
-}
-extern "C" {
-    pub fn OPENSSL_no_config();
-}
-extern "C" {
-    #[link_name = "\u{1}OPENSSL_ia32cap_P"]
-    pub static mut OPENSSL_ia32cap_P: [u32; 4usize];
-}
-extern "C" {
-    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
-}
-extern "C" {
-    pub fn OPENSSL_realloc(
-        ptr: *mut ::std::os::raw::c_void,
-        new_size: usize,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
-}
-extern "C" {
-    pub fn CRYPTO_memcmp(
-        a: *const ::std::os::raw::c_void,
-        b: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
-}
-extern "C" {
-    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
-}
-extern "C" {
-    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn OPENSSL_strcasecmp(
-        a: *const ::std::os::raw::c_char,
-        b: *const ::std::os::raw::c_char,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn OPENSSL_strncasecmp(
-        a: *const ::std::os::raw::c_char,
-        b: *const ::std::os::raw::c_char,
-        n: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_snprintf(
-        buf: *mut ::std::os::raw::c_char,
-        n: usize,
-        format: *const ::std::os::raw::c_char,
-        ...
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn BIO_vsnprintf(
-        buf: *mut ::std::os::raw::c_char,
-        n: usize,
-        format: *const ::std::os::raw::c_char,
-        args: *mut __va_list_tag,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CRYPTO_library_init();
-}
-extern "C" {
-    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn OPENSSL_load_builtin_modules();
-}
-extern "C" {
-    pub fn OPENSSL_init_crypto(
-        opts: u64,
-        settings: *const OPENSSL_INIT_SETTINGS,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn OPENSSL_cleanup();
-}
-extern "C" {
-    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
-}
-extern "C" {
-    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
-}
-extern "C" {
-    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
-}
-extern "C" {
-    pub fn ED25519_sign(
-        out_sig: *mut u8,
-        message: *const u8,
-        message_len: usize,
-        private_key: *const u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ED25519_verify(
-        message: *const u8,
-        message_len: usize,
-        signature: *const u8,
-        public_key: *const u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ED25519_keypair_from_seed(
-        out_public_key: *mut u8,
-        out_private_key: *mut u8,
-        seed: *const u8,
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct DES_cblock_st {
-    pub bytes: [u8; 8usize],
-}
-#[test]
-fn bindgen_test_layout_DES_cblock_st() {
-    assert_eq!(
-        ::std::mem::size_of::<DES_cblock_st>(),
-        8usize,
-        concat!("Size of: ", stringify!(DES_cblock_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<DES_cblock_st>(),
-        1usize,
-        concat!("Alignment of ", stringify!(DES_cblock_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<DES_cblock_st>())).bytes as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DES_cblock_st),
-            "::",
-            stringify!(bytes)
-        )
-    );
-}
-pub type DES_cblock = DES_cblock_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct DES_ks {
-    pub subkeys: [[u32; 2usize]; 16usize],
-}
-#[test]
-fn bindgen_test_layout_DES_ks() {
-    assert_eq!(
-        ::std::mem::size_of::<DES_ks>(),
-        128usize,
-        concat!("Size of: ", stringify!(DES_ks))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<DES_ks>(),
-        4usize,
-        concat!("Alignment of ", stringify!(DES_ks))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<DES_ks>())).subkeys as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DES_ks),
-            "::",
-            stringify!(subkeys)
-        )
-    );
-}
-pub type DES_key_schedule = DES_ks;
-extern "C" {
-    pub fn DES_set_key(key: *const DES_cblock, schedule: *mut DES_key_schedule);
-}
-extern "C" {
-    pub fn DES_set_odd_parity(key: *mut DES_cblock);
-}
-extern "C" {
-    pub fn DES_ecb_encrypt(
-        in_: *const DES_cblock,
-        out: *mut DES_cblock,
-        schedule: *const DES_key_schedule,
-        is_encrypt: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn DES_ncbc_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        len: usize,
-        schedule: *const DES_key_schedule,
-        ivec: *mut DES_cblock,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn DES_ecb3_encrypt(
-        input: *const DES_cblock,
-        output: *mut DES_cblock,
-        ks1: *const DES_key_schedule,
-        ks2: *const DES_key_schedule,
-        ks3: *const DES_key_schedule,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn DES_ede3_cbc_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        len: usize,
-        ks1: *const DES_key_schedule,
-        ks2: *const DES_key_schedule,
-        ks3: *const DES_key_schedule,
-        ivec: *mut DES_cblock,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn DES_ede2_cbc_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        len: usize,
-        ks1: *const DES_key_schedule,
-        ks2: *const DES_key_schedule,
-        ivec: *mut DES_cblock,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
-}
-extern "C" {
-    pub fn DES_ede3_cfb64_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        length: ::std::os::raw::c_long,
-        ks1: *mut DES_key_schedule,
-        ks2: *mut DES_key_schedule,
-        ks3: *mut DES_key_schedule,
-        ivec: *mut DES_cblock,
-        num: *mut ::std::os::raw::c_int,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn DES_ede3_cfb_encrypt(
-        in_: *const u8,
-        out: *mut u8,
-        numbits: ::std::os::raw::c_int,
-        length: ::std::os::raw::c_long,
-        ks1: *mut DES_key_schedule,
-        ks2: *mut DES_key_schedule,
-        ks3: *mut DES_key_schedule,
-        ivec: *mut DES_cblock,
-        enc: ::std::os::raw::c_int,
-    );
-}
-extern "C" {
-    pub fn DES_decrypt3(
-        data: *mut u32,
-        ks1: *const DES_key_schedule,
-        ks2: *const DES_key_schedule,
-        ks3: *const DES_key_schedule,
-    );
-}
-extern "C" {
-    pub fn DES_encrypt3(
-        data: *mut u32,
-        ks1: *const DES_key_schedule,
-        ks2: *const DES_key_schedule,
-        ks3: *const DES_key_schedule,
-    );
-}
-extern "C" {
-    pub fn DH_new() -> *mut DH;
-}
-extern "C" {
-    pub fn DH_free(dh: *mut DH);
-}
-extern "C" {
-    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_get0_key(
-        dh: *const DH,
-        out_pub_key: *mut *const BIGNUM,
-        out_priv_key: *mut *const BIGNUM,
-    );
-}
-extern "C" {
-    pub fn DH_set0_key(
-        dh: *mut DH,
-        pub_key: *mut BIGNUM,
-        priv_key: *mut BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_get0_pqg(
-        dh: *const DH,
-        out_p: *mut *const BIGNUM,
-        out_q: *mut *const BIGNUM,
-        out_g: *mut *const BIGNUM,
-    );
-}
-extern "C" {
-    pub fn DH_set0_pqg(
-        dh: *mut DH,
-        p: *mut BIGNUM,
-        q: *mut BIGNUM,
-        g: *mut BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_generate_parameters_ex(
-        dh: *mut DH,
-        prime_bits: ::std::os::raw::c_int,
-        generator: ::std::os::raw::c_int,
-        cb: *mut BN_GENCB,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_compute_key(
-        out: *mut u8,
-        peers_key: *const BIGNUM,
-        dh: *mut DH,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_check_pub_key(
-        dh: *const DH,
-        pub_key: *const BIGNUM,
-        out_flags: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
-}
-extern "C" {
-    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_get_ex_new_index(
-        argl: ::std::os::raw::c_long,
-        argp: *mut ::std::os::raw::c_void,
-        unused: *mut CRYPTO_EX_unused,
-        dup_unused: CRYPTO_EX_dup,
-        free_func: CRYPTO_EX_free,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_set_ex_data(
-        d: *mut DH,
-        idx: ::std::os::raw::c_int,
-        arg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DH_get_ex_data(d: *mut DH, idx: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn DH_generate_parameters(
-        prime_len: ::std::os::raw::c_int,
-        generator: ::std::os::raw::c_int,
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: ::std::os::raw::c_int,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut ::std::os::raw::c_void,
-            ),
-        >,
-        cb_arg: *mut ::std::os::raw::c_void,
-    ) -> *mut DH;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct dh_st {
-    pub p: *mut BIGNUM,
-    pub g: *mut BIGNUM,
-    pub pub_key: *mut BIGNUM,
-    pub priv_key: *mut BIGNUM,
-    pub priv_length: ::std::os::raw::c_uint,
-    pub method_mont_p_lock: CRYPTO_MUTEX,
-    pub method_mont_p: *mut BN_MONT_CTX,
-    pub q: *mut BIGNUM,
-    pub j: *mut BIGNUM,
-    pub seed: *mut ::std::os::raw::c_uchar,
-    pub seedlen: ::std::os::raw::c_int,
-    pub counter: *mut BIGNUM,
-    pub flags: ::std::os::raw::c_int,
-    pub references: CRYPTO_refcount_t,
-    pub ex_data: CRYPTO_EX_DATA,
-}
-#[test]
-fn bindgen_test_layout_dh_st() {
-    assert_eq!(
-        ::std::mem::size_of::<dh_st>(),
-        160usize,
-        concat!("Size of: ", stringify!(dh_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<dh_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(dh_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).p as *const _ as usize },
-        0usize,
-        concat!("Offset of field: ", stringify!(dh_st), "::", stringify!(p))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).g as *const _ as usize },
-        8usize,
-        concat!("Offset of field: ", stringify!(dh_st), "::", stringify!(g))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).pub_key as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(pub_key)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).priv_key as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(priv_key)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).priv_length as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(priv_length)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).method_mont_p_lock as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(method_mont_p_lock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).method_mont_p as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(method_mont_p)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).q as *const _ as usize },
-        104usize,
-        concat!("Offset of field: ", stringify!(dh_st), "::", stringify!(q))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).j as *const _ as usize },
-        112usize,
-        concat!("Offset of field: ", stringify!(dh_st), "::", stringify!(j))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).seed as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(seed)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).seedlen as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(seedlen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).counter as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(counter)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).flags as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).references as *const _ as usize },
-        148usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dh_st>())).ex_data as *const _ as usize },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dh_st),
-            "::",
-            stringify!(ex_data)
-        )
-    );
-}
-extern "C" {
-    pub fn EVP_md4() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_md5() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_sha1() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_sha224() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_sha256() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_sha384() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_sha512() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_md5_sha1() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
-}
-extern "C" {
-    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
-}
-extern "C" {
-    pub fn EVP_MD_CTX_copy_ex(
-        out: *mut EVP_MD_CTX,
-        in_: *const EVP_MD_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestInit_ex(
-        ctx: *mut EVP_MD_CTX,
-        type_: *const EVP_MD,
-        engine: *mut ENGINE,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestUpdate(
-        ctx: *mut EVP_MD_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestFinal_ex(
-        ctx: *mut EVP_MD_CTX,
-        md_out: *mut u8,
-        out_size: *mut ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestFinal(
-        ctx: *mut EVP_MD_CTX,
-        md_out: *mut u8,
-        out_size: *mut ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_Digest(
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-        md_out: *mut u8,
-        md_out_size: *mut ::std::os::raw::c_uint,
-        type_: *const EVP_MD,
-        impl_: *mut ENGINE,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
-}
-extern "C" {
-    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
-}
-extern "C" {
-    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_dss1() -> *const EVP_MD;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
-}
-extern "C" {
-    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct evp_md_pctx_ops {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct env_md_ctx_st {
-    pub digest: *const EVP_MD,
-    pub md_data: *mut ::std::os::raw::c_void,
-    pub pctx: *mut EVP_PKEY_CTX,
-    pub pctx_ops: *const evp_md_pctx_ops,
-}
-#[test]
-fn bindgen_test_layout_env_md_ctx_st() {
-    assert_eq!(
-        ::std::mem::size_of::<env_md_ctx_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(env_md_ctx_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<env_md_ctx_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(env_md_ctx_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<env_md_ctx_st>())).digest as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(env_md_ctx_st),
-            "::",
-            stringify!(digest)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<env_md_ctx_st>())).md_data as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(env_md_ctx_st),
-            "::",
-            stringify!(md_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<env_md_ctx_st>())).pctx as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(env_md_ctx_st),
-            "::",
-            stringify!(pctx)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<env_md_ctx_st>())).pctx_ops as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(env_md_ctx_st),
-            "::",
-            stringify!(pctx_ops)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct openssl_method_common_st {
-    pub references: ::std::os::raw::c_int,
-    pub is_static: ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_openssl_method_common_st() {
-    assert_eq!(
-        ::std::mem::size_of::<openssl_method_common_st>(),
-        8usize,
-        concat!("Size of: ", stringify!(openssl_method_common_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<openssl_method_common_st>(),
-        4usize,
-        concat!("Alignment of ", stringify!(openssl_method_common_st))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<openssl_method_common_st>())).references as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(openssl_method_common_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<openssl_method_common_st>())).is_static as *const _ as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(openssl_method_common_st),
-            "::",
-            stringify!(is_static)
-        )
-    );
-}
-extern "C" {
-    pub fn DSA_new() -> *mut DSA;
-}
-extern "C" {
-    pub fn DSA_free(dsa: *mut DSA);
-}
-extern "C" {
-    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_get0_key(
-        dsa: *const DSA,
-        out_pub_key: *mut *const BIGNUM,
-        out_priv_key: *mut *const BIGNUM,
-    );
-}
-extern "C" {
-    pub fn DSA_get0_pqg(
-        dsa: *const DSA,
-        out_p: *mut *const BIGNUM,
-        out_q: *mut *const BIGNUM,
-        out_g: *mut *const BIGNUM,
-    );
-}
-extern "C" {
-    pub fn DSA_set0_key(
-        dsa: *mut DSA,
-        pub_key: *mut BIGNUM,
-        priv_key: *mut BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_set0_pqg(
-        dsa: *mut DSA,
-        p: *mut BIGNUM,
-        q: *mut BIGNUM,
-        g: *mut BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_generate_parameters_ex(
-        dsa: *mut DSA,
-        bits: ::std::os::raw::c_uint,
-        seed: *const u8,
-        seed_len: usize,
-        out_counter: *mut ::std::os::raw::c_int,
-        out_h: *mut ::std::os::raw::c_ulong,
-        cb: *mut BN_GENCB,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct DSA_SIG_st {
-    pub r: *mut BIGNUM,
-    pub s: *mut BIGNUM,
-}
-#[test]
-fn bindgen_test_layout_DSA_SIG_st() {
-    assert_eq!(
-        ::std::mem::size_of::<DSA_SIG_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(DSA_SIG_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<DSA_SIG_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(DSA_SIG_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<DSA_SIG_st>())).r as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DSA_SIG_st),
-            "::",
-            stringify!(r)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<DSA_SIG_st>())).s as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DSA_SIG_st),
-            "::",
-            stringify!(s)
-        )
-    );
-}
-extern "C" {
-    pub fn DSA_SIG_new() -> *mut DSA_SIG;
-}
-extern "C" {
-    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
-}
-extern "C" {
-    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
-}
-extern "C" {
-    pub fn DSA_do_verify(
-        digest: *const u8,
-        digest_len: usize,
-        sig: *mut DSA_SIG,
-        dsa: *const DSA,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_do_check_signature(
-        out_valid: *mut ::std::os::raw::c_int,
-        digest: *const u8,
-        digest_len: usize,
-        sig: *mut DSA_SIG,
-        dsa: *const DSA,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_sign(
-        type_: ::std::os::raw::c_int,
-        digest: *const u8,
-        digest_len: usize,
-        out_sig: *mut u8,
-        out_siglen: *mut ::std::os::raw::c_uint,
-        dsa: *const DSA,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_verify(
-        type_: ::std::os::raw::c_int,
-        digest: *const u8,
-        digest_len: usize,
-        sig: *const u8,
-        sig_len: usize,
-        dsa: *const DSA,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_check_signature(
-        out_valid: *mut ::std::os::raw::c_int,
-        digest: *const u8,
-        digest_len: usize,
-        sig: *const u8,
-        sig_len: usize,
-        dsa: *const DSA,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
-}
-extern "C" {
-    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
-}
-extern "C" {
-    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
-}
-extern "C" {
-    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
-}
-extern "C" {
-    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
-}
-extern "C" {
-    pub fn DSA_get_ex_new_index(
-        argl: ::std::os::raw::c_long,
-        argp: *mut ::std::os::raw::c_void,
-        unused: *mut CRYPTO_EX_unused,
-        dup_unused: CRYPTO_EX_dup,
-        free_func: CRYPTO_EX_free,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_set_ex_data(
-        dsa: *mut DSA,
-        idx: ::std::os::raw::c_int,
-        arg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn DSA_get_ex_data(
-        dsa: *const DSA,
-        idx: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-extern "C" {
-    pub fn DSA_generate_parameters(
-        bits: ::std::os::raw::c_int,
-        seed: *mut ::std::os::raw::c_uchar,
-        seed_len: ::std::os::raw::c_int,
-        counter_ret: *mut ::std::os::raw::c_int,
-        h_ret: *mut ::std::os::raw::c_ulong,
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                arg1: ::std::os::raw::c_int,
-                arg2: ::std::os::raw::c_int,
-                arg3: *mut ::std::os::raw::c_void,
-            ),
-        >,
-        cb_arg: *mut ::std::os::raw::c_void,
-    ) -> *mut DSA;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct dsa_st {
-    pub version: ::std::os::raw::c_long,
-    pub p: *mut BIGNUM,
-    pub q: *mut BIGNUM,
-    pub g: *mut BIGNUM,
-    pub pub_key: *mut BIGNUM,
-    pub priv_key: *mut BIGNUM,
-    pub flags: ::std::os::raw::c_int,
-    pub method_mont_lock: CRYPTO_MUTEX,
-    pub method_mont_p: *mut BN_MONT_CTX,
-    pub method_mont_q: *mut BN_MONT_CTX,
-    pub references: CRYPTO_refcount_t,
-    pub ex_data: CRYPTO_EX_DATA,
-}
-#[test]
-fn bindgen_test_layout_dsa_st() {
-    assert_eq!(
-        ::std::mem::size_of::<dsa_st>(),
-        144usize,
-        concat!("Size of: ", stringify!(dsa_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<dsa_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(dsa_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).version as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(version)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).p as *const _ as usize },
-        8usize,
-        concat!("Offset of field: ", stringify!(dsa_st), "::", stringify!(p))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).q as *const _ as usize },
-        16usize,
-        concat!("Offset of field: ", stringify!(dsa_st), "::", stringify!(q))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).g as *const _ as usize },
-        24usize,
-        concat!("Offset of field: ", stringify!(dsa_st), "::", stringify!(g))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).pub_key as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(pub_key)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).priv_key as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(priv_key)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).flags as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).method_mont_lock as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(method_mont_lock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).method_mont_p as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(method_mont_p)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).method_mont_q as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(method_mont_q)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).references as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<dsa_st>())).ex_data as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(dsa_st),
-            "::",
-            stringify!(ex_data)
-        )
-    );
-}
-pub const point_conversion_form_t_POINT_CONVERSION_COMPRESSED: point_conversion_form_t = 2;
-pub const point_conversion_form_t_POINT_CONVERSION_UNCOMPRESSED: point_conversion_form_t = 4;
-pub const point_conversion_form_t_POINT_CONVERSION_HYBRID: point_conversion_form_t = 6;
-pub type point_conversion_form_t = u32;
-extern "C" {
-    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
-}
-extern "C" {
-    pub fn EC_GROUP_free(group: *mut EC_GROUP);
-}
-extern "C" {
-    pub fn EC_GROUP_dup(a: *const EC_GROUP) -> *mut EC_GROUP;
-}
-extern "C" {
-    pub fn EC_GROUP_cmp(
-        a: *const EC_GROUP,
-        b: *const EC_GROUP,
-        ignored: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
-}
-extern "C" {
-    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
-}
-extern "C" {
-    pub fn EC_GROUP_get_cofactor(
-        group: *const EC_GROUP,
-        cofactor: *mut BIGNUM,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_get_curve_GFp(
-        group: *const EC_GROUP,
-        out_p: *mut BIGNUM,
-        out_a: *mut BIGNUM,
-        out_b: *mut BIGNUM,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
-}
-extern "C" {
-    pub fn EC_POINT_free(point: *mut EC_POINT);
-}
-extern "C" {
-    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
-}
-extern "C" {
-    pub fn EC_POINT_set_to_infinity(
-        group: *const EC_GROUP,
-        point: *mut EC_POINT,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_is_at_infinity(
-        group: *const EC_GROUP,
-        point: *const EC_POINT,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_is_on_curve(
-        group: *const EC_GROUP,
-        point: *const EC_POINT,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_cmp(
-        group: *const EC_GROUP,
-        a: *const EC_POINT,
-        b: *const EC_POINT,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_get_affine_coordinates_GFp(
-        group: *const EC_GROUP,
-        point: *const EC_POINT,
-        x: *mut BIGNUM,
-        y: *mut BIGNUM,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_set_affine_coordinates_GFp(
-        group: *const EC_GROUP,
-        point: *mut EC_POINT,
-        x: *const BIGNUM,
-        y: *const BIGNUM,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_point2oct(
-        group: *const EC_GROUP,
-        point: *const EC_POINT,
-        form: point_conversion_form_t,
-        buf: *mut u8,
-        len: usize,
-        ctx: *mut BN_CTX,
-    ) -> usize;
-}
-extern "C" {
-    pub fn EC_POINT_point2cbb(
-        out: *mut CBB,
-        group: *const EC_GROUP,
-        point: *const EC_POINT,
-        form: point_conversion_form_t,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_oct2point(
-        group: *const EC_GROUP,
-        point: *mut EC_POINT,
-        buf: *const u8,
-        len: usize,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_set_compressed_coordinates_GFp(
-        group: *const EC_GROUP,
-        point: *mut EC_POINT,
-        x: *const BIGNUM,
-        y_bit: ::std::os::raw::c_int,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_add(
-        group: *const EC_GROUP,
-        r: *mut EC_POINT,
-        a: *const EC_POINT,
-        b: *const EC_POINT,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_dbl(
-        group: *const EC_GROUP,
-        r: *mut EC_POINT,
-        a: *const EC_POINT,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_invert(
-        group: *const EC_GROUP,
-        a: *mut EC_POINT,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_POINT_mul(
-        group: *const EC_GROUP,
-        r: *mut EC_POINT,
-        n: *const BIGNUM,
-        q: *const EC_POINT,
-        m: *const BIGNUM,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_new_curve_GFp(
-        p: *const BIGNUM,
-        a: *const BIGNUM,
-        b: *const BIGNUM,
-        ctx: *mut BN_CTX,
-    ) -> *mut EC_GROUP;
-}
-extern "C" {
-    pub fn EC_GROUP_set_generator(
-        group: *mut EC_GROUP,
-        generator: *const EC_POINT,
-        order: *const BIGNUM,
-        cofactor: *const BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_get_order(
-        group: *const EC_GROUP,
-        order: *mut BIGNUM,
-        ctx: *mut BN_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ec_method_st {
-    _unused: [u8; 0],
-}
-pub type EC_METHOD = ec_method_st;
-extern "C" {
-    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
-}
-extern "C" {
-    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct EC_builtin_curve {
-    pub nid: ::std::os::raw::c_int,
-    pub comment: *const ::std::os::raw::c_char,
-}
-#[test]
-fn bindgen_test_layout_EC_builtin_curve() {
-    assert_eq!(
-        ::std::mem::size_of::<EC_builtin_curve>(),
-        16usize,
-        concat!("Size of: ", stringify!(EC_builtin_curve))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<EC_builtin_curve>(),
-        8usize,
-        concat!("Alignment of ", stringify!(EC_builtin_curve))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<EC_builtin_curve>())).nid as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(EC_builtin_curve),
-            "::",
-            stringify!(nid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<EC_builtin_curve>())).comment as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(EC_builtin_curve),
-            "::",
-            stringify!(comment)
-        )
-    );
-}
-extern "C" {
-    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
-        -> usize;
-}
-extern "C" {
-    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
-}
-extern "C" {
-    pub fn EC_KEY_new() -> *mut EC_KEY;
-}
-extern "C" {
-    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
-}
-extern "C" {
-    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
-}
-extern "C" {
-    pub fn EC_KEY_free(key: *mut EC_KEY);
-}
-extern "C" {
-    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
-}
-extern "C" {
-    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
-}
-extern "C" {
-    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
-}
-extern "C" {
-    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, prv: *const BIGNUM) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
-}
-extern "C" {
-    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
-}
-extern "C" {
-    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
-}
-extern "C" {
-    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
-}
-extern "C" {
-    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
-}
-extern "C" {
-    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_set_public_key_affine_coordinates(
-        key: *mut EC_KEY,
-        x: *mut BIGNUM,
-        y: *mut BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
-}
-extern "C" {
-    pub fn EC_KEY_marshal_private_key(
-        cbb: *mut CBB,
-        key: *const EC_KEY,
-        enc_flags: ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
-}
-extern "C" {
-    pub fn EC_KEY_marshal_curve_name(
-        cbb: *mut CBB,
-        group: *const EC_GROUP,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
-}
-extern "C" {
-    pub fn EC_KEY_get_ex_new_index(
-        argl: ::std::os::raw::c_long,
-        argp: *mut ::std::os::raw::c_void,
-        unused: *mut CRYPTO_EX_unused,
-        dup_unused: CRYPTO_EX_dup,
-        free_func: CRYPTO_EX_free,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_set_ex_data(
-        r: *mut EC_KEY,
-        idx: ::std::os::raw::c_int,
-        arg: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EC_KEY_get_ex_data(
-        r: *const EC_KEY,
-        idx: ::std::os::raw::c_int,
-    ) -> *mut ::std::os::raw::c_void;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ecdsa_method_st {
-    pub common: openssl_method_common_st,
-    pub app_data: *mut ::std::os::raw::c_void,
-    pub init:
-        ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int>,
-    pub finish:
-        ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int>,
-    pub group_order_size: ::std::option::Option<unsafe extern "C" fn(key: *const EC_KEY) -> usize>,
-    pub sign: ::std::option::Option<
-        unsafe extern "C" fn(
-            digest: *const u8,
-            digest_len: usize,
-            sig: *mut u8,
-            sig_len: *mut ::std::os::raw::c_uint,
-            eckey: *mut EC_KEY,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub flags: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ecdsa_method_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ecdsa_method_st>(),
-        56usize,
-        concat!("Size of: ", stringify!(ecdsa_method_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ecdsa_method_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ecdsa_method_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_method_st>())).common as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_method_st),
-            "::",
-            stringify!(common)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_method_st>())).app_data as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_method_st),
-            "::",
-            stringify!(app_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_method_st>())).init as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_method_st),
-            "::",
-            stringify!(init)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_method_st>())).finish as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_method_st),
-            "::",
-            stringify!(finish)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ecdsa_method_st>())).group_order_size as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_method_st),
-            "::",
-            stringify!(group_order_size)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_method_st>())).sign as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_method_st),
-            "::",
-            stringify!(sign)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_method_st>())).flags as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_method_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-}
-extern "C" {
-    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn ECDH_compute_key(
-        out: *mut ::std::os::raw::c_void,
-        outlen: usize,
-        pub_key: *const EC_POINT,
-        priv_key: *const EC_KEY,
-        kdf: ::std::option::Option<
-            unsafe extern "C" fn(
-                in_: *const ::std::os::raw::c_void,
-                inlen: usize,
-                out: *mut ::std::os::raw::c_void,
-                outlen: *mut usize,
-            ) -> *mut ::std::os::raw::c_void,
-        >,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDH_compute_key_fips(
-        out: *mut u8,
-        out_len: usize,
-        pub_key: *const EC_POINT,
-        priv_key: *const EC_KEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDSA_sign(
-        type_: ::std::os::raw::c_int,
-        digest: *const u8,
-        digest_len: usize,
-        sig: *mut u8,
-        sig_len: *mut ::std::os::raw::c_uint,
-        key: *const EC_KEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDSA_verify(
-        type_: ::std::os::raw::c_int,
-        digest: *const u8,
-        digest_len: usize,
-        sig: *const u8,
-        sig_len: usize,
-        key: *const EC_KEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ecdsa_sig_st {
-    pub r: *mut BIGNUM,
-    pub s: *mut BIGNUM,
-}
-#[test]
-fn bindgen_test_layout_ecdsa_sig_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ecdsa_sig_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(ecdsa_sig_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ecdsa_sig_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ecdsa_sig_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_sig_st>())).r as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_sig_st),
-            "::",
-            stringify!(r)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ecdsa_sig_st>())).s as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ecdsa_sig_st),
-            "::",
-            stringify!(s)
-        )
-    );
-}
-extern "C" {
-    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
-}
-extern "C" {
-    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
-}
-extern "C" {
-    pub fn ECDSA_SIG_get0(
-        sig: *const ECDSA_SIG,
-        out_r: *mut *const BIGNUM,
-        out_s: *mut *const BIGNUM,
-    );
-}
-extern "C" {
-    pub fn ECDSA_SIG_set0(
-        sig: *mut ECDSA_SIG,
-        r: *mut BIGNUM,
-        s: *mut BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDSA_do_sign(
-        digest: *const u8,
-        digest_len: usize,
-        key: *const EC_KEY,
-    ) -> *mut ECDSA_SIG;
-}
-extern "C" {
-    pub fn ECDSA_do_verify(
-        digest: *const u8,
-        digest_len: usize,
-        sig: *const ECDSA_SIG,
-        key: *const EC_KEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
-}
-extern "C" {
-    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
-}
-extern "C" {
-    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDSA_SIG_to_bytes(
-        out_bytes: *mut *mut u8,
-        out_len: *mut usize,
-        sig: *const ECDSA_SIG,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
-}
-extern "C" {
-    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
-}
-extern "C" {
-    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
-}
-extern "C" {
-    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_copy_parameters(
-        to: *mut EVP_PKEY,
-        from: *const EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
-}
-extern "C" {
-    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
-}
-extern "C" {
-    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
-}
-extern "C" {
-    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
-}
-extern "C" {
-    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
-}
-extern "C" {
-    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
-}
-extern "C" {
-    pub fn EVP_PKEY_new_ed25519_public(public_key: *const u8) -> *mut EVP_PKEY;
-}
-extern "C" {
-    pub fn EVP_PKEY_new_ed25519_private(private_key: *const u8) -> *mut EVP_PKEY;
-}
-extern "C" {
-    pub fn EVP_PKEY_assign(
-        pkey: *mut EVP_PKEY,
-        type_: ::std::os::raw::c_int,
-        key: *mut ::std::os::raw::c_void,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_set_type(
-        pkey: *mut EVP_PKEY,
-        type_: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
-        -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
-}
-extern "C" {
-    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
-}
-extern "C" {
-    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestSignInit(
-        ctx: *mut EVP_MD_CTX,
-        pctx: *mut *mut EVP_PKEY_CTX,
-        type_: *const EVP_MD,
-        e: *mut ENGINE,
-        pkey: *mut EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestSignUpdate(
-        ctx: *mut EVP_MD_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestSignFinal(
-        ctx: *mut EVP_MD_CTX,
-        out_sig: *mut u8,
-        out_sig_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestSign(
-        ctx: *mut EVP_MD_CTX,
-        out_sig: *mut u8,
-        out_sig_len: *mut usize,
-        data: *const u8,
-        data_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestVerifyInit(
-        ctx: *mut EVP_MD_CTX,
-        pctx: *mut *mut EVP_PKEY_CTX,
-        type_: *const EVP_MD,
-        e: *mut ENGINE,
-        pkey: *mut EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestVerifyUpdate(
-        ctx: *mut EVP_MD_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestVerifyFinal(
-        ctx: *mut EVP_MD_CTX,
-        sig: *const u8,
-        sig_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_DigestVerify(
-        ctx: *mut EVP_MD_CTX,
-        sig: *const u8,
-        sig_len: usize,
-        data: *const u8,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_SignInit_ex(
-        ctx: *mut EVP_MD_CTX,
-        type_: *const EVP_MD,
-        impl_: *mut ENGINE,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_SignUpdate(
-        ctx: *mut EVP_MD_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_SignFinal(
-        ctx: *const EVP_MD_CTX,
-        sig: *mut u8,
-        out_sig_len: *mut ::std::os::raw::c_uint,
-        pkey: *mut EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_VerifyInit_ex(
-        ctx: *mut EVP_MD_CTX,
-        type_: *const EVP_MD,
-        impl_: *mut ENGINE,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_VerifyUpdate(
-        ctx: *mut EVP_MD_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_VerifyFinal(
-        ctx: *mut EVP_MD_CTX,
-        sig: *const u8,
-        sig_len: usize,
-        pkey: *mut EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_print_public(
-        out: *mut BIO,
-        pkey: *const EVP_PKEY,
-        indent: ::std::os::raw::c_int,
-        pctx: *mut ASN1_PCTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_print_private(
-        out: *mut BIO,
-        pkey: *const EVP_PKEY,
-        indent: ::std::os::raw::c_int,
-        pctx: *mut ASN1_PCTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_print_params(
-        out: *mut BIO,
-        pkey: *const EVP_PKEY,
-        indent: ::std::os::raw::c_int,
-        pctx: *mut ASN1_PCTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn PKCS5_PBKDF2_HMAC(
-        password: *const ::std::os::raw::c_char,
-        password_len: usize,
-        salt: *const u8,
-        salt_len: usize,
-        iterations: ::std::os::raw::c_uint,
-        digest: *const EVP_MD,
-        key_len: usize,
-        out_key: *mut u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn PKCS5_PBKDF2_HMAC_SHA1(
-        password: *const ::std::os::raw::c_char,
-        password_len: usize,
-        salt: *const u8,
-        salt_len: usize,
-        iterations: ::std::os::raw::c_uint,
-        key_len: usize,
-        out_key: *mut u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PBE_scrypt(
-        password: *const ::std::os::raw::c_char,
-        password_len: usize,
-        salt: *const u8,
-        salt_len: usize,
-        N: u64,
-        r: u64,
-        p: u64,
-        max_mem: usize,
-        out_key: *mut u8,
-        key_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
-}
-extern "C" {
-    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_sign(
-        ctx: *mut EVP_PKEY_CTX,
-        sig: *mut u8,
-        sig_len: *mut usize,
-        digest: *const u8,
-        digest_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_verify(
-        ctx: *mut EVP_PKEY_CTX,
-        sig: *const u8,
-        sig_len: usize,
-        digest: *const u8,
-        digest_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_encrypt(
-        ctx: *mut EVP_PKEY_CTX,
-        out: *mut u8,
-        out_len: *mut usize,
-        in_: *const u8,
-        in_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_decrypt(
-        ctx: *mut EVP_PKEY_CTX,
-        out: *mut u8,
-        out_len: *mut usize,
-        in_: *const u8,
-        in_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_verify_recover(
-        ctx: *mut EVP_PKEY_CTX,
-        out: *mut u8,
-        out_len: *mut usize,
-        sig: *const u8,
-        siglen: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_derive_set_peer(
-        ctx: *mut EVP_PKEY_CTX,
-        peer: *mut EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_derive(
-        ctx: *mut EVP_PKEY_CTX,
-        key: *mut u8,
-        out_key_len: *mut usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_keygen(
-        ctx: *mut EVP_PKEY_CTX,
-        ppkey: *mut *mut EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set_signature_md(
-        ctx: *mut EVP_PKEY_CTX,
-        md: *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_get_signature_md(
-        ctx: *mut EVP_PKEY_CTX,
-        out_md: *mut *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set_rsa_padding(
-        ctx: *mut EVP_PKEY_CTX,
-        padding: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_get_rsa_padding(
-        ctx: *mut EVP_PKEY_CTX,
-        out_padding: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
-        ctx: *mut EVP_PKEY_CTX,
-        salt_len: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
-        ctx: *mut EVP_PKEY_CTX,
-        out_salt_len: *mut ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
-        ctx: *mut EVP_PKEY_CTX,
-        bits: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
-        ctx: *mut EVP_PKEY_CTX,
-        e: *mut BIGNUM,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
-        ctx: *mut EVP_PKEY_CTX,
-        md: *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
-        ctx: *mut EVP_PKEY_CTX,
-        out_md: *mut *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
-        ctx: *mut EVP_PKEY_CTX,
-        md: *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
-        ctx: *mut EVP_PKEY_CTX,
-        out_md: *mut *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
-        ctx: *mut EVP_PKEY_CTX,
-        label: *mut u8,
-        label_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
-        ctx: *mut EVP_PKEY_CTX,
-        out_label: *mut *const u8,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn OPENSSL_add_all_algorithms_conf();
-}
-extern "C" {
-    pub fn EVP_cleanup();
-}
-extern "C" {
-    pub fn EVP_CIPHER_do_all_sorted(
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                cipher: *const EVP_CIPHER,
-                name: *const ::std::os::raw::c_char,
-                unused: *const ::std::os::raw::c_char,
-                arg: *mut ::std::os::raw::c_void,
-            ),
-        >,
-        arg: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn EVP_MD_do_all_sorted(
-        callback: ::std::option::Option<
-            unsafe extern "C" fn(
-                cipher: *const EVP_MD,
-                name: *const ::std::os::raw::c_char,
-                unused: *const ::std::os::raw::c_char,
-                arg: *mut ::std::os::raw::c_void,
-            ),
-        >,
-        arg: *mut ::std::os::raw::c_void,
-    );
-}
-extern "C" {
-    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
-}
-extern "C" {
-    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct evp_pkey_st {
-    pub references: CRYPTO_refcount_t,
-    pub type_: ::std::os::raw::c_int,
-    pub pkey: evp_pkey_st__bindgen_ty_1,
-    pub ameth: *const EVP_PKEY_ASN1_METHOD,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union evp_pkey_st__bindgen_ty_1 {
-    pub ptr: *mut ::std::os::raw::c_void,
-    pub rsa: *mut RSA,
-    pub dsa: *mut DSA,
-    pub dh: *mut DH,
-    pub ec: *mut EC_KEY,
-    _bindgen_union_align: u64,
-}
-#[test]
-fn bindgen_test_layout_evp_pkey_st__bindgen_ty_1() {
-    assert_eq!(
-        ::std::mem::size_of::<evp_pkey_st__bindgen_ty_1>(),
-        8usize,
-        concat!("Size of: ", stringify!(evp_pkey_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<evp_pkey_st__bindgen_ty_1>(),
-        8usize,
-        concat!("Alignment of ", stringify!(evp_pkey_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st__bindgen_ty_1>())).ptr as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st__bindgen_ty_1),
-            "::",
-            stringify!(ptr)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st__bindgen_ty_1>())).rsa as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st__bindgen_ty_1),
-            "::",
-            stringify!(rsa)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st__bindgen_ty_1>())).dsa as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st__bindgen_ty_1),
-            "::",
-            stringify!(dsa)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st__bindgen_ty_1>())).dh as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st__bindgen_ty_1),
-            "::",
-            stringify!(dh)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st__bindgen_ty_1>())).ec as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st__bindgen_ty_1),
-            "::",
-            stringify!(ec)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_evp_pkey_st() {
-    assert_eq!(
-        ::std::mem::size_of::<evp_pkey_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(evp_pkey_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<evp_pkey_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(evp_pkey_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st>())).references as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st>())).type_ as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st),
-            "::",
-            stringify!(type_)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st>())).pkey as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st),
-            "::",
-            stringify!(pkey)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<evp_pkey_st>())).ameth as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(evp_pkey_st),
-            "::",
-            stringify!(ameth)
-        )
-    );
-}
-extern "C" {
-    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
-}
-extern "C" {
-    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
-}
-extern "C" {
-    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
-}
-extern "C" {
-    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
-}
-extern "C" {
-    pub fn HMAC_Init_ex(
-        ctx: *mut HMAC_CTX,
-        key: *const ::std::os::raw::c_void,
-        key_len: usize,
-        md: *const EVP_MD,
-        impl_: *mut ENGINE,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn HMAC_Update(
-        ctx: *mut HMAC_CTX,
-        data: *const u8,
-        data_len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn HMAC_Final(
-        ctx: *mut HMAC_CTX,
-        out: *mut u8,
-        out_len: *mut ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
-}
-extern "C" {
-    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
-}
-extern "C" {
-    pub fn HMAC_Init(
-        ctx: *mut HMAC_CTX,
-        key: *const ::std::os::raw::c_void,
-        key_len: ::std::os::raw::c_int,
-        md: *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct hmac_ctx_st {
-    pub md: *const EVP_MD,
-    pub md_ctx: EVP_MD_CTX,
-    pub i_ctx: EVP_MD_CTX,
-    pub o_ctx: EVP_MD_CTX,
-}
-#[test]
-fn bindgen_test_layout_hmac_ctx_st() {
-    assert_eq!(
-        ::std::mem::size_of::<hmac_ctx_st>(),
-        104usize,
-        concat!("Size of: ", stringify!(hmac_ctx_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<hmac_ctx_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(hmac_ctx_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<hmac_ctx_st>())).md as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(hmac_ctx_st),
-            "::",
-            stringify!(md)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<hmac_ctx_st>())).md_ctx as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(hmac_ctx_st),
-            "::",
-            stringify!(md_ctx)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<hmac_ctx_st>())).i_ctx as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(hmac_ctx_st),
-            "::",
-            stringify!(i_ctx)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<hmac_ctx_st>())).o_ctx as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(hmac_ctx_st),
-            "::",
-            stringify!(o_ctx)
-        )
-    );
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_new(
-        data: *const u8,
-        len: usize,
-        pool: *mut CRYPTO_BUFFER_POOL,
-    ) -> *mut CRYPTO_BUFFER;
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_new_from_CBS(
-        cbs: *mut CBS,
-        pool: *mut CRYPTO_BUFFER_POOL,
-    ) -> *mut CRYPTO_BUFFER;
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
-}
-extern "C" {
-    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct rsa_meth_st {
-    pub common: openssl_method_common_st,
-    pub app_data: *mut ::std::os::raw::c_void,
-    pub init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
-    pub finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
-    pub size: ::std::option::Option<unsafe extern "C" fn(rsa: *const RSA) -> usize>,
-    pub sign: ::std::option::Option<
-        unsafe extern "C" fn(
-            type_: ::std::os::raw::c_int,
-            m: *const u8,
-            m_length: ::std::os::raw::c_uint,
-            sigret: *mut u8,
-            siglen: *mut ::std::os::raw::c_uint,
-            rsa: *const RSA,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub sign_raw: ::std::option::Option<
-        unsafe extern "C" fn(
-            rsa: *mut RSA,
-            out_len: *mut usize,
-            out: *mut u8,
-            max_out: usize,
-            in_: *const u8,
-            in_len: usize,
-            padding: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub decrypt: ::std::option::Option<
-        unsafe extern "C" fn(
-            rsa: *mut RSA,
-            out_len: *mut usize,
-            out: *mut u8,
-            max_out: usize,
-            in_: *const u8,
-            in_len: usize,
-            padding: ::std::os::raw::c_int,
-        ) -> ::std::os::raw::c_int,
-    >,
-    pub private_transform: ::std::option::Option<
-        unsafe extern "C" fn(rsa: *mut RSA, out: *mut u8, in_: *const u8, len: usize)
-            -> ::std::os::raw::c_int,
-    >,
-    pub flags: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_rsa_meth_st() {
-    assert_eq!(
-        ::std::mem::size_of::<rsa_meth_st>(),
-        80usize,
-        concat!("Size of: ", stringify!(rsa_meth_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<rsa_meth_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(rsa_meth_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).common as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(common)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).app_data as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(app_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).init as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(init)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).finish as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(finish)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).size as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(size)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).sign as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(sign)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).sign_raw as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(sign_raw)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).decrypt as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(decrypt)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).private_transform as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(private_transform)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_meth_st>())).flags as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_meth_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bn_blinding_st {
-    _unused: [u8; 0],
-}
-pub type BN_BLINDING = bn_blinding_st;
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct rsa_st {
-    pub meth: *mut RSA_METHOD,
-    pub n: *mut BIGNUM,
-    pub e: *mut BIGNUM,
-    pub d: *mut BIGNUM,
-    pub p: *mut BIGNUM,
-    pub q: *mut BIGNUM,
-    pub dmp1: *mut BIGNUM,
-    pub dmq1: *mut BIGNUM,
-    pub iqmp: *mut BIGNUM,
-    pub ex_data: CRYPTO_EX_DATA,
-    pub references: CRYPTO_refcount_t,
-    pub flags: ::std::os::raw::c_int,
-    pub lock: CRYPTO_MUTEX,
-    pub mont_n: *mut BN_MONT_CTX,
-    pub mont_p: *mut BN_MONT_CTX,
-    pub mont_q: *mut BN_MONT_CTX,
-    pub d_fixed: *mut BIGNUM,
-    pub dmp1_fixed: *mut BIGNUM,
-    pub dmq1_fixed: *mut BIGNUM,
-    pub inv_small_mod_large_mont: *mut BIGNUM,
-    pub num_blindings: ::std::os::raw::c_uint,
-    pub blindings: *mut *mut BN_BLINDING,
-    pub blindings_inuse: *mut ::std::os::raw::c_uchar,
-    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
-    pub __bindgen_padding_0: [u8; 7usize],
-}
-#[test]
-fn bindgen_test_layout_rsa_st() {
-    assert_eq!(
-        ::std::mem::size_of::<rsa_st>(),
-        232usize,
-        concat!("Size of: ", stringify!(rsa_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<rsa_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(rsa_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).meth as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(meth)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).n as *const _ as usize },
-        8usize,
-        concat!("Offset of field: ", stringify!(rsa_st), "::", stringify!(n))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).e as *const _ as usize },
-        16usize,
-        concat!("Offset of field: ", stringify!(rsa_st), "::", stringify!(e))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).d as *const _ as usize },
-        24usize,
-        concat!("Offset of field: ", stringify!(rsa_st), "::", stringify!(d))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).p as *const _ as usize },
-        32usize,
-        concat!("Offset of field: ", stringify!(rsa_st), "::", stringify!(p))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).q as *const _ as usize },
-        40usize,
-        concat!("Offset of field: ", stringify!(rsa_st), "::", stringify!(q))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).dmp1 as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(dmp1)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).dmq1 as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(dmq1)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).iqmp as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(iqmp)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).ex_data as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(ex_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).references as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).flags as *const _ as usize },
-        84usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).lock as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(lock)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).mont_n as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(mont_n)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).mont_p as *const _ as usize },
-        152usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(mont_p)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).mont_q as *const _ as usize },
-        160usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(mont_q)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).d_fixed as *const _ as usize },
-        168usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(d_fixed)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).dmp1_fixed as *const _ as usize },
-        176usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(dmp1_fixed)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).dmq1_fixed as *const _ as usize },
-        184usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(dmq1_fixed)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).inv_small_mod_large_mont as *const _ as usize },
-        192usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(inv_small_mod_large_mont)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).num_blindings as *const _ as usize },
-        200usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(num_blindings)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).blindings as *const _ as usize },
-        208usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(blindings)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rsa_st>())).blindings_inuse as *const _ as usize },
-        216usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rsa_st),
-            "::",
-            stringify!(blindings_inuse)
-        )
-    );
-}
-impl rsa_st {
-    #[inline]
-    pub fn private_key_frozen(&self) -> ::std::os::raw::c_uint {
-        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
-    }
-    #[inline]
-    pub fn set_private_key_frozen(&mut self, val: ::std::os::raw::c_uint) {
-        unsafe {
-            let val: u32 = ::std::mem::transmute(val);
-            self._bitfield_1.set(0usize, 1u8, val as u64)
-        }
-    }
-    #[inline]
-    pub fn new_bitfield_1(
-        private_key_frozen: ::std::os::raw::c_uint,
-    ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
-        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
-            Default::default();
-        __bindgen_bitfield_unit.set(0usize, 1u8, {
-            let private_key_frozen: u32 = unsafe { ::std::mem::transmute(private_key_frozen) };
-            private_key_frozen as u64
-        });
-        __bindgen_bitfield_unit
-    }
-}
-extern "C" {
-    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA1_Update(
-        sha: *mut SHA_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA1_Final(md: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sha_state_st {
-    pub __bindgen_anon_1: sha_state_st__bindgen_ty_1,
-    pub Nl: u32,
-    pub Nh: u32,
-    pub data: [u8; 64usize],
-    pub num: ::std::os::raw::c_uint,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union sha_state_st__bindgen_ty_1 {
-    pub h: [u32; 5usize],
-    pub __bindgen_anon_1: sha_state_st__bindgen_ty_1__bindgen_ty_1,
-    _bindgen_union_align: [u32; 5usize],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sha_state_st__bindgen_ty_1__bindgen_ty_1 {
-    pub h0: u32,
-    pub h1: u32,
-    pub h2: u32,
-    pub h3: u32,
-    pub h4: u32,
-}
-#[test]
-fn bindgen_test_layout_sha_state_st__bindgen_ty_1__bindgen_ty_1() {
-    assert_eq!(
-        ::std::mem::size_of::<sha_state_st__bindgen_ty_1__bindgen_ty_1>(),
-        20usize,
-        concat!(
-            "Size of: ",
-            stringify!(sha_state_st__bindgen_ty_1__bindgen_ty_1)
-        )
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sha_state_st__bindgen_ty_1__bindgen_ty_1>(),
-        4usize,
-        concat!(
-            "Alignment of ",
-            stringify!(sha_state_st__bindgen_ty_1__bindgen_ty_1)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sha_state_st__bindgen_ty_1__bindgen_ty_1>())).h0 as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st__bindgen_ty_1__bindgen_ty_1),
-            "::",
-            stringify!(h0)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sha_state_st__bindgen_ty_1__bindgen_ty_1>())).h1 as *const _
-                as usize
-        },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st__bindgen_ty_1__bindgen_ty_1),
-            "::",
-            stringify!(h1)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sha_state_st__bindgen_ty_1__bindgen_ty_1>())).h2 as *const _
-                as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st__bindgen_ty_1__bindgen_ty_1),
-            "::",
-            stringify!(h2)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sha_state_st__bindgen_ty_1__bindgen_ty_1>())).h3 as *const _
-                as usize
-        },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st__bindgen_ty_1__bindgen_ty_1),
-            "::",
-            stringify!(h3)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<sha_state_st__bindgen_ty_1__bindgen_ty_1>())).h4 as *const _
-                as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st__bindgen_ty_1__bindgen_ty_1),
-            "::",
-            stringify!(h4)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_sha_state_st__bindgen_ty_1() {
-    assert_eq!(
-        ::std::mem::size_of::<sha_state_st__bindgen_ty_1>(),
-        20usize,
-        concat!("Size of: ", stringify!(sha_state_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sha_state_st__bindgen_ty_1>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sha_state_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha_state_st__bindgen_ty_1>())).h as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st__bindgen_ty_1),
-            "::",
-            stringify!(h)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_sha_state_st() {
-    assert_eq!(
-        ::std::mem::size_of::<sha_state_st>(),
-        96usize,
-        concat!("Size of: ", stringify!(sha_state_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sha_state_st>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sha_state_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha_state_st>())).Nl as *const _ as usize },
-        20usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st),
-            "::",
-            stringify!(Nl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha_state_st>())).Nh as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st),
-            "::",
-            stringify!(Nh)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha_state_st>())).data as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha_state_st>())).num as *const _ as usize },
-        92usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha_state_st),
-            "::",
-            stringify!(num)
-        )
-    );
-}
-extern "C" {
-    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA224_Update(
-        sha: *mut SHA256_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA224_Final(md: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA256_Update(
-        sha: *mut SHA256_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA256_Final(md: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
-}
-extern "C" {
-    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sha256_state_st {
-    pub h: [u32; 8usize],
-    pub Nl: u32,
-    pub Nh: u32,
-    pub data: [u8; 64usize],
-    pub num: ::std::os::raw::c_uint,
-    pub md_len: ::std::os::raw::c_uint,
-}
-#[test]
-fn bindgen_test_layout_sha256_state_st() {
-    assert_eq!(
-        ::std::mem::size_of::<sha256_state_st>(),
-        112usize,
-        concat!("Size of: ", stringify!(sha256_state_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sha256_state_st>(),
-        4usize,
-        concat!("Alignment of ", stringify!(sha256_state_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha256_state_st>())).h as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha256_state_st),
-            "::",
-            stringify!(h)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha256_state_st>())).Nl as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha256_state_st),
-            "::",
-            stringify!(Nl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha256_state_st>())).Nh as *const _ as usize },
-        36usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha256_state_st),
-            "::",
-            stringify!(Nh)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha256_state_st>())).data as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha256_state_st),
-            "::",
-            stringify!(data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha256_state_st>())).num as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha256_state_st),
-            "::",
-            stringify!(num)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha256_state_st>())).md_len as *const _ as usize },
-        108usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha256_state_st),
-            "::",
-            stringify!(md_len)
-        )
-    );
-}
-extern "C" {
-    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA384_Update(
-        sha: *mut SHA512_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA384_Final(md: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA384_Transform(sha: *mut SHA512_CTX, block: *const u8);
-}
-extern "C" {
-    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA512_Update(
-        sha: *mut SHA512_CTX,
-        data: *const ::std::os::raw::c_void,
-        len: usize,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA512_Final(md: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sha512_state_st {
-    pub h: [u64; 8usize],
-    pub Nl: u64,
-    pub Nh: u64,
-    pub u: sha512_state_st__bindgen_ty_1,
-    pub num: ::std::os::raw::c_uint,
-    pub md_len: ::std::os::raw::c_uint,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union sha512_state_st__bindgen_ty_1 {
-    pub d: [u64; 16usize],
-    pub p: [u8; 128usize],
-    _bindgen_union_align: [u64; 16usize],
-}
-#[test]
-fn bindgen_test_layout_sha512_state_st__bindgen_ty_1() {
-    assert_eq!(
-        ::std::mem::size_of::<sha512_state_st__bindgen_ty_1>(),
-        128usize,
-        concat!("Size of: ", stringify!(sha512_state_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sha512_state_st__bindgen_ty_1>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sha512_state_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st__bindgen_ty_1>())).d as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st__bindgen_ty_1),
-            "::",
-            stringify!(d)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st__bindgen_ty_1>())).p as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st__bindgen_ty_1),
-            "::",
-            stringify!(p)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_sha512_state_st() {
-    assert_eq!(
-        ::std::mem::size_of::<sha512_state_st>(),
-        216usize,
-        concat!("Size of: ", stringify!(sha512_state_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<sha512_state_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(sha512_state_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st>())).h as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st),
-            "::",
-            stringify!(h)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st>())).Nl as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st),
-            "::",
-            stringify!(Nl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st>())).Nh as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st),
-            "::",
-            stringify!(Nh)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st>())).u as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st),
-            "::",
-            stringify!(u)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st>())).num as *const _ as usize },
-        208usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st),
-            "::",
-            stringify!(num)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<sha512_state_st>())).md_len as *const _ as usize },
-        212usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(sha512_state_st),
-            "::",
-            stringify!(md_len)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_X509_ALGOR {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_val_st {
-    pub notBefore: *mut ASN1_TIME,
-    pub notAfter: *mut ASN1_TIME,
-}
-#[test]
-fn bindgen_test_layout_X509_val_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_val_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(X509_val_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_val_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_val_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_val_st>())).notBefore as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_val_st),
-            "::",
-            stringify!(notBefore)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_val_st>())).notAfter as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_val_st),
-            "::",
-            stringify!(notAfter)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_pubkey_st {
-    pub algor: *mut X509_ALGOR,
-    pub public_key: *mut ASN1_BIT_STRING,
-    pub pkey: *mut EVP_PKEY,
-}
-#[test]
-fn bindgen_test_layout_X509_pubkey_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_pubkey_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(X509_pubkey_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_pubkey_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_pubkey_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_pubkey_st>())).algor as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_pubkey_st),
-            "::",
-            stringify!(algor)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_pubkey_st>())).public_key as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_pubkey_st),
-            "::",
-            stringify!(public_key)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_pubkey_st>())).pkey as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_pubkey_st),
-            "::",
-            stringify!(pkey)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_X509_NAME_ENTRY {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_name_st {
-    pub entries: *mut stack_st_X509_NAME_ENTRY,
-    pub modified: ::std::os::raw::c_int,
-    pub bytes: *mut BUF_MEM,
-    pub canon_enc: *mut ::std::os::raw::c_uchar,
-    pub canon_enclen: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_X509_name_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_name_st>(),
-        40usize,
-        concat!("Size of: ", stringify!(X509_name_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_name_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_name_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_name_st>())).entries as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_name_st),
-            "::",
-            stringify!(entries)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_name_st>())).modified as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_name_st),
-            "::",
-            stringify!(modified)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_name_st>())).bytes as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_name_st),
-            "::",
-            stringify!(bytes)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_name_st>())).canon_enc as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_name_st),
-            "::",
-            stringify!(canon_enc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_name_st>())).canon_enclen as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_name_st),
-            "::",
-            stringify!(canon_enclen)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_X509_EXTENSION {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_X509_ATTRIBUTE {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_req_info_st {
-    pub enc: ASN1_ENCODING,
-    pub version: *mut ASN1_INTEGER,
-    pub subject: *mut X509_NAME,
-    pub pubkey: *mut X509_PUBKEY,
-    pub attributes: *mut stack_st_X509_ATTRIBUTE,
-}
-#[test]
-fn bindgen_test_layout_X509_req_info_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_req_info_st>(),
-        56usize,
-        concat!("Size of: ", stringify!(X509_req_info_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_req_info_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_req_info_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_info_st>())).enc as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_info_st),
-            "::",
-            stringify!(enc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_info_st>())).version as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_info_st),
-            "::",
-            stringify!(version)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_info_st>())).subject as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_info_st),
-            "::",
-            stringify!(subject)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_info_st>())).pubkey as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_info_st),
-            "::",
-            stringify!(pubkey)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_info_st>())).attributes as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_info_st),
-            "::",
-            stringify!(attributes)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_req_st {
-    pub req_info: *mut X509_REQ_INFO,
-    pub sig_alg: *mut X509_ALGOR,
-    pub signature: *mut ASN1_BIT_STRING,
-    pub references: CRYPTO_refcount_t,
-}
-#[test]
-fn bindgen_test_layout_X509_req_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_req_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(X509_req_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_req_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_req_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_st>())).req_info as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_st),
-            "::",
-            stringify!(req_info)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_st>())).sig_alg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_st),
-            "::",
-            stringify!(sig_alg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_st>())).signature as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_st),
-            "::",
-            stringify!(signature)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_req_st>())).references as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_req_st),
-            "::",
-            stringify!(references)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct x509_cinf_st {
-    pub version: *mut ASN1_INTEGER,
-    pub serialNumber: *mut ASN1_INTEGER,
-    pub signature: *mut X509_ALGOR,
-    pub issuer: *mut X509_NAME,
-    pub validity: *mut X509_VAL,
-    pub subject: *mut X509_NAME,
-    pub key: *mut X509_PUBKEY,
-    pub issuerUID: *mut ASN1_BIT_STRING,
-    pub subjectUID: *mut ASN1_BIT_STRING,
-    pub extensions: *mut stack_st_X509_EXTENSION,
-    pub enc: ASN1_ENCODING,
-}
-#[test]
-fn bindgen_test_layout_x509_cinf_st() {
-    assert_eq!(
-        ::std::mem::size_of::<x509_cinf_st>(),
-        104usize,
-        concat!("Size of: ", stringify!(x509_cinf_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<x509_cinf_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(x509_cinf_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).version as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(version)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).serialNumber as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(serialNumber)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).signature as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(signature)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).issuer as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(issuer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).validity as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(validity)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).subject as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(subject)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).key as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(key)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).issuerUID as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(issuerUID)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).subjectUID as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(subjectUID)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).extensions as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(extensions)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cinf_st>())).enc as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cinf_st),
-            "::",
-            stringify!(enc)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct x509_cert_aux_st {
-    pub trust: *mut stack_st_ASN1_OBJECT,
-    pub reject: *mut stack_st_ASN1_OBJECT,
-    pub alias: *mut ASN1_UTF8STRING,
-    pub keyid: *mut ASN1_OCTET_STRING,
-    pub other: *mut stack_st_X509_ALGOR,
-}
-#[test]
-fn bindgen_test_layout_x509_cert_aux_st() {
-    assert_eq!(
-        ::std::mem::size_of::<x509_cert_aux_st>(),
-        40usize,
-        concat!("Size of: ", stringify!(x509_cert_aux_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<x509_cert_aux_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(x509_cert_aux_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cert_aux_st>())).trust as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cert_aux_st),
-            "::",
-            stringify!(trust)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cert_aux_st>())).reject as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cert_aux_st),
-            "::",
-            stringify!(reject)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cert_aux_st>())).alias as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cert_aux_st),
-            "::",
-            stringify!(alias)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cert_aux_st>())).keyid as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cert_aux_st),
-            "::",
-            stringify!(keyid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_cert_aux_st>())).other as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_cert_aux_st),
-            "::",
-            stringify!(other)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_DIST_POINT {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_GENERAL_NAME {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct x509_st {
-    pub cert_info: *mut X509_CINF,
-    pub sig_alg: *mut X509_ALGOR,
-    pub signature: *mut ASN1_BIT_STRING,
-    pub references: CRYPTO_refcount_t,
-    pub name: *mut ::std::os::raw::c_char,
-    pub ex_data: CRYPTO_EX_DATA,
-    pub ex_pathlen: ::std::os::raw::c_long,
-    pub ex_pcpathlen: ::std::os::raw::c_long,
-    pub ex_flags: ::std::os::raw::c_ulong,
-    pub ex_kusage: ::std::os::raw::c_ulong,
-    pub ex_xkusage: ::std::os::raw::c_ulong,
-    pub ex_nscert: ::std::os::raw::c_ulong,
-    pub skid: *mut ASN1_OCTET_STRING,
-    pub akid: *mut AUTHORITY_KEYID,
-    pub policy_cache: *mut X509_POLICY_CACHE,
-    pub crldp: *mut stack_st_DIST_POINT,
-    pub altname: *mut stack_st_GENERAL_NAME,
-    pub nc: *mut NAME_CONSTRAINTS,
-    pub sha1_hash: [::std::os::raw::c_uchar; 20usize],
-    pub aux: *mut X509_CERT_AUX,
-    pub buf: *mut CRYPTO_BUFFER,
-    pub lock: CRYPTO_MUTEX,
-}
-#[test]
-fn bindgen_test_layout_x509_st() {
-    assert_eq!(
-        ::std::mem::size_of::<x509_st>(),
-        240usize,
-        concat!("Size of: ", stringify!(x509_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<x509_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(x509_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).cert_info as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(cert_info)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).sig_alg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(sig_alg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).signature as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(signature)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).references as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).name as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(name)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).ex_data as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(ex_data)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).ex_pathlen as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(ex_pathlen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).ex_pcpathlen as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(ex_pcpathlen)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).ex_flags as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(ex_flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).ex_kusage as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(ex_kusage)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).ex_xkusage as *const _ as usize },
-        80usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(ex_xkusage)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).ex_nscert as *const _ as usize },
-        88usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(ex_nscert)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).skid as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(skid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).akid as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(akid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).policy_cache as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(policy_cache)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).crldp as *const _ as usize },
-        120usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(crldp)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).altname as *const _ as usize },
-        128usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(altname)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).nc as *const _ as usize },
-        136usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(nc)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).sha1_hash as *const _ as usize },
-        144usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(sha1_hash)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).aux as *const _ as usize },
-        168usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(aux)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).buf as *const _ as usize },
-        176usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(buf)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<x509_st>())).lock as *const _ as usize },
-        184usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(x509_st),
-            "::",
-            stringify!(lock)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_X509_REVOKED {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_crl_info_st {
-    pub version: *mut ASN1_INTEGER,
-    pub sig_alg: *mut X509_ALGOR,
-    pub issuer: *mut X509_NAME,
-    pub lastUpdate: *mut ASN1_TIME,
-    pub nextUpdate: *mut ASN1_TIME,
-    pub revoked: *mut stack_st_X509_REVOKED,
-    pub extensions: *mut stack_st_X509_EXTENSION,
-    pub enc: ASN1_ENCODING,
-}
-#[test]
-fn bindgen_test_layout_X509_crl_info_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_crl_info_st>(),
-        80usize,
-        concat!("Size of: ", stringify!(X509_crl_info_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_crl_info_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_crl_info_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).version as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(version)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).sig_alg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(sig_alg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).issuer as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(issuer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).lastUpdate as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(lastUpdate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).nextUpdate as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(nextUpdate)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).revoked as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(revoked)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).extensions as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(extensions)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_info_st>())).enc as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_info_st),
-            "::",
-            stringify!(enc)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_GENERAL_NAMES {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509_crl_st {
-    pub crl: *mut X509_CRL_INFO,
-    pub sig_alg: *mut X509_ALGOR,
-    pub signature: *mut ASN1_BIT_STRING,
-    pub references: CRYPTO_refcount_t,
-    pub flags: ::std::os::raw::c_int,
-    pub akid: *mut AUTHORITY_KEYID,
-    pub idp: *mut ISSUING_DIST_POINT,
-    pub idp_flags: ::std::os::raw::c_int,
-    pub idp_reasons: ::std::os::raw::c_int,
-    pub crl_number: *mut ASN1_INTEGER,
-    pub base_crl_number: *mut ASN1_INTEGER,
-    pub sha1_hash: [::std::os::raw::c_uchar; 20usize],
-    pub issuers: *mut stack_st_GENERAL_NAMES,
-    pub meth: *const X509_CRL_METHOD,
-    pub meth_data: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_X509_crl_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509_crl_st>(),
-        120usize,
-        concat!("Size of: ", stringify!(X509_crl_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509_crl_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509_crl_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).crl as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(crl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).sig_alg as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(sig_alg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).signature as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(signature)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).references as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(references)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).flags as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).akid as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(akid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).idp as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(idp)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).idp_flags as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(idp_flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).idp_reasons as *const _ as usize },
-        52usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(idp_reasons)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).crl_number as *const _ as usize },
-        56usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(crl_number)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).base_crl_number as *const _ as usize },
-        64usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(base_crl_number)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).sha1_hash as *const _ as usize },
-        72usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(sha1_hash)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).issuers as *const _ as usize },
-        96usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(issuers)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).meth as *const _ as usize },
-        104usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(meth)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<X509_crl_st>())).meth_data as *const _ as usize },
-        112usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509_crl_st),
-            "::",
-            stringify!(meth_data)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct pkcs8_priv_key_info_st {
-    pub broken: ::std::os::raw::c_int,
-    pub version: *mut ASN1_INTEGER,
-    pub pkeyalg: *mut X509_ALGOR,
-    pub pkey: *mut ASN1_TYPE,
-    pub attributes: *mut stack_st_X509_ATTRIBUTE,
-}
-#[test]
-fn bindgen_test_layout_pkcs8_priv_key_info_st() {
-    assert_eq!(
-        ::std::mem::size_of::<pkcs8_priv_key_info_st>(),
-        40usize,
-        concat!("Size of: ", stringify!(pkcs8_priv_key_info_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<pkcs8_priv_key_info_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(pkcs8_priv_key_info_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<pkcs8_priv_key_info_st>())).broken as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(pkcs8_priv_key_info_st),
-            "::",
-            stringify!(broken)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<pkcs8_priv_key_info_st>())).version as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(pkcs8_priv_key_info_st),
-            "::",
-            stringify!(version)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<pkcs8_priv_key_info_st>())).pkeyalg as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(pkcs8_priv_key_info_st),
-            "::",
-            stringify!(pkeyalg)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<pkcs8_priv_key_info_st>())).pkey as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(pkcs8_priv_key_info_st),
-            "::",
-            stringify!(pkey)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<pkcs8_priv_key_info_st>())).attributes as *const _ as usize
-        },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(pkcs8_priv_key_info_st),
-            "::",
-            stringify!(attributes)
-        )
-    );
-}
-extern "C" {
-    pub fn ASN1_digest(
-        i2d: i2d_of_void,
-        type_: *const EVP_MD,
-        data: *mut ::std::os::raw::c_char,
-        md: *mut ::std::os::raw::c_uchar,
-        len: *mut ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_digest(
-        it: *const ASN1_ITEM,
-        type_: *const EVP_MD,
-        data: *mut ::std::os::raw::c_void,
-        md: *mut ::std::os::raw::c_uchar,
-        len: *mut ::std::os::raw::c_uint,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_verify(
-        it: *const ASN1_ITEM,
-        algor1: *mut X509_ALGOR,
-        signature: *mut ASN1_BIT_STRING,
-        data: *mut ::std::os::raw::c_void,
-        pkey: *mut EVP_PKEY,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_sign(
-        it: *const ASN1_ITEM,
-        algor1: *mut X509_ALGOR,
-        algor2: *mut X509_ALGOR,
-        signature: *mut ASN1_BIT_STRING,
-        data: *mut ::std::os::raw::c_void,
-        pkey: *mut EVP_PKEY,
-        type_: *const EVP_MD,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn ASN1_item_sign_ctx(
-        it: *const ASN1_ITEM,
-        algor1: *mut X509_ALGOR,
-        algor2: *mut X509_ALGOR,
-        signature: *mut ASN1_BIT_STRING,
-        asn: *mut ::std::os::raw::c_void,
-        ctx: *mut EVP_MD_CTX,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn EVP_PKCS82PKEY(p8: *mut PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
-}
-extern "C" {
-    pub fn EVP_PKEY2PKCS8(pkey: *mut EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
-}
-extern "C" {
-    pub fn EVP_PKEY2PKCS8_broken(
-        pkey: *mut EVP_PKEY,
-        broken: ::std::os::raw::c_int,
-    ) -> *mut PKCS8_PRIV_KEY_INFO;
-}
-pub type poly1305_state = [u8; 512usize];
-extern "C" {
-    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
-}
-extern "C" {
-    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
-}
-extern "C" {
-    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
-}
-extern "C" {
-    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn RAND_cleanup();
-}
-extern "C" {
-    pub fn RAND_set_urandom_fd(fd: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn RAND_enable_fork_unsafe_buffering(fd: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
-}
-extern "C" {
-    pub fn RAND_load_file(
-        path: *const ::std::os::raw::c_char,
-        num: ::std::os::raw::c_long,
-    ) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn RAND_file_name(
-        buf: *mut ::std::os::raw::c_char,
-        num: usize,
-    ) -> *const ::std::os::raw::c_char;
-}
-extern "C" {
-    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
-}
-extern "C" {
-    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn RAND_poll() -> ::std::os::raw::c_int;
-}
-extern "C" {
-    pub fn RAND_status() -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct rand_meth_st {
-    pub seed: ::std::option::Option<
-        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
-    >,
-    pub bytes: ::std::option::Option<
-        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
-    >,
-    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
-    pub add: ::std::option::Option<
-        unsafe extern "C" fn(
-            buf: *const ::std::os::raw::c_void,
-            num: ::std::os::raw::c_int,
-            entropy: f64,
-        ),
-    >,
-    pub pseudorand: ::std::option::Option<
-        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
-    >,
-    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
-}
-#[test]
-fn bindgen_test_layout_rand_meth_st() {
-    assert_eq!(
-        ::std::mem::size_of::<rand_meth_st>(),
-        48usize,
-        concat!("Size of: ", stringify!(rand_meth_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<rand_meth_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(rand_meth_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rand_meth_st>())).seed as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rand_meth_st),
-            "::",
-            stringify!(seed)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rand_meth_st>())).bytes as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rand_meth_st),
-            "::",
-            stringify!(bytes)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rand_meth_st>())).cleanup as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rand_meth_st),
-            "::",
-            stringify!(cleanup)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rand_meth_st>())).add as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rand_meth_st),
-            "::",
-            stringify!(add)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rand_meth_st>())).pseudorand as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rand_meth_st),
-            "::",
-            stringify!(pseudorand)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<rand_meth_st>())).status as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(rand_meth_st),
-            "::",
-            stringify!(status)
-        )
-    );
-}
-extern "C" {
-    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
-}
-extern "C" {
-    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
-}
-extern "C" {
-    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD);
-}
-extern "C" {
-    pub fn ERR_load_SSL_strings();
-}
-extern "C" {
-    pub fn BIO_f_ssl() -> *const BIO_METHOD;
-}
-extern "C" {
-    pub fn BIO_set_ssl(
-        bio: *mut BIO,
-        ssl: *mut SSL,
-        take_owership: ::std::os::raw::c_int,
-    ) -> ::std::os::raw::c_long;
-}
-extern "C" {
-    pub fn OPENSSL_init_ssl(
-        opts: u64,
-        settings: *const OPENSSL_INIT_SETTINGS,
-    ) -> ::std::os::raw::c_int;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct X509V3_CONF_METHOD_st {
-    pub get_string: ::std::option::Option<
-        unsafe extern "C" fn(
-            db: *mut ::std::os::raw::c_void,
-            section: *mut ::std::os::raw::c_char,
-            value: *mut ::std::os::raw::c_char,
-        ) -> *mut ::std::os::raw::c_char,
-    >,
-    pub get_section: ::std::option::Option<
-        unsafe extern "C" fn(db: *mut ::std::os::raw::c_void, section: *mut ::std::os::raw::c_char)
-            -> *mut stack_st_CONF_VALUE,
-    >,
-    pub free_string: ::std::option::Option<
-        unsafe extern "C" fn(db: *mut ::std::os::raw::c_void, string: *mut ::std::os::raw::c_char),
-    >,
-    pub free_section: ::std::option::Option<
-        unsafe extern "C" fn(db: *mut ::std::os::raw::c_void, section: *mut stack_st_CONF_VALUE),
-    >,
-}
-#[test]
-fn bindgen_test_layout_X509V3_CONF_METHOD_st() {
-    assert_eq!(
-        ::std::mem::size_of::<X509V3_CONF_METHOD_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(X509V3_CONF_METHOD_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<X509V3_CONF_METHOD_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(X509V3_CONF_METHOD_st))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<X509V3_CONF_METHOD_st>())).get_string as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509V3_CONF_METHOD_st),
-            "::",
-            stringify!(get_string)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<X509V3_CONF_METHOD_st>())).get_section as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509V3_CONF_METHOD_st),
-            "::",
-            stringify!(get_section)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<X509V3_CONF_METHOD_st>())).free_string as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509V3_CONF_METHOD_st),
-            "::",
-            stringify!(free_string)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<X509V3_CONF_METHOD_st>())).free_section as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(X509V3_CONF_METHOD_st),
-            "::",
-            stringify!(free_section)
-        )
-    );
-}
-pub type X509V3_CONF_METHOD = X509V3_CONF_METHOD_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct v3_ext_ctx {
-    pub flags: ::std::os::raw::c_int,
-    pub issuer_cert: *mut X509,
-    pub subject_cert: *mut X509,
-    pub subject_req: *mut X509_REQ,
-    pub crl: *mut X509_CRL,
-    pub db_meth: *const X509V3_CONF_METHOD,
-    pub db: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout_v3_ext_ctx() {
-    assert_eq!(
-        ::std::mem::size_of::<v3_ext_ctx>(),
-        56usize,
-        concat!("Size of: ", stringify!(v3_ext_ctx))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<v3_ext_ctx>(),
-        8usize,
-        concat!("Alignment of ", stringify!(v3_ext_ctx))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<v3_ext_ctx>())).flags as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(v3_ext_ctx),
-            "::",
-            stringify!(flags)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<v3_ext_ctx>())).issuer_cert as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(v3_ext_ctx),
-            "::",
-            stringify!(issuer_cert)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<v3_ext_ctx>())).subject_cert as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(v3_ext_ctx),
-            "::",
-            stringify!(subject_cert)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<v3_ext_ctx>())).subject_req as *const _ as usize },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(v3_ext_ctx),
-            "::",
-            stringify!(subject_req)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<v3_ext_ctx>())).crl as *const _ as usize },
-        32usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(v3_ext_ctx),
-            "::",
-            stringify!(crl)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<v3_ext_ctx>())).db_meth as *const _ as usize },
-        40usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(v3_ext_ctx),
-            "::",
-            stringify!(db_meth)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<v3_ext_ctx>())).db as *const _ as usize },
-        48usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(v3_ext_ctx),
-            "::",
-            stringify!(db)
-        )
-    );
-}
-pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct DIST_POINT_NAME_st {
-    pub type_: ::std::os::raw::c_int,
-    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
-    pub dpname: *mut X509_NAME,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union DIST_POINT_NAME_st__bindgen_ty_1 {
-    pub fullname: *mut GENERAL_NAMES,
-    pub relativename: *mut stack_st_X509_NAME_ENTRY,
-    _bindgen_union_align: u64,
-}
-#[test]
-fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
-    assert_eq!(
-        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
-        8usize,
-        concat!("Size of: ", stringify!(DIST_POINT_NAME_st__bindgen_ty_1))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
-        8usize,
-        concat!(
-            "Alignment of ",
-            stringify!(DIST_POINT_NAME_st__bindgen_ty_1)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<DIST_POINT_NAME_st__bindgen_ty_1>())).fullname as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
-            "::",
-            stringify!(fullname)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<DIST_POINT_NAME_st__bindgen_ty_1>())).relativename as *const _
-                as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
-            "::",
-            stringify!(relativename)
-        )
-    );
-}
-#[test]
-fn bindgen_test_layout_DIST_POINT_NAME_st() {
-    assert_eq!(
-        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(DIST_POINT_NAME_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(DIST_POINT_NAME_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<DIST_POINT_NAME_st>())).type_ as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DIST_POINT_NAME_st),
-            "::",
-            stringify!(type_)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<DIST_POINT_NAME_st>())).name as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DIST_POINT_NAME_st),
-            "::",
-            stringify!(name)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<DIST_POINT_NAME_st>())).dpname as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(DIST_POINT_NAME_st),
-            "::",
-            stringify!(dpname)
-        )
-    );
-}
-pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct AUTHORITY_KEYID_st {
-    pub keyid: *mut ASN1_OCTET_STRING,
-    pub issuer: *mut GENERAL_NAMES,
-    pub serial: *mut ASN1_INTEGER,
-}
-#[test]
-fn bindgen_test_layout_AUTHORITY_KEYID_st() {
-    assert_eq!(
-        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
-        24usize,
-        concat!("Size of: ", stringify!(AUTHORITY_KEYID_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(AUTHORITY_KEYID_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<AUTHORITY_KEYID_st>())).keyid as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(AUTHORITY_KEYID_st),
-            "::",
-            stringify!(keyid)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<AUTHORITY_KEYID_st>())).issuer as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(AUTHORITY_KEYID_st),
-            "::",
-            stringify!(issuer)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<AUTHORITY_KEYID_st>())).serial as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(AUTHORITY_KEYID_st),
-            "::",
-            stringify!(serial)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct stack_st_GENERAL_SUBTREE {
-    _unused: [u8; 0],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct NAME_CONSTRAINTS_st {
-    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
-    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
-}
-#[test]
-fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
-    assert_eq!(
-        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
-        16usize,
-        concat!("Size of: ", stringify!(NAME_CONSTRAINTS_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(NAME_CONSTRAINTS_st))
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<NAME_CONSTRAINTS_st>())).permittedSubtrees as *const _ as usize
-        },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(NAME_CONSTRAINTS_st),
-            "::",
-            stringify!(permittedSubtrees)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<NAME_CONSTRAINTS_st>())).excludedSubtrees as *const _ as usize
-        },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(NAME_CONSTRAINTS_st),
-            "::",
-            stringify!(excludedSubtrees)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ISSUING_DIST_POINT_st {
-    pub distpoint: *mut DIST_POINT_NAME,
-    pub onlyuser: ::std::os::raw::c_int,
-    pub onlyCA: ::std::os::raw::c_int,
-    pub onlysomereasons: *mut ASN1_BIT_STRING,
-    pub indirectCRL: ::std::os::raw::c_int,
-    pub onlyattr: ::std::os::raw::c_int,
-}
-#[test]
-fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
-    assert_eq!(
-        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
-        32usize,
-        concat!("Size of: ", stringify!(ISSUING_DIST_POINT_st))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
-        8usize,
-        concat!("Alignment of ", stringify!(ISSUING_DIST_POINT_st))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ISSUING_DIST_POINT_st>())).distpoint as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ISSUING_DIST_POINT_st),
-            "::",
-            stringify!(distpoint)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ISSUING_DIST_POINT_st>())).onlyuser as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ISSUING_DIST_POINT_st),
-            "::",
-            stringify!(onlyuser)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ISSUING_DIST_POINT_st>())).onlyCA as *const _ as usize },
-        12usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ISSUING_DIST_POINT_st),
-            "::",
-            stringify!(onlyCA)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ISSUING_DIST_POINT_st>())).onlysomereasons as *const _ as usize
-        },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ISSUING_DIST_POINT_st),
-            "::",
-            stringify!(onlysomereasons)
-        )
-    );
-    assert_eq!(
-        unsafe {
-            &(*(::std::ptr::null::<ISSUING_DIST_POINT_st>())).indirectCRL as *const _ as usize
-        },
-        24usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ISSUING_DIST_POINT_st),
-            "::",
-            stringify!(indirectCRL)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<ISSUING_DIST_POINT_st>())).onlyattr as *const _ as usize },
-        28usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(ISSUING_DIST_POINT_st),
-            "::",
-            stringify!(onlyattr)
-        )
-    );
-}
-pub type __builtin_va_list = [__va_list_tag; 1usize];
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __va_list_tag {
-    pub gp_offset: ::std::os::raw::c_uint,
-    pub fp_offset: ::std::os::raw::c_uint,
-    pub overflow_arg_area: *mut ::std::os::raw::c_void,
-    pub reg_save_area: *mut ::std::os::raw::c_void,
-}
-#[test]
-fn bindgen_test_layout___va_list_tag() {
-    assert_eq!(
-        ::std::mem::size_of::<__va_list_tag>(),
-        24usize,
-        concat!("Size of: ", stringify!(__va_list_tag))
-    );
-    assert_eq!(
-        ::std::mem::align_of::<__va_list_tag>(),
-        8usize,
-        concat!("Alignment of ", stringify!(__va_list_tag))
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
-        0usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list_tag),
-            "::",
-            stringify!(gp_offset)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
-        4usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list_tag),
-            "::",
-            stringify!(fp_offset)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
-        8usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list_tag),
-            "::",
-            stringify!(overflow_arg_area)
-        )
-    );
-    assert_eq!(
-        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
-        16usize,
-        concat!(
-            "Offset of field: ",
-            stringify!(__va_list_tag),
-            "::",
-            stringify!(reg_save_area)
-        )
-    );
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct CRYPTO_dynlock_value {
-    pub _address: u8,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct lhash_st_CONF_VALUE {
-    pub _address: u8,
-}
+ pub const OPENSSL_VERSION_NUMBER : u32 = 269484159 ; pub const SSLEAY_VERSION_NUMBER : u32 = 269484159 ; pub const EVP_AEAD_MAX_KEY_LENGTH : u32 = 80 ; pub const EVP_AEAD_MAX_NONCE_LENGTH : u32 = 24 ; pub const EVP_AEAD_MAX_OVERHEAD : u32 = 64 ; pub const EVP_AEAD_DEFAULT_TAG_LENGTH : u32 = 0 ; pub const ERR_FLAG_STRING : u32 = 1 ; pub const ERR_R_FATAL : u32 = 64 ; pub const ERR_R_MALLOC_FAILURE : u32 = 65 ; pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED : u32 = 66 ; pub const ERR_R_PASSED_NULL_PARAMETER : u32 = 67 ; pub const ERR_R_INTERNAL_ERROR : u32 = 68 ; pub const ERR_R_OVERFLOW : u32 = 69 ; pub const ERR_ERROR_STRING_BUF_LEN : u32 = 120 ; pub const ERR_TXT_STRING : u32 = 1 ; pub const ERR_NUM_ERRORS : u32 = 16 ; pub const CRYPTO_LOCK : u32 = 1 ; pub const CRYPTO_UNLOCK : u32 = 2 ; pub const CRYPTO_READ : u32 = 4 ; pub const CRYPTO_WRITE : u32 = 8 ; pub const BIO_RR_CONNECT : u32 = 2 ; pub const BIO_RR_ACCEPT : u32 = 3 ; pub const BIO_CB_FREE : u32 = 1 ; pub const BIO_CB_READ : u32 = 2 ; pub const BIO_CB_WRITE : u32 = 3 ; pub const BIO_CB_PUTS : u32 = 4 ; pub const BIO_CB_GETS : u32 = 5 ; pub const BIO_CB_CTRL : u32 = 6 ; pub const BIO_CB_RETURN : u32 = 128 ; pub const BIO_NOCLOSE : u32 = 0 ; pub const BIO_CLOSE : u32 = 1 ; pub const BIO_CTRL_DGRAM_QUERY_MTU : u32 = 40 ; pub const BIO_CTRL_DGRAM_SET_MTU : u32 = 42 ; pub const BIO_CTRL_DGRAM_MTU_EXCEEDED : u32 = 43 ; pub const BIO_CTRL_DGRAM_GET_PEER : u32 = 46 ; pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU : u32 = 47 ; pub const BIO_CTRL_RESET : u32 = 1 ; pub const BIO_CTRL_EOF : u32 = 2 ; pub const BIO_CTRL_INFO : u32 = 3 ; pub const BIO_CTRL_GET_CLOSE : u32 = 8 ; pub const BIO_CTRL_SET_CLOSE : u32 = 9 ; pub const BIO_CTRL_PENDING : u32 = 10 ; pub const BIO_CTRL_FLUSH : u32 = 11 ; pub const BIO_CTRL_WPENDING : u32 = 13 ; pub const BIO_CTRL_SET_CALLBACK : u32 = 14 ; pub const BIO_CTRL_GET_CALLBACK : u32 = 15 ; pub const BIO_CTRL_SET : u32 = 4 ; pub const BIO_CTRL_GET : u32 = 5 ; pub const BIO_CTRL_PUSH : u32 = 6 ; pub const BIO_CTRL_POP : u32 = 7 ; pub const BIO_CTRL_DUP : u32 = 12 ; pub const BIO_CTRL_SET_FILENAME : u32 = 30 ; pub const BIO_FLAGS_READ : u32 = 1 ; pub const BIO_FLAGS_WRITE : u32 = 2 ; pub const BIO_FLAGS_IO_SPECIAL : u32 = 4 ; pub const BIO_FLAGS_RWS : u32 = 7 ; pub const BIO_FLAGS_SHOULD_RETRY : u32 = 8 ; pub const BIO_FLAGS_BASE64_NO_NL : u32 = 256 ; pub const BIO_FLAGS_MEM_RDONLY : u32 = 512 ; pub const BIO_TYPE_NONE : u32 = 0 ; pub const BIO_TYPE_MEM : u32 = 1025 ; pub const BIO_TYPE_FILE : u32 = 1026 ; pub const BIO_TYPE_FD : u32 = 1284 ; pub const BIO_TYPE_SOCKET : u32 = 1285 ; pub const BIO_TYPE_NULL : u32 = 1030 ; pub const BIO_TYPE_SSL : u32 = 519 ; pub const BIO_TYPE_MD : u32 = 520 ; pub const BIO_TYPE_BUFFER : u32 = 521 ; pub const BIO_TYPE_CIPHER : u32 = 522 ; pub const BIO_TYPE_BASE64 : u32 = 523 ; pub const BIO_TYPE_CONNECT : u32 = 1292 ; pub const BIO_TYPE_ACCEPT : u32 = 1293 ; pub const BIO_TYPE_PROXY_CLIENT : u32 = 526 ; pub const BIO_TYPE_PROXY_SERVER : u32 = 527 ; pub const BIO_TYPE_NBIO_TEST : u32 = 528 ; pub const BIO_TYPE_NULL_FILTER : u32 = 529 ; pub const BIO_TYPE_BER : u32 = 530 ; pub const BIO_TYPE_BIO : u32 = 1043 ; pub const BIO_TYPE_LINEBUFFER : u32 = 532 ; pub const BIO_TYPE_DGRAM : u32 = 1301 ; pub const BIO_TYPE_ASN1 : u32 = 534 ; pub const BIO_TYPE_COMP : u32 = 535 ; pub const BIO_TYPE_DESCRIPTOR : u32 = 256 ; pub const BIO_TYPE_FILTER : u32 = 512 ; pub const BIO_TYPE_SOURCE_SINK : u32 = 1024 ; pub const BIO_TYPE_START : u32 = 128 ; pub const BIO_C_SET_CONNECT : u32 = 100 ; pub const BIO_C_DO_STATE_MACHINE : u32 = 101 ; pub const BIO_C_SET_NBIO : u32 = 102 ; pub const BIO_C_SET_PROXY_PARAM : u32 = 103 ; pub const BIO_C_SET_FD : u32 = 104 ; pub const BIO_C_GET_FD : u32 = 105 ; pub const BIO_C_SET_FILE_PTR : u32 = 106 ; pub const BIO_C_GET_FILE_PTR : u32 = 107 ; pub const BIO_C_SET_FILENAME : u32 = 108 ; pub const BIO_C_SET_SSL : u32 = 109 ; pub const BIO_C_GET_SSL : u32 = 110 ; pub const BIO_C_SET_MD : u32 = 111 ; pub const BIO_C_GET_MD : u32 = 112 ; pub const BIO_C_GET_CIPHER_STATUS : u32 = 113 ; pub const BIO_C_SET_BUF_MEM : u32 = 114 ; pub const BIO_C_GET_BUF_MEM_PTR : u32 = 115 ; pub const BIO_C_GET_BUFF_NUM_LINES : u32 = 116 ; pub const BIO_C_SET_BUFF_SIZE : u32 = 117 ; pub const BIO_C_SET_ACCEPT : u32 = 118 ; pub const BIO_C_SSL_MODE : u32 = 119 ; pub const BIO_C_GET_MD_CTX : u32 = 120 ; pub const BIO_C_GET_PROXY_PARAM : u32 = 121 ; pub const BIO_C_SET_BUFF_READ_DATA : u32 = 122 ; pub const BIO_C_GET_ACCEPT : u32 = 124 ; pub const BIO_C_SET_SSL_RENEGOTIATE_BYTES : u32 = 125 ; pub const BIO_C_GET_SSL_NUM_RENEGOTIATES : u32 = 126 ; pub const BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT : u32 = 127 ; pub const BIO_C_FILE_SEEK : u32 = 128 ; pub const BIO_C_GET_CIPHER_CTX : u32 = 129 ; pub const BIO_C_SET_BUF_MEM_EOF_RETURN : u32 = 130 ; pub const BIO_C_SET_BIND_MODE : u32 = 131 ; pub const BIO_C_GET_BIND_MODE : u32 = 132 ; pub const BIO_C_FILE_TELL : u32 = 133 ; pub const BIO_C_GET_SOCKS : u32 = 134 ; pub const BIO_C_SET_SOCKS : u32 = 135 ; pub const BIO_C_SET_WRITE_BUF_SIZE : u32 = 136 ; pub const BIO_C_GET_WRITE_BUF_SIZE : u32 = 137 ; pub const BIO_C_GET_WRITE_GUARANTEE : u32 = 140 ; pub const BIO_C_GET_READ_REQUEST : u32 = 141 ; pub const BIO_C_SHUTDOWN_WR : u32 = 142 ; pub const BIO_C_NREAD0 : u32 = 143 ; pub const BIO_C_NREAD : u32 = 144 ; pub const BIO_C_NWRITE0 : u32 = 145 ; pub const BIO_C_NWRITE : u32 = 146 ; pub const BIO_C_RESET_READ_REQUEST : u32 = 147 ; pub const BIO_C_SET_MD_CTX : u32 = 148 ; pub const BIO_C_SET_PREFIX : u32 = 149 ; pub const BIO_C_GET_PREFIX : u32 = 150 ; pub const BIO_C_SET_SUFFIX : u32 = 151 ; pub const BIO_C_GET_SUFFIX : u32 = 152 ; pub const BIO_C_SET_EX_ARG : u32 = 153 ; pub const BIO_C_GET_EX_ARG : u32 = 154 ; pub const BIO_R_BAD_FOPEN_MODE : u32 = 100 ; pub const BIO_R_BROKEN_PIPE : u32 = 101 ; pub const BIO_R_CONNECT_ERROR : u32 = 102 ; pub const BIO_R_ERROR_SETTING_NBIO : u32 = 103 ; pub const BIO_R_INVALID_ARGUMENT : u32 = 104 ; pub const BIO_R_IN_USE : u32 = 105 ; pub const BIO_R_KEEPALIVE : u32 = 106 ; pub const BIO_R_NBIO_CONNECT_ERROR : u32 = 107 ; pub const BIO_R_NO_HOSTNAME_SPECIFIED : u32 = 108 ; pub const BIO_R_NO_PORT_SPECIFIED : u32 = 109 ; pub const BIO_R_NO_SUCH_FILE : u32 = 110 ; pub const BIO_R_NULL_PARAMETER : u32 = 111 ; pub const BIO_R_SYS_LIB : u32 = 112 ; pub const BIO_R_UNABLE_TO_CREATE_SOCKET : u32 = 113 ; pub const BIO_R_UNINITIALIZED : u32 = 114 ; pub const BIO_R_UNSUPPORTED_METHOD : u32 = 115 ; pub const BIO_R_WRITE_TO_READ_ONLY_BIO : u32 = 116 ; pub const V_ASN1_UNIVERSAL : u32 = 0 ; pub const V_ASN1_APPLICATION : u32 = 64 ; pub const V_ASN1_CONTEXT_SPECIFIC : u32 = 128 ; pub const V_ASN1_PRIVATE : u32 = 192 ; pub const V_ASN1_CONSTRUCTED : u32 = 32 ; pub const V_ASN1_PRIMITIVE_TAG : u32 = 31 ; pub const V_ASN1_APP_CHOOSE : i32 = -2 ; pub const V_ASN1_OTHER : i32 = -3 ; pub const V_ASN1_ANY : i32 = -4 ; pub const V_ASN1_NEG : u32 = 256 ; pub const V_ASN1_MAX_UNIVERSAL : u32 = 255 ; pub const V_ASN1_UNDEF : i32 = -1 ; pub const V_ASN1_EOC : u32 = 0 ; pub const V_ASN1_BOOLEAN : u32 = 1 ; pub const V_ASN1_INTEGER : u32 = 2 ; pub const V_ASN1_NEG_INTEGER : u32 = 258 ; pub const V_ASN1_BIT_STRING : u32 = 3 ; pub const V_ASN1_OCTET_STRING : u32 = 4 ; pub const V_ASN1_NULL : u32 = 5 ; pub const V_ASN1_OBJECT : u32 = 6 ; pub const V_ASN1_OBJECT_DESCRIPTOR : u32 = 7 ; pub const V_ASN1_EXTERNAL : u32 = 8 ; pub const V_ASN1_REAL : u32 = 9 ; pub const V_ASN1_ENUMERATED : u32 = 10 ; pub const V_ASN1_NEG_ENUMERATED : u32 = 266 ; pub const V_ASN1_UTF8STRING : u32 = 12 ; pub const V_ASN1_SEQUENCE : u32 = 16 ; pub const V_ASN1_SET : u32 = 17 ; pub const V_ASN1_NUMERICSTRING : u32 = 18 ; pub const V_ASN1_PRINTABLESTRING : u32 = 19 ; pub const V_ASN1_T61STRING : u32 = 20 ; pub const V_ASN1_TELETEXSTRING : u32 = 20 ; pub const V_ASN1_VIDEOTEXSTRING : u32 = 21 ; pub const V_ASN1_IA5STRING : u32 = 22 ; pub const V_ASN1_UTCTIME : u32 = 23 ; pub const V_ASN1_GENERALIZEDTIME : u32 = 24 ; pub const V_ASN1_GRAPHICSTRING : u32 = 25 ; pub const V_ASN1_ISO64STRING : u32 = 26 ; pub const V_ASN1_VISIBLESTRING : u32 = 26 ; pub const V_ASN1_GENERALSTRING : u32 = 27 ; pub const V_ASN1_UNIVERSALSTRING : u32 = 28 ; pub const V_ASN1_BMPSTRING : u32 = 30 ; pub const B_ASN1_NUMERICSTRING : u32 = 1 ; pub const B_ASN1_PRINTABLESTRING : u32 = 2 ; pub const B_ASN1_T61STRING : u32 = 4 ; pub const B_ASN1_TELETEXSTRING : u32 = 4 ; pub const B_ASN1_VIDEOTEXSTRING : u32 = 8 ; pub const B_ASN1_IA5STRING : u32 = 16 ; pub const B_ASN1_GRAPHICSTRING : u32 = 32 ; pub const B_ASN1_ISO64STRING : u32 = 64 ; pub const B_ASN1_VISIBLESTRING : u32 = 64 ; pub const B_ASN1_GENERALSTRING : u32 = 128 ; pub const B_ASN1_UNIVERSALSTRING : u32 = 256 ; pub const B_ASN1_OCTET_STRING : u32 = 512 ; pub const B_ASN1_BIT_STRING : u32 = 1024 ; pub const B_ASN1_BMPSTRING : u32 = 2048 ; pub const B_ASN1_UNKNOWN : u32 = 4096 ; pub const B_ASN1_UTF8STRING : u32 = 8192 ; pub const B_ASN1_UTCTIME : u32 = 16384 ; pub const B_ASN1_GENERALIZEDTIME : u32 = 32768 ; pub const B_ASN1_SEQUENCE : u32 = 65536 ; pub const ASN1_OBJECT_FLAG_DYNAMIC : u32 = 1 ; pub const ASN1_OBJECT_FLAG_DYNAMIC_STRINGS : u32 = 4 ; pub const ASN1_OBJECT_FLAG_DYNAMIC_DATA : u32 = 8 ; pub const ASN1_STRING_FLAG_BITS_LEFT : u32 = 8 ; pub const ASN1_STRING_FLAG_NDEF : u32 = 16 ; pub const ASN1_STRING_FLAG_MSTRING : u32 = 64 ; pub const ASN1_STRFLGS_ESC_2253 : u32 = 1 ; pub const ASN1_STRFLGS_ESC_CTRL : u32 = 2 ; pub const ASN1_STRFLGS_ESC_MSB : u32 = 4 ; pub const ASN1_STRFLGS_ESC_QUOTE : u32 = 8 ; pub const ASN1_STRFLGS_UTF8_CONVERT : u32 = 16 ; pub const ASN1_STRFLGS_IGNORE_TYPE : u32 = 32 ; pub const ASN1_STRFLGS_SHOW_TYPE : u32 = 64 ; pub const ASN1_STRFLGS_DUMP_ALL : u32 = 128 ; pub const ASN1_STRFLGS_DUMP_UNKNOWN : u32 = 256 ; pub const ASN1_STRFLGS_DUMP_DER : u32 = 512 ; pub const ASN1_STRFLGS_RFC2253 : u32 = 791 ; pub const B_ASN1_TIME : u32 = 49152 ; pub const B_ASN1_PRINTABLE : u32 = 81175 ; pub const B_ASN1_DIRECTORYSTRING : u32 = 10502 ; pub const B_ASN1_DISPLAYTEXT : u32 = 10320 ; pub const ASN1_R_ASN1_LENGTH_MISMATCH : u32 = 100 ; pub const ASN1_R_AUX_ERROR : u32 = 101 ; pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL : u32 = 102 ; pub const ASN1_R_BAD_OBJECT_HEADER : u32 = 103 ; pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH : u32 = 104 ; pub const ASN1_R_BN_LIB : u32 = 105 ; pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH : u32 = 106 ; pub const ASN1_R_BUFFER_TOO_SMALL : u32 = 107 ; pub const ASN1_R_CONTEXT_NOT_INITIALISED : u32 = 108 ; pub const ASN1_R_DECODE_ERROR : u32 = 109 ; pub const ASN1_R_DEPTH_EXCEEDED : u32 = 110 ; pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED : u32 = 111 ; pub const ASN1_R_ENCODE_ERROR : u32 = 112 ; pub const ASN1_R_ERROR_GETTING_TIME : u32 = 113 ; pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE : u32 = 114 ; pub const ASN1_R_EXPECTING_AN_INTEGER : u32 = 115 ; pub const ASN1_R_EXPECTING_AN_OBJECT : u32 = 116 ; pub const ASN1_R_EXPECTING_A_BOOLEAN : u32 = 117 ; pub const ASN1_R_EXPECTING_A_TIME : u32 = 118 ; pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH : u32 = 119 ; pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED : u32 = 120 ; pub const ASN1_R_FIELD_MISSING : u32 = 121 ; pub const ASN1_R_FIRST_NUM_TOO_LARGE : u32 = 122 ; pub const ASN1_R_HEADER_TOO_LONG : u32 = 123 ; pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT : u32 = 124 ; pub const ASN1_R_ILLEGAL_BOOLEAN : u32 = 125 ; pub const ASN1_R_ILLEGAL_CHARACTERS : u32 = 126 ; pub const ASN1_R_ILLEGAL_FORMAT : u32 = 127 ; pub const ASN1_R_ILLEGAL_HEX : u32 = 128 ; pub const ASN1_R_ILLEGAL_IMPLICIT_TAG : u32 = 129 ; pub const ASN1_R_ILLEGAL_INTEGER : u32 = 130 ; pub const ASN1_R_ILLEGAL_NESTED_TAGGING : u32 = 131 ; pub const ASN1_R_ILLEGAL_NULL : u32 = 132 ; pub const ASN1_R_ILLEGAL_NULL_VALUE : u32 = 133 ; pub const ASN1_R_ILLEGAL_OBJECT : u32 = 134 ; pub const ASN1_R_ILLEGAL_OPTIONAL_ANY : u32 = 135 ; pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE : u32 = 136 ; pub const ASN1_R_ILLEGAL_TAGGED_ANY : u32 = 137 ; pub const ASN1_R_ILLEGAL_TIME_VALUE : u32 = 138 ; pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT : u32 = 139 ; pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG : u32 = 140 ; pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT : u32 = 141 ; pub const ASN1_R_INVALID_BMPSTRING : u32 = 142 ; pub const ASN1_R_INVALID_DIGIT : u32 = 143 ; pub const ASN1_R_INVALID_MODIFIER : u32 = 144 ; pub const ASN1_R_INVALID_NUMBER : u32 = 145 ; pub const ASN1_R_INVALID_OBJECT_ENCODING : u32 = 146 ; pub const ASN1_R_INVALID_SEPARATOR : u32 = 147 ; pub const ASN1_R_INVALID_TIME_FORMAT : u32 = 148 ; pub const ASN1_R_INVALID_UNIVERSALSTRING : u32 = 149 ; pub const ASN1_R_INVALID_UTF8STRING : u32 = 150 ; pub const ASN1_R_LIST_ERROR : u32 = 151 ; pub const ASN1_R_MISSING_ASN1_EOS : u32 = 152 ; pub const ASN1_R_MISSING_EOC : u32 = 153 ; pub const ASN1_R_MISSING_SECOND_NUMBER : u32 = 154 ; pub const ASN1_R_MISSING_VALUE : u32 = 155 ; pub const ASN1_R_MSTRING_NOT_UNIVERSAL : u32 = 156 ; pub const ASN1_R_MSTRING_WRONG_TAG : u32 = 157 ; pub const ASN1_R_NESTED_ASN1_ERROR : u32 = 158 ; pub const ASN1_R_NESTED_ASN1_STRING : u32 = 159 ; pub const ASN1_R_NON_HEX_CHARACTERS : u32 = 160 ; pub const ASN1_R_NOT_ASCII_FORMAT : u32 = 161 ; pub const ASN1_R_NOT_ENOUGH_DATA : u32 = 162 ; pub const ASN1_R_NO_MATCHING_CHOICE_TYPE : u32 = 163 ; pub const ASN1_R_NULL_IS_WRONG_LENGTH : u32 = 164 ; pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT : u32 = 165 ; pub const ASN1_R_ODD_NUMBER_OF_CHARS : u32 = 166 ; pub const ASN1_R_SECOND_NUMBER_TOO_LARGE : u32 = 167 ; pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH : u32 = 168 ; pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED : u32 = 169 ; pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG : u32 = 170 ; pub const ASN1_R_SHORT_LINE : u32 = 171 ; pub const ASN1_R_STREAMING_NOT_SUPPORTED : u32 = 172 ; pub const ASN1_R_STRING_TOO_LONG : u32 = 173 ; pub const ASN1_R_STRING_TOO_SHORT : u32 = 174 ; pub const ASN1_R_TAG_VALUE_TOO_HIGH : u32 = 175 ; pub const ASN1_R_TIME_NOT_ASCII_FORMAT : u32 = 176 ; pub const ASN1_R_TOO_LONG : u32 = 177 ; pub const ASN1_R_TYPE_NOT_CONSTRUCTED : u32 = 178 ; pub const ASN1_R_TYPE_NOT_PRIMITIVE : u32 = 179 ; pub const ASN1_R_UNEXPECTED_EOC : u32 = 180 ; pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH : u32 = 181 ; pub const ASN1_R_UNKNOWN_FORMAT : u32 = 182 ; pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM : u32 = 183 ; pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM : u32 = 184 ; pub const ASN1_R_UNKNOWN_TAG : u32 = 185 ; pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE : u32 = 186 ; pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE : u32 = 187 ; pub const ASN1_R_UNSUPPORTED_TYPE : u32 = 188 ; pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE : u32 = 189 ; pub const ASN1_R_WRONG_TAG : u32 = 190 ; pub const ASN1_R_WRONG_TYPE : u32 = 191 ; pub const ASN1_R_NESTED_TOO_DEEP : u32 = 192 ; pub const ASN1_TFLG_OPTIONAL : u32 = 1 ; pub const ASN1_TFLG_SET_OF : u32 = 2 ; pub const ASN1_TFLG_SEQUENCE_OF : u32 = 4 ; pub const ASN1_TFLG_SET_ORDER : u32 = 6 ; pub const ASN1_TFLG_SK_MASK : u32 = 6 ; pub const ASN1_TFLG_IMPTAG : u32 = 8 ; pub const ASN1_TFLG_EXPTAG : u32 = 16 ; pub const ASN1_TFLG_TAG_MASK : u32 = 24 ; pub const ASN1_TFLG_UNIVERSAL : u32 = 0 ; pub const ASN1_TFLG_APPLICATION : u32 = 64 ; pub const ASN1_TFLG_CONTEXT : u32 = 128 ; pub const ASN1_TFLG_PRIVATE : u32 = 192 ; pub const ASN1_TFLG_TAG_CLASS : u32 = 192 ; pub const ASN1_TFLG_ADB_MASK : u32 = 768 ; pub const ASN1_TFLG_ADB_OID : u32 = 256 ; pub const ASN1_TFLG_ADB_INT : u32 = 512 ; pub const ASN1_TFLG_COMBINE : u32 = 1024 ; pub const ASN1_TFLG_NDEF : u32 = 2048 ; pub const ASN1_ITYPE_PRIMITIVE : u32 = 0 ; pub const ASN1_ITYPE_SEQUENCE : u32 = 1 ; pub const ASN1_ITYPE_CHOICE : u32 = 2 ; pub const ASN1_ITYPE_COMPAT : u32 = 3 ; pub const ASN1_ITYPE_EXTERN : u32 = 4 ; pub const ASN1_ITYPE_MSTRING : u32 = 5 ; pub const ASN1_ITYPE_NDEF_SEQUENCE : u32 = 6 ; pub const ASN1_AFLG_REFCOUNT : u32 = 1 ; pub const ASN1_AFLG_ENCODING : u32 = 2 ; pub const ASN1_AFLG_BROKEN : u32 = 4 ; pub const ASN1_OP_NEW_PRE : u32 = 0 ; pub const ASN1_OP_NEW_POST : u32 = 1 ; pub const ASN1_OP_FREE_PRE : u32 = 2 ; pub const ASN1_OP_FREE_POST : u32 = 3 ; pub const ASN1_OP_D2I_PRE : u32 = 4 ; pub const ASN1_OP_D2I_POST : u32 = 5 ; pub const ASN1_OP_I2D_PRE : u32 = 6 ; pub const ASN1_OP_I2D_POST : u32 = 7 ; pub const ASN1_OP_PRINT_PRE : u32 = 8 ; pub const ASN1_OP_PRINT_POST : u32 = 9 ; pub const ASN1_OP_STREAM_PRE : u32 = 10 ; pub const ASN1_OP_STREAM_POST : u32 = 11 ; pub const ASN1_OP_DETACHED_PRE : u32 = 12 ; pub const ASN1_OP_DETACHED_POST : u32 = 13 ; pub const CBS_ASN1_BOOLEAN : u32 = 1 ; pub const CBS_ASN1_INTEGER : u32 = 2 ; pub const CBS_ASN1_BITSTRING : u32 = 3 ; pub const CBS_ASN1_OCTETSTRING : u32 = 4 ; pub const CBS_ASN1_NULL : u32 = 5 ; pub const CBS_ASN1_OBJECT : u32 = 6 ; pub const CBS_ASN1_ENUMERATED : u32 = 10 ; pub const CBS_ASN1_UTF8STRING : u32 = 12 ; pub const CBS_ASN1_NUMERICSTRING : u32 = 18 ; pub const CBS_ASN1_PRINTABLESTRING : u32 = 19 ; pub const CBS_ASN1_T61STRING : u32 = 20 ; pub const CBS_ASN1_VIDEOTEXSTRING : u32 = 21 ; pub const CBS_ASN1_IA5STRING : u32 = 22 ; pub const CBS_ASN1_UTCTIME : u32 = 23 ; pub const CBS_ASN1_GENERALIZEDTIME : u32 = 24 ; pub const CBS_ASN1_GRAPHICSTRING : u32 = 25 ; pub const CBS_ASN1_VISIBLESTRING : u32 = 26 ; pub const CBS_ASN1_GENERALSTRING : u32 = 27 ; pub const CBS_ASN1_UNIVERSALSTRING : u32 = 28 ; pub const CBS_ASN1_BMPSTRING : u32 = 30 ; pub const CBS_ASN1_TAG_SHIFT : u32 = 24 ; pub const CBS_ASN1_CONSTRUCTED : u32 = 536870912 ; pub const CBS_ASN1_UNIVERSAL : u32 = 0 ; pub const CBS_ASN1_APPLICATION : u32 = 1073741824 ; pub const CBS_ASN1_CONTEXT_SPECIFIC : u32 = 2147483648 ; pub const CBS_ASN1_PRIVATE : u32 = 3221225472 ; pub const CBS_ASN1_CLASS_MASK : u32 = 3221225472 ; pub const CBS_ASN1_TAG_NUMBER_MASK : u32 = 536870911 ; pub const CAST_ENCRYPT : u32 = 1 ; pub const CAST_DECRYPT : u32 = 0 ; pub const CAST_BLOCK : u32 = 8 ; pub const CAST_KEY_LENGTH : u32 = 16 ; pub const EVP_CIPH_STREAM_CIPHER : u32 = 0 ; pub const EVP_CIPH_ECB_MODE : u32 = 1 ; pub const EVP_CIPH_CBC_MODE : u32 = 2 ; pub const EVP_CIPH_CFB_MODE : u32 = 3 ; pub const EVP_CIPH_OFB_MODE : u32 = 4 ; pub const EVP_CIPH_CTR_MODE : u32 = 5 ; pub const EVP_CIPH_GCM_MODE : u32 = 6 ; pub const EVP_CIPH_XTS_MODE : u32 = 7 ; pub const EVP_CIPH_VARIABLE_LENGTH : u32 = 64 ; pub const EVP_CIPH_ALWAYS_CALL_INIT : u32 = 128 ; pub const EVP_CIPH_CUSTOM_IV : u32 = 256 ; pub const EVP_CIPH_CTRL_INIT : u32 = 512 ; pub const EVP_CIPH_FLAG_CUSTOM_CIPHER : u32 = 1024 ; pub const EVP_CIPH_FLAG_AEAD_CIPHER : u32 = 2048 ; pub const EVP_CIPH_CUSTOM_COPY : u32 = 4096 ; pub const EVP_CIPH_CCM_MODE : u32 = 0 ; pub const EVP_CIPH_WRAP_MODE : u32 = 0 ; pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW : u32 = 0 ; pub const EVP_CIPH_NO_PADDING : u32 = 2048 ; pub const EVP_CTRL_INIT : u32 = 0 ; pub const EVP_CTRL_SET_KEY_LENGTH : u32 = 1 ; pub const EVP_CTRL_GET_RC2_KEY_BITS : u32 = 2 ; pub const EVP_CTRL_SET_RC2_KEY_BITS : u32 = 3 ; pub const EVP_CTRL_GET_RC5_ROUNDS : u32 = 4 ; pub const EVP_CTRL_SET_RC5_ROUNDS : u32 = 5 ; pub const EVP_CTRL_RAND_KEY : u32 = 6 ; pub const EVP_CTRL_PBE_PRF_NID : u32 = 7 ; pub const EVP_CTRL_COPY : u32 = 8 ; pub const EVP_CTRL_AEAD_SET_IVLEN : u32 = 9 ; pub const EVP_CTRL_AEAD_GET_TAG : u32 = 16 ; pub const EVP_CTRL_AEAD_SET_TAG : u32 = 17 ; pub const EVP_CTRL_AEAD_SET_IV_FIXED : u32 = 18 ; pub const EVP_CTRL_GCM_IV_GEN : u32 = 19 ; pub const EVP_CTRL_AEAD_SET_MAC_KEY : u32 = 23 ; pub const EVP_CTRL_GCM_SET_IV_INV : u32 = 24 ; pub const EVP_GCM_TLS_FIXED_IV_LEN : u32 = 4 ; pub const EVP_GCM_TLS_EXPLICIT_IV_LEN : u32 = 8 ; pub const EVP_GCM_TLS_TAG_LEN : u32 = 16 ; pub const EVP_CTRL_GCM_SET_IVLEN : u32 = 9 ; pub const EVP_CTRL_GCM_GET_TAG : u32 = 16 ; pub const EVP_CTRL_GCM_SET_TAG : u32 = 17 ; pub const EVP_CTRL_GCM_SET_IV_FIXED : u32 = 18 ; pub const EVP_MAX_KEY_LENGTH : u32 = 64 ; pub const EVP_MAX_IV_LENGTH : u32 = 16 ; pub const EVP_MAX_BLOCK_LENGTH : u32 = 32 ; pub const CIPHER_R_AES_KEY_SETUP_FAILED : u32 = 100 ; pub const CIPHER_R_BAD_DECRYPT : u32 = 101 ; pub const CIPHER_R_BAD_KEY_LENGTH : u32 = 102 ; pub const CIPHER_R_BUFFER_TOO_SMALL : u32 = 103 ; pub const CIPHER_R_CTRL_NOT_IMPLEMENTED : u32 = 104 ; pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED : u32 = 105 ; pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH : u32 = 106 ; pub const CIPHER_R_INITIALIZATION_ERROR : u32 = 107 ; pub const CIPHER_R_INPUT_NOT_INITIALIZED : u32 = 108 ; pub const CIPHER_R_INVALID_AD_SIZE : u32 = 109 ; pub const CIPHER_R_INVALID_KEY_LENGTH : u32 = 110 ; pub const CIPHER_R_INVALID_NONCE_SIZE : u32 = 111 ; pub const CIPHER_R_INVALID_OPERATION : u32 = 112 ; pub const CIPHER_R_IV_TOO_LARGE : u32 = 113 ; pub const CIPHER_R_NO_CIPHER_SET : u32 = 114 ; pub const CIPHER_R_OUTPUT_ALIASES_INPUT : u32 = 115 ; pub const CIPHER_R_TAG_TOO_LARGE : u32 = 116 ; pub const CIPHER_R_TOO_LARGE : u32 = 117 ; pub const CIPHER_R_UNSUPPORTED_AD_SIZE : u32 = 118 ; pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE : u32 = 119 ; pub const CIPHER_R_UNSUPPORTED_KEY_SIZE : u32 = 120 ; pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE : u32 = 121 ; pub const CIPHER_R_UNSUPPORTED_TAG_SIZE : u32 = 122 ; pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH : u32 = 123 ; pub const CIPHER_R_NO_DIRECTION_SET : u32 = 124 ; pub const CIPHER_R_INVALID_NONCE : u32 = 125 ; pub const RAND_MAX : u32 = 2147483647 ; pub const OPENSSL_VERSION_TEXT : & 'static [ u8 ; 38usize ] = b"OpenSSL 1.1.0 (compatible; BoringSSL)\0" ; pub const OPENSSL_VERSION : u32 = 0 ; pub const OPENSSL_CFLAGS : u32 = 1 ; pub const OPENSSL_BUILT_ON : u32 = 2 ; pub const OPENSSL_PLATFORM : u32 = 3 ; pub const OPENSSL_DIR : u32 = 4 ; pub const SSLEAY_VERSION : u32 = 0 ; pub const SSLEAY_CFLAGS : u32 = 1 ; pub const SSLEAY_BUILT_ON : u32 = 2 ; pub const SSLEAY_PLATFORM : u32 = 3 ; pub const SSLEAY_DIR : u32 = 4 ; pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS : u32 = 0 ; pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS : u32 = 0 ; pub const OPENSSL_INIT_ADD_ALL_CIPHERS : u32 = 0 ; pub const OPENSSL_INIT_ADD_ALL_DIGESTS : u32 = 0 ; pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS : u32 = 0 ; pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS : u32 = 0 ; pub const OPENSSL_INIT_LOAD_CONFIG : u32 = 0 ; pub const OPENSSL_INIT_NO_LOAD_CONFIG : u32 = 0 ; pub const X25519_PRIVATE_KEY_LEN : u32 = 32 ; pub const X25519_PUBLIC_VALUE_LEN : u32 = 32 ; pub const X25519_SHARED_KEY_LEN : u32 = 32 ; pub const ED25519_PRIVATE_KEY_LEN : u32 = 64 ; pub const ED25519_PUBLIC_KEY_LEN : u32 = 32 ; pub const ED25519_SIGNATURE_LEN : u32 = 64 ; pub const DES_ENCRYPT : u32 = 1 ; pub const DES_DECRYPT : u32 = 0 ; pub const DES_CBC_MODE : u32 = 0 ; pub const DES_PCBC_MODE : u32 = 1 ; pub const DH_GENERATOR_2 : u32 = 2 ; pub const DH_GENERATOR_5 : u32 = 5 ; pub const DH_CHECK_P_NOT_PRIME : u32 = 1 ; pub const DH_CHECK_P_NOT_SAFE_PRIME : u32 = 2 ; pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR : u32 = 4 ; pub const DH_CHECK_NOT_SUITABLE_GENERATOR : u32 = 8 ; pub const DH_CHECK_Q_NOT_PRIME : u32 = 16 ; pub const DH_CHECK_INVALID_Q_VALUE : u32 = 32 ; pub const DH_CHECK_INVALID_J_VALUE : u32 = 64 ; pub const DH_NOT_SUITABLE_GENERATOR : u32 = 8 ; pub const DH_UNABLE_TO_CHECK_GENERATOR : u32 = 4 ; pub const DH_CHECK_PUBKEY_TOO_SMALL : u32 = 1 ; pub const DH_CHECK_PUBKEY_TOO_LARGE : u32 = 2 ; pub const DH_CHECK_PUBKEY_INVALID : u32 = 4 ; pub const DH_R_BAD_GENERATOR : u32 = 100 ; pub const DH_R_INVALID_PUBKEY : u32 = 101 ; pub const DH_R_MODULUS_TOO_LARGE : u32 = 102 ; pub const DH_R_NO_PRIVATE_VALUE : u32 = 103 ; pub const DH_R_DECODE_ERROR : u32 = 104 ; pub const DH_R_ENCODE_ERROR : u32 = 105 ; pub const EVP_MAX_MD_SIZE : u32 = 64 ; pub const EVP_MAX_MD_BLOCK_SIZE : u32 = 128 ; pub const EVP_MD_FLAG_PKEY_DIGEST : u32 = 1 ; pub const EVP_MD_FLAG_DIGALGID_ABSENT : u32 = 2 ; pub const DIGEST_R_INPUT_NOT_INITIALIZED : u32 = 100 ; pub const DIGEST_R_DECODE_ERROR : u32 = 101 ; pub const DIGEST_R_UNKNOWN_HASH : u32 = 102 ; pub const DSA_R_BAD_Q_VALUE : u32 = 100 ; pub const DSA_R_MISSING_PARAMETERS : u32 = 101 ; pub const DSA_R_MODULUS_TOO_LARGE : u32 = 102 ; pub const DSA_R_NEED_NEW_SETUP_VALUES : u32 = 103 ; pub const DSA_R_BAD_VERSION : u32 = 104 ; pub const DSA_R_DECODE_ERROR : u32 = 105 ; pub const DSA_R_ENCODE_ERROR : u32 = 106 ; pub const OPENSSL_EC_NAMED_CURVE : u32 = 0 ; pub const EC_R_BUFFER_TOO_SMALL : u32 = 100 ; pub const EC_R_COORDINATES_OUT_OF_RANGE : u32 = 101 ; pub const EC_R_D2I_ECPKPARAMETERS_FAILURE : u32 = 102 ; pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE : u32 = 103 ; pub const EC_R_GROUP2PKPARAMETERS_FAILURE : u32 = 104 ; pub const EC_R_I2D_ECPKPARAMETERS_FAILURE : u32 = 105 ; pub const EC_R_INCOMPATIBLE_OBJECTS : u32 = 106 ; pub const EC_R_INVALID_COMPRESSED_POINT : u32 = 107 ; pub const EC_R_INVALID_COMPRESSION_BIT : u32 = 108 ; pub const EC_R_INVALID_ENCODING : u32 = 109 ; pub const EC_R_INVALID_FIELD : u32 = 110 ; pub const EC_R_INVALID_FORM : u32 = 111 ; pub const EC_R_INVALID_GROUP_ORDER : u32 = 112 ; pub const EC_R_INVALID_PRIVATE_KEY : u32 = 113 ; pub const EC_R_MISSING_PARAMETERS : u32 = 114 ; pub const EC_R_MISSING_PRIVATE_KEY : u32 = 115 ; pub const EC_R_NON_NAMED_CURVE : u32 = 116 ; pub const EC_R_NOT_INITIALIZED : u32 = 117 ; pub const EC_R_PKPARAMETERS2GROUP_FAILURE : u32 = 118 ; pub const EC_R_POINT_AT_INFINITY : u32 = 119 ; pub const EC_R_POINT_IS_NOT_ON_CURVE : u32 = 120 ; pub const EC_R_SLOT_FULL : u32 = 121 ; pub const EC_R_UNDEFINED_GENERATOR : u32 = 122 ; pub const EC_R_UNKNOWN_GROUP : u32 = 123 ; pub const EC_R_UNKNOWN_ORDER : u32 = 124 ; pub const EC_R_WRONG_ORDER : u32 = 125 ; pub const EC_R_BIGNUM_OUT_OF_RANGE : u32 = 126 ; pub const EC_R_WRONG_CURVE_PARAMETERS : u32 = 127 ; pub const EC_R_DECODE_ERROR : u32 = 128 ; pub const EC_R_ENCODE_ERROR : u32 = 129 ; pub const EC_R_GROUP_MISMATCH : u32 = 130 ; pub const EC_R_INVALID_COFACTOR : u32 = 131 ; pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED : u32 = 132 ; pub const EC_R_INVALID_SCALAR : u32 = 133 ; pub const EC_PKEY_NO_PARAMETERS : u32 = 1 ; pub const EC_PKEY_NO_PUBKEY : u32 = 2 ; pub const ECDSA_FLAG_OPAQUE : u32 = 1 ; pub const ECDH_R_KDF_FAILED : u32 = 100 ; pub const ECDH_R_NO_PRIVATE_VALUE : u32 = 101 ; pub const ECDH_R_POINT_ARITHMETIC_FAILURE : u32 = 102 ; pub const ECDH_R_UNKNOWN_DIGEST_LENGTH : u32 = 103 ; pub const ECDSA_R_BAD_SIGNATURE : u32 = 100 ; pub const ECDSA_R_MISSING_PARAMETERS : u32 = 101 ; pub const ECDSA_R_NEED_NEW_SETUP_VALUES : u32 = 102 ; pub const ECDSA_R_NOT_IMPLEMENTED : u32 = 103 ; pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED : u32 = 104 ; pub const ECDSA_R_ENCODE_ERROR : u32 = 105 ; pub const NID_undef : u32 = 0 ; pub const NID_rsadsi : u32 = 1 ; pub const NID_pkcs : u32 = 2 ; pub const NID_md2 : u32 = 3 ; pub const NID_md5 : u32 = 4 ; pub const NID_rc4 : u32 = 5 ; pub const NID_rsaEncryption : u32 = 6 ; pub const NID_md2WithRSAEncryption : u32 = 7 ; pub const NID_md5WithRSAEncryption : u32 = 8 ; pub const NID_pbeWithMD2AndDES_CBC : u32 = 9 ; pub const NID_pbeWithMD5AndDES_CBC : u32 = 10 ; pub const NID_X500 : u32 = 11 ; pub const NID_X509 : u32 = 12 ; pub const NID_commonName : u32 = 13 ; pub const NID_countryName : u32 = 14 ; pub const NID_localityName : u32 = 15 ; pub const NID_stateOrProvinceName : u32 = 16 ; pub const NID_organizationName : u32 = 17 ; pub const NID_organizationalUnitName : u32 = 18 ; pub const NID_rsa : u32 = 19 ; pub const NID_pkcs7 : u32 = 20 ; pub const NID_pkcs7_data : u32 = 21 ; pub const NID_pkcs7_signed : u32 = 22 ; pub const NID_pkcs7_enveloped : u32 = 23 ; pub const NID_pkcs7_signedAndEnveloped : u32 = 24 ; pub const NID_pkcs7_digest : u32 = 25 ; pub const NID_pkcs7_encrypted : u32 = 26 ; pub const NID_pkcs3 : u32 = 27 ; pub const NID_dhKeyAgreement : u32 = 28 ; pub const NID_des_ecb : u32 = 29 ; pub const NID_des_cfb64 : u32 = 30 ; pub const NID_des_cbc : u32 = 31 ; pub const NID_des_ede_ecb : u32 = 32 ; pub const NID_des_ede3_ecb : u32 = 33 ; pub const NID_idea_cbc : u32 = 34 ; pub const NID_idea_cfb64 : u32 = 35 ; pub const NID_idea_ecb : u32 = 36 ; pub const NID_rc2_cbc : u32 = 37 ; pub const NID_rc2_ecb : u32 = 38 ; pub const NID_rc2_cfb64 : u32 = 39 ; pub const NID_rc2_ofb64 : u32 = 40 ; pub const NID_sha : u32 = 41 ; pub const NID_shaWithRSAEncryption : u32 = 42 ; pub const NID_des_ede_cbc : u32 = 43 ; pub const NID_des_ede3_cbc : u32 = 44 ; pub const NID_des_ofb64 : u32 = 45 ; pub const NID_idea_ofb64 : u32 = 46 ; pub const NID_pkcs9 : u32 = 47 ; pub const NID_pkcs9_emailAddress : u32 = 48 ; pub const NID_pkcs9_unstructuredName : u32 = 49 ; pub const NID_pkcs9_contentType : u32 = 50 ; pub const NID_pkcs9_messageDigest : u32 = 51 ; pub const NID_pkcs9_signingTime : u32 = 52 ; pub const NID_pkcs9_countersignature : u32 = 53 ; pub const NID_pkcs9_challengePassword : u32 = 54 ; pub const NID_pkcs9_unstructuredAddress : u32 = 55 ; pub const NID_pkcs9_extCertAttributes : u32 = 56 ; pub const NID_netscape : u32 = 57 ; pub const NID_netscape_cert_extension : u32 = 58 ; pub const NID_netscape_data_type : u32 = 59 ; pub const NID_des_ede_cfb64 : u32 = 60 ; pub const NID_des_ede3_cfb64 : u32 = 61 ; pub const NID_des_ede_ofb64 : u32 = 62 ; pub const NID_des_ede3_ofb64 : u32 = 63 ; pub const NID_sha1 : u32 = 64 ; pub const NID_sha1WithRSAEncryption : u32 = 65 ; pub const NID_dsaWithSHA : u32 = 66 ; pub const NID_dsa_2 : u32 = 67 ; pub const NID_pbeWithSHA1AndRC2_CBC : u32 = 68 ; pub const NID_id_pbkdf2 : u32 = 69 ; pub const NID_dsaWithSHA1_2 : u32 = 70 ; pub const NID_netscape_cert_type : u32 = 71 ; pub const NID_netscape_base_url : u32 = 72 ; pub const NID_netscape_revocation_url : u32 = 73 ; pub const NID_netscape_ca_revocation_url : u32 = 74 ; pub const NID_netscape_renewal_url : u32 = 75 ; pub const NID_netscape_ca_policy_url : u32 = 76 ; pub const NID_netscape_ssl_server_name : u32 = 77 ; pub const NID_netscape_comment : u32 = 78 ; pub const NID_netscape_cert_sequence : u32 = 79 ; pub const NID_desx_cbc : u32 = 80 ; pub const NID_id_ce : u32 = 81 ; pub const NID_subject_key_identifier : u32 = 82 ; pub const NID_key_usage : u32 = 83 ; pub const NID_private_key_usage_period : u32 = 84 ; pub const NID_subject_alt_name : u32 = 85 ; pub const NID_issuer_alt_name : u32 = 86 ; pub const NID_basic_constraints : u32 = 87 ; pub const NID_crl_number : u32 = 88 ; pub const NID_certificate_policies : u32 = 89 ; pub const NID_authority_key_identifier : u32 = 90 ; pub const NID_bf_cbc : u32 = 91 ; pub const NID_bf_ecb : u32 = 92 ; pub const NID_bf_cfb64 : u32 = 93 ; pub const NID_bf_ofb64 : u32 = 94 ; pub const NID_mdc2 : u32 = 95 ; pub const NID_mdc2WithRSA : u32 = 96 ; pub const NID_rc4_40 : u32 = 97 ; pub const NID_rc2_40_cbc : u32 = 98 ; pub const NID_givenName : u32 = 99 ; pub const NID_surname : u32 = 100 ; pub const NID_initials : u32 = 101 ; pub const NID_crl_distribution_points : u32 = 103 ; pub const NID_md5WithRSA : u32 = 104 ; pub const NID_serialNumber : u32 = 105 ; pub const NID_title : u32 = 106 ; pub const NID_description : u32 = 107 ; pub const NID_cast5_cbc : u32 = 108 ; pub const NID_cast5_ecb : u32 = 109 ; pub const NID_cast5_cfb64 : u32 = 110 ; pub const NID_cast5_ofb64 : u32 = 111 ; pub const NID_pbeWithMD5AndCast5_CBC : u32 = 112 ; pub const NID_dsaWithSHA1 : u32 = 113 ; pub const NID_md5_sha1 : u32 = 114 ; pub const NID_sha1WithRSA : u32 = 115 ; pub const NID_dsa : u32 = 116 ; pub const NID_ripemd160 : u32 = 117 ; pub const NID_ripemd160WithRSA : u32 = 119 ; pub const NID_rc5_cbc : u32 = 120 ; pub const NID_rc5_ecb : u32 = 121 ; pub const NID_rc5_cfb64 : u32 = 122 ; pub const NID_rc5_ofb64 : u32 = 123 ; pub const NID_zlib_compression : u32 = 125 ; pub const NID_ext_key_usage : u32 = 126 ; pub const NID_id_pkix : u32 = 127 ; pub const NID_id_kp : u32 = 128 ; pub const NID_server_auth : u32 = 129 ; pub const NID_client_auth : u32 = 130 ; pub const NID_code_sign : u32 = 131 ; pub const NID_email_protect : u32 = 132 ; pub const NID_time_stamp : u32 = 133 ; pub const NID_ms_code_ind : u32 = 134 ; pub const NID_ms_code_com : u32 = 135 ; pub const NID_ms_ctl_sign : u32 = 136 ; pub const NID_ms_sgc : u32 = 137 ; pub const NID_ms_efs : u32 = 138 ; pub const NID_ns_sgc : u32 = 139 ; pub const NID_delta_crl : u32 = 140 ; pub const NID_crl_reason : u32 = 141 ; pub const NID_invalidity_date : u32 = 142 ; pub const NID_sxnet : u32 = 143 ; pub const NID_pbe_WithSHA1And128BitRC4 : u32 = 144 ; pub const NID_pbe_WithSHA1And40BitRC4 : u32 = 145 ; pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC : u32 = 146 ; pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC : u32 = 147 ; pub const NID_pbe_WithSHA1And128BitRC2_CBC : u32 = 148 ; pub const NID_pbe_WithSHA1And40BitRC2_CBC : u32 = 149 ; pub const NID_keyBag : u32 = 150 ; pub const NID_pkcs8ShroudedKeyBag : u32 = 151 ; pub const NID_certBag : u32 = 152 ; pub const NID_crlBag : u32 = 153 ; pub const NID_secretBag : u32 = 154 ; pub const NID_safeContentsBag : u32 = 155 ; pub const NID_friendlyName : u32 = 156 ; pub const NID_localKeyID : u32 = 157 ; pub const NID_x509Certificate : u32 = 158 ; pub const NID_sdsiCertificate : u32 = 159 ; pub const NID_x509Crl : u32 = 160 ; pub const NID_pbes2 : u32 = 161 ; pub const NID_pbmac1 : u32 = 162 ; pub const NID_hmacWithSHA1 : u32 = 163 ; pub const NID_id_qt_cps : u32 = 164 ; pub const NID_id_qt_unotice : u32 = 165 ; pub const NID_rc2_64_cbc : u32 = 166 ; pub const NID_SMIMECapabilities : u32 = 167 ; pub const NID_pbeWithMD2AndRC2_CBC : u32 = 168 ; pub const NID_pbeWithMD5AndRC2_CBC : u32 = 169 ; pub const NID_pbeWithSHA1AndDES_CBC : u32 = 170 ; pub const NID_ms_ext_req : u32 = 171 ; pub const NID_ext_req : u32 = 172 ; pub const NID_name : u32 = 173 ; pub const NID_dnQualifier : u32 = 174 ; pub const NID_id_pe : u32 = 175 ; pub const NID_id_ad : u32 = 176 ; pub const NID_info_access : u32 = 177 ; pub const NID_ad_OCSP : u32 = 178 ; pub const NID_ad_ca_issuers : u32 = 179 ; pub const NID_OCSP_sign : u32 = 180 ; pub const NID_iso : u32 = 181 ; pub const NID_member_body : u32 = 182 ; pub const NID_ISO_US : u32 = 183 ; pub const NID_X9_57 : u32 = 184 ; pub const NID_X9cm : u32 = 185 ; pub const NID_pkcs1 : u32 = 186 ; pub const NID_pkcs5 : u32 = 187 ; pub const NID_SMIME : u32 = 188 ; pub const NID_id_smime_mod : u32 = 189 ; pub const NID_id_smime_ct : u32 = 190 ; pub const NID_id_smime_aa : u32 = 191 ; pub const NID_id_smime_alg : u32 = 192 ; pub const NID_id_smime_cd : u32 = 193 ; pub const NID_id_smime_spq : u32 = 194 ; pub const NID_id_smime_cti : u32 = 195 ; pub const NID_id_smime_mod_cms : u32 = 196 ; pub const NID_id_smime_mod_ess : u32 = 197 ; pub const NID_id_smime_mod_oid : u32 = 198 ; pub const NID_id_smime_mod_msg_v3 : u32 = 199 ; pub const NID_id_smime_mod_ets_eSignature_88 : u32 = 200 ; pub const NID_id_smime_mod_ets_eSignature_97 : u32 = 201 ; pub const NID_id_smime_mod_ets_eSigPolicy_88 : u32 = 202 ; pub const NID_id_smime_mod_ets_eSigPolicy_97 : u32 = 203 ; pub const NID_id_smime_ct_receipt : u32 = 204 ; pub const NID_id_smime_ct_authData : u32 = 205 ; pub const NID_id_smime_ct_publishCert : u32 = 206 ; pub const NID_id_smime_ct_TSTInfo : u32 = 207 ; pub const NID_id_smime_ct_TDTInfo : u32 = 208 ; pub const NID_id_smime_ct_contentInfo : u32 = 209 ; pub const NID_id_smime_ct_DVCSRequestData : u32 = 210 ; pub const NID_id_smime_ct_DVCSResponseData : u32 = 211 ; pub const NID_id_smime_aa_receiptRequest : u32 = 212 ; pub const NID_id_smime_aa_securityLabel : u32 = 213 ; pub const NID_id_smime_aa_mlExpandHistory : u32 = 214 ; pub const NID_id_smime_aa_contentHint : u32 = 215 ; pub const NID_id_smime_aa_msgSigDigest : u32 = 216 ; pub const NID_id_smime_aa_encapContentType : u32 = 217 ; pub const NID_id_smime_aa_contentIdentifier : u32 = 218 ; pub const NID_id_smime_aa_macValue : u32 = 219 ; pub const NID_id_smime_aa_equivalentLabels : u32 = 220 ; pub const NID_id_smime_aa_contentReference : u32 = 221 ; pub const NID_id_smime_aa_encrypKeyPref : u32 = 222 ; pub const NID_id_smime_aa_signingCertificate : u32 = 223 ; pub const NID_id_smime_aa_smimeEncryptCerts : u32 = 224 ; pub const NID_id_smime_aa_timeStampToken : u32 = 225 ; pub const NID_id_smime_aa_ets_sigPolicyId : u32 = 226 ; pub const NID_id_smime_aa_ets_commitmentType : u32 = 227 ; pub const NID_id_smime_aa_ets_signerLocation : u32 = 228 ; pub const NID_id_smime_aa_ets_signerAttr : u32 = 229 ; pub const NID_id_smime_aa_ets_otherSigCert : u32 = 230 ; pub const NID_id_smime_aa_ets_contentTimestamp : u32 = 231 ; pub const NID_id_smime_aa_ets_CertificateRefs : u32 = 232 ; pub const NID_id_smime_aa_ets_RevocationRefs : u32 = 233 ; pub const NID_id_smime_aa_ets_certValues : u32 = 234 ; pub const NID_id_smime_aa_ets_revocationValues : u32 = 235 ; pub const NID_id_smime_aa_ets_escTimeStamp : u32 = 236 ; pub const NID_id_smime_aa_ets_certCRLTimestamp : u32 = 237 ; pub const NID_id_smime_aa_ets_archiveTimeStamp : u32 = 238 ; pub const NID_id_smime_aa_signatureType : u32 = 239 ; pub const NID_id_smime_aa_dvcs_dvc : u32 = 240 ; pub const NID_id_smime_alg_ESDHwith3DES : u32 = 241 ; pub const NID_id_smime_alg_ESDHwithRC2 : u32 = 242 ; pub const NID_id_smime_alg_3DESwrap : u32 = 243 ; pub const NID_id_smime_alg_RC2wrap : u32 = 244 ; pub const NID_id_smime_alg_ESDH : u32 = 245 ; pub const NID_id_smime_alg_CMS3DESwrap : u32 = 246 ; pub const NID_id_smime_alg_CMSRC2wrap : u32 = 247 ; pub const NID_id_smime_cd_ldap : u32 = 248 ; pub const NID_id_smime_spq_ets_sqt_uri : u32 = 249 ; pub const NID_id_smime_spq_ets_sqt_unotice : u32 = 250 ; pub const NID_id_smime_cti_ets_proofOfOrigin : u32 = 251 ; pub const NID_id_smime_cti_ets_proofOfReceipt : u32 = 252 ; pub const NID_id_smime_cti_ets_proofOfDelivery : u32 = 253 ; pub const NID_id_smime_cti_ets_proofOfSender : u32 = 254 ; pub const NID_id_smime_cti_ets_proofOfApproval : u32 = 255 ; pub const NID_id_smime_cti_ets_proofOfCreation : u32 = 256 ; pub const NID_md4 : u32 = 257 ; pub const NID_id_pkix_mod : u32 = 258 ; pub const NID_id_qt : u32 = 259 ; pub const NID_id_it : u32 = 260 ; pub const NID_id_pkip : u32 = 261 ; pub const NID_id_alg : u32 = 262 ; pub const NID_id_cmc : u32 = 263 ; pub const NID_id_on : u32 = 264 ; pub const NID_id_pda : u32 = 265 ; pub const NID_id_aca : u32 = 266 ; pub const NID_id_qcs : u32 = 267 ; pub const NID_id_cct : u32 = 268 ; pub const NID_id_pkix1_explicit_88 : u32 = 269 ; pub const NID_id_pkix1_implicit_88 : u32 = 270 ; pub const NID_id_pkix1_explicit_93 : u32 = 271 ; pub const NID_id_pkix1_implicit_93 : u32 = 272 ; pub const NID_id_mod_crmf : u32 = 273 ; pub const NID_id_mod_cmc : u32 = 274 ; pub const NID_id_mod_kea_profile_88 : u32 = 275 ; pub const NID_id_mod_kea_profile_93 : u32 = 276 ; pub const NID_id_mod_cmp : u32 = 277 ; pub const NID_id_mod_qualified_cert_88 : u32 = 278 ; pub const NID_id_mod_qualified_cert_93 : u32 = 279 ; pub const NID_id_mod_attribute_cert : u32 = 280 ; pub const NID_id_mod_timestamp_protocol : u32 = 281 ; pub const NID_id_mod_ocsp : u32 = 282 ; pub const NID_id_mod_dvcs : u32 = 283 ; pub const NID_id_mod_cmp2000 : u32 = 284 ; pub const NID_biometricInfo : u32 = 285 ; pub const NID_qcStatements : u32 = 286 ; pub const NID_ac_auditEntity : u32 = 287 ; pub const NID_ac_targeting : u32 = 288 ; pub const NID_aaControls : u32 = 289 ; pub const NID_sbgp_ipAddrBlock : u32 = 290 ; pub const NID_sbgp_autonomousSysNum : u32 = 291 ; pub const NID_sbgp_routerIdentifier : u32 = 292 ; pub const NID_textNotice : u32 = 293 ; pub const NID_ipsecEndSystem : u32 = 294 ; pub const NID_ipsecTunnel : u32 = 295 ; pub const NID_ipsecUser : u32 = 296 ; pub const NID_dvcs : u32 = 297 ; pub const NID_id_it_caProtEncCert : u32 = 298 ; pub const NID_id_it_signKeyPairTypes : u32 = 299 ; pub const NID_id_it_encKeyPairTypes : u32 = 300 ; pub const NID_id_it_preferredSymmAlg : u32 = 301 ; pub const NID_id_it_caKeyUpdateInfo : u32 = 302 ; pub const NID_id_it_currentCRL : u32 = 303 ; pub const NID_id_it_unsupportedOIDs : u32 = 304 ; pub const NID_id_it_subscriptionRequest : u32 = 305 ; pub const NID_id_it_subscriptionResponse : u32 = 306 ; pub const NID_id_it_keyPairParamReq : u32 = 307 ; pub const NID_id_it_keyPairParamRep : u32 = 308 ; pub const NID_id_it_revPassphrase : u32 = 309 ; pub const NID_id_it_implicitConfirm : u32 = 310 ; pub const NID_id_it_confirmWaitTime : u32 = 311 ; pub const NID_id_it_origPKIMessage : u32 = 312 ; pub const NID_id_regCtrl : u32 = 313 ; pub const NID_id_regInfo : u32 = 314 ; pub const NID_id_regCtrl_regToken : u32 = 315 ; pub const NID_id_regCtrl_authenticator : u32 = 316 ; pub const NID_id_regCtrl_pkiPublicationInfo : u32 = 317 ; pub const NID_id_regCtrl_pkiArchiveOptions : u32 = 318 ; pub const NID_id_regCtrl_oldCertID : u32 = 319 ; pub const NID_id_regCtrl_protocolEncrKey : u32 = 320 ; pub const NID_id_regInfo_utf8Pairs : u32 = 321 ; pub const NID_id_regInfo_certReq : u32 = 322 ; pub const NID_id_alg_des40 : u32 = 323 ; pub const NID_id_alg_noSignature : u32 = 324 ; pub const NID_id_alg_dh_sig_hmac_sha1 : u32 = 325 ; pub const NID_id_alg_dh_pop : u32 = 326 ; pub const NID_id_cmc_statusInfo : u32 = 327 ; pub const NID_id_cmc_identification : u32 = 328 ; pub const NID_id_cmc_identityProof : u32 = 329 ; pub const NID_id_cmc_dataReturn : u32 = 330 ; pub const NID_id_cmc_transactionId : u32 = 331 ; pub const NID_id_cmc_senderNonce : u32 = 332 ; pub const NID_id_cmc_recipientNonce : u32 = 333 ; pub const NID_id_cmc_addExtensions : u32 = 334 ; pub const NID_id_cmc_encryptedPOP : u32 = 335 ; pub const NID_id_cmc_decryptedPOP : u32 = 336 ; pub const NID_id_cmc_lraPOPWitness : u32 = 337 ; pub const NID_id_cmc_getCert : u32 = 338 ; pub const NID_id_cmc_getCRL : u32 = 339 ; pub const NID_id_cmc_revokeRequest : u32 = 340 ; pub const NID_id_cmc_regInfo : u32 = 341 ; pub const NID_id_cmc_responseInfo : u32 = 342 ; pub const NID_id_cmc_queryPending : u32 = 343 ; pub const NID_id_cmc_popLinkRandom : u32 = 344 ; pub const NID_id_cmc_popLinkWitness : u32 = 345 ; pub const NID_id_cmc_confirmCertAcceptance : u32 = 346 ; pub const NID_id_on_personalData : u32 = 347 ; pub const NID_id_pda_dateOfBirth : u32 = 348 ; pub const NID_id_pda_placeOfBirth : u32 = 349 ; pub const NID_id_pda_gender : u32 = 351 ; pub const NID_id_pda_countryOfCitizenship : u32 = 352 ; pub const NID_id_pda_countryOfResidence : u32 = 353 ; pub const NID_id_aca_authenticationInfo : u32 = 354 ; pub const NID_id_aca_accessIdentity : u32 = 355 ; pub const NID_id_aca_chargingIdentity : u32 = 356 ; pub const NID_id_aca_group : u32 = 357 ; pub const NID_id_aca_role : u32 = 358 ; pub const NID_id_qcs_pkixQCSyntax_v1 : u32 = 359 ; pub const NID_id_cct_crs : u32 = 360 ; pub const NID_id_cct_PKIData : u32 = 361 ; pub const NID_id_cct_PKIResponse : u32 = 362 ; pub const NID_ad_timeStamping : u32 = 363 ; pub const NID_ad_dvcs : u32 = 364 ; pub const NID_id_pkix_OCSP_basic : u32 = 365 ; pub const NID_id_pkix_OCSP_Nonce : u32 = 366 ; pub const NID_id_pkix_OCSP_CrlID : u32 = 367 ; pub const NID_id_pkix_OCSP_acceptableResponses : u32 = 368 ; pub const NID_id_pkix_OCSP_noCheck : u32 = 369 ; pub const NID_id_pkix_OCSP_archiveCutoff : u32 = 370 ; pub const NID_id_pkix_OCSP_serviceLocator : u32 = 371 ; pub const NID_id_pkix_OCSP_extendedStatus : u32 = 372 ; pub const NID_id_pkix_OCSP_valid : u32 = 373 ; pub const NID_id_pkix_OCSP_path : u32 = 374 ; pub const NID_id_pkix_OCSP_trustRoot : u32 = 375 ; pub const NID_algorithm : u32 = 376 ; pub const NID_rsaSignature : u32 = 377 ; pub const NID_X500algorithms : u32 = 378 ; pub const NID_org : u32 = 379 ; pub const NID_dod : u32 = 380 ; pub const NID_iana : u32 = 381 ; pub const NID_Directory : u32 = 382 ; pub const NID_Management : u32 = 383 ; pub const NID_Experimental : u32 = 384 ; pub const NID_Private : u32 = 385 ; pub const NID_Security : u32 = 386 ; pub const NID_SNMPv2 : u32 = 387 ; pub const NID_Mail : u32 = 388 ; pub const NID_Enterprises : u32 = 389 ; pub const NID_dcObject : u32 = 390 ; pub const NID_domainComponent : u32 = 391 ; pub const NID_Domain : u32 = 392 ; pub const NID_selected_attribute_types : u32 = 394 ; pub const NID_clearance : u32 = 395 ; pub const NID_md4WithRSAEncryption : u32 = 396 ; pub const NID_ac_proxying : u32 = 397 ; pub const NID_sinfo_access : u32 = 398 ; pub const NID_id_aca_encAttrs : u32 = 399 ; pub const NID_role : u32 = 400 ; pub const NID_policy_constraints : u32 = 401 ; pub const NID_target_information : u32 = 402 ; pub const NID_no_rev_avail : u32 = 403 ; pub const NID_ansi_X9_62 : u32 = 405 ; pub const NID_X9_62_prime_field : u32 = 406 ; pub const NID_X9_62_characteristic_two_field : u32 = 407 ; pub const NID_X9_62_id_ecPublicKey : u32 = 408 ; pub const NID_X9_62_prime192v1 : u32 = 409 ; pub const NID_X9_62_prime192v2 : u32 = 410 ; pub const NID_X9_62_prime192v3 : u32 = 411 ; pub const NID_X9_62_prime239v1 : u32 = 412 ; pub const NID_X9_62_prime239v2 : u32 = 413 ; pub const NID_X9_62_prime239v3 : u32 = 414 ; pub const NID_X9_62_prime256v1 : u32 = 415 ; pub const NID_ecdsa_with_SHA1 : u32 = 416 ; pub const NID_ms_csp_name : u32 = 417 ; pub const NID_aes_128_ecb : u32 = 418 ; pub const NID_aes_128_cbc : u32 = 419 ; pub const NID_aes_128_ofb128 : u32 = 420 ; pub const NID_aes_128_cfb128 : u32 = 421 ; pub const NID_aes_192_ecb : u32 = 422 ; pub const NID_aes_192_cbc : u32 = 423 ; pub const NID_aes_192_ofb128 : u32 = 424 ; pub const NID_aes_192_cfb128 : u32 = 425 ; pub const NID_aes_256_ecb : u32 = 426 ; pub const NID_aes_256_cbc : u32 = 427 ; pub const NID_aes_256_ofb128 : u32 = 428 ; pub const NID_aes_256_cfb128 : u32 = 429 ; pub const NID_hold_instruction_code : u32 = 430 ; pub const NID_hold_instruction_none : u32 = 431 ; pub const NID_hold_instruction_call_issuer : u32 = 432 ; pub const NID_hold_instruction_reject : u32 = 433 ; pub const NID_data : u32 = 434 ; pub const NID_pss : u32 = 435 ; pub const NID_ucl : u32 = 436 ; pub const NID_pilot : u32 = 437 ; pub const NID_pilotAttributeType : u32 = 438 ; pub const NID_pilotAttributeSyntax : u32 = 439 ; pub const NID_pilotObjectClass : u32 = 440 ; pub const NID_pilotGroups : u32 = 441 ; pub const NID_iA5StringSyntax : u32 = 442 ; pub const NID_caseIgnoreIA5StringSyntax : u32 = 443 ; pub const NID_pilotObject : u32 = 444 ; pub const NID_pilotPerson : u32 = 445 ; pub const NID_account : u32 = 446 ; pub const NID_document : u32 = 447 ; pub const NID_room : u32 = 448 ; pub const NID_documentSeries : u32 = 449 ; pub const NID_rFC822localPart : u32 = 450 ; pub const NID_dNSDomain : u32 = 451 ; pub const NID_domainRelatedObject : u32 = 452 ; pub const NID_friendlyCountry : u32 = 453 ; pub const NID_simpleSecurityObject : u32 = 454 ; pub const NID_pilotOrganization : u32 = 455 ; pub const NID_pilotDSA : u32 = 456 ; pub const NID_qualityLabelledData : u32 = 457 ; pub const NID_userId : u32 = 458 ; pub const NID_textEncodedORAddress : u32 = 459 ; pub const NID_rfc822Mailbox : u32 = 460 ; pub const NID_info : u32 = 461 ; pub const NID_favouriteDrink : u32 = 462 ; pub const NID_roomNumber : u32 = 463 ; pub const NID_photo : u32 = 464 ; pub const NID_userClass : u32 = 465 ; pub const NID_host : u32 = 466 ; pub const NID_manager : u32 = 467 ; pub const NID_documentIdentifier : u32 = 468 ; pub const NID_documentTitle : u32 = 469 ; pub const NID_documentVersion : u32 = 470 ; pub const NID_documentAuthor : u32 = 471 ; pub const NID_documentLocation : u32 = 472 ; pub const NID_homeTelephoneNumber : u32 = 473 ; pub const NID_secretary : u32 = 474 ; pub const NID_otherMailbox : u32 = 475 ; pub const NID_lastModifiedTime : u32 = 476 ; pub const NID_lastModifiedBy : u32 = 477 ; pub const NID_aRecord : u32 = 478 ; pub const NID_pilotAttributeType27 : u32 = 479 ; pub const NID_mXRecord : u32 = 480 ; pub const NID_nSRecord : u32 = 481 ; pub const NID_sOARecord : u32 = 482 ; pub const NID_cNAMERecord : u32 = 483 ; pub const NID_associatedDomain : u32 = 484 ; pub const NID_associatedName : u32 = 485 ; pub const NID_homePostalAddress : u32 = 486 ; pub const NID_personalTitle : u32 = 487 ; pub const NID_mobileTelephoneNumber : u32 = 488 ; pub const NID_pagerTelephoneNumber : u32 = 489 ; pub const NID_friendlyCountryName : u32 = 490 ; pub const NID_organizationalStatus : u32 = 491 ; pub const NID_janetMailbox : u32 = 492 ; pub const NID_mailPreferenceOption : u32 = 493 ; pub const NID_buildingName : u32 = 494 ; pub const NID_dSAQuality : u32 = 495 ; pub const NID_singleLevelQuality : u32 = 496 ; pub const NID_subtreeMinimumQuality : u32 = 497 ; pub const NID_subtreeMaximumQuality : u32 = 498 ; pub const NID_personalSignature : u32 = 499 ; pub const NID_dITRedirect : u32 = 500 ; pub const NID_audio : u32 = 501 ; pub const NID_documentPublisher : u32 = 502 ; pub const NID_x500UniqueIdentifier : u32 = 503 ; pub const NID_mime_mhs : u32 = 504 ; pub const NID_mime_mhs_headings : u32 = 505 ; pub const NID_mime_mhs_bodies : u32 = 506 ; pub const NID_id_hex_partial_message : u32 = 507 ; pub const NID_id_hex_multipart_message : u32 = 508 ; pub const NID_generationQualifier : u32 = 509 ; pub const NID_pseudonym : u32 = 510 ; pub const NID_id_set : u32 = 512 ; pub const NID_set_ctype : u32 = 513 ; pub const NID_set_msgExt : u32 = 514 ; pub const NID_set_attr : u32 = 515 ; pub const NID_set_policy : u32 = 516 ; pub const NID_set_certExt : u32 = 517 ; pub const NID_set_brand : u32 = 518 ; pub const NID_setct_PANData : u32 = 519 ; pub const NID_setct_PANToken : u32 = 520 ; pub const NID_setct_PANOnly : u32 = 521 ; pub const NID_setct_OIData : u32 = 522 ; pub const NID_setct_PI : u32 = 523 ; pub const NID_setct_PIData : u32 = 524 ; pub const NID_setct_PIDataUnsigned : u32 = 525 ; pub const NID_setct_HODInput : u32 = 526 ; pub const NID_setct_AuthResBaggage : u32 = 527 ; pub const NID_setct_AuthRevReqBaggage : u32 = 528 ; pub const NID_setct_AuthRevResBaggage : u32 = 529 ; pub const NID_setct_CapTokenSeq : u32 = 530 ; pub const NID_setct_PInitResData : u32 = 531 ; pub const NID_setct_PI_TBS : u32 = 532 ; pub const NID_setct_PResData : u32 = 533 ; pub const NID_setct_AuthReqTBS : u32 = 534 ; pub const NID_setct_AuthResTBS : u32 = 535 ; pub const NID_setct_AuthResTBSX : u32 = 536 ; pub const NID_setct_AuthTokenTBS : u32 = 537 ; pub const NID_setct_CapTokenData : u32 = 538 ; pub const NID_setct_CapTokenTBS : u32 = 539 ; pub const NID_setct_AcqCardCodeMsg : u32 = 540 ; pub const NID_setct_AuthRevReqTBS : u32 = 541 ; pub const NID_setct_AuthRevResData : u32 = 542 ; pub const NID_setct_AuthRevResTBS : u32 = 543 ; pub const NID_setct_CapReqTBS : u32 = 544 ; pub const NID_setct_CapReqTBSX : u32 = 545 ; pub const NID_setct_CapResData : u32 = 546 ; pub const NID_setct_CapRevReqTBS : u32 = 547 ; pub const NID_setct_CapRevReqTBSX : u32 = 548 ; pub const NID_setct_CapRevResData : u32 = 549 ; pub const NID_setct_CredReqTBS : u32 = 550 ; pub const NID_setct_CredReqTBSX : u32 = 551 ; pub const NID_setct_CredResData : u32 = 552 ; pub const NID_setct_CredRevReqTBS : u32 = 553 ; pub const NID_setct_CredRevReqTBSX : u32 = 554 ; pub const NID_setct_CredRevResData : u32 = 555 ; pub const NID_setct_PCertReqData : u32 = 556 ; pub const NID_setct_PCertResTBS : u32 = 557 ; pub const NID_setct_BatchAdminReqData : u32 = 558 ; pub const NID_setct_BatchAdminResData : u32 = 559 ; pub const NID_setct_CardCInitResTBS : u32 = 560 ; pub const NID_setct_MeAqCInitResTBS : u32 = 561 ; pub const NID_setct_RegFormResTBS : u32 = 562 ; pub const NID_setct_CertReqData : u32 = 563 ; pub const NID_setct_CertReqTBS : u32 = 564 ; pub const NID_setct_CertResData : u32 = 565 ; pub const NID_setct_CertInqReqTBS : u32 = 566 ; pub const NID_setct_ErrorTBS : u32 = 567 ; pub const NID_setct_PIDualSignedTBE : u32 = 568 ; pub const NID_setct_PIUnsignedTBE : u32 = 569 ; pub const NID_setct_AuthReqTBE : u32 = 570 ; pub const NID_setct_AuthResTBE : u32 = 571 ; pub const NID_setct_AuthResTBEX : u32 = 572 ; pub const NID_setct_AuthTokenTBE : u32 = 573 ; pub const NID_setct_CapTokenTBE : u32 = 574 ; pub const NID_setct_CapTokenTBEX : u32 = 575 ; pub const NID_setct_AcqCardCodeMsgTBE : u32 = 576 ; pub const NID_setct_AuthRevReqTBE : u32 = 577 ; pub const NID_setct_AuthRevResTBE : u32 = 578 ; pub const NID_setct_AuthRevResTBEB : u32 = 579 ; pub const NID_setct_CapReqTBE : u32 = 580 ; pub const NID_setct_CapReqTBEX : u32 = 581 ; pub const NID_setct_CapResTBE : u32 = 582 ; pub const NID_setct_CapRevReqTBE : u32 = 583 ; pub const NID_setct_CapRevReqTBEX : u32 = 584 ; pub const NID_setct_CapRevResTBE : u32 = 585 ; pub const NID_setct_CredReqTBE : u32 = 586 ; pub const NID_setct_CredReqTBEX : u32 = 587 ; pub const NID_setct_CredResTBE : u32 = 588 ; pub const NID_setct_CredRevReqTBE : u32 = 589 ; pub const NID_setct_CredRevReqTBEX : u32 = 590 ; pub const NID_setct_CredRevResTBE : u32 = 591 ; pub const NID_setct_BatchAdminReqTBE : u32 = 592 ; pub const NID_setct_BatchAdminResTBE : u32 = 593 ; pub const NID_setct_RegFormReqTBE : u32 = 594 ; pub const NID_setct_CertReqTBE : u32 = 595 ; pub const NID_setct_CertReqTBEX : u32 = 596 ; pub const NID_setct_CertResTBE : u32 = 597 ; pub const NID_setct_CRLNotificationTBS : u32 = 598 ; pub const NID_setct_CRLNotificationResTBS : u32 = 599 ; pub const NID_setct_BCIDistributionTBS : u32 = 600 ; pub const NID_setext_genCrypt : u32 = 601 ; pub const NID_setext_miAuth : u32 = 602 ; pub const NID_setext_pinSecure : u32 = 603 ; pub const NID_setext_pinAny : u32 = 604 ; pub const NID_setext_track2 : u32 = 605 ; pub const NID_setext_cv : u32 = 606 ; pub const NID_set_policy_root : u32 = 607 ; pub const NID_setCext_hashedRoot : u32 = 608 ; pub const NID_setCext_certType : u32 = 609 ; pub const NID_setCext_merchData : u32 = 610 ; pub const NID_setCext_cCertRequired : u32 = 611 ; pub const NID_setCext_tunneling : u32 = 612 ; pub const NID_setCext_setExt : u32 = 613 ; pub const NID_setCext_setQualf : u32 = 614 ; pub const NID_setCext_PGWYcapabilities : u32 = 615 ; pub const NID_setCext_TokenIdentifier : u32 = 616 ; pub const NID_setCext_Track2Data : u32 = 617 ; pub const NID_setCext_TokenType : u32 = 618 ; pub const NID_setCext_IssuerCapabilities : u32 = 619 ; pub const NID_setAttr_Cert : u32 = 620 ; pub const NID_setAttr_PGWYcap : u32 = 621 ; pub const NID_setAttr_TokenType : u32 = 622 ; pub const NID_setAttr_IssCap : u32 = 623 ; pub const NID_set_rootKeyThumb : u32 = 624 ; pub const NID_set_addPolicy : u32 = 625 ; pub const NID_setAttr_Token_EMV : u32 = 626 ; pub const NID_setAttr_Token_B0Prime : u32 = 627 ; pub const NID_setAttr_IssCap_CVM : u32 = 628 ; pub const NID_setAttr_IssCap_T2 : u32 = 629 ; pub const NID_setAttr_IssCap_Sig : u32 = 630 ; pub const NID_setAttr_GenCryptgrm : u32 = 631 ; pub const NID_setAttr_T2Enc : u32 = 632 ; pub const NID_setAttr_T2cleartxt : u32 = 633 ; pub const NID_setAttr_TokICCsig : u32 = 634 ; pub const NID_setAttr_SecDevSig : u32 = 635 ; pub const NID_set_brand_IATA_ATA : u32 = 636 ; pub const NID_set_brand_Diners : u32 = 637 ; pub const NID_set_brand_AmericanExpress : u32 = 638 ; pub const NID_set_brand_JCB : u32 = 639 ; pub const NID_set_brand_Visa : u32 = 640 ; pub const NID_set_brand_MasterCard : u32 = 641 ; pub const NID_set_brand_Novus : u32 = 642 ; pub const NID_des_cdmf : u32 = 643 ; pub const NID_rsaOAEPEncryptionSET : u32 = 644 ; pub const NID_itu_t : u32 = 645 ; pub const NID_joint_iso_itu_t : u32 = 646 ; pub const NID_international_organizations : u32 = 647 ; pub const NID_ms_smartcard_login : u32 = 648 ; pub const NID_ms_upn : u32 = 649 ; pub const NID_aes_128_cfb1 : u32 = 650 ; pub const NID_aes_192_cfb1 : u32 = 651 ; pub const NID_aes_256_cfb1 : u32 = 652 ; pub const NID_aes_128_cfb8 : u32 = 653 ; pub const NID_aes_192_cfb8 : u32 = 654 ; pub const NID_aes_256_cfb8 : u32 = 655 ; pub const NID_des_cfb1 : u32 = 656 ; pub const NID_des_cfb8 : u32 = 657 ; pub const NID_des_ede3_cfb1 : u32 = 658 ; pub const NID_des_ede3_cfb8 : u32 = 659 ; pub const NID_streetAddress : u32 = 660 ; pub const NID_postalCode : u32 = 661 ; pub const NID_id_ppl : u32 = 662 ; pub const NID_proxyCertInfo : u32 = 663 ; pub const NID_id_ppl_anyLanguage : u32 = 664 ; pub const NID_id_ppl_inheritAll : u32 = 665 ; pub const NID_name_constraints : u32 = 666 ; pub const NID_Independent : u32 = 667 ; pub const NID_sha256WithRSAEncryption : u32 = 668 ; pub const NID_sha384WithRSAEncryption : u32 = 669 ; pub const NID_sha512WithRSAEncryption : u32 = 670 ; pub const NID_sha224WithRSAEncryption : u32 = 671 ; pub const NID_sha256 : u32 = 672 ; pub const NID_sha384 : u32 = 673 ; pub const NID_sha512 : u32 = 674 ; pub const NID_sha224 : u32 = 675 ; pub const NID_identified_organization : u32 = 676 ; pub const NID_certicom_arc : u32 = 677 ; pub const NID_wap : u32 = 678 ; pub const NID_wap_wsg : u32 = 679 ; pub const NID_X9_62_id_characteristic_two_basis : u32 = 680 ; pub const NID_X9_62_onBasis : u32 = 681 ; pub const NID_X9_62_tpBasis : u32 = 682 ; pub const NID_X9_62_ppBasis : u32 = 683 ; pub const NID_X9_62_c2pnb163v1 : u32 = 684 ; pub const NID_X9_62_c2pnb163v2 : u32 = 685 ; pub const NID_X9_62_c2pnb163v3 : u32 = 686 ; pub const NID_X9_62_c2pnb176v1 : u32 = 687 ; pub const NID_X9_62_c2tnb191v1 : u32 = 688 ; pub const NID_X9_62_c2tnb191v2 : u32 = 689 ; pub const NID_X9_62_c2tnb191v3 : u32 = 690 ; pub const NID_X9_62_c2onb191v4 : u32 = 691 ; pub const NID_X9_62_c2onb191v5 : u32 = 692 ; pub const NID_X9_62_c2pnb208w1 : u32 = 693 ; pub const NID_X9_62_c2tnb239v1 : u32 = 694 ; pub const NID_X9_62_c2tnb239v2 : u32 = 695 ; pub const NID_X9_62_c2tnb239v3 : u32 = 696 ; pub const NID_X9_62_c2onb239v4 : u32 = 697 ; pub const NID_X9_62_c2onb239v5 : u32 = 698 ; pub const NID_X9_62_c2pnb272w1 : u32 = 699 ; pub const NID_X9_62_c2pnb304w1 : u32 = 700 ; pub const NID_X9_62_c2tnb359v1 : u32 = 701 ; pub const NID_X9_62_c2pnb368w1 : u32 = 702 ; pub const NID_X9_62_c2tnb431r1 : u32 = 703 ; pub const NID_secp112r1 : u32 = 704 ; pub const NID_secp112r2 : u32 = 705 ; pub const NID_secp128r1 : u32 = 706 ; pub const NID_secp128r2 : u32 = 707 ; pub const NID_secp160k1 : u32 = 708 ; pub const NID_secp160r1 : u32 = 709 ; pub const NID_secp160r2 : u32 = 710 ; pub const NID_secp192k1 : u32 = 711 ; pub const NID_secp224k1 : u32 = 712 ; pub const NID_secp224r1 : u32 = 713 ; pub const NID_secp256k1 : u32 = 714 ; pub const NID_secp384r1 : u32 = 715 ; pub const NID_secp521r1 : u32 = 716 ; pub const NID_sect113r1 : u32 = 717 ; pub const NID_sect113r2 : u32 = 718 ; pub const NID_sect131r1 : u32 = 719 ; pub const NID_sect131r2 : u32 = 720 ; pub const NID_sect163k1 : u32 = 721 ; pub const NID_sect163r1 : u32 = 722 ; pub const NID_sect163r2 : u32 = 723 ; pub const NID_sect193r1 : u32 = 724 ; pub const NID_sect193r2 : u32 = 725 ; pub const NID_sect233k1 : u32 = 726 ; pub const NID_sect233r1 : u32 = 727 ; pub const NID_sect239k1 : u32 = 728 ; pub const NID_sect283k1 : u32 = 729 ; pub const NID_sect283r1 : u32 = 730 ; pub const NID_sect409k1 : u32 = 731 ; pub const NID_sect409r1 : u32 = 732 ; pub const NID_sect571k1 : u32 = 733 ; pub const NID_sect571r1 : u32 = 734 ; pub const NID_wap_wsg_idm_ecid_wtls1 : u32 = 735 ; pub const NID_wap_wsg_idm_ecid_wtls3 : u32 = 736 ; pub const NID_wap_wsg_idm_ecid_wtls4 : u32 = 737 ; pub const NID_wap_wsg_idm_ecid_wtls5 : u32 = 738 ; pub const NID_wap_wsg_idm_ecid_wtls6 : u32 = 739 ; pub const NID_wap_wsg_idm_ecid_wtls7 : u32 = 740 ; pub const NID_wap_wsg_idm_ecid_wtls8 : u32 = 741 ; pub const NID_wap_wsg_idm_ecid_wtls9 : u32 = 742 ; pub const NID_wap_wsg_idm_ecid_wtls10 : u32 = 743 ; pub const NID_wap_wsg_idm_ecid_wtls11 : u32 = 744 ; pub const NID_wap_wsg_idm_ecid_wtls12 : u32 = 745 ; pub const NID_any_policy : u32 = 746 ; pub const NID_policy_mappings : u32 = 747 ; pub const NID_inhibit_any_policy : u32 = 748 ; pub const NID_ipsec3 : u32 = 749 ; pub const NID_ipsec4 : u32 = 750 ; pub const NID_camellia_128_cbc : u32 = 751 ; pub const NID_camellia_192_cbc : u32 = 752 ; pub const NID_camellia_256_cbc : u32 = 753 ; pub const NID_camellia_128_ecb : u32 = 754 ; pub const NID_camellia_192_ecb : u32 = 755 ; pub const NID_camellia_256_ecb : u32 = 756 ; pub const NID_camellia_128_cfb128 : u32 = 757 ; pub const NID_camellia_192_cfb128 : u32 = 758 ; pub const NID_camellia_256_cfb128 : u32 = 759 ; pub const NID_camellia_128_cfb1 : u32 = 760 ; pub const NID_camellia_192_cfb1 : u32 = 761 ; pub const NID_camellia_256_cfb1 : u32 = 762 ; pub const NID_camellia_128_cfb8 : u32 = 763 ; pub const NID_camellia_192_cfb8 : u32 = 764 ; pub const NID_camellia_256_cfb8 : u32 = 765 ; pub const NID_camellia_128_ofb128 : u32 = 766 ; pub const NID_camellia_192_ofb128 : u32 = 767 ; pub const NID_camellia_256_ofb128 : u32 = 768 ; pub const NID_subject_directory_attributes : u32 = 769 ; pub const NID_issuing_distribution_point : u32 = 770 ; pub const NID_certificate_issuer : u32 = 771 ; pub const NID_kisa : u32 = 773 ; pub const NID_seed_ecb : u32 = 776 ; pub const NID_seed_cbc : u32 = 777 ; pub const NID_seed_ofb128 : u32 = 778 ; pub const NID_seed_cfb128 : u32 = 779 ; pub const NID_hmac_md5 : u32 = 780 ; pub const NID_hmac_sha1 : u32 = 781 ; pub const NID_id_PasswordBasedMAC : u32 = 782 ; pub const NID_id_DHBasedMac : u32 = 783 ; pub const NID_id_it_suppLangTags : u32 = 784 ; pub const NID_caRepository : u32 = 785 ; pub const NID_id_smime_ct_compressedData : u32 = 786 ; pub const NID_id_ct_asciiTextWithCRLF : u32 = 787 ; pub const NID_id_aes128_wrap : u32 = 788 ; pub const NID_id_aes192_wrap : u32 = 789 ; pub const NID_id_aes256_wrap : u32 = 790 ; pub const NID_ecdsa_with_Recommended : u32 = 791 ; pub const NID_ecdsa_with_Specified : u32 = 792 ; pub const NID_ecdsa_with_SHA224 : u32 = 793 ; pub const NID_ecdsa_with_SHA256 : u32 = 794 ; pub const NID_ecdsa_with_SHA384 : u32 = 795 ; pub const NID_ecdsa_with_SHA512 : u32 = 796 ; pub const NID_hmacWithMD5 : u32 = 797 ; pub const NID_hmacWithSHA224 : u32 = 798 ; pub const NID_hmacWithSHA256 : u32 = 799 ; pub const NID_hmacWithSHA384 : u32 = 800 ; pub const NID_hmacWithSHA512 : u32 = 801 ; pub const NID_dsa_with_SHA224 : u32 = 802 ; pub const NID_dsa_with_SHA256 : u32 = 803 ; pub const NID_whirlpool : u32 = 804 ; pub const NID_cryptopro : u32 = 805 ; pub const NID_cryptocom : u32 = 806 ; pub const NID_id_GostR3411_94_with_GostR3410_2001 : u32 = 807 ; pub const NID_id_GostR3411_94_with_GostR3410_94 : u32 = 808 ; pub const NID_id_GostR3411_94 : u32 = 809 ; pub const NID_id_HMACGostR3411_94 : u32 = 810 ; pub const NID_id_GostR3410_2001 : u32 = 811 ; pub const NID_id_GostR3410_94 : u32 = 812 ; pub const NID_id_Gost28147_89 : u32 = 813 ; pub const NID_gost89_cnt : u32 = 814 ; pub const NID_id_Gost28147_89_MAC : u32 = 815 ; pub const NID_id_GostR3411_94_prf : u32 = 816 ; pub const NID_id_GostR3410_2001DH : u32 = 817 ; pub const NID_id_GostR3410_94DH : u32 = 818 ; pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing : u32 = 819 ; pub const NID_id_Gost28147_89_None_KeyMeshing : u32 = 820 ; pub const NID_id_GostR3411_94_TestParamSet : u32 = 821 ; pub const NID_id_GostR3411_94_CryptoProParamSet : u32 = 822 ; pub const NID_id_Gost28147_89_TestParamSet : u32 = 823 ; pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet : u32 = 824 ; pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet : u32 = 825 ; pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet : u32 = 826 ; pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet : u32 = 827 ; pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet : u32 = 828 ; pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet : u32 = 829 ; pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet : u32 = 830 ; pub const NID_id_GostR3410_94_TestParamSet : u32 = 831 ; pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet : u32 = 832 ; pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet : u32 = 833 ; pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet : u32 = 834 ; pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet : u32 = 835 ; pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet : u32 = 836 ; pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet : u32 = 837 ; pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet : u32 = 838 ; pub const NID_id_GostR3410_2001_TestParamSet : u32 = 839 ; pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet : u32 = 840 ; pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet : u32 = 841 ; pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet : u32 = 842 ; pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet : u32 = 843 ; pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet : u32 = 844 ; pub const NID_id_GostR3410_94_a : u32 = 845 ; pub const NID_id_GostR3410_94_aBis : u32 = 846 ; pub const NID_id_GostR3410_94_b : u32 = 847 ; pub const NID_id_GostR3410_94_bBis : u32 = 848 ; pub const NID_id_Gost28147_89_cc : u32 = 849 ; pub const NID_id_GostR3410_94_cc : u32 = 850 ; pub const NID_id_GostR3410_2001_cc : u32 = 851 ; pub const NID_id_GostR3411_94_with_GostR3410_94_cc : u32 = 852 ; pub const NID_id_GostR3411_94_with_GostR3410_2001_cc : u32 = 853 ; pub const NID_id_GostR3410_2001_ParamSet_cc : u32 = 854 ; pub const NID_hmac : u32 = 855 ; pub const NID_LocalKeySet : u32 = 856 ; pub const NID_freshest_crl : u32 = 857 ; pub const NID_id_on_permanentIdentifier : u32 = 858 ; pub const NID_searchGuide : u32 = 859 ; pub const NID_businessCategory : u32 = 860 ; pub const NID_postalAddress : u32 = 861 ; pub const NID_postOfficeBox : u32 = 862 ; pub const NID_physicalDeliveryOfficeName : u32 = 863 ; pub const NID_telephoneNumber : u32 = 864 ; pub const NID_telexNumber : u32 = 865 ; pub const NID_teletexTerminalIdentifier : u32 = 866 ; pub const NID_facsimileTelephoneNumber : u32 = 867 ; pub const NID_x121Address : u32 = 868 ; pub const NID_internationaliSDNNumber : u32 = 869 ; pub const NID_registeredAddress : u32 = 870 ; pub const NID_destinationIndicator : u32 = 871 ; pub const NID_preferredDeliveryMethod : u32 = 872 ; pub const NID_presentationAddress : u32 = 873 ; pub const NID_supportedApplicationContext : u32 = 874 ; pub const NID_member : u32 = 875 ; pub const NID_owner : u32 = 876 ; pub const NID_roleOccupant : u32 = 877 ; pub const NID_seeAlso : u32 = 878 ; pub const NID_userPassword : u32 = 879 ; pub const NID_userCertificate : u32 = 880 ; pub const NID_cACertificate : u32 = 881 ; pub const NID_authorityRevocationList : u32 = 882 ; pub const NID_certificateRevocationList : u32 = 883 ; pub const NID_crossCertificatePair : u32 = 884 ; pub const NID_enhancedSearchGuide : u32 = 885 ; pub const NID_protocolInformation : u32 = 886 ; pub const NID_distinguishedName : u32 = 887 ; pub const NID_uniqueMember : u32 = 888 ; pub const NID_houseIdentifier : u32 = 889 ; pub const NID_supportedAlgorithms : u32 = 890 ; pub const NID_deltaRevocationList : u32 = 891 ; pub const NID_dmdName : u32 = 892 ; pub const NID_id_alg_PWRI_KEK : u32 = 893 ; pub const NID_cmac : u32 = 894 ; pub const NID_aes_128_gcm : u32 = 895 ; pub const NID_aes_128_ccm : u32 = 896 ; pub const NID_id_aes128_wrap_pad : u32 = 897 ; pub const NID_aes_192_gcm : u32 = 898 ; pub const NID_aes_192_ccm : u32 = 899 ; pub const NID_id_aes192_wrap_pad : u32 = 900 ; pub const NID_aes_256_gcm : u32 = 901 ; pub const NID_aes_256_ccm : u32 = 902 ; pub const NID_id_aes256_wrap_pad : u32 = 903 ; pub const NID_aes_128_ctr : u32 = 904 ; pub const NID_aes_192_ctr : u32 = 905 ; pub const NID_aes_256_ctr : u32 = 906 ; pub const NID_id_camellia128_wrap : u32 = 907 ; pub const NID_id_camellia192_wrap : u32 = 908 ; pub const NID_id_camellia256_wrap : u32 = 909 ; pub const NID_anyExtendedKeyUsage : u32 = 910 ; pub const NID_mgf1 : u32 = 911 ; pub const NID_rsassaPss : u32 = 912 ; pub const NID_aes_128_xts : u32 = 913 ; pub const NID_aes_256_xts : u32 = 914 ; pub const NID_rc4_hmac_md5 : u32 = 915 ; pub const NID_aes_128_cbc_hmac_sha1 : u32 = 916 ; pub const NID_aes_192_cbc_hmac_sha1 : u32 = 917 ; pub const NID_aes_256_cbc_hmac_sha1 : u32 = 918 ; pub const NID_rsaesOaep : u32 = 919 ; pub const NID_dhpublicnumber : u32 = 920 ; pub const NID_brainpoolP160r1 : u32 = 921 ; pub const NID_brainpoolP160t1 : u32 = 922 ; pub const NID_brainpoolP192r1 : u32 = 923 ; pub const NID_brainpoolP192t1 : u32 = 924 ; pub const NID_brainpoolP224r1 : u32 = 925 ; pub const NID_brainpoolP224t1 : u32 = 926 ; pub const NID_brainpoolP256r1 : u32 = 927 ; pub const NID_brainpoolP256t1 : u32 = 928 ; pub const NID_brainpoolP320r1 : u32 = 929 ; pub const NID_brainpoolP320t1 : u32 = 930 ; pub const NID_brainpoolP384r1 : u32 = 931 ; pub const NID_brainpoolP384t1 : u32 = 932 ; pub const NID_brainpoolP512r1 : u32 = 933 ; pub const NID_brainpoolP512t1 : u32 = 934 ; pub const NID_pSpecified : u32 = 935 ; pub const NID_dhSinglePass_stdDH_sha1kdf_scheme : u32 = 936 ; pub const NID_dhSinglePass_stdDH_sha224kdf_scheme : u32 = 937 ; pub const NID_dhSinglePass_stdDH_sha256kdf_scheme : u32 = 938 ; pub const NID_dhSinglePass_stdDH_sha384kdf_scheme : u32 = 939 ; pub const NID_dhSinglePass_stdDH_sha512kdf_scheme : u32 = 940 ; pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme : u32 = 941 ; pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme : u32 = 942 ; pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme : u32 = 943 ; pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme : u32 = 944 ; pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme : u32 = 945 ; pub const NID_dh_std_kdf : u32 = 946 ; pub const NID_dh_cofactor_kdf : u32 = 947 ; pub const NID_X25519 : u32 = 948 ; pub const NID_ED25519 : u32 = 949 ; pub const NID_chacha20_poly1305 : u32 = 950 ; pub const NID_kx_rsa : u32 = 951 ; pub const NID_kx_ecdhe : u32 = 952 ; pub const NID_kx_psk : u32 = 953 ; pub const NID_auth_rsa : u32 = 954 ; pub const NID_auth_ecdsa : u32 = 955 ; pub const NID_auth_psk : u32 = 956 ; pub const NID_kx_any : u32 = 957 ; pub const NID_auth_any : u32 = 958 ; pub const EVP_PKEY_NONE : u32 = 0 ; pub const EVP_PKEY_RSA : u32 = 6 ; pub const EVP_PKEY_RSA_PSS : u32 = 912 ; pub const EVP_PKEY_DSA : u32 = 116 ; pub const EVP_PKEY_EC : u32 = 408 ; pub const EVP_PKEY_ED25519 : u32 = 949 ; pub const EVP_PKEY_DH : u32 = 28 ; pub const EVP_PKEY_RSA2 : u32 = 19 ; pub const EVP_R_BUFFER_TOO_SMALL : u32 = 100 ; pub const EVP_R_COMMAND_NOT_SUPPORTED : u32 = 101 ; pub const EVP_R_DECODE_ERROR : u32 = 102 ; pub const EVP_R_DIFFERENT_KEY_TYPES : u32 = 103 ; pub const EVP_R_DIFFERENT_PARAMETERS : u32 = 104 ; pub const EVP_R_ENCODE_ERROR : u32 = 105 ; pub const EVP_R_EXPECTING_AN_EC_KEY_KEY : u32 = 106 ; pub const EVP_R_EXPECTING_AN_RSA_KEY : u32 = 107 ; pub const EVP_R_EXPECTING_A_DSA_KEY : u32 = 108 ; pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE : u32 = 109 ; pub const EVP_R_INVALID_DIGEST_LENGTH : u32 = 110 ; pub const EVP_R_INVALID_DIGEST_TYPE : u32 = 111 ; pub const EVP_R_INVALID_KEYBITS : u32 = 112 ; pub const EVP_R_INVALID_MGF1_MD : u32 = 113 ; pub const EVP_R_INVALID_OPERATION : u32 = 114 ; pub const EVP_R_INVALID_PADDING_MODE : u32 = 115 ; pub const EVP_R_INVALID_PSS_SALTLEN : u32 = 116 ; pub const EVP_R_KEYS_NOT_SET : u32 = 117 ; pub const EVP_R_MISSING_PARAMETERS : u32 = 118 ; pub const EVP_R_NO_DEFAULT_DIGEST : u32 = 119 ; pub const EVP_R_NO_KEY_SET : u32 = 120 ; pub const EVP_R_NO_MDC2_SUPPORT : u32 = 121 ; pub const EVP_R_NO_NID_FOR_CURVE : u32 = 122 ; pub const EVP_R_NO_OPERATION_SET : u32 = 123 ; pub const EVP_R_NO_PARAMETERS_SET : u32 = 124 ; pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE : u32 = 125 ; pub const EVP_R_OPERATON_NOT_INITIALIZED : u32 = 126 ; pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE : u32 = 127 ; pub const EVP_R_UNSUPPORTED_ALGORITHM : u32 = 128 ; pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE : u32 = 129 ; pub const EVP_R_NOT_A_PRIVATE_KEY : u32 = 130 ; pub const EVP_R_INVALID_SIGNATURE : u32 = 131 ; pub const EVP_R_MEMORY_LIMIT_EXCEEDED : u32 = 132 ; pub const EVP_R_INVALID_PARAMETERS : u32 = 133 ; pub const SHA_CBLOCK : u32 = 64 ; pub const SHA_DIGEST_LENGTH : u32 = 20 ; pub const SHA224_CBLOCK : u32 = 64 ; pub const SHA224_DIGEST_LENGTH : u32 = 28 ; pub const SHA256_CBLOCK : u32 = 64 ; pub const SHA256_DIGEST_LENGTH : u32 = 32 ; pub const SHA384_CBLOCK : u32 = 128 ; pub const SHA384_DIGEST_LENGTH : u32 = 48 ; pub const SHA512_CBLOCK : u32 = 128 ; pub const SHA512_DIGEST_LENGTH : u32 = 64 ; pub const OPENSSL_NPN_UNSUPPORTED : u32 = 0 ; pub const OPENSSL_NPN_NEGOTIATED : u32 = 1 ; pub const OPENSSL_NPN_NO_OVERLAP : u32 = 2 ; pub const OPENSSL_INIT_NO_LOAD_SSL_STRINGS : u32 = 0 ; pub const OPENSSL_INIT_LOAD_SSL_STRINGS : u32 = 0 ; pub const OPENSSL_INIT_SSL_DEFAULT : u32 = 0 ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type time_t = __time_t ; pub type CRYPTO_THREADID = :: std :: os :: raw :: c_int ; pub type ASN1_BOOLEAN = :: std :: os :: raw :: c_int ; pub type ASN1_NULL = :: std :: os :: raw :: c_int ; pub type ASN1_ITEM = ASN1_ITEM_st ; pub type ASN1_OBJECT = asn1_object_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct asn1_pctx_st { _unused : [ u8 ; 0 ] , } pub type ASN1_PCTX = asn1_pctx_st ; pub type ASN1_BIT_STRING = asn1_string_st ; pub type ASN1_BMPSTRING = asn1_string_st ; pub type ASN1_ENUMERATED = asn1_string_st ; pub type ASN1_GENERALIZEDTIME = asn1_string_st ; pub type ASN1_GENERALSTRING = asn1_string_st ; pub type ASN1_IA5STRING = asn1_string_st ; pub type ASN1_INTEGER = asn1_string_st ; pub type ASN1_OCTET_STRING = asn1_string_st ; pub type ASN1_PRINTABLESTRING = asn1_string_st ; pub type ASN1_STRING = asn1_string_st ; pub type ASN1_T61STRING = asn1_string_st ; pub type ASN1_TIME = asn1_string_st ; pub type ASN1_UNIVERSALSTRING = asn1_string_st ; pub type ASN1_UTCTIME = asn1_string_st ; pub type ASN1_UTF8STRING = asn1_string_st ; pub type ASN1_VISIBLESTRING = asn1_string_st ; pub type ASN1_TYPE = asn1_type_st ; pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st ; pub type DSA_SIG = DSA_SIG_st ; pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st ; pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_POLICY_CACHE_st { _unused : [ u8 ; 0 ] , } pub type X509_POLICY_CACHE = X509_POLICY_CACHE_st ; pub type X509_ALGOR = X509_algor_st ; pub type X509_CRL_INFO = X509_crl_info_st ; pub type X509_CRL = X509_crl_st ; pub type X509_NAME = X509_name_st ; pub type X509_PUBKEY = X509_pubkey_st ; pub type X509_REQ_INFO = X509_req_info_st ; pub type X509_REQ = X509_req_st ; pub type X509_VAL = X509_val_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bignum_ctx { _unused : [ u8 ; 0 ] , } pub type BN_CTX = bignum_ctx ; pub type BIGNUM = bignum_st ; pub type BIO_METHOD = bio_method_st ; pub type BIO = bio_st ; pub type BN_GENCB = bn_gencb_st ; pub type BN_MONT_CTX = bn_mont_ctx_st ; pub type BUF_MEM = buf_mem_st ; pub type CBB = cbb_st ; pub type CBS = cbs_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct conf_st { _unused : [ u8 ; 0 ] , } pub type CONF = conf_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct crypto_buffer_pool_st { _unused : [ u8 ; 0 ] , } pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct crypto_buffer_st { _unused : [ u8 ; 0 ] , } pub type CRYPTO_BUFFER = crypto_buffer_st ; pub type DH = dh_st ; pub type DSA = dsa_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ec_group_st { _unused : [ u8 ; 0 ] , } pub type EC_GROUP = ec_group_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ec_key_st { _unused : [ u8 ; 0 ] , } pub type EC_KEY = ec_key_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ec_point_st { _unused : [ u8 ; 0 ] , } pub type EC_POINT = ec_point_st ; pub type ECDSA_METHOD = ecdsa_method_st ; pub type ECDSA_SIG = ecdsa_sig_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct engine_st { _unused : [ u8 ; 0 ] , } pub type ENGINE = engine_st ; pub type EVP_MD_CTX = env_md_ctx_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct env_md_st { _unused : [ u8 ; 0 ] , } pub type EVP_MD = env_md_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_aead_st { _unused : [ u8 ; 0 ] , } pub type EVP_AEAD = evp_aead_st ; pub type EVP_CIPHER_CTX = evp_cipher_ctx_st ; pub type EVP_CIPHER = evp_cipher_st ; pub type EVP_ENCODE_CTX = evp_encode_ctx_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_pkey_asn1_method_st { _unused : [ u8 ; 0 ] , } pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_pkey_ctx_st { _unused : [ u8 ; 0 ] , } pub type EVP_PKEY_CTX = evp_pkey_ctx_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_pkey_method_st { _unused : [ u8 ; 0 ] , } pub type EVP_PKEY_METHOD = evp_pkey_method_st ; pub type EVP_PKEY = evp_pkey_st ; pub type HMAC_CTX = hmac_ctx_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ossl_init_settings_st { _unused : [ u8 ; 0 ] , } pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st ; pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st ; pub type RAND_METHOD = rand_meth_st ; pub type RSA_METHOD = rsa_meth_st ; pub type RSA = rsa_st ; pub type SHA256_CTX = sha256_state_st ; pub type SHA512_CTX = sha512_state_st ; pub type SHA_CTX = sha_state_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ssl_st { _unused : [ u8 ; 0 ] , } pub type SSL = ssl_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct st_ERR_FNS { _unused : [ u8 ; 0 ] , } pub type ERR_FNS = st_ERR_FNS ; pub type X509V3_CTX = v3_ext_ctx ; pub type X509_CERT_AUX = x509_cert_aux_st ; pub type X509_CINF = x509_cinf_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct x509_crl_method_st { _unused : [ u8 ; 0 ] , } pub type X509_CRL_METHOD = x509_crl_method_st ; pub type X509 = x509_st ; pub type OPENSSL_BLOCK = * mut :: std :: os :: raw :: c_void ; extern "C" { pub fn EVP_aead_aes_128_gcm ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_gcm ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_chacha20_poly1305 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_xchacha20_poly1305 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_ctr_hmac_sha256 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_ctr_hmac_sha256 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_gcm_siv ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_gcm_siv ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_ccm_bluetooth ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_ccm_bluetooth_8 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_has_aes_hardware ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_key_length ( aead : * const EVP_AEAD ) -> usize ; } extern "C" { pub fn EVP_AEAD_nonce_length ( aead : * const EVP_AEAD ) -> usize ; } extern "C" { pub fn EVP_AEAD_max_overhead ( aead : * const EVP_AEAD ) -> usize ; } extern "C" { pub fn EVP_AEAD_max_tag_len ( aead : * const EVP_AEAD ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_aead_ctx_st { pub aead : * const EVP_AEAD , pub aead_state : * mut :: std :: os :: raw :: c_void , pub tag_len : u8 , } # [ test ] fn bindgen_test_layout_evp_aead_ctx_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < evp_aead_ctx_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( evp_aead_ctx_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < evp_aead_ctx_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( evp_aead_ctx_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_aead_ctx_st > ( ) ) ) . aead as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_aead_ctx_st ) , "::" , stringify ! ( aead ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_aead_ctx_st > ( ) ) ) . aead_state as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( evp_aead_ctx_st ) , "::" , stringify ! ( aead_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_aead_ctx_st > ( ) ) ) . tag_len as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( evp_aead_ctx_st ) , "::" , stringify ! ( tag_len ) ) ) ; } pub type EVP_AEAD_CTX = evp_aead_ctx_st ; extern "C" { pub fn EVP_AEAD_CTX_zero ( ctx : * mut EVP_AEAD_CTX ) ; } extern "C" { pub fn EVP_AEAD_CTX_new ( aead : * const EVP_AEAD , key : * const u8 , key_len : usize , tag_len : usize ) -> * mut EVP_AEAD_CTX ; } extern "C" { pub fn EVP_AEAD_CTX_free ( ctx : * mut EVP_AEAD_CTX ) ; } extern "C" { pub fn EVP_AEAD_CTX_init ( ctx : * mut EVP_AEAD_CTX , aead : * const EVP_AEAD , key : * const u8 , key_len : usize , tag_len : usize , impl_ : * mut ENGINE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_CTX_cleanup ( ctx : * mut EVP_AEAD_CTX ) ; } extern "C" { pub fn EVP_AEAD_CTX_seal ( ctx : * const EVP_AEAD_CTX , out : * mut u8 , out_len : * mut usize , max_out_len : usize , nonce : * const u8 , nonce_len : usize , in_ : * const u8 , in_len : usize , ad : * const u8 , ad_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_CTX_open ( ctx : * const EVP_AEAD_CTX , out : * mut u8 , out_len : * mut usize , max_out_len : usize , nonce : * const u8 , nonce_len : usize , in_ : * const u8 , in_len : usize , ad : * const u8 , ad_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_CTX_seal_scatter ( ctx : * const EVP_AEAD_CTX , out : * mut u8 , out_tag : * mut u8 , out_tag_len : * mut usize , max_out_tag_len : usize , nonce : * const u8 , nonce_len : usize , in_ : * const u8 , in_len : usize , extra_in : * const u8 , extra_in_len : usize , ad : * const u8 , ad_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_CTX_open_gather ( ctx : * const EVP_AEAD_CTX , out : * mut u8 , nonce : * const u8 , nonce_len : usize , in_ : * const u8 , in_len : usize , in_tag : * const u8 , in_tag_len : usize , ad : * const u8 , ad_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_CTX_aead ( ctx : * const EVP_AEAD_CTX ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_cbc_sha1_tls ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_cbc_sha256_tls ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_cbc_sha1_tls ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_cbc_sha256_tls ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_cbc_sha384_tls ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_des_ede3_cbc_sha1_tls ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_null_sha1_tls ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_gcm_tls12 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_gcm_tls12 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_128_gcm_tls13 ( ) -> * const EVP_AEAD ; } extern "C" { pub fn EVP_aead_aes_256_gcm_tls13 ( ) -> * const EVP_AEAD ; } pub const evp_aead_direction_t_evp_aead_open : evp_aead_direction_t = 0 ; pub const evp_aead_direction_t_evp_aead_seal : evp_aead_direction_t = 1 ; pub type evp_aead_direction_t = u32 ; extern "C" { pub fn EVP_AEAD_CTX_init_with_direction ( ctx : * mut EVP_AEAD_CTX , aead : * const EVP_AEAD , key : * const u8 , key_len : usize , tag_len : usize , dir : evp_aead_direction_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_CTX_get_iv ( ctx : * const EVP_AEAD_CTX , out_iv : * mut * const u8 , out_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_AEAD_CTX_tag_len ( ctx : * const EVP_AEAD_CTX , out_tag_len : * mut usize , in_len : usize , extra_in_len : usize ) -> :: std :: os :: raw :: c_int ; } pub type FILE = _IO_FILE ; pub type va_list = __builtin_va_list ; pub type _IO_lock_t = :: std :: os :: raw :: c_void ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_marker { pub _next : * mut _IO_marker , pub _sbuf : * mut _IO_FILE , pub _pos : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout__IO_marker ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_marker > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_marker > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_marker ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _next as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _next ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _sbuf as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _sbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_marker > ( ) ) ) . _pos as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_marker ) , "::" , stringify ! ( _pos ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _IO_FILE { pub _flags : :: std :: os :: raw :: c_int , pub _IO_read_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_read_end : * mut :: std :: os :: raw :: c_char , pub _IO_read_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_base : * mut :: std :: os :: raw :: c_char , pub _IO_write_ptr : * mut :: std :: os :: raw :: c_char , pub _IO_write_end : * mut :: std :: os :: raw :: c_char , pub _IO_buf_base : * mut :: std :: os :: raw :: c_char , pub _IO_buf_end : * mut :: std :: os :: raw :: c_char , pub _IO_save_base : * mut :: std :: os :: raw :: c_char , pub _IO_backup_base : * mut :: std :: os :: raw :: c_char , pub _IO_save_end : * mut :: std :: os :: raw :: c_char , pub _markers : * mut _IO_marker , pub _chain : * mut _IO_FILE , pub _fileno : :: std :: os :: raw :: c_int , pub _flags2 : :: std :: os :: raw :: c_int , pub _old_offset : __off_t , pub _cur_column : :: std :: os :: raw :: c_ushort , pub _vtable_offset : :: std :: os :: raw :: c_schar , pub _shortbuf : [ :: std :: os :: raw :: c_char ; 1usize ] , pub _lock : * mut _IO_lock_t , pub _offset : __off64_t , pub __pad1 : * mut :: std :: os :: raw :: c_void , pub __pad2 : * mut :: std :: os :: raw :: c_void , pub __pad3 : * mut :: std :: os :: raw :: c_void , pub __pad4 : * mut :: std :: os :: raw :: c_void , pub __pad5 : usize , pub _mode : :: std :: os :: raw :: c_int , pub _unused2 : [ :: std :: os :: raw :: c_char ; 20usize ] , } # [ test ] fn bindgen_test_layout__IO_FILE ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _IO_FILE > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _IO_FILE > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _IO_FILE ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_end as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_read_base as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_read_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_base as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_ptr as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_write_end as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_write_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_base as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_buf_end as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_buf_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_base as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_backup_base as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_backup_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _IO_save_end as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _IO_save_end ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _markers as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _markers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _chain as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _chain ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _fileno as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _fileno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _flags2 as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _flags2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _old_offset as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _old_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _cur_column as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _cur_column ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _vtable_offset as * const _ as usize } , 130usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _vtable_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _shortbuf as * const _ as usize } , 131usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _shortbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _lock as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _offset as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad1 as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad2 as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad3 as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad4 as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . __pad5 as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( __pad5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _mode as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _IO_FILE > ( ) ) ) . _unused2 as * const _ as usize } , 196usize , concat ! ( "Offset of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _unused2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct buf_mem_st { pub length : usize , pub data : * mut :: std :: os :: raw :: c_char , pub max : usize , } # [ test ] fn bindgen_test_layout_buf_mem_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < buf_mem_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( buf_mem_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < buf_mem_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( buf_mem_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < buf_mem_st > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( buf_mem_st ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < buf_mem_st > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( buf_mem_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < buf_mem_st > ( ) ) ) . max as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( buf_mem_st ) , "::" , stringify ! ( max ) ) ) ; } extern "C" { pub fn ERR_load_BIO_strings ( ) ; } extern "C" { pub fn ERR_load_ERR_strings ( ) ; } extern "C" { pub fn ERR_load_crypto_strings ( ) ; } extern "C" { pub fn ERR_load_RAND_strings ( ) ; } extern "C" { pub fn ERR_free_strings ( ) ; } extern "C" { pub fn ERR_get_error ( ) -> u32 ; } extern "C" { pub fn ERR_get_error_line ( file : * mut * const :: std :: os :: raw :: c_char , line : * mut :: std :: os :: raw :: c_int ) -> u32 ; } extern "C" { pub fn ERR_get_error_line_data ( file : * mut * const :: std :: os :: raw :: c_char , line : * mut :: std :: os :: raw :: c_int , data : * mut * const :: std :: os :: raw :: c_char , flags : * mut :: std :: os :: raw :: c_int ) -> u32 ; } extern "C" { pub fn ERR_peek_error ( ) -> u32 ; } extern "C" { pub fn ERR_peek_error_line ( file : * mut * const :: std :: os :: raw :: c_char , line : * mut :: std :: os :: raw :: c_int ) -> u32 ; } extern "C" { pub fn ERR_peek_error_line_data ( file : * mut * const :: std :: os :: raw :: c_char , line : * mut :: std :: os :: raw :: c_int , data : * mut * const :: std :: os :: raw :: c_char , flags : * mut :: std :: os :: raw :: c_int ) -> u32 ; } extern "C" { pub fn ERR_peek_last_error ( ) -> u32 ; } extern "C" { pub fn ERR_peek_last_error_line ( file : * mut * const :: std :: os :: raw :: c_char , line : * mut :: std :: os :: raw :: c_int ) -> u32 ; } extern "C" { pub fn ERR_peek_last_error_line_data ( file : * mut * const :: std :: os :: raw :: c_char , line : * mut :: std :: os :: raw :: c_int , data : * mut * const :: std :: os :: raw :: c_char , flags : * mut :: std :: os :: raw :: c_int ) -> u32 ; } extern "C" { pub fn ERR_error_string_n ( packed_error : u32 , buf : * mut :: std :: os :: raw :: c_char , len : usize ) ; } extern "C" { pub fn ERR_lib_error_string ( packed_error : u32 ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn ERR_reason_error_string ( packed_error : u32 ) -> * const :: std :: os :: raw :: c_char ; } pub type ERR_print_errors_callback_t = :: std :: option :: Option < unsafe extern "C" fn ( str : * const :: std :: os :: raw :: c_char , len : usize , ctx : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn ERR_print_errors_cb ( callback : ERR_print_errors_callback_t , ctx : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ERR_print_errors_fp ( file : * mut FILE ) ; } extern "C" { pub fn ERR_clear_error ( ) ; } extern "C" { pub fn ERR_set_mark ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ERR_pop_to_mark ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ERR_get_next_error_library ( ) -> :: std :: os :: raw :: c_int ; } pub const ERR_LIB_NONE : _bindgen_ty_1 = 1 ; pub const ERR_LIB_SYS : _bindgen_ty_1 = 2 ; pub const ERR_LIB_BN : _bindgen_ty_1 = 3 ; pub const ERR_LIB_RSA : _bindgen_ty_1 = 4 ; pub const ERR_LIB_DH : _bindgen_ty_1 = 5 ; pub const ERR_LIB_EVP : _bindgen_ty_1 = 6 ; pub const ERR_LIB_BUF : _bindgen_ty_1 = 7 ; pub const ERR_LIB_OBJ : _bindgen_ty_1 = 8 ; pub const ERR_LIB_PEM : _bindgen_ty_1 = 9 ; pub const ERR_LIB_DSA : _bindgen_ty_1 = 10 ; pub const ERR_LIB_X509 : _bindgen_ty_1 = 11 ; pub const ERR_LIB_ASN1 : _bindgen_ty_1 = 12 ; pub const ERR_LIB_CONF : _bindgen_ty_1 = 13 ; pub const ERR_LIB_CRYPTO : _bindgen_ty_1 = 14 ; pub const ERR_LIB_EC : _bindgen_ty_1 = 15 ; pub const ERR_LIB_SSL : _bindgen_ty_1 = 16 ; pub const ERR_LIB_BIO : _bindgen_ty_1 = 17 ; pub const ERR_LIB_PKCS7 : _bindgen_ty_1 = 18 ; pub const ERR_LIB_PKCS8 : _bindgen_ty_1 = 19 ; pub const ERR_LIB_X509V3 : _bindgen_ty_1 = 20 ; pub const ERR_LIB_RAND : _bindgen_ty_1 = 21 ; pub const ERR_LIB_ENGINE : _bindgen_ty_1 = 22 ; pub const ERR_LIB_OCSP : _bindgen_ty_1 = 23 ; pub const ERR_LIB_UI : _bindgen_ty_1 = 24 ; pub const ERR_LIB_COMP : _bindgen_ty_1 = 25 ; pub const ERR_LIB_ECDSA : _bindgen_ty_1 = 26 ; pub const ERR_LIB_ECDH : _bindgen_ty_1 = 27 ; pub const ERR_LIB_HMAC : _bindgen_ty_1 = 28 ; pub const ERR_LIB_DIGEST : _bindgen_ty_1 = 29 ; pub const ERR_LIB_CIPHER : _bindgen_ty_1 = 30 ; pub const ERR_LIB_HKDF : _bindgen_ty_1 = 31 ; pub const ERR_LIB_USER : _bindgen_ty_1 = 32 ; pub const ERR_NUM_LIBS : _bindgen_ty_1 = 33 ; pub type _bindgen_ty_1 = u32 ; extern "C" { pub fn ERR_remove_state ( pid : :: std :: os :: raw :: c_ulong ) ; } extern "C" { pub fn ERR_remove_thread_state ( tid : * const CRYPTO_THREADID ) ; } extern "C" { pub fn ERR_func_error_string ( packed_error : u32 ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn ERR_error_string ( packed_error : u32 , buf : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ERR_clear_system_error ( ) ; } extern "C" { pub fn ERR_put_error ( library : :: std :: os :: raw :: c_int , unused : :: std :: os :: raw :: c_int , reason : :: std :: os :: raw :: c_int , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_uint ) ; } extern "C" { pub fn ERR_add_error_data ( count : :: std :: os :: raw :: c_uint , ... ) ; } extern "C" { pub fn ERR_add_error_dataf ( format : * const :: std :: os :: raw :: c_char , ... ) ; } pub type OPENSSL_STRING = * mut :: std :: os :: raw :: c_char ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_void { _unused : [ u8 ; 0 ] , } pub type CRYPTO_EX_DATA = crypto_ex_data_st ; pub type CRYPTO_EX_free = :: std :: option :: Option < unsafe extern "C" fn ( parent : * mut :: std :: os :: raw :: c_void , ptr : * mut :: std :: os :: raw :: c_void , ad : * mut CRYPTO_EX_DATA , index : :: std :: os :: raw :: c_int , argl : :: std :: os :: raw :: c_long , argp : * mut :: std :: os :: raw :: c_void ) > ; extern "C" { pub fn CRYPTO_cleanup_all_ex_data ( ) ; } pub type CRYPTO_EX_dup = :: std :: option :: Option < unsafe extern "C" fn ( to : * mut CRYPTO_EX_DATA , from : * const CRYPTO_EX_DATA , from_d : * mut * mut :: std :: os :: raw :: c_void , index : :: std :: os :: raw :: c_int , argl : :: std :: os :: raw :: c_long , argp : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; pub type CRYPTO_EX_unused = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct crypto_ex_data_st { pub sk : * mut stack_st_void , } # [ test ] fn bindgen_test_layout_crypto_ex_data_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < crypto_ex_data_st > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( crypto_ex_data_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < crypto_ex_data_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( crypto_ex_data_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < crypto_ex_data_st > ( ) ) ) . sk as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( crypto_ex_data_st ) , "::" , stringify ! ( sk ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union crypto_mutex_st { pub alignment : f64 , pub padding : [ u8 ; 56usize ] , _bindgen_union_align : [ u64 ; 7usize ] , } # [ test ] fn bindgen_test_layout_crypto_mutex_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < crypto_mutex_st > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( crypto_mutex_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < crypto_mutex_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( crypto_mutex_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < crypto_mutex_st > ( ) ) ) . alignment as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( crypto_mutex_st ) , "::" , stringify ! ( alignment ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < crypto_mutex_st > ( ) ) ) . padding as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( crypto_mutex_st ) , "::" , stringify ! ( padding ) ) ) ; } pub type CRYPTO_MUTEX = crypto_mutex_st ; pub type CRYPTO_refcount_t = u32 ; extern "C" { pub fn CRYPTO_num_locks ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CRYPTO_set_locking_callback ( func : :: std :: option :: Option < unsafe extern "C" fn ( mode : :: std :: os :: raw :: c_int , lock_num : :: std :: os :: raw :: c_int , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int ) > ) ; } extern "C" { pub fn CRYPTO_set_add_lock_callback ( func : :: std :: option :: Option < unsafe extern "C" fn ( num : * mut :: std :: os :: raw :: c_int , amount : :: std :: os :: raw :: c_int , lock_num : :: std :: os :: raw :: c_int , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ) ; } extern "C" { pub fn CRYPTO_get_locking_callback ( ) -> :: std :: option :: Option < unsafe extern "C" fn ( ) > ; } extern "C" { pub fn CRYPTO_get_lock_name ( lock_num : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn CRYPTO_THREADID_set_callback ( threadid_func : :: std :: option :: Option < unsafe extern "C" fn ( threadid : * mut CRYPTO_THREADID ) > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CRYPTO_THREADID_set_numeric ( id : * mut CRYPTO_THREADID , val : :: std :: os :: raw :: c_ulong ) ; } extern "C" { pub fn CRYPTO_THREADID_set_pointer ( id : * mut CRYPTO_THREADID , ptr : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn CRYPTO_THREADID_current ( id : * mut CRYPTO_THREADID ) ; } extern "C" { pub fn CRYPTO_set_id_callback ( func : :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_ulong > ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CRYPTO_dynlock { pub references : :: std :: os :: raw :: c_int , pub data : * mut CRYPTO_dynlock_value , } # [ test ] fn bindgen_test_layout_CRYPTO_dynlock ( ) { assert_eq ! ( :: std :: mem :: size_of :: < CRYPTO_dynlock > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( CRYPTO_dynlock ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < CRYPTO_dynlock > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( CRYPTO_dynlock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < CRYPTO_dynlock > ( ) ) ) . references as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( CRYPTO_dynlock ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < CRYPTO_dynlock > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( CRYPTO_dynlock ) , "::" , stringify ! ( data ) ) ) ; } extern "C" { pub fn CRYPTO_set_dynlock_create_callback ( dyn_create_function : :: std :: option :: Option < unsafe extern "C" fn ( file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int ) -> * mut CRYPTO_dynlock_value > ) ; } extern "C" { pub fn CRYPTO_set_dynlock_lock_callback ( dyn_lock_function : :: std :: option :: Option < unsafe extern "C" fn ( mode : :: std :: os :: raw :: c_int , l : * mut CRYPTO_dynlock_value , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int ) > ) ; } extern "C" { pub fn CRYPTO_set_dynlock_destroy_callback ( dyn_destroy_function : :: std :: option :: Option < unsafe extern "C" fn ( l : * mut CRYPTO_dynlock_value , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int ) > ) ; } extern "C" { pub fn CRYPTO_get_dynlock_create_callback ( ) -> :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut CRYPTO_dynlock_value > ; } extern "C" { pub fn CRYPTO_get_dynlock_lock_callback ( ) -> :: std :: option :: Option < unsafe extern "C" fn ( ) > ; } extern "C" { pub fn CRYPTO_get_dynlock_destroy_callback ( ) -> :: std :: option :: Option < unsafe extern "C" fn ( ) > ; } extern "C" { pub fn BIO_new ( method : * const BIO_METHOD ) -> * mut BIO ; } extern "C" { pub fn BIO_free ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_vfree ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_up_ref ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_read ( bio : * mut BIO , data : * mut :: std :: os :: raw :: c_void , len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_gets ( bio : * mut BIO , buf : * mut :: std :: os :: raw :: c_char , size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_write ( bio : * mut BIO , data : * const :: std :: os :: raw :: c_void , len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_write_all ( bio : * mut BIO , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_puts ( bio : * mut BIO , buf : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_flush ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_ctrl ( bio : * mut BIO , cmd : :: std :: os :: raw :: c_int , larg : :: std :: os :: raw :: c_long , parg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn BIO_ptr_ctrl ( bp : * mut BIO , cmd : :: std :: os :: raw :: c_int , larg : :: std :: os :: raw :: c_long ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn BIO_int_ctrl ( bp : * mut BIO , cmd : :: std :: os :: raw :: c_int , larg : :: std :: os :: raw :: c_long , iarg : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn BIO_reset ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_eof ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_flags ( bio : * mut BIO , flags : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn BIO_test_flags ( bio : * const BIO , flags : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_should_read ( bio : * const BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_should_write ( bio : * const BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_should_retry ( bio : * const BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_should_io_special ( bio : * const BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_get_retry_reason ( bio : * const BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_clear_flags ( bio : * mut BIO , flags : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn BIO_set_retry_read ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_set_retry_write ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_get_retry_flags ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_clear_retry_flags ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_method_type ( bio : * const BIO ) -> :: std :: os :: raw :: c_int ; } pub type bio_info_cb = :: std :: option :: Option < unsafe extern "C" fn ( bio : * mut BIO , event : :: std :: os :: raw :: c_int , parg : * const :: std :: os :: raw :: c_char , cmd : :: std :: os :: raw :: c_int , larg : :: std :: os :: raw :: c_long , return_value : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_long > ; extern "C" { pub fn BIO_callback_ctrl ( bio : * mut BIO , cmd : :: std :: os :: raw :: c_int , fp : bio_info_cb ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn BIO_pending ( bio : * const BIO ) -> usize ; } extern "C" { pub fn BIO_ctrl_pending ( bio : * const BIO ) -> usize ; } extern "C" { pub fn BIO_wpending ( bio : * const BIO ) -> usize ; } extern "C" { pub fn BIO_set_close ( bio : * mut BIO , close_flag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_number_read ( bio : * const BIO ) -> usize ; } extern "C" { pub fn BIO_number_written ( bio : * const BIO ) -> usize ; } extern "C" { pub fn BIO_push ( bio : * mut BIO , appended_bio : * mut BIO ) -> * mut BIO ; } extern "C" { pub fn BIO_pop ( bio : * mut BIO ) -> * mut BIO ; } extern "C" { pub fn BIO_next ( bio : * mut BIO ) -> * mut BIO ; } extern "C" { pub fn BIO_free_all ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_find_type ( bio : * mut BIO , type_ : :: std :: os :: raw :: c_int ) -> * mut BIO ; } extern "C" { pub fn BIO_copy_next_retry ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_printf ( bio : * mut BIO , format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_indent ( bio : * mut BIO , indent : :: std :: os :: raw :: c_uint , max_indent : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_hexdump ( bio : * mut BIO , data : * const u8 , len : usize , indent : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ERR_print_errors ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_read_asn1 ( bio : * mut BIO , out : * mut * mut u8 , out_len : * mut usize , max_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_s_mem ( ) -> * const BIO_METHOD ; } extern "C" { pub fn BIO_new_mem_buf ( buf : * const :: std :: os :: raw :: c_void , len : :: std :: os :: raw :: c_int ) -> * mut BIO ; } extern "C" { pub fn BIO_mem_contents ( bio : * const BIO , out_contents : * mut * const u8 , out_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_get_mem_data ( bio : * mut BIO , contents : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn BIO_get_mem_ptr ( bio : * mut BIO , out : * mut * mut BUF_MEM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_mem_buf ( bio : * mut BIO , b : * mut BUF_MEM , take_ownership : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_mem_eof_return ( bio : * mut BIO , eof_value : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_s_fd ( ) -> * const BIO_METHOD ; } extern "C" { pub fn BIO_new_fd ( fd : :: std :: os :: raw :: c_int , close_flag : :: std :: os :: raw :: c_int ) -> * mut BIO ; } extern "C" { pub fn BIO_set_fd ( bio : * mut BIO , fd : :: std :: os :: raw :: c_int , close_flag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_get_fd ( bio : * mut BIO , out_fd : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_s_file ( ) -> * const BIO_METHOD ; } extern "C" { pub fn BIO_new_file ( filename : * const :: std :: os :: raw :: c_char , mode : * const :: std :: os :: raw :: c_char ) -> * mut BIO ; } extern "C" { pub fn BIO_new_fp ( stream : * mut FILE , close_flag : :: std :: os :: raw :: c_int ) -> * mut BIO ; } extern "C" { pub fn BIO_get_fp ( bio : * mut BIO , out_file : * mut * mut FILE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_fp ( bio : * mut BIO , file : * mut FILE , close_flag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_read_filename ( bio : * mut BIO , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_write_filename ( bio : * mut BIO , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_append_filename ( bio : * mut BIO , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_rw_filename ( bio : * mut BIO , filename : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_s_socket ( ) -> * const BIO_METHOD ; } extern "C" { pub fn BIO_new_socket ( fd : :: std :: os :: raw :: c_int , close_flag : :: std :: os :: raw :: c_int ) -> * mut BIO ; } extern "C" { pub fn BIO_s_connect ( ) -> * const BIO_METHOD ; } extern "C" { pub fn BIO_new_connect ( host_and_optional_port : * const :: std :: os :: raw :: c_char ) -> * mut BIO ; } extern "C" { pub fn BIO_set_conn_hostname ( bio : * mut BIO , host_and_optional_port : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_conn_port ( bio : * mut BIO , port_str : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_conn_int_port ( bio : * mut BIO , port : * const :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_nbio ( bio : * mut BIO , on : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_do_connect ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_new_bio_pair ( out1 : * mut * mut BIO , writebuf1 : usize , out2 : * mut * mut BIO , writebuf2 : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_ctrl_get_read_request ( bio : * mut BIO ) -> usize ; } extern "C" { pub fn BIO_ctrl_get_write_guarantee ( bio : * mut BIO ) -> usize ; } extern "C" { pub fn BIO_shutdown_wr ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_get_new_index ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_meth_new ( type_ : :: std :: os :: raw :: c_int , name : * const :: std :: os :: raw :: c_char ) -> * mut BIO_METHOD ; } extern "C" { pub fn BIO_meth_free ( method : * mut BIO_METHOD ) ; } extern "C" { pub fn BIO_meth_set_create ( method : * mut BIO_METHOD , create : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_meth_set_destroy ( method : * mut BIO_METHOD , destroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_meth_set_write ( method : * mut BIO_METHOD , write : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * const :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_meth_set_read ( method : * mut BIO_METHOD , read : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * mut :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_meth_set_gets ( method : * mut BIO_METHOD , gets : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * mut :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_meth_set_ctrl ( method : * mut BIO_METHOD , ctrl : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : :: std :: os :: raw :: c_int , arg3 : :: std :: os :: raw :: c_long , arg4 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_long > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_data ( bio : * mut BIO , ptr : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn BIO_get_data ( bio : * mut BIO ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn BIO_set_init ( bio : * mut BIO , init : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn BIO_get_init ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_f_base64 ( ) -> * const BIO_METHOD ; } extern "C" { pub fn BIO_set_retry_special ( bio : * mut BIO ) ; } extern "C" { pub fn BIO_set_write_buffer_size ( bio : * mut BIO , buffer_size : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_set_shutdown ( bio : * mut BIO , shutdown : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn BIO_get_shutdown ( bio : * mut BIO ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_meth_set_puts ( method : * mut BIO_METHOD , puts : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bio_method_st { pub type_ : :: std :: os :: raw :: c_int , pub name : * const :: std :: os :: raw :: c_char , pub bwrite : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * const :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub bread : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * mut :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub bputs : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > , pub bgets : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : * mut :: std :: os :: raw :: c_char , arg3 : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub ctrl : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : :: std :: os :: raw :: c_int , arg3 : :: std :: os :: raw :: c_long , arg4 : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_long > , pub create : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO ) -> :: std :: os :: raw :: c_int > , pub destroy : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO ) -> :: std :: os :: raw :: c_int > , pub callback_ctrl : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut BIO , arg2 : :: std :: os :: raw :: c_int , arg3 : bio_info_cb ) -> :: std :: os :: raw :: c_long > , } # [ test ] fn bindgen_test_layout_bio_method_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bio_method_st > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( bio_method_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bio_method_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bio_method_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . bwrite as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( bwrite ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . bread as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( bread ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . bputs as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( bputs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . bgets as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( bgets ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . ctrl as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( ctrl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . create as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( create ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . destroy as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( destroy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_method_st > ( ) ) ) . callback_ctrl as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( bio_method_st ) , "::" , stringify ! ( callback_ctrl ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bio_st { pub method : * const BIO_METHOD , pub init : :: std :: os :: raw :: c_int , pub shutdown : :: std :: os :: raw :: c_int , pub flags : :: std :: os :: raw :: c_int , pub retry_reason : :: std :: os :: raw :: c_int , pub num : :: std :: os :: raw :: c_int , pub references : CRYPTO_refcount_t , pub ptr : * mut :: std :: os :: raw :: c_void , pub next_bio : * mut BIO , pub num_read : usize , pub num_write : usize , } # [ test ] fn bindgen_test_layout_bio_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bio_st > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( bio_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bio_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bio_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . method as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( method ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . init as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . shutdown as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . retry_reason as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( retry_reason ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . num as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( num ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . references as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . ptr as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . next_bio as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( next_bio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . num_read as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( num_read ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bio_st > ( ) ) ) . num_write as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( bio_st ) , "::" , stringify ! ( num_write ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bn_gencb_st { pub arg : * mut :: std :: os :: raw :: c_void , pub callback : :: std :: option :: Option < unsafe extern "C" fn ( event : :: std :: os :: raw :: c_int , n : :: std :: os :: raw :: c_int , arg1 : * mut bn_gencb_st ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_bn_gencb_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bn_gencb_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( bn_gencb_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bn_gencb_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bn_gencb_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bn_gencb_st > ( ) ) ) . arg as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bn_gencb_st ) , "::" , stringify ! ( arg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bn_gencb_st > ( ) ) ) . callback as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bn_gencb_st ) , "::" , stringify ! ( callback ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bignum_st { pub d : * mut u64 , pub width : :: std :: os :: raw :: c_int , pub dmax : :: std :: os :: raw :: c_int , pub neg : :: std :: os :: raw :: c_int , pub flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_bignum_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bignum_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( bignum_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bignum_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bignum_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bignum_st > ( ) ) ) . d as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bignum_st ) , "::" , stringify ! ( d ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bignum_st > ( ) ) ) . width as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( bignum_st ) , "::" , stringify ! ( width ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bignum_st > ( ) ) ) . dmax as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( bignum_st ) , "::" , stringify ! ( dmax ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bignum_st > ( ) ) ) . neg as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( bignum_st ) , "::" , stringify ! ( neg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bignum_st > ( ) ) ) . flags as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( bignum_st ) , "::" , stringify ! ( flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bn_mont_ctx_st { pub RR : BIGNUM , pub N : BIGNUM , pub n0 : [ u64 ; 2usize ] , } # [ test ] fn bindgen_test_layout_bn_mont_ctx_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < bn_mont_ctx_st > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( bn_mont_ctx_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < bn_mont_ctx_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( bn_mont_ctx_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bn_mont_ctx_st > ( ) ) ) . RR as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( bn_mont_ctx_st ) , "::" , stringify ! ( RR ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bn_mont_ctx_st > ( ) ) ) . N as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( bn_mont_ctx_st ) , "::" , stringify ! ( N ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < bn_mont_ctx_st > ( ) ) ) . n0 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( bn_mont_ctx_st ) , "::" , stringify ! ( n0 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct asn1_object_st { pub sn : * const :: std :: os :: raw :: c_char , pub ln : * const :: std :: os :: raw :: c_char , pub nid : :: std :: os :: raw :: c_int , pub length : :: std :: os :: raw :: c_int , pub data : * const :: std :: os :: raw :: c_uchar , pub flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_asn1_object_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < asn1_object_st > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( asn1_object_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < asn1_object_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( asn1_object_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_object_st > ( ) ) ) . sn as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_object_st ) , "::" , stringify ! ( sn ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_object_st > ( ) ) ) . ln as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( asn1_object_st ) , "::" , stringify ! ( ln ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_object_st > ( ) ) ) . nid as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( asn1_object_st ) , "::" , stringify ! ( nid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_object_st > ( ) ) ) . length as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( asn1_object_st ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_object_st > ( ) ) ) . data as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( asn1_object_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_object_st > ( ) ) ) . flags as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( asn1_object_st ) , "::" , stringify ! ( flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_ASN1_OBJECT { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct asn1_string_st { pub length : :: std :: os :: raw :: c_int , pub type_ : :: std :: os :: raw :: c_int , pub data : * mut :: std :: os :: raw :: c_uchar , pub flags : :: std :: os :: raw :: c_long , } # [ test ] fn bindgen_test_layout_asn1_string_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < asn1_string_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( asn1_string_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < asn1_string_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( asn1_string_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_st > ( ) ) ) . length as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_st ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_st > ( ) ) ) . type_ as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_st ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_st > ( ) ) ) . data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_st > ( ) ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_st ) , "::" , stringify ! ( flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_ENCODING_st { pub enc : * mut :: std :: os :: raw :: c_uchar , pub len : :: std :: os :: raw :: c_long , pub modified : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub __bindgen_padding_0 : [ u8 ; 3usize ] , } # [ test ] fn bindgen_test_layout_ASN1_ENCODING_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_ENCODING_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ASN1_ENCODING_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_ENCODING_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_ENCODING_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ENCODING_st > ( ) ) ) . enc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ENCODING_st ) , "::" , stringify ! ( enc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ENCODING_st > ( ) ) ) . len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ENCODING_st ) , "::" , stringify ! ( len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ENCODING_st > ( ) ) ) . modified as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ENCODING_st ) , "::" , stringify ! ( modified ) ) ) ; } impl ASN1_ENCODING_st { # [ inline ] pub fn alias_only ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_alias_only ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn alias_only_on_next_parse ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_alias_only_on_next_parse ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( alias_only : :: std :: os :: raw :: c_uint , alias_only_on_next_parse : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let alias_only : u32 = unsafe { :: std :: mem :: transmute ( alias_only ) } ; alias_only as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 1u8 , { let alias_only_on_next_parse : u32 = unsafe { :: std :: mem :: transmute ( alias_only_on_next_parse ) } ; alias_only_on_next_parse as u64 } ) ; __bindgen_bitfield_unit } } pub type ASN1_ENCODING = ASN1_ENCODING_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct asn1_string_table_st { pub nid : :: std :: os :: raw :: c_int , pub minsize : :: std :: os :: raw :: c_long , pub maxsize : :: std :: os :: raw :: c_long , pub mask : :: std :: os :: raw :: c_ulong , pub flags : :: std :: os :: raw :: c_ulong , } # [ test ] fn bindgen_test_layout_asn1_string_table_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < asn1_string_table_st > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( asn1_string_table_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < asn1_string_table_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( asn1_string_table_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_table_st > ( ) ) ) . nid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_table_st ) , "::" , stringify ! ( nid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_table_st > ( ) ) ) . minsize as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_table_st ) , "::" , stringify ! ( minsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_table_st > ( ) ) ) . maxsize as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_table_st ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_table_st > ( ) ) ) . mask as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_table_st ) , "::" , stringify ! ( mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_string_table_st > ( ) ) ) . flags as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( asn1_string_table_st ) , "::" , stringify ! ( flags ) ) ) ; } pub type ASN1_STRING_TABLE = asn1_string_table_st ; pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st ; pub type ASN1_TLC = ASN1_TLC_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_VALUE_st { _unused : [ u8 ; 0 ] , } pub type ASN1_VALUE = ASN1_VALUE_st ; pub type i2d_of_void = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * const :: std :: os :: raw :: c_void , arg2 : * mut * mut :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_ITEM_EXP = ASN1_ITEM ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct asn1_type_st { pub type_ : :: std :: os :: raw :: c_int , pub value : asn1_type_st__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union asn1_type_st__bindgen_ty_1 { pub ptr : * mut :: std :: os :: raw :: c_char , pub boolean : ASN1_BOOLEAN , pub asn1_string : * mut ASN1_STRING , pub object : * mut ASN1_OBJECT , pub integer : * mut ASN1_INTEGER , pub enumerated : * mut ASN1_ENUMERATED , pub bit_string : * mut ASN1_BIT_STRING , pub octet_string : * mut ASN1_OCTET_STRING , pub printablestring : * mut ASN1_PRINTABLESTRING , pub t61string : * mut ASN1_T61STRING , pub ia5string : * mut ASN1_IA5STRING , pub generalstring : * mut ASN1_GENERALSTRING , pub bmpstring : * mut ASN1_BMPSTRING , pub universalstring : * mut ASN1_UNIVERSALSTRING , pub utctime : * mut ASN1_UTCTIME , pub generalizedtime : * mut ASN1_GENERALIZEDTIME , pub visiblestring : * mut ASN1_VISIBLESTRING , pub utf8string : * mut ASN1_UTF8STRING , pub set : * mut ASN1_STRING , pub sequence : * mut ASN1_STRING , pub asn1_value : * mut ASN1_VALUE , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_asn1_type_st__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < asn1_type_st__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < asn1_type_st__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( asn1_type_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . boolean as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( boolean ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . asn1_string as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( asn1_string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . object as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( object ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . integer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( integer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . enumerated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( enumerated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . bit_string as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( bit_string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . octet_string as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( octet_string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . printablestring as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( printablestring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . t61string as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( t61string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . ia5string as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( ia5string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . generalstring as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( generalstring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . bmpstring as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( bmpstring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . universalstring as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( universalstring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . utctime as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( utctime ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . generalizedtime as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( generalizedtime ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . visiblestring as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( visiblestring ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . utf8string as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( utf8string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . set as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( set ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . sequence as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( sequence ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st__bindgen_ty_1 > ( ) ) ) . asn1_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st__bindgen_ty_1 ) , "::" , stringify ! ( asn1_value ) ) ) ; } # [ test ] fn bindgen_test_layout_asn1_type_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < asn1_type_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( asn1_type_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < asn1_type_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( asn1_type_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st > ( ) ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < asn1_type_st > ( ) ) ) . value as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( asn1_type_st ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_ASN1_TYPE { _unused : [ u8 ; 0 ] , } pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE ; extern "C" { # [ link_name = "\u{1}ASN1_SEQUENCE_ANY_it" ] pub static mut ASN1_SEQUENCE_ANY_it : ASN1_ITEM ; } extern "C" { # [ link_name = "\u{1}ASN1_SET_ANY_it" ] pub static mut ASN1_SET_ANY_it : ASN1_ITEM ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_algor_st { pub algorithm : * mut ASN1_OBJECT , pub parameter : * mut ASN1_TYPE , } # [ test ] fn bindgen_test_layout_X509_algor_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_algor_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( X509_algor_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_algor_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_algor_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_algor_st > ( ) ) ) . algorithm as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_algor_st ) , "::" , stringify ! ( algorithm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_algor_st > ( ) ) ) . parameter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509_algor_st ) , "::" , stringify ! ( parameter ) ) ) ; } extern "C" { pub fn ASN1_TYPE_new ( ) -> * mut ASN1_TYPE ; } extern "C" { pub fn ASN1_TYPE_free ( a : * mut ASN1_TYPE ) ; } extern "C" { # [ link_name = "\u{1}ASN1_ANY_it" ] pub static mut ASN1_ANY_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_TYPE_get ( a : * mut ASN1_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_TYPE_set ( a : * mut ASN1_TYPE , type_ : :: std :: os :: raw :: c_int , value : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn ASN1_TYPE_set1 ( a : * mut ASN1_TYPE , type_ : :: std :: os :: raw :: c_int , value : * const :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_TYPE_cmp ( a : * const ASN1_TYPE , b : * const ASN1_TYPE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_OBJECT_new ( ) -> * mut ASN1_OBJECT ; } extern "C" { pub fn ASN1_OBJECT_free ( a : * mut ASN1_OBJECT ) ; } extern "C" { # [ link_name = "\u{1}ASN1_OBJECT_it" ] pub static mut ASN1_OBJECT_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_STRING_new ( ) -> * mut ASN1_STRING ; } extern "C" { pub fn ASN1_STRING_free ( a : * mut ASN1_STRING ) ; } extern "C" { pub fn ASN1_STRING_copy ( dst : * mut ASN1_STRING , str : * const ASN1_STRING ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_dup ( a : * const ASN1_STRING ) -> * mut ASN1_STRING ; } extern "C" { pub fn ASN1_STRING_type_new ( type_ : :: std :: os :: raw :: c_int ) -> * mut ASN1_STRING ; } extern "C" { pub fn ASN1_STRING_cmp ( a : * const ASN1_STRING , b : * const ASN1_STRING ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_set ( str : * mut ASN1_STRING , data : * const :: std :: os :: raw :: c_void , len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_set0 ( str : * mut ASN1_STRING , data : * mut :: std :: os :: raw :: c_void , len : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn ASN1_STRING_length ( x : * const ASN1_STRING ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_length_set ( x : * mut ASN1_STRING , n : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn ASN1_STRING_type ( x : * mut ASN1_STRING ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_data ( x : * mut ASN1_STRING ) -> * mut :: std :: os :: raw :: c_uchar ; } extern "C" { pub fn ASN1_STRING_get0_data ( x : * const ASN1_STRING ) -> * const :: std :: os :: raw :: c_uchar ; } extern "C" { pub fn ASN1_BIT_STRING_new ( ) -> * mut ASN1_BIT_STRING ; } extern "C" { pub fn ASN1_BIT_STRING_free ( a : * mut ASN1_BIT_STRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_BIT_STRING_it" ] pub static mut ASN1_BIT_STRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_BIT_STRING_set ( a : * mut ASN1_BIT_STRING , d : * mut :: std :: os :: raw :: c_uchar , length : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_BIT_STRING_set_bit ( a : * mut ASN1_BIT_STRING , n : :: std :: os :: raw :: c_int , value : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_BIT_STRING_get_bit ( a : * mut ASN1_BIT_STRING , n : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_BIT_STRING_check ( a : * mut ASN1_BIT_STRING , flags : * mut :: std :: os :: raw :: c_uchar , flags_len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_INTEGER_new ( ) -> * mut ASN1_INTEGER ; } extern "C" { pub fn ASN1_INTEGER_free ( a : * mut ASN1_INTEGER ) ; } extern "C" { # [ link_name = "\u{1}ASN1_INTEGER_it" ] pub static mut ASN1_INTEGER_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_INTEGER_dup ( x : * const ASN1_INTEGER ) -> * mut ASN1_INTEGER ; } extern "C" { pub fn ASN1_INTEGER_cmp ( x : * const ASN1_INTEGER , y : * const ASN1_INTEGER ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_ENUMERATED_new ( ) -> * mut ASN1_ENUMERATED ; } extern "C" { pub fn ASN1_ENUMERATED_free ( a : * mut ASN1_ENUMERATED ) ; } extern "C" { # [ link_name = "\u{1}ASN1_ENUMERATED_it" ] pub static mut ASN1_ENUMERATED_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_UTCTIME_check ( a : * const ASN1_UTCTIME ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_UTCTIME_set ( s : * mut ASN1_UTCTIME , t : time_t ) -> * mut ASN1_UTCTIME ; } extern "C" { pub fn ASN1_UTCTIME_adj ( s : * mut ASN1_UTCTIME , t : time_t , offset_day : :: std :: os :: raw :: c_int , offset_sec : :: std :: os :: raw :: c_long ) -> * mut ASN1_UTCTIME ; } extern "C" { pub fn ASN1_UTCTIME_set_string ( s : * mut ASN1_UTCTIME , str : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_UTCTIME_cmp_time_t ( s : * const ASN1_UTCTIME , t : time_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_GENERALIZEDTIME_check ( a : * const ASN1_GENERALIZEDTIME ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_GENERALIZEDTIME_set ( s : * mut ASN1_GENERALIZEDTIME , t : time_t ) -> * mut ASN1_GENERALIZEDTIME ; } extern "C" { pub fn ASN1_GENERALIZEDTIME_adj ( s : * mut ASN1_GENERALIZEDTIME , t : time_t , offset_day : :: std :: os :: raw :: c_int , offset_sec : :: std :: os :: raw :: c_long ) -> * mut ASN1_GENERALIZEDTIME ; } extern "C" { pub fn ASN1_GENERALIZEDTIME_set_string ( s : * mut ASN1_GENERALIZEDTIME , str : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_TIME_diff ( pday : * mut :: std :: os :: raw :: c_int , psec : * mut :: std :: os :: raw :: c_int , from : * const ASN1_TIME , to : * const ASN1_TIME ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_OCTET_STRING_new ( ) -> * mut ASN1_OCTET_STRING ; } extern "C" { pub fn ASN1_OCTET_STRING_free ( a : * mut ASN1_OCTET_STRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_OCTET_STRING_it" ] pub static mut ASN1_OCTET_STRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_OCTET_STRING_dup ( a : * const ASN1_OCTET_STRING ) -> * mut ASN1_OCTET_STRING ; } extern "C" { pub fn ASN1_OCTET_STRING_cmp ( a : * const ASN1_OCTET_STRING , b : * const ASN1_OCTET_STRING ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_OCTET_STRING_set ( str : * mut ASN1_OCTET_STRING , data : * const :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_VISIBLESTRING_new ( ) -> * mut ASN1_VISIBLESTRING ; } extern "C" { pub fn ASN1_VISIBLESTRING_free ( a : * mut ASN1_VISIBLESTRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_VISIBLESTRING_it" ] pub static mut ASN1_VISIBLESTRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_UNIVERSALSTRING_new ( ) -> * mut ASN1_UNIVERSALSTRING ; } extern "C" { pub fn ASN1_UNIVERSALSTRING_free ( a : * mut ASN1_UNIVERSALSTRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_UNIVERSALSTRING_it" ] pub static mut ASN1_UNIVERSALSTRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_UTF8STRING_new ( ) -> * mut ASN1_UTF8STRING ; } extern "C" { pub fn ASN1_UTF8STRING_free ( a : * mut ASN1_UTF8STRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_UTF8STRING_it" ] pub static mut ASN1_UTF8STRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_NULL_new ( ) -> * mut ASN1_NULL ; } extern "C" { pub fn ASN1_NULL_free ( a : * mut ASN1_NULL ) ; } extern "C" { # [ link_name = "\u{1}ASN1_NULL_it" ] pub static mut ASN1_NULL_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_BMPSTRING_new ( ) -> * mut ASN1_BMPSTRING ; } extern "C" { pub fn ASN1_BMPSTRING_free ( a : * mut ASN1_BMPSTRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_BMPSTRING_it" ] pub static mut ASN1_BMPSTRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_PRINTABLE_new ( ) -> * mut ASN1_STRING ; } extern "C" { pub fn ASN1_PRINTABLE_free ( a : * mut ASN1_STRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_PRINTABLE_it" ] pub static mut ASN1_PRINTABLE_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_PRINTABLESTRING_new ( ) -> * mut ASN1_PRINTABLESTRING ; } extern "C" { pub fn ASN1_PRINTABLESTRING_free ( a : * mut ASN1_PRINTABLESTRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_PRINTABLESTRING_it" ] pub static mut ASN1_PRINTABLESTRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_T61STRING_new ( ) -> * mut ASN1_T61STRING ; } extern "C" { pub fn ASN1_T61STRING_free ( a : * mut ASN1_T61STRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_T61STRING_it" ] pub static mut ASN1_T61STRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_IA5STRING_new ( ) -> * mut ASN1_IA5STRING ; } extern "C" { pub fn ASN1_IA5STRING_free ( a : * mut ASN1_IA5STRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_IA5STRING_it" ] pub static mut ASN1_IA5STRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_GENERALSTRING_new ( ) -> * mut ASN1_GENERALSTRING ; } extern "C" { pub fn ASN1_GENERALSTRING_free ( a : * mut ASN1_GENERALSTRING ) ; } extern "C" { # [ link_name = "\u{1}ASN1_GENERALSTRING_it" ] pub static mut ASN1_GENERALSTRING_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_UTCTIME_new ( ) -> * mut ASN1_UTCTIME ; } extern "C" { pub fn ASN1_UTCTIME_free ( a : * mut ASN1_UTCTIME ) ; } extern "C" { # [ link_name = "\u{1}ASN1_UTCTIME_it" ] pub static mut ASN1_UTCTIME_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_GENERALIZEDTIME_new ( ) -> * mut ASN1_GENERALIZEDTIME ; } extern "C" { pub fn ASN1_GENERALIZEDTIME_free ( a : * mut ASN1_GENERALIZEDTIME ) ; } extern "C" { # [ link_name = "\u{1}ASN1_GENERALIZEDTIME_it" ] pub static mut ASN1_GENERALIZEDTIME_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_TIME_new ( ) -> * mut ASN1_TIME ; } extern "C" { pub fn ASN1_TIME_free ( a : * mut ASN1_TIME ) ; } extern "C" { # [ link_name = "\u{1}ASN1_TIME_it" ] pub static mut ASN1_TIME_it : ASN1_ITEM ; } extern "C" { # [ link_name = "\u{1}ASN1_OCTET_STRING_NDEF_it" ] pub static mut ASN1_OCTET_STRING_NDEF_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_TIME_set ( s : * mut ASN1_TIME , t : time_t ) -> * mut ASN1_TIME ; } extern "C" { pub fn ASN1_TIME_adj ( s : * mut ASN1_TIME , t : time_t , offset_day : :: std :: os :: raw :: c_int , offset_sec : :: std :: os :: raw :: c_long ) -> * mut ASN1_TIME ; } extern "C" { pub fn ASN1_TIME_check ( t : * mut ASN1_TIME ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_TIME_to_generalizedtime ( t : * mut ASN1_TIME , out : * mut * mut ASN1_GENERALIZEDTIME ) -> * mut ASN1_GENERALIZEDTIME ; } extern "C" { pub fn ASN1_TIME_set_string ( s : * mut ASN1_TIME , str : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_OBJECT_create ( nid : :: std :: os :: raw :: c_int , data : * mut :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_int , sn : * const :: std :: os :: raw :: c_char , ln : * const :: std :: os :: raw :: c_char ) -> * mut ASN1_OBJECT ; } extern "C" { pub fn ASN1_INTEGER_set ( a : * mut ASN1_INTEGER , v : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_INTEGER_set_uint64 ( out : * mut ASN1_INTEGER , v : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_INTEGER_get ( a : * const ASN1_INTEGER ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn ASN1_INTEGER_to_BN ( ai : * const ASN1_INTEGER , bn : * mut BIGNUM ) -> * mut BIGNUM ; } extern "C" { pub fn ASN1_ENUMERATED_set ( a : * mut ASN1_ENUMERATED , v : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_ENUMERATED_get ( a : * mut ASN1_ENUMERATED ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn ASN1_ENUMERATED_to_BN ( ai : * mut ASN1_ENUMERATED , bn : * mut BIGNUM ) -> * mut BIGNUM ; } extern "C" { pub fn ASN1_PRINTABLE_type ( s : * const :: std :: os :: raw :: c_uchar , max : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_tag2bit ( tag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn ASN1_get_object ( pp : * mut * const :: std :: os :: raw :: c_uchar , plength : * mut :: std :: os :: raw :: c_long , ptag : * mut :: std :: os :: raw :: c_int , pclass : * mut :: std :: os :: raw :: c_int , omax : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_put_object ( pp : * mut * mut :: std :: os :: raw :: c_uchar , constructed : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_int , tag : :: std :: os :: raw :: c_int , xclass : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn ASN1_put_eoc ( pp : * mut * mut :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_object_size ( constructed : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_int , tag : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_dup ( it : * const ASN1_ITEM , x : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ASN1_item_d2i_fp ( it : * const ASN1_ITEM , in_ : * mut FILE , x : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ASN1_item_i2d_fp ( it : * const ASN1_ITEM , out : * mut FILE , x : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_print_ex_fp ( fp : * mut FILE , str : * mut ASN1_STRING , flags : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_to_UTF8 ( out : * mut * mut :: std :: os :: raw :: c_uchar , in_ : * mut ASN1_STRING ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_d2i_bio ( it : * const ASN1_ITEM , in_ : * mut BIO , x : * mut :: std :: os :: raw :: c_void ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ASN1_item_i2d_bio ( it : * const ASN1_ITEM , out : * mut BIO , x : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_UTCTIME_print ( fp : * mut BIO , a : * const ASN1_UTCTIME ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_GENERALIZEDTIME_print ( fp : * mut BIO , a : * const ASN1_GENERALIZEDTIME ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_TIME_print ( fp : * mut BIO , a : * const ASN1_TIME ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_print ( bp : * mut BIO , v : * const ASN1_STRING ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_print_ex ( out : * mut BIO , str : * mut ASN1_STRING , flags : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_tag2str ( tag : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn ASN1_item_unpack ( oct : * mut ASN1_STRING , it : * const ASN1_ITEM ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ASN1_item_pack ( obj : * mut :: std :: os :: raw :: c_void , it : * const ASN1_ITEM , oct : * mut * mut ASN1_OCTET_STRING ) -> * mut ASN1_STRING ; } extern "C" { pub fn ASN1_STRING_set_default_mask ( mask : :: std :: os :: raw :: c_ulong ) ; } extern "C" { pub fn ASN1_STRING_set_default_mask_asc ( p : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_get_default_mask ( ) -> :: std :: os :: raw :: c_ulong ; } extern "C" { pub fn ASN1_mbstring_copy ( out : * mut * mut ASN1_STRING , in_ : * const :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_int , inform : :: std :: os :: raw :: c_int , mask : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_mbstring_ncopy ( out : * mut * mut ASN1_STRING , in_ : * const :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_int , inform : :: std :: os :: raw :: c_int , mask : :: std :: os :: raw :: c_ulong , minsize : :: std :: os :: raw :: c_long , maxsize : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_set_by_NID ( out : * mut * mut ASN1_STRING , in_ : * const :: std :: os :: raw :: c_uchar , inlen : :: std :: os :: raw :: c_int , inform : :: std :: os :: raw :: c_int , nid : :: std :: os :: raw :: c_int ) -> * mut ASN1_STRING ; } extern "C" { pub fn ASN1_STRING_TABLE_get ( nid : :: std :: os :: raw :: c_int ) -> * mut ASN1_STRING_TABLE ; } extern "C" { pub fn ASN1_STRING_TABLE_add ( arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_long , arg3 : :: std :: os :: raw :: c_long , arg4 : :: std :: os :: raw :: c_ulong , arg5 : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_STRING_TABLE_cleanup ( ) ; } extern "C" { pub fn ASN1_item_new ( it : * const ASN1_ITEM ) -> * mut ASN1_VALUE ; } extern "C" { pub fn ASN1_item_free ( val : * mut ASN1_VALUE , it : * const ASN1_ITEM ) ; } extern "C" { pub fn ASN1_item_d2i ( val : * mut * mut ASN1_VALUE , in_ : * mut * const :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_long , it : * const ASN1_ITEM ) -> * mut ASN1_VALUE ; } extern "C" { pub fn ASN1_item_i2d ( val : * mut ASN1_VALUE , out : * mut * mut :: std :: os :: raw :: c_uchar , it : * const ASN1_ITEM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_ndef_i2d ( val : * mut ASN1_VALUE , out : * mut * mut :: std :: os :: raw :: c_uchar , it : * const ASN1_ITEM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_generate_nconf ( str : * mut :: std :: os :: raw :: c_char , nconf : * mut CONF ) -> * mut ASN1_TYPE ; } extern "C" { pub fn ASN1_generate_v3 ( str : * mut :: std :: os :: raw :: c_char , cnf : * mut X509V3_CTX ) -> * mut ASN1_TYPE ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_TEMPLATE_st { pub flags : :: std :: os :: raw :: c_ulong , pub tag : :: std :: os :: raw :: c_long , pub offset : :: std :: os :: raw :: c_ulong , pub field_name : * const :: std :: os :: raw :: c_char , pub item : * mut ASN1_ITEM_EXP , } # [ test ] fn bindgen_test_layout_ASN1_TEMPLATE_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_TEMPLATE_st > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( ASN1_TEMPLATE_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_TEMPLATE_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_TEMPLATE_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TEMPLATE_st > ( ) ) ) . flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TEMPLATE_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TEMPLATE_st > ( ) ) ) . tag as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TEMPLATE_st ) , "::" , stringify ! ( tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TEMPLATE_st > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TEMPLATE_st ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TEMPLATE_st > ( ) ) ) . field_name as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TEMPLATE_st ) , "::" , stringify ! ( field_name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TEMPLATE_st > ( ) ) ) . item as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TEMPLATE_st ) , "::" , stringify ! ( item ) ) ) ; } pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st ; pub type ASN1_ADB = ASN1_ADB_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct asn1_must_be_null_st { _unused : [ u8 ; 0 ] , } pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_ADB_st { pub flags : :: std :: os :: raw :: c_ulong , pub offset : :: std :: os :: raw :: c_ulong , pub unused : * mut ASN1_MUST_BE_NULL , pub tbl : * const ASN1_ADB_TABLE , pub tblcount : :: std :: os :: raw :: c_long , pub default_tt : * const ASN1_TEMPLATE , pub null_tt : * const ASN1_TEMPLATE , } # [ test ] fn bindgen_test_layout_ASN1_ADB_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_ADB_st > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ASN1_ADB_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_ADB_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_ADB_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_st > ( ) ) ) . flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_st > ( ) ) ) . offset as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_st ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_st > ( ) ) ) . unused as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_st ) , "::" , stringify ! ( unused ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_st > ( ) ) ) . tbl as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_st ) , "::" , stringify ! ( tbl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_st > ( ) ) ) . tblcount as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_st ) , "::" , stringify ! ( tblcount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_st > ( ) ) ) . default_tt as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_st ) , "::" , stringify ! ( default_tt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_st > ( ) ) ) . null_tt as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_st ) , "::" , stringify ! ( null_tt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_ADB_TABLE_st { pub value : :: std :: os :: raw :: c_long , pub tt : ASN1_TEMPLATE , } # [ test ] fn bindgen_test_layout_ASN1_ADB_TABLE_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_ADB_TABLE_st > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( ASN1_ADB_TABLE_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_ADB_TABLE_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_ADB_TABLE_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_TABLE_st > ( ) ) ) . value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_TABLE_st ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ADB_TABLE_st > ( ) ) ) . tt as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ADB_TABLE_st ) , "::" , stringify ! ( tt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_ITEM_st { pub itype : :: std :: os :: raw :: c_char , pub utype : :: std :: os :: raw :: c_long , pub templates : * const ASN1_TEMPLATE , pub tcount : :: std :: os :: raw :: c_long , pub funcs : * const :: std :: os :: raw :: c_void , pub size : :: std :: os :: raw :: c_long , pub sname : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_ASN1_ITEM_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_ITEM_st > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ASN1_ITEM_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_ITEM_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_ITEM_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ITEM_st > ( ) ) ) . itype as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ITEM_st ) , "::" , stringify ! ( itype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ITEM_st > ( ) ) ) . utype as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ITEM_st ) , "::" , stringify ! ( utype ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ITEM_st > ( ) ) ) . templates as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ITEM_st ) , "::" , stringify ! ( templates ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ITEM_st > ( ) ) ) . tcount as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ITEM_st ) , "::" , stringify ! ( tcount ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ITEM_st > ( ) ) ) . funcs as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ITEM_st ) , "::" , stringify ! ( funcs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ITEM_st > ( ) ) ) . size as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ITEM_st ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_ITEM_st > ( ) ) ) . sname as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_ITEM_st ) , "::" , stringify ! ( sname ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_TLC_st { pub valid : :: std :: os :: raw :: c_char , pub ret : :: std :: os :: raw :: c_int , pub plen : :: std :: os :: raw :: c_long , pub ptag : :: std :: os :: raw :: c_int , pub pclass : :: std :: os :: raw :: c_int , pub hdrlen : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ASN1_TLC_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_TLC_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ASN1_TLC_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_TLC_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_TLC_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TLC_st > ( ) ) ) . valid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TLC_st ) , "::" , stringify ! ( valid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TLC_st > ( ) ) ) . ret as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TLC_st ) , "::" , stringify ! ( ret ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TLC_st > ( ) ) ) . plen as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TLC_st ) , "::" , stringify ! ( plen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TLC_st > ( ) ) ) . ptag as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TLC_st ) , "::" , stringify ! ( ptag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TLC_st > ( ) ) ) . pclass as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TLC_st ) , "::" , stringify ! ( pclass ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_TLC_st > ( ) ) ) . hdrlen as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_TLC_st ) , "::" , stringify ! ( hdrlen ) ) ) ; } pub type ASN1_new_func = :: std :: option :: Option < unsafe extern "C" fn ( ) -> * mut ASN1_VALUE > ; pub type ASN1_free_func = :: std :: option :: Option < unsafe extern "C" fn ( a : * mut ASN1_VALUE ) > ; pub type ASN1_d2i_func = :: std :: option :: Option < unsafe extern "C" fn ( a : * mut * mut ASN1_VALUE , in_ : * mut * const :: std :: os :: raw :: c_uchar , length : :: std :: os :: raw :: c_long ) -> * mut ASN1_VALUE > ; pub type ASN1_i2d_func = :: std :: option :: Option < unsafe extern "C" fn ( a : * mut ASN1_VALUE , in_ : * mut * mut :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_ex_d2i = :: std :: option :: Option < unsafe extern "C" fn ( pval : * mut * mut ASN1_VALUE , in_ : * mut * const :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_long , it : * const ASN1_ITEM , tag : :: std :: os :: raw :: c_int , aclass : :: std :: os :: raw :: c_int , opt : :: std :: os :: raw :: c_char , ctx : * mut ASN1_TLC ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_ex_i2d = :: std :: option :: Option < unsafe extern "C" fn ( pval : * mut * mut ASN1_VALUE , out : * mut * mut :: std :: os :: raw :: c_uchar , it : * const ASN1_ITEM , tag : :: std :: os :: raw :: c_int , aclass : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_ex_new_func = :: std :: option :: Option < unsafe extern "C" fn ( pval : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_ex_free_func = :: std :: option :: Option < unsafe extern "C" fn ( pval : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM ) > ; pub type ASN1_ex_print_func = :: std :: option :: Option < unsafe extern "C" fn ( out : * mut BIO , pval : * mut * mut ASN1_VALUE , indent : :: std :: os :: raw :: c_int , fname : * const :: std :: os :: raw :: c_char , pctx : * const ASN1_PCTX ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_primitive_i2c = :: std :: option :: Option < unsafe extern "C" fn ( pval : * mut * mut ASN1_VALUE , cont : * mut :: std :: os :: raw :: c_uchar , putype : * mut :: std :: os :: raw :: c_int , it : * const ASN1_ITEM ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_primitive_c2i = :: std :: option :: Option < unsafe extern "C" fn ( pval : * mut * mut ASN1_VALUE , cont : * const :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_int , utype : :: std :: os :: raw :: c_int , free_cont : * mut :: std :: os :: raw :: c_char , it : * const ASN1_ITEM ) -> :: std :: os :: raw :: c_int > ; pub type ASN1_primitive_print = :: std :: option :: Option < unsafe extern "C" fn ( out : * mut BIO , pval : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM , indent : :: std :: os :: raw :: c_int , pctx : * const ASN1_PCTX ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_COMPAT_FUNCS_st { pub asn1_new : ASN1_new_func , pub asn1_free : ASN1_free_func , pub asn1_d2i : ASN1_d2i_func , pub asn1_i2d : ASN1_i2d_func , } # [ test ] fn bindgen_test_layout_ASN1_COMPAT_FUNCS_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_COMPAT_FUNCS_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ASN1_COMPAT_FUNCS_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_COMPAT_FUNCS_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_COMPAT_FUNCS_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_COMPAT_FUNCS_st > ( ) ) ) . asn1_new as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_COMPAT_FUNCS_st ) , "::" , stringify ! ( asn1_new ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_COMPAT_FUNCS_st > ( ) ) ) . asn1_free as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_COMPAT_FUNCS_st ) , "::" , stringify ! ( asn1_free ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_COMPAT_FUNCS_st > ( ) ) ) . asn1_d2i as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_COMPAT_FUNCS_st ) , "::" , stringify ! ( asn1_d2i ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_COMPAT_FUNCS_st > ( ) ) ) . asn1_i2d as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_COMPAT_FUNCS_st ) , "::" , stringify ! ( asn1_i2d ) ) ) ; } pub type ASN1_COMPAT_FUNCS = ASN1_COMPAT_FUNCS_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_EXTERN_FUNCS_st { pub app_data : * mut :: std :: os :: raw :: c_void , pub asn1_ex_new : ASN1_ex_new_func , pub asn1_ex_free : ASN1_ex_free_func , pub asn1_ex_clear : ASN1_ex_free_func , pub asn1_ex_d2i : ASN1_ex_d2i , pub asn1_ex_i2d : ASN1_ex_i2d , pub asn1_ex_print : ASN1_ex_print_func , } # [ test ] fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_EXTERN_FUNCS_st > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_EXTERN_FUNCS_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_EXTERN_FUNCS_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_EXTERN_FUNCS_st > ( ) ) ) . app_data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) , "::" , stringify ! ( app_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_EXTERN_FUNCS_st > ( ) ) ) . asn1_ex_new as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) , "::" , stringify ! ( asn1_ex_new ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_EXTERN_FUNCS_st > ( ) ) ) . asn1_ex_free as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) , "::" , stringify ! ( asn1_ex_free ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_EXTERN_FUNCS_st > ( ) ) ) . asn1_ex_clear as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) , "::" , stringify ! ( asn1_ex_clear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_EXTERN_FUNCS_st > ( ) ) ) . asn1_ex_d2i as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) , "::" , stringify ! ( asn1_ex_d2i ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_EXTERN_FUNCS_st > ( ) ) ) . asn1_ex_i2d as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) , "::" , stringify ! ( asn1_ex_i2d ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_EXTERN_FUNCS_st > ( ) ) ) . asn1_ex_print as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_EXTERN_FUNCS_st ) , "::" , stringify ! ( asn1_ex_print ) ) ) ; } pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_PRIMITIVE_FUNCS_st { pub app_data : * mut :: std :: os :: raw :: c_void , pub flags : :: std :: os :: raw :: c_ulong , pub prim_new : ASN1_ex_new_func , pub prim_free : ASN1_ex_free_func , pub prim_clear : ASN1_ex_free_func , pub prim_c2i : ASN1_primitive_c2i , pub prim_i2c : ASN1_primitive_i2c , pub prim_print : ASN1_primitive_print , } # [ test ] fn bindgen_test_layout_ASN1_PRIMITIVE_FUNCS_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_PRIMITIVE_FUNCS_st > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_PRIMITIVE_FUNCS_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . app_data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( app_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . prim_new as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( prim_new ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . prim_free as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( prim_free ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . prim_clear as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( prim_clear ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . prim_c2i as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( prim_c2i ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . prim_i2c as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( prim_i2c ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRIMITIVE_FUNCS_st > ( ) ) ) . prim_print as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRIMITIVE_FUNCS_st ) , "::" , stringify ! ( prim_print ) ) ) ; } pub type ASN1_PRIMITIVE_FUNCS = ASN1_PRIMITIVE_FUNCS_st ; pub type ASN1_aux_cb = :: std :: option :: Option < unsafe extern "C" fn ( operation : :: std :: os :: raw :: c_int , in_ : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM , exarg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_AUX_st { pub app_data : * mut :: std :: os :: raw :: c_void , pub flags : :: std :: os :: raw :: c_int , pub ref_offset : :: std :: os :: raw :: c_int , pub asn1_cb : ASN1_aux_cb , pub enc_offset : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ASN1_AUX_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_AUX_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ASN1_AUX_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_AUX_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_AUX_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_AUX_st > ( ) ) ) . app_data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_AUX_st ) , "::" , stringify ! ( app_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_AUX_st > ( ) ) ) . flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_AUX_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_AUX_st > ( ) ) ) . ref_offset as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_AUX_st ) , "::" , stringify ! ( ref_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_AUX_st > ( ) ) ) . asn1_cb as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_AUX_st ) , "::" , stringify ! ( asn1_cb ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_AUX_st > ( ) ) ) . enc_offset as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_AUX_st ) , "::" , stringify ! ( enc_offset ) ) ) ; } pub type ASN1_AUX = ASN1_AUX_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_PRINT_ARG_st { pub out : * mut BIO , pub indent : :: std :: os :: raw :: c_int , pub pctx : * const ASN1_PCTX , } # [ test ] fn bindgen_test_layout_ASN1_PRINT_ARG_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_PRINT_ARG_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ASN1_PRINT_ARG_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_PRINT_ARG_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_PRINT_ARG_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRINT_ARG_st > ( ) ) ) . out as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRINT_ARG_st ) , "::" , stringify ! ( out ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRINT_ARG_st > ( ) ) ) . indent as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRINT_ARG_st ) , "::" , stringify ! ( indent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_PRINT_ARG_st > ( ) ) ) . pctx as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_PRINT_ARG_st ) , "::" , stringify ! ( pctx ) ) ) ; } pub type ASN1_PRINT_ARG = ASN1_PRINT_ARG_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ASN1_STREAM_ARG_st { pub out : * mut BIO , pub ndef_bio : * mut BIO , pub boundary : * mut * mut :: std :: os :: raw :: c_uchar , } # [ test ] fn bindgen_test_layout_ASN1_STREAM_ARG_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ASN1_STREAM_ARG_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( ASN1_STREAM_ARG_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ASN1_STREAM_ARG_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ASN1_STREAM_ARG_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_STREAM_ARG_st > ( ) ) ) . out as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_STREAM_ARG_st ) , "::" , stringify ! ( out ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_STREAM_ARG_st > ( ) ) ) . ndef_bio as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_STREAM_ARG_st ) , "::" , stringify ! ( ndef_bio ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ASN1_STREAM_ARG_st > ( ) ) ) . boundary as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ASN1_STREAM_ARG_st ) , "::" , stringify ! ( boundary ) ) ) ; } pub type ASN1_STREAM_ARG = ASN1_STREAM_ARG_st ; extern "C" { # [ link_name = "\u{1}ASN1_BOOLEAN_it" ] pub static mut ASN1_BOOLEAN_it : ASN1_ITEM ; } extern "C" { # [ link_name = "\u{1}ASN1_TBOOLEAN_it" ] pub static mut ASN1_TBOOLEAN_it : ASN1_ITEM ; } extern "C" { # [ link_name = "\u{1}ASN1_FBOOLEAN_it" ] pub static mut ASN1_FBOOLEAN_it : ASN1_ITEM ; } extern "C" { # [ link_name = "\u{1}ASN1_SEQUENCE_it" ] pub static mut ASN1_SEQUENCE_it : ASN1_ITEM ; } extern "C" { pub fn ASN1_item_ex_new ( pval : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_ex_free ( pval : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM ) ; } extern "C" { pub fn ASN1_template_new ( pval : * mut * mut ASN1_VALUE , tt : * const ASN1_TEMPLATE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_primitive_new ( pval : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_template_free ( pval : * mut * mut ASN1_VALUE , tt : * const ASN1_TEMPLATE ) ; } extern "C" { pub fn ASN1_item_ex_d2i ( pval : * mut * mut ASN1_VALUE , in_ : * mut * const :: std :: os :: raw :: c_uchar , len : :: std :: os :: raw :: c_long , it : * const ASN1_ITEM , tag : :: std :: os :: raw :: c_int , aclass : :: std :: os :: raw :: c_int , opt : :: std :: os :: raw :: c_char , ctx : * mut ASN1_TLC ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_ex_i2d ( pval : * mut * mut ASN1_VALUE , out : * mut * mut :: std :: os :: raw :: c_uchar , it : * const ASN1_ITEM , tag : :: std :: os :: raw :: c_int , aclass : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_primitive_free ( pval : * mut * mut ASN1_VALUE , it : * const ASN1_ITEM ) ; } extern "C" { pub fn EVP_EncodeBlock ( dst : * mut u8 , src : * const u8 , src_len : usize ) -> usize ; } extern "C" { pub fn EVP_EncodedLength ( out_len : * mut usize , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecodedLength ( out_len : * mut usize , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecodeBase64 ( out : * mut u8 , out_len : * mut usize , max_out : usize , in_ : * const u8 , in_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_EncodeInit ( ctx : * mut EVP_ENCODE_CTX ) ; } extern "C" { pub fn EVP_EncodeUpdate ( ctx : * mut EVP_ENCODE_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int , in_ : * const u8 , in_len : usize ) ; } extern "C" { pub fn EVP_EncodeFinal ( ctx : * mut EVP_ENCODE_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn EVP_DecodeInit ( ctx : * mut EVP_ENCODE_CTX ) ; } extern "C" { pub fn EVP_DecodeUpdate ( ctx : * mut EVP_ENCODE_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int , in_ : * const u8 , in_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecodeFinal ( ctx : * mut EVP_ENCODE_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecodeBlock ( dst : * mut u8 , src : * const u8 , src_len : usize ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct evp_encode_ctx_st { pub data_used : :: std :: os :: raw :: c_uint , pub data : [ u8 ; 48usize ] , pub eof_seen : :: std :: os :: raw :: c_char , pub error_encountered : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_evp_encode_ctx_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < evp_encode_ctx_st > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( evp_encode_ctx_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < evp_encode_ctx_st > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( evp_encode_ctx_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_encode_ctx_st > ( ) ) ) . data_used as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_encode_ctx_st ) , "::" , stringify ! ( data_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_encode_ctx_st > ( ) ) ) . data as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( evp_encode_ctx_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_encode_ctx_st > ( ) ) ) . eof_seen as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( evp_encode_ctx_st ) , "::" , stringify ! ( eof_seen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_encode_ctx_st > ( ) ) ) . error_encountered as * const _ as usize } , 53usize , concat ! ( "Offset of field: " , stringify ! ( evp_encode_ctx_st ) , "::" , stringify ! ( error_encountered ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct cbs_st { pub data : * const u8 , pub len : usize , } # [ test ] fn bindgen_test_layout_cbs_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < cbs_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( cbs_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < cbs_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( cbs_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbs_st > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( cbs_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbs_st > ( ) ) ) . len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( cbs_st ) , "::" , stringify ! ( len ) ) ) ; } extern "C" { pub fn CBS_init ( cbs : * mut CBS , data : * const u8 , len : usize ) ; } extern "C" { pub fn CBS_skip ( cbs : * mut CBS , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_data ( cbs : * const CBS ) -> * const u8 ; } extern "C" { pub fn CBS_len ( cbs : * const CBS ) -> usize ; } extern "C" { pub fn CBS_stow ( cbs : * const CBS , out_ptr : * mut * mut u8 , out_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_strdup ( cbs : * const CBS , out_ptr : * mut * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_contains_zero_byte ( cbs : * const CBS ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_mem_equal ( cbs : * const CBS , data : * const u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_u8 ( cbs : * mut CBS , out : * mut u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_u16 ( cbs : * mut CBS , out : * mut u16 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_u24 ( cbs : * mut CBS , out : * mut u32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_u32 ( cbs : * mut CBS , out : * mut u32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_last_u8 ( cbs : * mut CBS , out : * mut u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_bytes ( cbs : * mut CBS , out : * mut CBS , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_copy_bytes ( cbs : * mut CBS , out : * mut u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_u8_length_prefixed ( cbs : * mut CBS , out : * mut CBS ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_u16_length_prefixed ( cbs : * mut CBS , out : * mut CBS ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_u24_length_prefixed ( cbs : * mut CBS , out : * mut CBS ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_asn1 ( cbs : * mut CBS , out : * mut CBS , tag_value : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_asn1_element ( cbs : * mut CBS , out : * mut CBS , tag_value : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_peek_asn1_tag ( cbs : * const CBS , tag_value : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_any_asn1 ( cbs : * mut CBS , out : * mut CBS , out_tag : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_any_asn1_element ( cbs : * mut CBS , out : * mut CBS , out_tag : * mut :: std :: os :: raw :: c_uint , out_header_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_any_ber_asn1_element ( cbs : * mut CBS , out : * mut CBS , out_tag : * mut :: std :: os :: raw :: c_uint , out_header_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_asn1_uint64 ( cbs : * mut CBS , out : * mut u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_asn1_bool ( cbs : * mut CBS , out : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_optional_asn1 ( cbs : * mut CBS , out : * mut CBS , out_present : * mut :: std :: os :: raw :: c_int , tag : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_optional_asn1_octet_string ( cbs : * mut CBS , out : * mut CBS , out_present : * mut :: std :: os :: raw :: c_int , tag : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_optional_asn1_uint64 ( cbs : * mut CBS , out : * mut u64 , tag : :: std :: os :: raw :: c_uint , default_value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_get_optional_asn1_bool ( cbs : * mut CBS , out : * mut :: std :: os :: raw :: c_int , tag : :: std :: os :: raw :: c_uint , default_value : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_is_valid_asn1_bitstring ( cbs : * const CBS ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_asn1_bitstring_has_bit ( cbs : * const CBS , bit : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBS_asn1_oid_to_text ( cbs : * const CBS ) -> * mut :: std :: os :: raw :: c_char ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct cbb_buffer_st { pub buf : * mut u8 , pub len : usize , pub cap : usize , pub can_resize : :: std :: os :: raw :: c_char , pub error : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_cbb_buffer_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < cbb_buffer_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( cbb_buffer_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < cbb_buffer_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( cbb_buffer_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_buffer_st > ( ) ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( cbb_buffer_st ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_buffer_st > ( ) ) ) . len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( cbb_buffer_st ) , "::" , stringify ! ( len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_buffer_st > ( ) ) ) . cap as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( cbb_buffer_st ) , "::" , stringify ! ( cap ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_buffer_st > ( ) ) ) . can_resize as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( cbb_buffer_st ) , "::" , stringify ! ( can_resize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_buffer_st > ( ) ) ) . error as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( cbb_buffer_st ) , "::" , stringify ! ( error ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct cbb_st { pub base : * mut cbb_buffer_st , pub child : * mut CBB , pub offset : usize , pub pending_len_len : u8 , pub pending_is_asn1 : :: std :: os :: raw :: c_char , pub is_top_level : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_cbb_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < cbb_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( cbb_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < cbb_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( cbb_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_st > ( ) ) ) . base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( cbb_st ) , "::" , stringify ! ( base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_st > ( ) ) ) . child as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( cbb_st ) , "::" , stringify ! ( child ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_st > ( ) ) ) . offset as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( cbb_st ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_st > ( ) ) ) . pending_len_len as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( cbb_st ) , "::" , stringify ! ( pending_len_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_st > ( ) ) ) . pending_is_asn1 as * const _ as usize } , 25usize , concat ! ( "Offset of field: " , stringify ! ( cbb_st ) , "::" , stringify ! ( pending_is_asn1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cbb_st > ( ) ) ) . is_top_level as * const _ as usize } , 26usize , concat ! ( "Offset of field: " , stringify ! ( cbb_st ) , "::" , stringify ! ( is_top_level ) ) ) ; } extern "C" { pub fn CBB_zero ( cbb : * mut CBB ) ; } extern "C" { pub fn CBB_init ( cbb : * mut CBB , initial_capacity : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_init_fixed ( cbb : * mut CBB , buf : * mut u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_cleanup ( cbb : * mut CBB ) ; } extern "C" { pub fn CBB_finish ( cbb : * mut CBB , out_data : * mut * mut u8 , out_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_flush ( cbb : * mut CBB ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_data ( cbb : * const CBB ) -> * const u8 ; } extern "C" { pub fn CBB_len ( cbb : * const CBB ) -> usize ; } extern "C" { pub fn CBB_add_u8_length_prefixed ( cbb : * mut CBB , out_contents : * mut CBB ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_u16_length_prefixed ( cbb : * mut CBB , out_contents : * mut CBB ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_u24_length_prefixed ( cbb : * mut CBB , out_contents : * mut CBB ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_asn1 ( cbb : * mut CBB , out_contents : * mut CBB , tag : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_bytes ( cbb : * mut CBB , data : * const u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_space ( cbb : * mut CBB , out_data : * mut * mut u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_reserve ( cbb : * mut CBB , out_data : * mut * mut u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_did_write ( cbb : * mut CBB , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_u8 ( cbb : * mut CBB , value : u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_u16 ( cbb : * mut CBB , value : u16 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_u24 ( cbb : * mut CBB , value : u32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_u32 ( cbb : * mut CBB , value : u32 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_discard_child ( cbb : * mut CBB ) ; } extern "C" { pub fn CBB_add_asn1_uint64 ( cbb : * mut CBB , value : u64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_asn1_octet_string ( cbb : * mut CBB , data : * const u8 , data_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_asn1_bool ( cbb : * mut CBB , value : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_add_asn1_oid_from_text ( cbb : * mut CBB , text : * const :: std :: os :: raw :: c_char , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CBB_flush_asn1_set_of ( cbb : * mut CBB ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct cast_key_st { pub data : [ u32 ; 32usize ] , pub short_key : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_cast_key_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < cast_key_st > ( ) , 132usize , concat ! ( "Size of: " , stringify ! ( cast_key_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < cast_key_st > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( cast_key_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cast_key_st > ( ) ) ) . data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( cast_key_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cast_key_st > ( ) ) ) . short_key as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( cast_key_st ) , "::" , stringify ! ( short_key ) ) ) ; } pub type CAST_KEY = cast_key_st ; extern "C" { pub fn CAST_set_key ( key : * mut CAST_KEY , len : usize , data : * const u8 ) ; } extern "C" { pub fn CAST_ecb_encrypt ( in_ : * const u8 , out : * mut u8 , key : * const CAST_KEY , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn CAST_encrypt ( data : * mut u32 , key : * const CAST_KEY ) ; } extern "C" { pub fn CAST_decrypt ( data : * mut u32 , key : * const CAST_KEY ) ; } extern "C" { pub fn CAST_cbc_encrypt ( in_ : * const u8 , out : * mut u8 , length : :: std :: os :: raw :: c_long , ks : * const CAST_KEY , iv : * mut u8 , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn CAST_cfb64_encrypt ( in_ : * const u8 , out : * mut u8 , length : :: std :: os :: raw :: c_long , schedule : * const CAST_KEY , ivec : * mut u8 , num : * mut :: std :: os :: raw :: c_int , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn CRYPTO_chacha_20 ( out : * mut u8 , in_ : * const u8 , in_len : usize , key : * const u8 , nonce : * const u8 , counter : u32 ) ; } extern "C" { pub fn EVP_rc4 ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_des_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_des_ecb ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_des_ede ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_des_ede3 ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_des_ede_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_des_ede3_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_128_ecb ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_128_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_128_ctr ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_128_ofb ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_256_ecb ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_256_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_256_ctr ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_256_ofb ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_256_xts ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_enc_null ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_rc2_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_rc2_40_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_get_cipherbynid ( nid : :: std :: os :: raw :: c_int ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_CIPHER_CTX_init ( ctx : * mut EVP_CIPHER_CTX ) ; } extern "C" { pub fn EVP_CIPHER_CTX_new ( ) -> * mut EVP_CIPHER_CTX ; } extern "C" { pub fn EVP_CIPHER_CTX_cleanup ( ctx : * mut EVP_CIPHER_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_CTX_free ( ctx : * mut EVP_CIPHER_CTX ) ; } extern "C" { pub fn EVP_CIPHER_CTX_copy ( out : * mut EVP_CIPHER_CTX , in_ : * const EVP_CIPHER_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_CTX_reset ( ctx : * mut EVP_CIPHER_CTX ) ; } extern "C" { pub fn EVP_CipherInit_ex ( ctx : * mut EVP_CIPHER_CTX , cipher : * const EVP_CIPHER , engine : * mut ENGINE , key : * const u8 , iv : * const u8 , enc : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_EncryptInit_ex ( ctx : * mut EVP_CIPHER_CTX , cipher : * const EVP_CIPHER , impl_ : * mut ENGINE , key : * const u8 , iv : * const u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecryptInit_ex ( ctx : * mut EVP_CIPHER_CTX , cipher : * const EVP_CIPHER , impl_ : * mut ENGINE , key : * const u8 , iv : * const u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_EncryptUpdate ( ctx : * mut EVP_CIPHER_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int , in_ : * const u8 , in_len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_EncryptFinal_ex ( ctx : * mut EVP_CIPHER_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecryptUpdate ( ctx : * mut EVP_CIPHER_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int , in_ : * const u8 , in_len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecryptFinal_ex ( ctx : * mut EVP_CIPHER_CTX , out : * mut :: std :: os :: raw :: c_uchar , out_len : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_Cipher ( ctx : * mut EVP_CIPHER_CTX , out : * mut u8 , in_ : * const u8 , in_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CipherUpdate ( ctx : * mut EVP_CIPHER_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int , in_ : * const u8 , in_len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CipherFinal_ex ( ctx : * mut EVP_CIPHER_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_CTX_cipher ( ctx : * const EVP_CIPHER_CTX ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_CIPHER_CTX_nid ( ctx : * const EVP_CIPHER_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_CTX_encrypting ( ctx : * const EVP_CIPHER_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_CTX_block_size ( ctx : * const EVP_CIPHER_CTX ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EVP_CIPHER_CTX_key_length ( ctx : * const EVP_CIPHER_CTX ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EVP_CIPHER_CTX_iv_length ( ctx : * const EVP_CIPHER_CTX ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EVP_CIPHER_CTX_get_app_data ( ctx : * const EVP_CIPHER_CTX ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn EVP_CIPHER_CTX_set_app_data ( ctx : * mut EVP_CIPHER_CTX , data : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn EVP_CIPHER_CTX_flags ( ctx : * const EVP_CIPHER_CTX ) -> u32 ; } extern "C" { pub fn EVP_CIPHER_CTX_mode ( ctx : * const EVP_CIPHER_CTX ) -> u32 ; } extern "C" { pub fn EVP_CIPHER_CTX_ctrl ( ctx : * mut EVP_CIPHER_CTX , command : :: std :: os :: raw :: c_int , arg : :: std :: os :: raw :: c_int , ptr : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_CTX_set_padding ( ctx : * mut EVP_CIPHER_CTX , pad : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_CTX_set_key_length ( ctx : * mut EVP_CIPHER_CTX , key_len : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_nid ( cipher : * const EVP_CIPHER ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CIPHER_block_size ( cipher : * const EVP_CIPHER ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EVP_CIPHER_key_length ( cipher : * const EVP_CIPHER ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EVP_CIPHER_iv_length ( cipher : * const EVP_CIPHER ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EVP_CIPHER_flags ( cipher : * const EVP_CIPHER ) -> u32 ; } extern "C" { pub fn EVP_CIPHER_mode ( cipher : * const EVP_CIPHER ) -> u32 ; } extern "C" { pub fn EVP_BytesToKey ( type_ : * const EVP_CIPHER , md : * const EVP_MD , salt : * const u8 , data : * const u8 , data_len : usize , count : :: std :: os :: raw :: c_uint , key : * mut u8 , iv : * mut u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_CipherInit ( ctx : * mut EVP_CIPHER_CTX , cipher : * const EVP_CIPHER , key : * const u8 , iv : * const u8 , enc : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_EncryptInit ( ctx : * mut EVP_CIPHER_CTX , cipher : * const EVP_CIPHER , key : * const u8 , iv : * const u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DecryptInit ( ctx : * mut EVP_CIPHER_CTX , cipher : * const EVP_CIPHER , key : * const u8 , iv : * const u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_add_cipher_alias ( a : * const :: std :: os :: raw :: c_char , b : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_get_cipherbyname ( name : * const :: std :: os :: raw :: c_char ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_128_gcm ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_256_gcm ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_192_ecb ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_192_cbc ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_192_ctr ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_192_gcm ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_192_ofb ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_aes_128_cfb128 ( ) -> * const EVP_CIPHER ; } extern "C" { pub fn EVP_CIPHER_CTX_set_flags ( ctx : * const EVP_CIPHER_CTX , flags : u32 ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_cipher_ctx_st { pub cipher : * const EVP_CIPHER , pub app_data : * mut :: std :: os :: raw :: c_void , pub cipher_data : * mut :: std :: os :: raw :: c_void , pub key_len : :: std :: os :: raw :: c_uint , pub encrypt : :: std :: os :: raw :: c_int , pub flags : u32 , pub oiv : [ u8 ; 16usize ] , pub iv : [ u8 ; 16usize ] , pub buf : [ u8 ; 32usize ] , pub buf_len : :: std :: os :: raw :: c_int , pub num : :: std :: os :: raw :: c_uint , pub final_used : :: std :: os :: raw :: c_int , pub block_mask : :: std :: os :: raw :: c_int , pub final_ : [ u8 ; 32usize ] , } # [ test ] fn bindgen_test_layout_evp_cipher_ctx_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < evp_cipher_ctx_st > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( evp_cipher_ctx_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < evp_cipher_ctx_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( evp_cipher_ctx_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . cipher as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( cipher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . app_data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( app_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . cipher_data as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( cipher_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . key_len as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( key_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . encrypt as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( encrypt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . flags as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . oiv as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( oiv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . iv as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( iv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . buf as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . buf_len as * const _ as usize } , 100usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( buf_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . num as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( num ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . final_used as * const _ as usize } , 108usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( final_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . block_mask as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( block_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_ctx_st > ( ) ) ) . final_ as * const _ as usize } , 116usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_ctx_st ) , "::" , stringify ! ( final_ ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_cipher_info_st { pub cipher : * const EVP_CIPHER , pub iv : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_evp_cipher_info_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < evp_cipher_info_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( evp_cipher_info_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < evp_cipher_info_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( evp_cipher_info_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_info_st > ( ) ) ) . cipher as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_info_st ) , "::" , stringify ! ( cipher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_info_st > ( ) ) ) . iv as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_info_st ) , "::" , stringify ! ( iv ) ) ) ; } pub type EVP_CIPHER_INFO = evp_cipher_info_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_cipher_st { pub nid : :: std :: os :: raw :: c_int , pub block_size : :: std :: os :: raw :: c_uint , pub key_len : :: std :: os :: raw :: c_uint , pub iv_len : :: std :: os :: raw :: c_uint , pub ctx_size : :: std :: os :: raw :: c_uint , pub flags : u32 , pub app_data : * mut :: std :: os :: raw :: c_void , pub init : :: std :: option :: Option < unsafe extern "C" fn ( ctx : * mut EVP_CIPHER_CTX , key : * const u8 , iv : * const u8 , enc : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub cipher : :: std :: option :: Option < unsafe extern "C" fn ( ctx : * mut EVP_CIPHER_CTX , out : * mut u8 , in_ : * const u8 , inl : usize ) -> :: std :: os :: raw :: c_int > , pub cleanup : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut EVP_CIPHER_CTX ) > , pub ctrl : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut EVP_CIPHER_CTX , type_ : :: std :: os :: raw :: c_int , arg : :: std :: os :: raw :: c_int , ptr : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_evp_cipher_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < evp_cipher_st > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( evp_cipher_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < evp_cipher_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( evp_cipher_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . nid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( nid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . block_size as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( block_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . key_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( key_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . iv_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( iv_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . ctx_size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( ctx_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . flags as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . app_data as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( app_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . init as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . cipher as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( cipher ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . cleanup as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( cleanup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_cipher_st > ( ) ) ) . ctrl as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( evp_cipher_st ) , "::" , stringify ! ( ctrl ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_CONF_VALUE { _unused : [ u8 ; 0 ] , } extern "C" { pub fn OPENSSL_config ( config_name : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn OPENSSL_no_config ( ) ; } extern "C" { # [ link_name = "\u{1}OPENSSL_ia32cap_P" ] pub static mut OPENSSL_ia32cap_P : [ u32 ; 4usize ] ; } extern "C" { pub fn OPENSSL_malloc ( size : usize ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn OPENSSL_free ( ptr : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn OPENSSL_realloc ( ptr : * mut :: std :: os :: raw :: c_void , new_size : usize ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn OPENSSL_cleanse ( ptr : * mut :: std :: os :: raw :: c_void , len : usize ) ; } extern "C" { pub fn CRYPTO_memcmp ( a : * const :: std :: os :: raw :: c_void , b : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn OPENSSL_hash32 ( ptr : * const :: std :: os :: raw :: c_void , len : usize ) -> u32 ; } extern "C" { pub fn OPENSSL_strdup ( s : * const :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn OPENSSL_strnlen ( s : * const :: std :: os :: raw :: c_char , len : usize ) -> usize ; } extern "C" { pub fn OPENSSL_tolower ( c : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn OPENSSL_strcasecmp ( a : * const :: std :: os :: raw :: c_char , b : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn OPENSSL_strncasecmp ( a : * const :: std :: os :: raw :: c_char , b : * const :: std :: os :: raw :: c_char , n : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_snprintf ( buf : * mut :: std :: os :: raw :: c_char , n : usize , format : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn BIO_vsnprintf ( buf : * mut :: std :: os :: raw :: c_char , n : usize , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CRYPTO_library_init ( ) ; } extern "C" { pub fn CRYPTO_is_confidential_build ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CRYPTO_has_asm ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CRYPTO_malloc_init ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn OPENSSL_malloc_init ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn OPENSSL_load_builtin_modules ( ) ; } extern "C" { pub fn OPENSSL_init_crypto ( opts : u64 , settings : * const OPENSSL_INIT_SETTINGS ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn OPENSSL_cleanup ( ) ; } extern "C" { pub fn X25519_keypair ( out_public_value : * mut u8 , out_private_key : * mut u8 ) ; } extern "C" { pub fn X25519_public_from_private ( out_public_value : * mut u8 , private_key : * const u8 ) ; } extern "C" { pub fn ED25519_keypair ( out_public_key : * mut u8 , out_private_key : * mut u8 ) ; } extern "C" { pub fn ED25519_sign ( out_sig : * mut u8 , message : * const u8 , message_len : usize , private_key : * const u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ED25519_verify ( message : * const u8 , message_len : usize , signature : * const u8 , public_key : * const u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ED25519_keypair_from_seed ( out_public_key : * mut u8 , out_private_key : * mut u8 , seed : * const u8 ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DES_cblock_st { pub bytes : [ u8 ; 8usize ] , } # [ test ] fn bindgen_test_layout_DES_cblock_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DES_cblock_st > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( DES_cblock_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DES_cblock_st > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( DES_cblock_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DES_cblock_st > ( ) ) ) . bytes as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DES_cblock_st ) , "::" , stringify ! ( bytes ) ) ) ; } pub type DES_cblock = DES_cblock_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DES_ks { pub subkeys : [ [ u32 ; 2usize ] ; 16usize ] , } # [ test ] fn bindgen_test_layout_DES_ks ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DES_ks > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( DES_ks ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DES_ks > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( DES_ks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DES_ks > ( ) ) ) . subkeys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DES_ks ) , "::" , stringify ! ( subkeys ) ) ) ; } pub type DES_key_schedule = DES_ks ; extern "C" { pub fn DES_set_key ( key : * const DES_cblock , schedule : * mut DES_key_schedule ) ; } extern "C" { pub fn DES_set_odd_parity ( key : * mut DES_cblock ) ; } extern "C" { pub fn DES_ecb_encrypt ( in_ : * const DES_cblock , out : * mut DES_cblock , schedule : * const DES_key_schedule , is_encrypt : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn DES_ncbc_encrypt ( in_ : * const u8 , out : * mut u8 , len : usize , schedule : * const DES_key_schedule , ivec : * mut DES_cblock , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn DES_ecb3_encrypt ( input : * const DES_cblock , output : * mut DES_cblock , ks1 : * const DES_key_schedule , ks2 : * const DES_key_schedule , ks3 : * const DES_key_schedule , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn DES_ede3_cbc_encrypt ( in_ : * const u8 , out : * mut u8 , len : usize , ks1 : * const DES_key_schedule , ks2 : * const DES_key_schedule , ks3 : * const DES_key_schedule , ivec : * mut DES_cblock , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn DES_ede2_cbc_encrypt ( in_ : * const u8 , out : * mut u8 , len : usize , ks1 : * const DES_key_schedule , ks2 : * const DES_key_schedule , ivec : * mut DES_cblock , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn DES_set_key_unchecked ( key : * const DES_cblock , schedule : * mut DES_key_schedule ) ; } extern "C" { pub fn DES_ede3_cfb64_encrypt ( in_ : * const u8 , out : * mut u8 , length : :: std :: os :: raw :: c_long , ks1 : * mut DES_key_schedule , ks2 : * mut DES_key_schedule , ks3 : * mut DES_key_schedule , ivec : * mut DES_cblock , num : * mut :: std :: os :: raw :: c_int , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn DES_ede3_cfb_encrypt ( in_ : * const u8 , out : * mut u8 , numbits : :: std :: os :: raw :: c_int , length : :: std :: os :: raw :: c_long , ks1 : * mut DES_key_schedule , ks2 : * mut DES_key_schedule , ks3 : * mut DES_key_schedule , ivec : * mut DES_cblock , enc : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn DES_decrypt3 ( data : * mut u32 , ks1 : * const DES_key_schedule , ks2 : * const DES_key_schedule , ks3 : * const DES_key_schedule ) ; } extern "C" { pub fn DES_encrypt3 ( data : * mut u32 , ks1 : * const DES_key_schedule , ks2 : * const DES_key_schedule , ks3 : * const DES_key_schedule ) ; } extern "C" { pub fn DH_new ( ) -> * mut DH ; } extern "C" { pub fn DH_free ( dh : * mut DH ) ; } extern "C" { pub fn DH_up_ref ( dh : * mut DH ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_get0_key ( dh : * const DH , out_pub_key : * mut * const BIGNUM , out_priv_key : * mut * const BIGNUM ) ; } extern "C" { pub fn DH_set0_key ( dh : * mut DH , pub_key : * mut BIGNUM , priv_key : * mut BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_get0_pqg ( dh : * const DH , out_p : * mut * const BIGNUM , out_q : * mut * const BIGNUM , out_g : * mut * const BIGNUM ) ; } extern "C" { pub fn DH_set0_pqg ( dh : * mut DH , p : * mut BIGNUM , q : * mut BIGNUM , g : * mut BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_generate_parameters_ex ( dh : * mut DH , prime_bits : :: std :: os :: raw :: c_int , generator : :: std :: os :: raw :: c_int , cb : * mut BN_GENCB ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_generate_key ( dh : * mut DH ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_compute_key ( out : * mut u8 , peers_key : * const BIGNUM , dh : * mut DH ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_size ( dh : * const DH ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_num_bits ( dh : * const DH ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn DH_check ( dh : * const DH , out_flags : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_check_pub_key ( dh : * const DH , pub_key : * const BIGNUM , out_flags : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_parse_parameters ( cbs : * mut CBS ) -> * mut DH ; } extern "C" { pub fn DH_marshal_parameters ( cbb : * mut CBB , dh : * const DH ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_get_ex_new_index ( argl : :: std :: os :: raw :: c_long , argp : * mut :: std :: os :: raw :: c_void , unused : * mut CRYPTO_EX_unused , dup_unused : CRYPTO_EX_dup , free_func : CRYPTO_EX_free ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_set_ex_data ( d : * mut DH , idx : :: std :: os :: raw :: c_int , arg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DH_get_ex_data ( d : * mut DH , idx : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn DH_generate_parameters ( prime_len : :: std :: os :: raw :: c_int , generator : :: std :: os :: raw :: c_int , callback : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut :: std :: os :: raw :: c_void ) > , cb_arg : * mut :: std :: os :: raw :: c_void ) -> * mut DH ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct dh_st { pub p : * mut BIGNUM , pub g : * mut BIGNUM , pub pub_key : * mut BIGNUM , pub priv_key : * mut BIGNUM , pub priv_length : :: std :: os :: raw :: c_uint , pub method_mont_p_lock : CRYPTO_MUTEX , pub method_mont_p : * mut BN_MONT_CTX , pub q : * mut BIGNUM , pub j : * mut BIGNUM , pub seed : * mut :: std :: os :: raw :: c_uchar , pub seedlen : :: std :: os :: raw :: c_int , pub counter : * mut BIGNUM , pub flags : :: std :: os :: raw :: c_int , pub references : CRYPTO_refcount_t , pub ex_data : CRYPTO_EX_DATA , } # [ test ] fn bindgen_test_layout_dh_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < dh_st > ( ) , 160usize , concat ! ( "Size of: " , stringify ! ( dh_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < dh_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( dh_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . g as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( g ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . pub_key as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( pub_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . priv_key as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( priv_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . priv_length as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( priv_length ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . method_mont_p_lock as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( method_mont_p_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . method_mont_p as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( method_mont_p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . q as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . j as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( j ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . seed as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( seed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . seedlen as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( seedlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . counter as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . flags as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . references as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dh_st > ( ) ) ) . ex_data as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( dh_st ) , "::" , stringify ! ( ex_data ) ) ) ; } extern "C" { pub fn EVP_md4 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_md5 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_sha1 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_sha224 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_sha256 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_sha384 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_sha512 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_md5_sha1 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_get_digestbynid ( nid : :: std :: os :: raw :: c_int ) -> * const EVP_MD ; } extern "C" { pub fn EVP_get_digestbyobj ( obj : * const ASN1_OBJECT ) -> * const EVP_MD ; } extern "C" { pub fn EVP_MD_CTX_init ( ctx : * mut EVP_MD_CTX ) ; } extern "C" { pub fn EVP_MD_CTX_new ( ) -> * mut EVP_MD_CTX ; } extern "C" { pub fn EVP_MD_CTX_cleanup ( ctx : * mut EVP_MD_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_MD_CTX_free ( ctx : * mut EVP_MD_CTX ) ; } extern "C" { pub fn EVP_MD_CTX_copy_ex ( out : * mut EVP_MD_CTX , in_ : * const EVP_MD_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_MD_CTX_reset ( ctx : * mut EVP_MD_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestInit_ex ( ctx : * mut EVP_MD_CTX , type_ : * const EVP_MD , engine : * mut ENGINE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestInit ( ctx : * mut EVP_MD_CTX , type_ : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestUpdate ( ctx : * mut EVP_MD_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestFinal_ex ( ctx : * mut EVP_MD_CTX , md_out : * mut u8 , out_size : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestFinal ( ctx : * mut EVP_MD_CTX , md_out : * mut u8 , out_size : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_Digest ( data : * const :: std :: os :: raw :: c_void , len : usize , md_out : * mut u8 , md_out_size : * mut :: std :: os :: raw :: c_uint , type_ : * const EVP_MD , impl_ : * mut ENGINE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_MD_type ( md : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_MD_flags ( md : * const EVP_MD ) -> u32 ; } extern "C" { pub fn EVP_MD_size ( md : * const EVP_MD ) -> usize ; } extern "C" { pub fn EVP_MD_block_size ( md : * const EVP_MD ) -> usize ; } extern "C" { pub fn EVP_MD_CTX_md ( ctx : * const EVP_MD_CTX ) -> * const EVP_MD ; } extern "C" { pub fn EVP_MD_CTX_size ( ctx : * const EVP_MD_CTX ) -> usize ; } extern "C" { pub fn EVP_MD_CTX_block_size ( ctx : * const EVP_MD_CTX ) -> usize ; } extern "C" { pub fn EVP_MD_CTX_type ( ctx : * const EVP_MD_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_parse_digest_algorithm ( cbs : * mut CBS ) -> * const EVP_MD ; } extern "C" { pub fn EVP_marshal_digest_algorithm ( cbb : * mut CBB , md : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_MD_CTX_copy ( out : * mut EVP_MD_CTX , in_ : * const EVP_MD_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_add_digest ( digest : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_get_digestbyname ( arg1 : * const :: std :: os :: raw :: c_char ) -> * const EVP_MD ; } extern "C" { pub fn EVP_dss1 ( ) -> * const EVP_MD ; } extern "C" { pub fn EVP_MD_CTX_create ( ) -> * mut EVP_MD_CTX ; } extern "C" { pub fn EVP_MD_CTX_destroy ( ctx : * mut EVP_MD_CTX ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct evp_md_pctx_ops { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct env_md_ctx_st { pub digest : * const EVP_MD , pub md_data : * mut :: std :: os :: raw :: c_void , pub pctx : * mut EVP_PKEY_CTX , pub pctx_ops : * const evp_md_pctx_ops , } # [ test ] fn bindgen_test_layout_env_md_ctx_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < env_md_ctx_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( env_md_ctx_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < env_md_ctx_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( env_md_ctx_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < env_md_ctx_st > ( ) ) ) . digest as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( env_md_ctx_st ) , "::" , stringify ! ( digest ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < env_md_ctx_st > ( ) ) ) . md_data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( env_md_ctx_st ) , "::" , stringify ! ( md_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < env_md_ctx_st > ( ) ) ) . pctx as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( env_md_ctx_st ) , "::" , stringify ! ( pctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < env_md_ctx_st > ( ) ) ) . pctx_ops as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( env_md_ctx_st ) , "::" , stringify ! ( pctx_ops ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct openssl_method_common_st { pub references : :: std :: os :: raw :: c_int , pub is_static : :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_openssl_method_common_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < openssl_method_common_st > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( openssl_method_common_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < openssl_method_common_st > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( openssl_method_common_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < openssl_method_common_st > ( ) ) ) . references as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( openssl_method_common_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < openssl_method_common_st > ( ) ) ) . is_static as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( openssl_method_common_st ) , "::" , stringify ! ( is_static ) ) ) ; } extern "C" { pub fn DSA_new ( ) -> * mut DSA ; } extern "C" { pub fn DSA_free ( dsa : * mut DSA ) ; } extern "C" { pub fn DSA_up_ref ( dsa : * mut DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_get0_key ( dsa : * const DSA , out_pub_key : * mut * const BIGNUM , out_priv_key : * mut * const BIGNUM ) ; } extern "C" { pub fn DSA_get0_pqg ( dsa : * const DSA , out_p : * mut * const BIGNUM , out_q : * mut * const BIGNUM , out_g : * mut * const BIGNUM ) ; } extern "C" { pub fn DSA_set0_key ( dsa : * mut DSA , pub_key : * mut BIGNUM , priv_key : * mut BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_set0_pqg ( dsa : * mut DSA , p : * mut BIGNUM , q : * mut BIGNUM , g : * mut BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_generate_parameters_ex ( dsa : * mut DSA , bits : :: std :: os :: raw :: c_uint , seed : * const u8 , seed_len : usize , out_counter : * mut :: std :: os :: raw :: c_int , out_h : * mut :: std :: os :: raw :: c_ulong , cb : * mut BN_GENCB ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_generate_key ( dsa : * mut DSA ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DSA_SIG_st { pub r : * mut BIGNUM , pub s : * mut BIGNUM , } # [ test ] fn bindgen_test_layout_DSA_SIG_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DSA_SIG_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( DSA_SIG_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DSA_SIG_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DSA_SIG_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DSA_SIG_st > ( ) ) ) . r as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DSA_SIG_st ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DSA_SIG_st > ( ) ) ) . s as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( DSA_SIG_st ) , "::" , stringify ! ( s ) ) ) ; } extern "C" { pub fn DSA_SIG_new ( ) -> * mut DSA_SIG ; } extern "C" { pub fn DSA_SIG_free ( sig : * mut DSA_SIG ) ; } extern "C" { pub fn DSA_do_sign ( digest : * const u8 , digest_len : usize , dsa : * const DSA ) -> * mut DSA_SIG ; } extern "C" { pub fn DSA_do_verify ( digest : * const u8 , digest_len : usize , sig : * mut DSA_SIG , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_do_check_signature ( out_valid : * mut :: std :: os :: raw :: c_int , digest : * const u8 , digest_len : usize , sig : * mut DSA_SIG , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_sign ( type_ : :: std :: os :: raw :: c_int , digest : * const u8 , digest_len : usize , out_sig : * mut u8 , out_siglen : * mut :: std :: os :: raw :: c_uint , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_verify ( type_ : :: std :: os :: raw :: c_int , digest : * const u8 , digest_len : usize , sig : * const u8 , sig_len : usize , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_check_signature ( out_valid : * mut :: std :: os :: raw :: c_int , digest : * const u8 , digest_len : usize , sig : * const u8 , sig_len : usize , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_size ( dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_SIG_parse ( cbs : * mut CBS ) -> * mut DSA_SIG ; } extern "C" { pub fn DSA_SIG_marshal ( cbb : * mut CBB , sig : * const DSA_SIG ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_parse_public_key ( cbs : * mut CBS ) -> * mut DSA ; } extern "C" { pub fn DSA_marshal_public_key ( cbb : * mut CBB , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_parse_private_key ( cbs : * mut CBS ) -> * mut DSA ; } extern "C" { pub fn DSA_marshal_private_key ( cbb : * mut CBB , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_parse_parameters ( cbs : * mut CBS ) -> * mut DSA ; } extern "C" { pub fn DSA_marshal_parameters ( cbb : * mut CBB , dsa : * const DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_dup_DH ( dsa : * const DSA ) -> * mut DH ; } extern "C" { pub fn DSA_get_ex_new_index ( argl : :: std :: os :: raw :: c_long , argp : * mut :: std :: os :: raw :: c_void , unused : * mut CRYPTO_EX_unused , dup_unused : CRYPTO_EX_dup , free_func : CRYPTO_EX_free ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_set_ex_data ( dsa : * mut DSA , idx : :: std :: os :: raw :: c_int , arg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn DSA_get_ex_data ( dsa : * const DSA , idx : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn DSA_generate_parameters ( bits : :: std :: os :: raw :: c_int , seed : * mut :: std :: os :: raw :: c_uchar , seed_len : :: std :: os :: raw :: c_int , counter_ret : * mut :: std :: os :: raw :: c_int , h_ret : * mut :: std :: os :: raw :: c_ulong , callback : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_int , arg2 : :: std :: os :: raw :: c_int , arg3 : * mut :: std :: os :: raw :: c_void ) > , cb_arg : * mut :: std :: os :: raw :: c_void ) -> * mut DSA ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct dsa_st { pub version : :: std :: os :: raw :: c_long , pub p : * mut BIGNUM , pub q : * mut BIGNUM , pub g : * mut BIGNUM , pub pub_key : * mut BIGNUM , pub priv_key : * mut BIGNUM , pub flags : :: std :: os :: raw :: c_int , pub method_mont_lock : CRYPTO_MUTEX , pub method_mont_p : * mut BN_MONT_CTX , pub method_mont_q : * mut BN_MONT_CTX , pub references : CRYPTO_refcount_t , pub ex_data : CRYPTO_EX_DATA , } # [ test ] fn bindgen_test_layout_dsa_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < dsa_st > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( dsa_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < dsa_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( dsa_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . p as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . q as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . g as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( g ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . pub_key as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( pub_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . priv_key as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( priv_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . method_mont_lock as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( method_mont_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . method_mont_p as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( method_mont_p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . method_mont_q as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( method_mont_q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . references as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < dsa_st > ( ) ) ) . ex_data as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( dsa_st ) , "::" , stringify ! ( ex_data ) ) ) ; } pub const point_conversion_form_t_POINT_CONVERSION_COMPRESSED : point_conversion_form_t = 2 ; pub const point_conversion_form_t_POINT_CONVERSION_UNCOMPRESSED : point_conversion_form_t = 4 ; pub const point_conversion_form_t_POINT_CONVERSION_HYBRID : point_conversion_form_t = 6 ; pub type point_conversion_form_t = u32 ; extern "C" { pub fn EC_GROUP_new_by_curve_name ( nid : :: std :: os :: raw :: c_int ) -> * mut EC_GROUP ; } extern "C" { pub fn EC_GROUP_free ( group : * mut EC_GROUP ) ; } extern "C" { pub fn EC_GROUP_dup ( a : * const EC_GROUP ) -> * mut EC_GROUP ; } extern "C" { pub fn EC_GROUP_cmp ( a : * const EC_GROUP , b : * const EC_GROUP , ignored : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_get0_generator ( group : * const EC_GROUP ) -> * const EC_POINT ; } extern "C" { pub fn EC_GROUP_get0_order ( group : * const EC_GROUP ) -> * const BIGNUM ; } extern "C" { pub fn EC_GROUP_get_cofactor ( group : * const EC_GROUP , cofactor : * mut BIGNUM , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_get_curve_GFp ( group : * const EC_GROUP , out_p : * mut BIGNUM , out_a : * mut BIGNUM , out_b : * mut BIGNUM , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_get_curve_name ( group : * const EC_GROUP ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_get_degree ( group : * const EC_GROUP ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EC_curve_nid2nist ( nid : :: std :: os :: raw :: c_int ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn EC_POINT_new ( group : * const EC_GROUP ) -> * mut EC_POINT ; } extern "C" { pub fn EC_POINT_free ( point : * mut EC_POINT ) ; } extern "C" { pub fn EC_POINT_copy ( dest : * mut EC_POINT , src : * const EC_POINT ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_dup ( src : * const EC_POINT , group : * const EC_GROUP ) -> * mut EC_POINT ; } extern "C" { pub fn EC_POINT_set_to_infinity ( group : * const EC_GROUP , point : * mut EC_POINT ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_is_at_infinity ( group : * const EC_GROUP , point : * const EC_POINT ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_is_on_curve ( group : * const EC_GROUP , point : * const EC_POINT , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_cmp ( group : * const EC_GROUP , a : * const EC_POINT , b : * const EC_POINT , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_get_affine_coordinates_GFp ( group : * const EC_GROUP , point : * const EC_POINT , x : * mut BIGNUM , y : * mut BIGNUM , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_set_affine_coordinates_GFp ( group : * const EC_GROUP , point : * mut EC_POINT , x : * const BIGNUM , y : * const BIGNUM , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_point2oct ( group : * const EC_GROUP , point : * const EC_POINT , form : point_conversion_form_t , buf : * mut u8 , len : usize , ctx : * mut BN_CTX ) -> usize ; } extern "C" { pub fn EC_POINT_point2cbb ( out : * mut CBB , group : * const EC_GROUP , point : * const EC_POINT , form : point_conversion_form_t , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_oct2point ( group : * const EC_GROUP , point : * mut EC_POINT , buf : * const u8 , len : usize , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_set_compressed_coordinates_GFp ( group : * const EC_GROUP , point : * mut EC_POINT , x : * const BIGNUM , y_bit : :: std :: os :: raw :: c_int , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_add ( group : * const EC_GROUP , r : * mut EC_POINT , a : * const EC_POINT , b : * const EC_POINT , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_dbl ( group : * const EC_GROUP , r : * mut EC_POINT , a : * const EC_POINT , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_invert ( group : * const EC_GROUP , a : * mut EC_POINT , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_POINT_mul ( group : * const EC_GROUP , r : * mut EC_POINT , n : * const BIGNUM , q : * const EC_POINT , m : * const BIGNUM , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_new_curve_GFp ( p : * const BIGNUM , a : * const BIGNUM , b : * const BIGNUM , ctx : * mut BN_CTX ) -> * mut EC_GROUP ; } extern "C" { pub fn EC_GROUP_set_generator ( group : * mut EC_GROUP , generator : * const EC_POINT , order : * const BIGNUM , cofactor : * const BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_get_order ( group : * const EC_GROUP , order : * mut BIGNUM , ctx : * mut BN_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_set_asn1_flag ( group : * mut EC_GROUP , flag : :: std :: os :: raw :: c_int ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ec_method_st { _unused : [ u8 ; 0 ] , } pub type EC_METHOD = ec_method_st ; extern "C" { pub fn EC_GROUP_method_of ( group : * const EC_GROUP ) -> * const EC_METHOD ; } extern "C" { pub fn EC_METHOD_get_field_type ( meth : * const EC_METHOD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_GROUP_set_point_conversion_form ( group : * mut EC_GROUP , form : point_conversion_form_t ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct EC_builtin_curve { pub nid : :: std :: os :: raw :: c_int , pub comment : * const :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_EC_builtin_curve ( ) { assert_eq ! ( :: std :: mem :: size_of :: < EC_builtin_curve > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( EC_builtin_curve ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < EC_builtin_curve > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( EC_builtin_curve ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < EC_builtin_curve > ( ) ) ) . nid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( EC_builtin_curve ) , "::" , stringify ! ( nid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < EC_builtin_curve > ( ) ) ) . comment as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( EC_builtin_curve ) , "::" , stringify ! ( comment ) ) ) ; } extern "C" { pub fn EC_get_builtin_curves ( out_curves : * mut EC_builtin_curve , max_num_curves : usize ) -> usize ; } extern "C" { pub fn EC_POINT_clear_free ( point : * mut EC_POINT ) ; } extern "C" { pub fn EC_KEY_new ( ) -> * mut EC_KEY ; } extern "C" { pub fn EC_KEY_new_method ( engine : * const ENGINE ) -> * mut EC_KEY ; } extern "C" { pub fn EC_KEY_new_by_curve_name ( nid : :: std :: os :: raw :: c_int ) -> * mut EC_KEY ; } extern "C" { pub fn EC_KEY_free ( key : * mut EC_KEY ) ; } extern "C" { pub fn EC_KEY_dup ( src : * const EC_KEY ) -> * mut EC_KEY ; } extern "C" { pub fn EC_KEY_up_ref ( key : * mut EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_is_opaque ( key : * const EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_get0_group ( key : * const EC_KEY ) -> * const EC_GROUP ; } extern "C" { pub fn EC_KEY_set_group ( key : * mut EC_KEY , group : * const EC_GROUP ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_get0_private_key ( key : * const EC_KEY ) -> * const BIGNUM ; } extern "C" { pub fn EC_KEY_set_private_key ( key : * mut EC_KEY , prv : * const BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_get0_public_key ( key : * const EC_KEY ) -> * const EC_POINT ; } extern "C" { pub fn EC_KEY_set_public_key ( key : * mut EC_KEY , pub_ : * const EC_POINT ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_get_enc_flags ( key : * const EC_KEY ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn EC_KEY_set_enc_flags ( key : * mut EC_KEY , flags : :: std :: os :: raw :: c_uint ) ; } extern "C" { pub fn EC_KEY_get_conv_form ( key : * const EC_KEY ) -> point_conversion_form_t ; } extern "C" { pub fn EC_KEY_set_conv_form ( key : * mut EC_KEY , cform : point_conversion_form_t ) ; } extern "C" { pub fn EC_KEY_check_key ( key : * const EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_check_fips ( key : * const EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_set_public_key_affine_coordinates ( key : * mut EC_KEY , x : * mut BIGNUM , y : * mut BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_generate_key ( key : * mut EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_generate_key_fips ( key : * mut EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_parse_private_key ( cbs : * mut CBS , group : * const EC_GROUP ) -> * mut EC_KEY ; } extern "C" { pub fn EC_KEY_marshal_private_key ( cbb : * mut CBB , key : * const EC_KEY , enc_flags : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_parse_curve_name ( cbs : * mut CBS ) -> * mut EC_GROUP ; } extern "C" { pub fn EC_KEY_marshal_curve_name ( cbb : * mut CBB , group : * const EC_GROUP ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_parse_parameters ( cbs : * mut CBS ) -> * mut EC_GROUP ; } extern "C" { pub fn EC_KEY_get_ex_new_index ( argl : :: std :: os :: raw :: c_long , argp : * mut :: std :: os :: raw :: c_void , unused : * mut CRYPTO_EX_unused , dup_unused : CRYPTO_EX_dup , free_func : CRYPTO_EX_free ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_set_ex_data ( r : * mut EC_KEY , idx : :: std :: os :: raw :: c_int , arg : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EC_KEY_get_ex_data ( r : * const EC_KEY , idx : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_void ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ecdsa_method_st { pub common : openssl_method_common_st , pub app_data : * mut :: std :: os :: raw :: c_void , pub init : :: std :: option :: Option < unsafe extern "C" fn ( key : * mut EC_KEY ) -> :: std :: os :: raw :: c_int > , pub finish : :: std :: option :: Option < unsafe extern "C" fn ( key : * mut EC_KEY ) -> :: std :: os :: raw :: c_int > , pub group_order_size : :: std :: option :: Option < unsafe extern "C" fn ( key : * const EC_KEY ) -> usize > , pub sign : :: std :: option :: Option < unsafe extern "C" fn ( digest : * const u8 , digest_len : usize , sig : * mut u8 , sig_len : * mut :: std :: os :: raw :: c_uint , eckey : * mut EC_KEY ) -> :: std :: os :: raw :: c_int > , pub flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ecdsa_method_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ecdsa_method_st > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( ecdsa_method_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ecdsa_method_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ecdsa_method_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_method_st > ( ) ) ) . common as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_method_st ) , "::" , stringify ! ( common ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_method_st > ( ) ) ) . app_data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_method_st ) , "::" , stringify ! ( app_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_method_st > ( ) ) ) . init as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_method_st ) , "::" , stringify ! ( init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_method_st > ( ) ) ) . finish as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_method_st ) , "::" , stringify ! ( finish ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_method_st > ( ) ) ) . group_order_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_method_st ) , "::" , stringify ! ( group_order_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_method_st > ( ) ) ) . sign as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_method_st ) , "::" , stringify ! ( sign ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_method_st > ( ) ) ) . flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_method_st ) , "::" , stringify ! ( flags ) ) ) ; } extern "C" { pub fn EC_KEY_set_asn1_flag ( key : * mut EC_KEY , flag : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn ECDH_compute_key ( out : * mut :: std :: os :: raw :: c_void , outlen : usize , pub_key : * const EC_POINT , priv_key : * const EC_KEY , kdf : :: std :: option :: Option < unsafe extern "C" fn ( in_ : * const :: std :: os :: raw :: c_void , inlen : usize , out : * mut :: std :: os :: raw :: c_void , outlen : * mut usize ) -> * mut :: std :: os :: raw :: c_void > ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDH_compute_key_fips ( out : * mut u8 , out_len : usize , pub_key : * const EC_POINT , priv_key : * const EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDSA_sign ( type_ : :: std :: os :: raw :: c_int , digest : * const u8 , digest_len : usize , sig : * mut u8 , sig_len : * mut :: std :: os :: raw :: c_uint , key : * const EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDSA_verify ( type_ : :: std :: os :: raw :: c_int , digest : * const u8 , digest_len : usize , sig : * const u8 , sig_len : usize , key : * const EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDSA_size ( key : * const EC_KEY ) -> usize ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ecdsa_sig_st { pub r : * mut BIGNUM , pub s : * mut BIGNUM , } # [ test ] fn bindgen_test_layout_ecdsa_sig_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ecdsa_sig_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( ecdsa_sig_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ecdsa_sig_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ecdsa_sig_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_sig_st > ( ) ) ) . r as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_sig_st ) , "::" , stringify ! ( r ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ecdsa_sig_st > ( ) ) ) . s as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ecdsa_sig_st ) , "::" , stringify ! ( s ) ) ) ; } extern "C" { pub fn ECDSA_SIG_new ( ) -> * mut ECDSA_SIG ; } extern "C" { pub fn ECDSA_SIG_free ( sig : * mut ECDSA_SIG ) ; } extern "C" { pub fn ECDSA_SIG_get0 ( sig : * const ECDSA_SIG , out_r : * mut * const BIGNUM , out_s : * mut * const BIGNUM ) ; } extern "C" { pub fn ECDSA_SIG_set0 ( sig : * mut ECDSA_SIG , r : * mut BIGNUM , s : * mut BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDSA_do_sign ( digest : * const u8 , digest_len : usize , key : * const EC_KEY ) -> * mut ECDSA_SIG ; } extern "C" { pub fn ECDSA_do_verify ( digest : * const u8 , digest_len : usize , sig : * const ECDSA_SIG , key : * const EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDSA_SIG_parse ( cbs : * mut CBS ) -> * mut ECDSA_SIG ; } extern "C" { pub fn ECDSA_SIG_from_bytes ( in_ : * const u8 , in_len : usize ) -> * mut ECDSA_SIG ; } extern "C" { pub fn ECDSA_SIG_marshal ( cbb : * mut CBB , sig : * const ECDSA_SIG ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDSA_SIG_to_bytes ( out_bytes : * mut * mut u8 , out_len : * mut usize , sig : * const ECDSA_SIG ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ECDSA_SIG_max_len ( order_len : usize ) -> usize ; } extern "C" { pub fn EVP_PKEY_new ( ) -> * mut EVP_PKEY ; } extern "C" { pub fn EVP_PKEY_free ( pkey : * mut EVP_PKEY ) ; } extern "C" { pub fn EVP_PKEY_up_ref ( pkey : * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_is_opaque ( pkey : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_cmp ( a : * const EVP_PKEY , b : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_copy_parameters ( to : * mut EVP_PKEY , from : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_missing_parameters ( pkey : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_size ( pkey : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_bits ( pkey : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_id ( pkey : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_type ( nid : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_set1_RSA ( pkey : * mut EVP_PKEY , key : * mut RSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_assign_RSA ( pkey : * mut EVP_PKEY , key : * mut RSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_get0_RSA ( pkey : * const EVP_PKEY ) -> * mut RSA ; } extern "C" { pub fn EVP_PKEY_get1_RSA ( pkey : * const EVP_PKEY ) -> * mut RSA ; } extern "C" { pub fn EVP_PKEY_set1_DSA ( pkey : * mut EVP_PKEY , key : * mut DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_assign_DSA ( pkey : * mut EVP_PKEY , key : * mut DSA ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_get0_DSA ( pkey : * const EVP_PKEY ) -> * mut DSA ; } extern "C" { pub fn EVP_PKEY_get1_DSA ( pkey : * const EVP_PKEY ) -> * mut DSA ; } extern "C" { pub fn EVP_PKEY_set1_EC_KEY ( pkey : * mut EVP_PKEY , key : * mut EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_assign_EC_KEY ( pkey : * mut EVP_PKEY , key : * mut EC_KEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_get0_EC_KEY ( pkey : * const EVP_PKEY ) -> * mut EC_KEY ; } extern "C" { pub fn EVP_PKEY_get1_EC_KEY ( pkey : * const EVP_PKEY ) -> * mut EC_KEY ; } extern "C" { pub fn EVP_PKEY_new_ed25519_public ( public_key : * const u8 ) -> * mut EVP_PKEY ; } extern "C" { pub fn EVP_PKEY_new_ed25519_private ( private_key : * const u8 ) -> * mut EVP_PKEY ; } extern "C" { pub fn EVP_PKEY_assign ( pkey : * mut EVP_PKEY , type_ : :: std :: os :: raw :: c_int , key : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_set_type ( pkey : * mut EVP_PKEY , type_ : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_cmp_parameters ( a : * const EVP_PKEY , b : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_parse_public_key ( cbs : * mut CBS ) -> * mut EVP_PKEY ; } extern "C" { pub fn EVP_marshal_public_key ( cbb : * mut CBB , key : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_parse_private_key ( cbs : * mut CBS ) -> * mut EVP_PKEY ; } extern "C" { pub fn EVP_marshal_private_key ( cbb : * mut CBB , key : * const EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestSignInit ( ctx : * mut EVP_MD_CTX , pctx : * mut * mut EVP_PKEY_CTX , type_ : * const EVP_MD , e : * mut ENGINE , pkey : * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestSignUpdate ( ctx : * mut EVP_MD_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestSignFinal ( ctx : * mut EVP_MD_CTX , out_sig : * mut u8 , out_sig_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestSign ( ctx : * mut EVP_MD_CTX , out_sig : * mut u8 , out_sig_len : * mut usize , data : * const u8 , data_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestVerifyInit ( ctx : * mut EVP_MD_CTX , pctx : * mut * mut EVP_PKEY_CTX , type_ : * const EVP_MD , e : * mut ENGINE , pkey : * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestVerifyUpdate ( ctx : * mut EVP_MD_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestVerifyFinal ( ctx : * mut EVP_MD_CTX , sig : * const u8 , sig_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_DigestVerify ( ctx : * mut EVP_MD_CTX , sig : * const u8 , sig_len : usize , data : * const u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_SignInit_ex ( ctx : * mut EVP_MD_CTX , type_ : * const EVP_MD , impl_ : * mut ENGINE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_SignInit ( ctx : * mut EVP_MD_CTX , type_ : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_SignUpdate ( ctx : * mut EVP_MD_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_SignFinal ( ctx : * const EVP_MD_CTX , sig : * mut u8 , out_sig_len : * mut :: std :: os :: raw :: c_uint , pkey : * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_VerifyInit_ex ( ctx : * mut EVP_MD_CTX , type_ : * const EVP_MD , impl_ : * mut ENGINE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_VerifyInit ( ctx : * mut EVP_MD_CTX , type_ : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_VerifyUpdate ( ctx : * mut EVP_MD_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_VerifyFinal ( ctx : * mut EVP_MD_CTX , sig : * const u8 , sig_len : usize , pkey : * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_print_public ( out : * mut BIO , pkey : * const EVP_PKEY , indent : :: std :: os :: raw :: c_int , pctx : * mut ASN1_PCTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_print_private ( out : * mut BIO , pkey : * const EVP_PKEY , indent : :: std :: os :: raw :: c_int , pctx : * mut ASN1_PCTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_print_params ( out : * mut BIO , pkey : * const EVP_PKEY , indent : :: std :: os :: raw :: c_int , pctx : * mut ASN1_PCTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn PKCS5_PBKDF2_HMAC ( password : * const :: std :: os :: raw :: c_char , password_len : usize , salt : * const u8 , salt_len : usize , iterations : :: std :: os :: raw :: c_uint , digest : * const EVP_MD , key_len : usize , out_key : * mut u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn PKCS5_PBKDF2_HMAC_SHA1 ( password : * const :: std :: os :: raw :: c_char , password_len : usize , salt : * const u8 , salt_len : usize , iterations : :: std :: os :: raw :: c_uint , key_len : usize , out_key : * mut u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PBE_scrypt ( password : * const :: std :: os :: raw :: c_char , password_len : usize , salt : * const u8 , salt_len : usize , N : u64 , r : u64 , p : u64 , max_mem : usize , out_key : * mut u8 , key_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_new ( pkey : * mut EVP_PKEY , e : * mut ENGINE ) -> * mut EVP_PKEY_CTX ; } extern "C" { pub fn EVP_PKEY_CTX_new_id ( id : :: std :: os :: raw :: c_int , e : * mut ENGINE ) -> * mut EVP_PKEY_CTX ; } extern "C" { pub fn EVP_PKEY_CTX_free ( ctx : * mut EVP_PKEY_CTX ) ; } extern "C" { pub fn EVP_PKEY_CTX_dup ( ctx : * mut EVP_PKEY_CTX ) -> * mut EVP_PKEY_CTX ; } extern "C" { pub fn EVP_PKEY_CTX_get0_pkey ( ctx : * mut EVP_PKEY_CTX ) -> * mut EVP_PKEY ; } extern "C" { pub fn EVP_PKEY_sign_init ( ctx : * mut EVP_PKEY_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_sign ( ctx : * mut EVP_PKEY_CTX , sig : * mut u8 , sig_len : * mut usize , digest : * const u8 , digest_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_verify_init ( ctx : * mut EVP_PKEY_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_verify ( ctx : * mut EVP_PKEY_CTX , sig : * const u8 , sig_len : usize , digest : * const u8 , digest_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_encrypt_init ( ctx : * mut EVP_PKEY_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_encrypt ( ctx : * mut EVP_PKEY_CTX , out : * mut u8 , out_len : * mut usize , in_ : * const u8 , in_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_decrypt_init ( ctx : * mut EVP_PKEY_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_decrypt ( ctx : * mut EVP_PKEY_CTX , out : * mut u8 , out_len : * mut usize , in_ : * const u8 , in_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_verify_recover_init ( ctx : * mut EVP_PKEY_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_verify_recover ( ctx : * mut EVP_PKEY_CTX , out : * mut u8 , out_len : * mut usize , sig : * const u8 , siglen : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_derive_init ( ctx : * mut EVP_PKEY_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_derive_set_peer ( ctx : * mut EVP_PKEY_CTX , peer : * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_derive ( ctx : * mut EVP_PKEY_CTX , key : * mut u8 , out_key_len : * mut usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_keygen_init ( ctx : * mut EVP_PKEY_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_keygen ( ctx : * mut EVP_PKEY_CTX , ppkey : * mut * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set_signature_md ( ctx : * mut EVP_PKEY_CTX , md : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_get_signature_md ( ctx : * mut EVP_PKEY_CTX , out_md : * mut * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set_rsa_padding ( ctx : * mut EVP_PKEY_CTX , padding : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_get_rsa_padding ( ctx : * mut EVP_PKEY_CTX , out_padding : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen ( ctx : * mut EVP_PKEY_CTX , salt_len : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen ( ctx : * mut EVP_PKEY_CTX , out_salt_len : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set_rsa_keygen_bits ( ctx : * mut EVP_PKEY_CTX , bits : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp ( ctx : * mut EVP_PKEY_CTX , e : * mut BIGNUM ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set_rsa_oaep_md ( ctx : * mut EVP_PKEY_CTX , md : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_get_rsa_oaep_md ( ctx : * mut EVP_PKEY_CTX , out_md : * mut * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set_rsa_mgf1_md ( ctx : * mut EVP_PKEY_CTX , md : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_get_rsa_mgf1_md ( ctx : * mut EVP_PKEY_CTX , out_md : * mut * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_set0_rsa_oaep_label ( ctx : * mut EVP_PKEY_CTX , label : * mut u8 , label_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKEY_CTX_get0_rsa_oaep_label ( ctx : * mut EVP_PKEY_CTX , out_label : * mut * const u8 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn OPENSSL_add_all_algorithms_conf ( ) ; } extern "C" { pub fn EVP_cleanup ( ) ; } extern "C" { pub fn EVP_CIPHER_do_all_sorted ( callback : :: std :: option :: Option < unsafe extern "C" fn ( cipher : * const EVP_CIPHER , name : * const :: std :: os :: raw :: c_char , unused : * const :: std :: os :: raw :: c_char , arg : * mut :: std :: os :: raw :: c_void ) > , arg : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn EVP_MD_do_all_sorted ( callback : :: std :: option :: Option < unsafe extern "C" fn ( cipher : * const EVP_MD , name : * const :: std :: os :: raw :: c_char , unused : * const :: std :: os :: raw :: c_char , arg : * mut :: std :: os :: raw :: c_void ) > , arg : * mut :: std :: os :: raw :: c_void ) ; } extern "C" { pub fn EVP_PKEY_get0_DH ( pkey : * const EVP_PKEY ) -> * mut DH ; } extern "C" { pub fn EVP_PKEY_get1_DH ( pkey : * const EVP_PKEY ) -> * mut DH ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct evp_pkey_st { pub references : CRYPTO_refcount_t , pub type_ : :: std :: os :: raw :: c_int , pub pkey : evp_pkey_st__bindgen_ty_1 , pub ameth : * const EVP_PKEY_ASN1_METHOD , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union evp_pkey_st__bindgen_ty_1 { pub ptr : * mut :: std :: os :: raw :: c_void , pub rsa : * mut RSA , pub dsa : * mut DSA , pub dh : * mut DH , pub ec : * mut EC_KEY , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_evp_pkey_st__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < evp_pkey_st__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( evp_pkey_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < evp_pkey_st__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( evp_pkey_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st__bindgen_ty_1 > ( ) ) ) . ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st__bindgen_ty_1 ) , "::" , stringify ! ( ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st__bindgen_ty_1 > ( ) ) ) . rsa as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st__bindgen_ty_1 ) , "::" , stringify ! ( rsa ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st__bindgen_ty_1 > ( ) ) ) . dsa as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st__bindgen_ty_1 ) , "::" , stringify ! ( dsa ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st__bindgen_ty_1 > ( ) ) ) . dh as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st__bindgen_ty_1 ) , "::" , stringify ! ( dh ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st__bindgen_ty_1 > ( ) ) ) . ec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st__bindgen_ty_1 ) , "::" , stringify ! ( ec ) ) ) ; } # [ test ] fn bindgen_test_layout_evp_pkey_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < evp_pkey_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( evp_pkey_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < evp_pkey_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( evp_pkey_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st > ( ) ) ) . references as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st > ( ) ) ) . type_ as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st > ( ) ) ) . pkey as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st ) , "::" , stringify ! ( pkey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < evp_pkey_st > ( ) ) ) . ameth as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( evp_pkey_st ) , "::" , stringify ! ( ameth ) ) ) ; } extern "C" { pub fn HMAC_CTX_init ( ctx : * mut HMAC_CTX ) ; } extern "C" { pub fn HMAC_CTX_new ( ) -> * mut HMAC_CTX ; } extern "C" { pub fn HMAC_CTX_cleanup ( ctx : * mut HMAC_CTX ) ; } extern "C" { pub fn HMAC_CTX_free ( ctx : * mut HMAC_CTX ) ; } extern "C" { pub fn HMAC_Init_ex ( ctx : * mut HMAC_CTX , key : * const :: std :: os :: raw :: c_void , key_len : usize , md : * const EVP_MD , impl_ : * mut ENGINE ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn HMAC_Update ( ctx : * mut HMAC_CTX , data : * const u8 , data_len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn HMAC_Final ( ctx : * mut HMAC_CTX , out : * mut u8 , out_len : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn HMAC_size ( ctx : * const HMAC_CTX ) -> usize ; } extern "C" { pub fn HMAC_CTX_copy_ex ( dest : * mut HMAC_CTX , src : * const HMAC_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn HMAC_CTX_reset ( ctx : * mut HMAC_CTX ) ; } extern "C" { pub fn HMAC_Init ( ctx : * mut HMAC_CTX , key : * const :: std :: os :: raw :: c_void , key_len : :: std :: os :: raw :: c_int , md : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn HMAC_CTX_copy ( dest : * mut HMAC_CTX , src : * const HMAC_CTX ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct hmac_ctx_st { pub md : * const EVP_MD , pub md_ctx : EVP_MD_CTX , pub i_ctx : EVP_MD_CTX , pub o_ctx : EVP_MD_CTX , } # [ test ] fn bindgen_test_layout_hmac_ctx_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hmac_ctx_st > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( hmac_ctx_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hmac_ctx_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( hmac_ctx_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hmac_ctx_st > ( ) ) ) . md as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hmac_ctx_st ) , "::" , stringify ! ( md ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hmac_ctx_st > ( ) ) ) . md_ctx as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( hmac_ctx_st ) , "::" , stringify ! ( md_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hmac_ctx_st > ( ) ) ) . i_ctx as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( hmac_ctx_st ) , "::" , stringify ! ( i_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hmac_ctx_st > ( ) ) ) . o_ctx as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( hmac_ctx_st ) , "::" , stringify ! ( o_ctx ) ) ) ; } extern "C" { pub fn CRYPTO_BUFFER_POOL_new ( ) -> * mut CRYPTO_BUFFER_POOL ; } extern "C" { pub fn CRYPTO_BUFFER_POOL_free ( pool : * mut CRYPTO_BUFFER_POOL ) ; } extern "C" { pub fn CRYPTO_BUFFER_new ( data : * const u8 , len : usize , pool : * mut CRYPTO_BUFFER_POOL ) -> * mut CRYPTO_BUFFER ; } extern "C" { pub fn CRYPTO_BUFFER_alloc ( out_data : * mut * mut u8 , len : usize ) -> * mut CRYPTO_BUFFER ; } extern "C" { pub fn CRYPTO_BUFFER_new_from_CBS ( cbs : * mut CBS , pool : * mut CRYPTO_BUFFER_POOL ) -> * mut CRYPTO_BUFFER ; } extern "C" { pub fn CRYPTO_BUFFER_free ( buf : * mut CRYPTO_BUFFER ) ; } extern "C" { pub fn CRYPTO_BUFFER_up_ref ( buf : * mut CRYPTO_BUFFER ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn CRYPTO_BUFFER_data ( buf : * const CRYPTO_BUFFER ) -> * const u8 ; } extern "C" { pub fn CRYPTO_BUFFER_len ( buf : * const CRYPTO_BUFFER ) -> usize ; } extern "C" { pub fn CRYPTO_BUFFER_init_CBS ( buf : * const CRYPTO_BUFFER , out : * mut CBS ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct rsa_meth_st { pub common : openssl_method_common_st , pub app_data : * mut :: std :: os :: raw :: c_void , pub init : :: std :: option :: Option < unsafe extern "C" fn ( rsa : * mut RSA ) -> :: std :: os :: raw :: c_int > , pub finish : :: std :: option :: Option < unsafe extern "C" fn ( rsa : * mut RSA ) -> :: std :: os :: raw :: c_int > , pub size : :: std :: option :: Option < unsafe extern "C" fn ( rsa : * const RSA ) -> usize > , pub sign : :: std :: option :: Option < unsafe extern "C" fn ( type_ : :: std :: os :: raw :: c_int , m : * const u8 , m_length : :: std :: os :: raw :: c_uint , sigret : * mut u8 , siglen : * mut :: std :: os :: raw :: c_uint , rsa : * const RSA ) -> :: std :: os :: raw :: c_int > , pub sign_raw : :: std :: option :: Option < unsafe extern "C" fn ( rsa : * mut RSA , out_len : * mut usize , out : * mut u8 , max_out : usize , in_ : * const u8 , in_len : usize , padding : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub decrypt : :: std :: option :: Option < unsafe extern "C" fn ( rsa : * mut RSA , out_len : * mut usize , out : * mut u8 , max_out : usize , in_ : * const u8 , in_len : usize , padding : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int > , pub private_transform : :: std :: option :: Option < unsafe extern "C" fn ( rsa : * mut RSA , out : * mut u8 , in_ : * const u8 , len : usize ) -> :: std :: os :: raw :: c_int > , pub flags : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_rsa_meth_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < rsa_meth_st > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( rsa_meth_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < rsa_meth_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( rsa_meth_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . common as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( common ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . app_data as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( app_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . init as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( init ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . finish as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( finish ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . sign as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( sign ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . sign_raw as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( sign_raw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . decrypt as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( decrypt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . private_transform as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( private_transform ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_meth_st > ( ) ) ) . flags as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( rsa_meth_st ) , "::" , stringify ! ( flags ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct bn_blinding_st { _unused : [ u8 ; 0 ] , } pub type BN_BLINDING = bn_blinding_st ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct rsa_st { pub meth : * mut RSA_METHOD , pub n : * mut BIGNUM , pub e : * mut BIGNUM , pub d : * mut BIGNUM , pub p : * mut BIGNUM , pub q : * mut BIGNUM , pub dmp1 : * mut BIGNUM , pub dmq1 : * mut BIGNUM , pub iqmp : * mut BIGNUM , pub ex_data : CRYPTO_EX_DATA , pub references : CRYPTO_refcount_t , pub flags : :: std :: os :: raw :: c_int , pub lock : CRYPTO_MUTEX , pub mont_n : * mut BN_MONT_CTX , pub mont_p : * mut BN_MONT_CTX , pub mont_q : * mut BN_MONT_CTX , pub d_fixed : * mut BIGNUM , pub dmp1_fixed : * mut BIGNUM , pub dmq1_fixed : * mut BIGNUM , pub inv_small_mod_large_mont : * mut BIGNUM , pub num_blindings : :: std :: os :: raw :: c_uint , pub blindings : * mut * mut BN_BLINDING , pub blindings_inuse : * mut :: std :: os :: raw :: c_uchar , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_rsa_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < rsa_st > ( ) , 232usize , concat ! ( "Size of: " , stringify ! ( rsa_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < rsa_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( rsa_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . meth as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( meth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . n as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( n ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . e as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( e ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . d as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( d ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . p as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . q as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . dmp1 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( dmp1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . dmq1 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( dmq1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . iqmp as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( iqmp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . ex_data as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( ex_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . references as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . flags as * const _ as usize } , 84usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . lock as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . mont_n as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( mont_n ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . mont_p as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( mont_p ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . mont_q as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( mont_q ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . d_fixed as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( d_fixed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . dmp1_fixed as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( dmp1_fixed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . dmq1_fixed as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( dmq1_fixed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . inv_small_mod_large_mont as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( inv_small_mod_large_mont ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . num_blindings as * const _ as usize } , 200usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( num_blindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . blindings as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( blindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rsa_st > ( ) ) ) . blindings_inuse as * const _ as usize } , 216usize , concat ! ( "Offset of field: " , stringify ! ( rsa_st ) , "::" , stringify ! ( blindings_inuse ) ) ) ; } impl rsa_st { # [ inline ] pub fn private_key_frozen ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_private_key_frozen ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( private_key_frozen : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 1usize ] , u8 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let private_key_frozen : u32 = unsafe { :: std :: mem :: transmute ( private_key_frozen ) } ; private_key_frozen as u64 } ) ; __bindgen_bitfield_unit } } extern "C" { pub fn SHA1_Init ( sha : * mut SHA_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA1_Update ( sha : * mut SHA_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA1_Final ( md : * mut u8 , sha : * mut SHA_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA1_Transform ( sha : * mut SHA_CTX , block : * const u8 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sha_state_st { pub __bindgen_anon_1 : sha_state_st__bindgen_ty_1 , pub Nl : u32 , pub Nh : u32 , pub data : [ u8 ; 64usize ] , pub num : :: std :: os :: raw :: c_uint , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union sha_state_st__bindgen_ty_1 { pub h : [ u32 ; 5usize ] , pub __bindgen_anon_1 : sha_state_st__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sha_state_st__bindgen_ty_1__bindgen_ty_1 { pub h0 : u32 , pub h1 : u32 , pub h2 : u32 , pub h3 : u32 , pub h4 : u32 , } # [ test ] fn bindgen_test_layout_sha_state_st__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sha_state_st__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( sha_state_st__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sha_state_st__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sha_state_st__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . h0 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( h0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . h1 as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( h1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . h2 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( h2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . h3 as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( h3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . h4 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( h4 ) ) ) ; } # [ test ] fn bindgen_test_layout_sha_state_st__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sha_state_st__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( sha_state_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sha_state_st__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sha_state_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st__bindgen_ty_1 > ( ) ) ) . h as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st__bindgen_ty_1 ) , "::" , stringify ! ( h ) ) ) ; } # [ test ] fn bindgen_test_layout_sha_state_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sha_state_st > ( ) , 96usize , concat ! ( "Size of: " , stringify ! ( sha_state_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sha_state_st > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sha_state_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st > ( ) ) ) . Nl as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st ) , "::" , stringify ! ( Nl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st > ( ) ) ) . Nh as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st ) , "::" , stringify ! ( Nh ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st > ( ) ) ) . data as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha_state_st > ( ) ) ) . num as * const _ as usize } , 92usize , concat ! ( "Offset of field: " , stringify ! ( sha_state_st ) , "::" , stringify ! ( num ) ) ) ; } extern "C" { pub fn SHA224_Init ( sha : * mut SHA256_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA224_Update ( sha : * mut SHA256_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA224_Final ( md : * mut u8 , sha : * mut SHA256_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA256_Init ( sha : * mut SHA256_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA256_Update ( sha : * mut SHA256_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA256_Final ( md : * mut u8 , sha : * mut SHA256_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA256_Transform ( sha : * mut SHA256_CTX , block : * const u8 ) ; } extern "C" { pub fn SHA256_TransformBlocks ( state : * mut u32 , data : * const u8 , num_blocks : usize ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sha256_state_st { pub h : [ u32 ; 8usize ] , pub Nl : u32 , pub Nh : u32 , pub data : [ u8 ; 64usize ] , pub num : :: std :: os :: raw :: c_uint , pub md_len : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sha256_state_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sha256_state_st > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( sha256_state_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sha256_state_st > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sha256_state_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha256_state_st > ( ) ) ) . h as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sha256_state_st ) , "::" , stringify ! ( h ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha256_state_st > ( ) ) ) . Nl as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sha256_state_st ) , "::" , stringify ! ( Nl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha256_state_st > ( ) ) ) . Nh as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( sha256_state_st ) , "::" , stringify ! ( Nh ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha256_state_st > ( ) ) ) . data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sha256_state_st ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha256_state_st > ( ) ) ) . num as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( sha256_state_st ) , "::" , stringify ! ( num ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha256_state_st > ( ) ) ) . md_len as * const _ as usize } , 108usize , concat ! ( "Offset of field: " , stringify ! ( sha256_state_st ) , "::" , stringify ! ( md_len ) ) ) ; } extern "C" { pub fn SHA384_Init ( sha : * mut SHA512_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA384_Update ( sha : * mut SHA512_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA384_Final ( md : * mut u8 , sha : * mut SHA512_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA512_Init ( sha : * mut SHA512_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA512_Update ( sha : * mut SHA512_CTX , data : * const :: std :: os :: raw :: c_void , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA512_Final ( md : * mut u8 , sha : * mut SHA512_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn SHA512_Transform ( sha : * mut SHA512_CTX , block : * const u8 ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sha512_state_st { pub h : [ u64 ; 8usize ] , pub Nl : u64 , pub Nh : u64 , pub u : sha512_state_st__bindgen_ty_1 , pub num : :: std :: os :: raw :: c_uint , pub md_len : :: std :: os :: raw :: c_uint , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union sha512_state_st__bindgen_ty_1 { pub d : [ u64 ; 16usize ] , pub p : [ u8 ; 128usize ] , _bindgen_union_align : [ u64 ; 16usize ] , } # [ test ] fn bindgen_test_layout_sha512_state_st__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sha512_state_st__bindgen_ty_1 > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( sha512_state_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sha512_state_st__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sha512_state_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st__bindgen_ty_1 > ( ) ) ) . d as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st__bindgen_ty_1 ) , "::" , stringify ! ( d ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st__bindgen_ty_1 > ( ) ) ) . p as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st__bindgen_ty_1 ) , "::" , stringify ! ( p ) ) ) ; } # [ test ] fn bindgen_test_layout_sha512_state_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sha512_state_st > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( sha512_state_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sha512_state_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sha512_state_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st > ( ) ) ) . h as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st ) , "::" , stringify ! ( h ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st > ( ) ) ) . Nl as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st ) , "::" , stringify ! ( Nl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st > ( ) ) ) . Nh as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st ) , "::" , stringify ! ( Nh ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st > ( ) ) ) . u as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st ) , "::" , stringify ! ( u ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st > ( ) ) ) . num as * const _ as usize } , 208usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st ) , "::" , stringify ! ( num ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sha512_state_st > ( ) ) ) . md_len as * const _ as usize } , 212usize , concat ! ( "Offset of field: " , stringify ! ( sha512_state_st ) , "::" , stringify ! ( md_len ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_X509_ALGOR { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_val_st { pub notBefore : * mut ASN1_TIME , pub notAfter : * mut ASN1_TIME , } # [ test ] fn bindgen_test_layout_X509_val_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_val_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( X509_val_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_val_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_val_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_val_st > ( ) ) ) . notBefore as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_val_st ) , "::" , stringify ! ( notBefore ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_val_st > ( ) ) ) . notAfter as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509_val_st ) , "::" , stringify ! ( notAfter ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_pubkey_st { pub algor : * mut X509_ALGOR , pub public_key : * mut ASN1_BIT_STRING , pub pkey : * mut EVP_PKEY , } # [ test ] fn bindgen_test_layout_X509_pubkey_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_pubkey_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( X509_pubkey_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_pubkey_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_pubkey_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_pubkey_st > ( ) ) ) . algor as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_pubkey_st ) , "::" , stringify ! ( algor ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_pubkey_st > ( ) ) ) . public_key as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509_pubkey_st ) , "::" , stringify ! ( public_key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_pubkey_st > ( ) ) ) . pkey as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( X509_pubkey_st ) , "::" , stringify ! ( pkey ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_X509_NAME_ENTRY { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_name_st { pub entries : * mut stack_st_X509_NAME_ENTRY , pub modified : :: std :: os :: raw :: c_int , pub bytes : * mut BUF_MEM , pub canon_enc : * mut :: std :: os :: raw :: c_uchar , pub canon_enclen : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_X509_name_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_name_st > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( X509_name_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_name_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_name_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_name_st > ( ) ) ) . entries as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_name_st ) , "::" , stringify ! ( entries ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_name_st > ( ) ) ) . modified as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509_name_st ) , "::" , stringify ! ( modified ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_name_st > ( ) ) ) . bytes as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( X509_name_st ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_name_st > ( ) ) ) . canon_enc as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( X509_name_st ) , "::" , stringify ! ( canon_enc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_name_st > ( ) ) ) . canon_enclen as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( X509_name_st ) , "::" , stringify ! ( canon_enclen ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_X509_EXTENSION { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_X509_ATTRIBUTE { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_req_info_st { pub enc : ASN1_ENCODING , pub version : * mut ASN1_INTEGER , pub subject : * mut X509_NAME , pub pubkey : * mut X509_PUBKEY , pub attributes : * mut stack_st_X509_ATTRIBUTE , } # [ test ] fn bindgen_test_layout_X509_req_info_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_req_info_st > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( X509_req_info_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_req_info_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_req_info_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_info_st > ( ) ) ) . enc as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_info_st ) , "::" , stringify ! ( enc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_info_st > ( ) ) ) . version as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_info_st ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_info_st > ( ) ) ) . subject as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_info_st ) , "::" , stringify ! ( subject ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_info_st > ( ) ) ) . pubkey as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_info_st ) , "::" , stringify ! ( pubkey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_info_st > ( ) ) ) . attributes as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_info_st ) , "::" , stringify ! ( attributes ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_req_st { pub req_info : * mut X509_REQ_INFO , pub sig_alg : * mut X509_ALGOR , pub signature : * mut ASN1_BIT_STRING , pub references : CRYPTO_refcount_t , } # [ test ] fn bindgen_test_layout_X509_req_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_req_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( X509_req_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_req_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_req_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_st > ( ) ) ) . req_info as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_st ) , "::" , stringify ! ( req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_st > ( ) ) ) . sig_alg as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_st ) , "::" , stringify ! ( sig_alg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_st > ( ) ) ) . signature as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_st ) , "::" , stringify ! ( signature ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_req_st > ( ) ) ) . references as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( X509_req_st ) , "::" , stringify ! ( references ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct x509_cinf_st { pub version : * mut ASN1_INTEGER , pub serialNumber : * mut ASN1_INTEGER , pub signature : * mut X509_ALGOR , pub issuer : * mut X509_NAME , pub validity : * mut X509_VAL , pub subject : * mut X509_NAME , pub key : * mut X509_PUBKEY , pub issuerUID : * mut ASN1_BIT_STRING , pub subjectUID : * mut ASN1_BIT_STRING , pub extensions : * mut stack_st_X509_EXTENSION , pub enc : ASN1_ENCODING , } # [ test ] fn bindgen_test_layout_x509_cinf_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < x509_cinf_st > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( x509_cinf_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < x509_cinf_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( x509_cinf_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . serialNumber as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( serialNumber ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . signature as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( signature ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . issuer as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( issuer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . validity as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( validity ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . subject as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( subject ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . key as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( key ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . issuerUID as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( issuerUID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . subjectUID as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( subjectUID ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . extensions as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( extensions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cinf_st > ( ) ) ) . enc as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( x509_cinf_st ) , "::" , stringify ! ( enc ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct x509_cert_aux_st { pub trust : * mut stack_st_ASN1_OBJECT , pub reject : * mut stack_st_ASN1_OBJECT , pub alias : * mut ASN1_UTF8STRING , pub keyid : * mut ASN1_OCTET_STRING , pub other : * mut stack_st_X509_ALGOR , } # [ test ] fn bindgen_test_layout_x509_cert_aux_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < x509_cert_aux_st > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( x509_cert_aux_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < x509_cert_aux_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( x509_cert_aux_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cert_aux_st > ( ) ) ) . trust as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( x509_cert_aux_st ) , "::" , stringify ! ( trust ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cert_aux_st > ( ) ) ) . reject as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( x509_cert_aux_st ) , "::" , stringify ! ( reject ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cert_aux_st > ( ) ) ) . alias as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( x509_cert_aux_st ) , "::" , stringify ! ( alias ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cert_aux_st > ( ) ) ) . keyid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( x509_cert_aux_st ) , "::" , stringify ! ( keyid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_cert_aux_st > ( ) ) ) . other as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( x509_cert_aux_st ) , "::" , stringify ! ( other ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_DIST_POINT { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_GENERAL_NAME { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct x509_st { pub cert_info : * mut X509_CINF , pub sig_alg : * mut X509_ALGOR , pub signature : * mut ASN1_BIT_STRING , pub references : CRYPTO_refcount_t , pub name : * mut :: std :: os :: raw :: c_char , pub ex_data : CRYPTO_EX_DATA , pub ex_pathlen : :: std :: os :: raw :: c_long , pub ex_pcpathlen : :: std :: os :: raw :: c_long , pub ex_flags : :: std :: os :: raw :: c_ulong , pub ex_kusage : :: std :: os :: raw :: c_ulong , pub ex_xkusage : :: std :: os :: raw :: c_ulong , pub ex_nscert : :: std :: os :: raw :: c_ulong , pub skid : * mut ASN1_OCTET_STRING , pub akid : * mut AUTHORITY_KEYID , pub policy_cache : * mut X509_POLICY_CACHE , pub crldp : * mut stack_st_DIST_POINT , pub altname : * mut stack_st_GENERAL_NAME , pub nc : * mut NAME_CONSTRAINTS , pub sha1_hash : [ :: std :: os :: raw :: c_uchar ; 20usize ] , pub aux : * mut X509_CERT_AUX , pub buf : * mut CRYPTO_BUFFER , pub lock : CRYPTO_MUTEX , } # [ test ] fn bindgen_test_layout_x509_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < x509_st > ( ) , 240usize , concat ! ( "Size of: " , stringify ! ( x509_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < x509_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( x509_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . cert_info as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( cert_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . sig_alg as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( sig_alg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . signature as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( signature ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . references as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . name as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . ex_data as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( ex_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . ex_pathlen as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( ex_pathlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . ex_pcpathlen as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( ex_pcpathlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . ex_flags as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( ex_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . ex_kusage as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( ex_kusage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . ex_xkusage as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( ex_xkusage ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . ex_nscert as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( ex_nscert ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . skid as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( skid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . akid as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( akid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . policy_cache as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( policy_cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . crldp as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( crldp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . altname as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( altname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . nc as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( nc ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . sha1_hash as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( sha1_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . aux as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( aux ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . buf as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < x509_st > ( ) ) ) . lock as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( x509_st ) , "::" , stringify ! ( lock ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_X509_REVOKED { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_crl_info_st { pub version : * mut ASN1_INTEGER , pub sig_alg : * mut X509_ALGOR , pub issuer : * mut X509_NAME , pub lastUpdate : * mut ASN1_TIME , pub nextUpdate : * mut ASN1_TIME , pub revoked : * mut stack_st_X509_REVOKED , pub extensions : * mut stack_st_X509_EXTENSION , pub enc : ASN1_ENCODING , } # [ test ] fn bindgen_test_layout_X509_crl_info_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_crl_info_st > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( X509_crl_info_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_crl_info_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_crl_info_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . version as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . sig_alg as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( sig_alg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . issuer as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( issuer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . lastUpdate as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( lastUpdate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . nextUpdate as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( nextUpdate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . revoked as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( revoked ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . extensions as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( extensions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_info_st > ( ) ) ) . enc as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_info_st ) , "::" , stringify ! ( enc ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_GENERAL_NAMES { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509_crl_st { pub crl : * mut X509_CRL_INFO , pub sig_alg : * mut X509_ALGOR , pub signature : * mut ASN1_BIT_STRING , pub references : CRYPTO_refcount_t , pub flags : :: std :: os :: raw :: c_int , pub akid : * mut AUTHORITY_KEYID , pub idp : * mut ISSUING_DIST_POINT , pub idp_flags : :: std :: os :: raw :: c_int , pub idp_reasons : :: std :: os :: raw :: c_int , pub crl_number : * mut ASN1_INTEGER , pub base_crl_number : * mut ASN1_INTEGER , pub sha1_hash : [ :: std :: os :: raw :: c_uchar ; 20usize ] , pub issuers : * mut stack_st_GENERAL_NAMES , pub meth : * const X509_CRL_METHOD , pub meth_data : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_X509_crl_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509_crl_st > ( ) , 120usize , concat ! ( "Size of: " , stringify ! ( X509_crl_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509_crl_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509_crl_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . crl as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( crl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . sig_alg as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( sig_alg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . signature as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( signature ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . references as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( references ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . flags as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . akid as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( akid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . idp as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( idp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . idp_flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( idp_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . idp_reasons as * const _ as usize } , 52usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( idp_reasons ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . crl_number as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( crl_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . base_crl_number as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( base_crl_number ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . sha1_hash as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( sha1_hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . issuers as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( issuers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . meth as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( meth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509_crl_st > ( ) ) ) . meth_data as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( X509_crl_st ) , "::" , stringify ! ( meth_data ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pkcs8_priv_key_info_st { pub broken : :: std :: os :: raw :: c_int , pub version : * mut ASN1_INTEGER , pub pkeyalg : * mut X509_ALGOR , pub pkey : * mut ASN1_TYPE , pub attributes : * mut stack_st_X509_ATTRIBUTE , } # [ test ] fn bindgen_test_layout_pkcs8_priv_key_info_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pkcs8_priv_key_info_st > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pkcs8_priv_key_info_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pkcs8_priv_key_info_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pkcs8_priv_key_info_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pkcs8_priv_key_info_st > ( ) ) ) . broken as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pkcs8_priv_key_info_st ) , "::" , stringify ! ( broken ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pkcs8_priv_key_info_st > ( ) ) ) . version as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pkcs8_priv_key_info_st ) , "::" , stringify ! ( version ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pkcs8_priv_key_info_st > ( ) ) ) . pkeyalg as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pkcs8_priv_key_info_st ) , "::" , stringify ! ( pkeyalg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pkcs8_priv_key_info_st > ( ) ) ) . pkey as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( pkcs8_priv_key_info_st ) , "::" , stringify ! ( pkey ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pkcs8_priv_key_info_st > ( ) ) ) . attributes as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( pkcs8_priv_key_info_st ) , "::" , stringify ! ( attributes ) ) ) ; } extern "C" { pub fn ASN1_digest ( i2d : i2d_of_void , type_ : * const EVP_MD , data : * mut :: std :: os :: raw :: c_char , md : * mut :: std :: os :: raw :: c_uchar , len : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_digest ( it : * const ASN1_ITEM , type_ : * const EVP_MD , data : * mut :: std :: os :: raw :: c_void , md : * mut :: std :: os :: raw :: c_uchar , len : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_verify ( it : * const ASN1_ITEM , algor1 : * mut X509_ALGOR , signature : * mut ASN1_BIT_STRING , data : * mut :: std :: os :: raw :: c_void , pkey : * mut EVP_PKEY ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_sign ( it : * const ASN1_ITEM , algor1 : * mut X509_ALGOR , algor2 : * mut X509_ALGOR , signature : * mut ASN1_BIT_STRING , data : * mut :: std :: os :: raw :: c_void , pkey : * mut EVP_PKEY , type_ : * const EVP_MD ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ASN1_item_sign_ctx ( it : * const ASN1_ITEM , algor1 : * mut X509_ALGOR , algor2 : * mut X509_ALGOR , signature : * mut ASN1_BIT_STRING , asn : * mut :: std :: os :: raw :: c_void , ctx : * mut EVP_MD_CTX ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn EVP_PKCS82PKEY ( p8 : * mut PKCS8_PRIV_KEY_INFO ) -> * mut EVP_PKEY ; } extern "C" { pub fn EVP_PKEY2PKCS8 ( pkey : * mut EVP_PKEY ) -> * mut PKCS8_PRIV_KEY_INFO ; } extern "C" { pub fn EVP_PKEY2PKCS8_broken ( pkey : * mut EVP_PKEY , broken : :: std :: os :: raw :: c_int ) -> * mut PKCS8_PRIV_KEY_INFO ; } pub type poly1305_state = [ u8 ; 512usize ] ; extern "C" { pub fn CRYPTO_poly1305_init ( state : * mut poly1305_state , key : * const u8 ) ; } extern "C" { pub fn CRYPTO_poly1305_update ( state : * mut poly1305_state , in_ : * const u8 , in_len : usize ) ; } extern "C" { pub fn CRYPTO_poly1305_finish ( state : * mut poly1305_state , mac : * mut u8 ) ; } extern "C" { pub fn RAND_bytes ( buf : * mut u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn RAND_cleanup ( ) ; } extern "C" { pub fn RAND_set_urandom_fd ( fd : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn RAND_enable_fork_unsafe_buffering ( fd : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn RAND_pseudo_bytes ( buf : * mut u8 , len : usize ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn RAND_seed ( buf : * const :: std :: os :: raw :: c_void , num : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn RAND_load_file ( path : * const :: std :: os :: raw :: c_char , num : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn RAND_file_name ( buf : * mut :: std :: os :: raw :: c_char , num : usize ) -> * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn RAND_add ( buf : * const :: std :: os :: raw :: c_void , num : :: std :: os :: raw :: c_int , entropy : f64 ) ; } extern "C" { pub fn RAND_egd ( arg1 : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn RAND_poll ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn RAND_status ( ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct rand_meth_st { pub seed : :: std :: option :: Option < unsafe extern "C" fn ( buf : * const :: std :: os :: raw :: c_void , num : :: std :: os :: raw :: c_int ) > , pub bytes : :: std :: option :: Option < unsafe extern "C" fn ( buf : * mut u8 , num : usize ) -> :: std :: os :: raw :: c_int > , pub cleanup : :: std :: option :: Option < unsafe extern "C" fn ( ) > , pub add : :: std :: option :: Option < unsafe extern "C" fn ( buf : * const :: std :: os :: raw :: c_void , num : :: std :: os :: raw :: c_int , entropy : f64 ) > , pub pseudorand : :: std :: option :: Option < unsafe extern "C" fn ( buf : * mut u8 , num : usize ) -> :: std :: os :: raw :: c_int > , pub status : :: std :: option :: Option < unsafe extern "C" fn ( ) -> :: std :: os :: raw :: c_int > , } # [ test ] fn bindgen_test_layout_rand_meth_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < rand_meth_st > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( rand_meth_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < rand_meth_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( rand_meth_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rand_meth_st > ( ) ) ) . seed as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( rand_meth_st ) , "::" , stringify ! ( seed ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rand_meth_st > ( ) ) ) . bytes as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( rand_meth_st ) , "::" , stringify ! ( bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rand_meth_st > ( ) ) ) . cleanup as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( rand_meth_st ) , "::" , stringify ! ( cleanup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rand_meth_st > ( ) ) ) . add as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( rand_meth_st ) , "::" , stringify ! ( add ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rand_meth_st > ( ) ) ) . pseudorand as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( rand_meth_st ) , "::" , stringify ! ( pseudorand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < rand_meth_st > ( ) ) ) . status as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( rand_meth_st ) , "::" , stringify ! ( status ) ) ) ; } extern "C" { pub fn RAND_SSLeay ( ) -> * mut RAND_METHOD ; } extern "C" { pub fn RAND_get_rand_method ( ) -> * const RAND_METHOD ; } extern "C" { pub fn RAND_set_rand_method ( arg1 : * const RAND_METHOD ) ; } extern "C" { pub fn ERR_load_SSL_strings ( ) ; } extern "C" { pub fn BIO_f_ssl ( ) -> * const BIO_METHOD ; } extern "C" { pub fn BIO_set_ssl ( bio : * mut BIO , ssl : * mut SSL , take_owership : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_long ; } extern "C" { pub fn OPENSSL_init_ssl ( opts : u64 , settings : * const OPENSSL_INIT_SETTINGS ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct X509V3_CONF_METHOD_st { pub get_string : :: std :: option :: Option < unsafe extern "C" fn ( db : * mut :: std :: os :: raw :: c_void , section : * mut :: std :: os :: raw :: c_char , value : * mut :: std :: os :: raw :: c_char ) -> * mut :: std :: os :: raw :: c_char > , pub get_section : :: std :: option :: Option < unsafe extern "C" fn ( db : * mut :: std :: os :: raw :: c_void , section : * mut :: std :: os :: raw :: c_char ) -> * mut stack_st_CONF_VALUE > , pub free_string : :: std :: option :: Option < unsafe extern "C" fn ( db : * mut :: std :: os :: raw :: c_void , string : * mut :: std :: os :: raw :: c_char ) > , pub free_section : :: std :: option :: Option < unsafe extern "C" fn ( db : * mut :: std :: os :: raw :: c_void , section : * mut stack_st_CONF_VALUE ) > , } # [ test ] fn bindgen_test_layout_X509V3_CONF_METHOD_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < X509V3_CONF_METHOD_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( X509V3_CONF_METHOD_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < X509V3_CONF_METHOD_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( X509V3_CONF_METHOD_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509V3_CONF_METHOD_st > ( ) ) ) . get_string as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( X509V3_CONF_METHOD_st ) , "::" , stringify ! ( get_string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509V3_CONF_METHOD_st > ( ) ) ) . get_section as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( X509V3_CONF_METHOD_st ) , "::" , stringify ! ( get_section ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509V3_CONF_METHOD_st > ( ) ) ) . free_string as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( X509V3_CONF_METHOD_st ) , "::" , stringify ! ( free_string ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < X509V3_CONF_METHOD_st > ( ) ) ) . free_section as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( X509V3_CONF_METHOD_st ) , "::" , stringify ! ( free_section ) ) ) ; } pub type X509V3_CONF_METHOD = X509V3_CONF_METHOD_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct v3_ext_ctx { pub flags : :: std :: os :: raw :: c_int , pub issuer_cert : * mut X509 , pub subject_cert : * mut X509 , pub subject_req : * mut X509_REQ , pub crl : * mut X509_CRL , pub db_meth : * const X509V3_CONF_METHOD , pub db : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_v3_ext_ctx ( ) { assert_eq ! ( :: std :: mem :: size_of :: < v3_ext_ctx > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( v3_ext_ctx ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < v3_ext_ctx > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( v3_ext_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < v3_ext_ctx > ( ) ) ) . flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( v3_ext_ctx ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < v3_ext_ctx > ( ) ) ) . issuer_cert as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( v3_ext_ctx ) , "::" , stringify ! ( issuer_cert ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < v3_ext_ctx > ( ) ) ) . subject_cert as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( v3_ext_ctx ) , "::" , stringify ! ( subject_cert ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < v3_ext_ctx > ( ) ) ) . subject_req as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( v3_ext_ctx ) , "::" , stringify ! ( subject_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < v3_ext_ctx > ( ) ) ) . crl as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( v3_ext_ctx ) , "::" , stringify ! ( crl ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < v3_ext_ctx > ( ) ) ) . db_meth as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( v3_ext_ctx ) , "::" , stringify ! ( db_meth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < v3_ext_ctx > ( ) ) ) . db as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( v3_ext_ctx ) , "::" , stringify ! ( db ) ) ) ; } pub type GENERAL_NAMES = stack_st_GENERAL_NAME ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct DIST_POINT_NAME_st { pub type_ : :: std :: os :: raw :: c_int , pub name : DIST_POINT_NAME_st__bindgen_ty_1 , pub dpname : * mut X509_NAME , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union DIST_POINT_NAME_st__bindgen_ty_1 { pub fullname : * mut GENERAL_NAMES , pub relativename : * mut stack_st_X509_NAME_ENTRY , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DIST_POINT_NAME_st__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( DIST_POINT_NAME_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DIST_POINT_NAME_st__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DIST_POINT_NAME_st__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DIST_POINT_NAME_st__bindgen_ty_1 > ( ) ) ) . fullname as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DIST_POINT_NAME_st__bindgen_ty_1 ) , "::" , stringify ! ( fullname ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DIST_POINT_NAME_st__bindgen_ty_1 > ( ) ) ) . relativename as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DIST_POINT_NAME_st__bindgen_ty_1 ) , "::" , stringify ! ( relativename ) ) ) ; } # [ test ] fn bindgen_test_layout_DIST_POINT_NAME_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DIST_POINT_NAME_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( DIST_POINT_NAME_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DIST_POINT_NAME_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DIST_POINT_NAME_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DIST_POINT_NAME_st > ( ) ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DIST_POINT_NAME_st ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DIST_POINT_NAME_st > ( ) ) ) . name as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( DIST_POINT_NAME_st ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DIST_POINT_NAME_st > ( ) ) ) . dpname as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( DIST_POINT_NAME_st ) , "::" , stringify ! ( dpname ) ) ) ; } pub type DIST_POINT_NAME = DIST_POINT_NAME_st ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct AUTHORITY_KEYID_st { pub keyid : * mut ASN1_OCTET_STRING , pub issuer : * mut GENERAL_NAMES , pub serial : * mut ASN1_INTEGER , } # [ test ] fn bindgen_test_layout_AUTHORITY_KEYID_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < AUTHORITY_KEYID_st > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( AUTHORITY_KEYID_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < AUTHORITY_KEYID_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( AUTHORITY_KEYID_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < AUTHORITY_KEYID_st > ( ) ) ) . keyid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( AUTHORITY_KEYID_st ) , "::" , stringify ! ( keyid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < AUTHORITY_KEYID_st > ( ) ) ) . issuer as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( AUTHORITY_KEYID_st ) , "::" , stringify ! ( issuer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < AUTHORITY_KEYID_st > ( ) ) ) . serial as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( AUTHORITY_KEYID_st ) , "::" , stringify ! ( serial ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_st_GENERAL_SUBTREE { _unused : [ u8 ; 0 ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct NAME_CONSTRAINTS_st { pub permittedSubtrees : * mut stack_st_GENERAL_SUBTREE , pub excludedSubtrees : * mut stack_st_GENERAL_SUBTREE , } # [ test ] fn bindgen_test_layout_NAME_CONSTRAINTS_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < NAME_CONSTRAINTS_st > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( NAME_CONSTRAINTS_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < NAME_CONSTRAINTS_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( NAME_CONSTRAINTS_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < NAME_CONSTRAINTS_st > ( ) ) ) . permittedSubtrees as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( NAME_CONSTRAINTS_st ) , "::" , stringify ! ( permittedSubtrees ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < NAME_CONSTRAINTS_st > ( ) ) ) . excludedSubtrees as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( NAME_CONSTRAINTS_st ) , "::" , stringify ! ( excludedSubtrees ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ISSUING_DIST_POINT_st { pub distpoint : * mut DIST_POINT_NAME , pub onlyuser : :: std :: os :: raw :: c_int , pub onlyCA : :: std :: os :: raw :: c_int , pub onlysomereasons : * mut ASN1_BIT_STRING , pub indirectCRL : :: std :: os :: raw :: c_int , pub onlyattr : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_ISSUING_DIST_POINT_st ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ISSUING_DIST_POINT_st > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( ISSUING_DIST_POINT_st ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ISSUING_DIST_POINT_st > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ISSUING_DIST_POINT_st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ISSUING_DIST_POINT_st > ( ) ) ) . distpoint as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ISSUING_DIST_POINT_st ) , "::" , stringify ! ( distpoint ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ISSUING_DIST_POINT_st > ( ) ) ) . onlyuser as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ISSUING_DIST_POINT_st ) , "::" , stringify ! ( onlyuser ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ISSUING_DIST_POINT_st > ( ) ) ) . onlyCA as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( ISSUING_DIST_POINT_st ) , "::" , stringify ! ( onlyCA ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ISSUING_DIST_POINT_st > ( ) ) ) . onlysomereasons as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ISSUING_DIST_POINT_st ) , "::" , stringify ! ( onlysomereasons ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ISSUING_DIST_POINT_st > ( ) ) ) . indirectCRL as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( ISSUING_DIST_POINT_st ) , "::" , stringify ! ( indirectCRL ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ISSUING_DIST_POINT_st > ( ) ) ) . onlyattr as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( ISSUING_DIST_POINT_st ) , "::" , stringify ! ( onlyattr ) ) ) ; } pub type __builtin_va_list = [ __va_list_tag ; 1usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout___va_list_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __va_list_tag > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __va_list_tag > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . gp_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( gp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . fp_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( fp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . overflow_arg_area as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( overflow_arg_area ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . reg_save_area as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( reg_save_area ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct CRYPTO_dynlock_value { pub _address : u8 , }
\ No newline at end of file
diff --git a/zircon-unused.c b/zircon-unused.c
new file mode 100644
index 0000000..5829928
--- /dev/null
+++ b/zircon-unused.c
@@ -0,0 +1,111 @@
+// Copyright 2018 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stdlib.h>
+
+#include <openssl/aes.h>
+#include <openssl/base.h>
+
+#include "crypto/fipsmodule/modes/internal.h"
+
+// The functions in this file are symbols that appear in Zircon's uboringssl but never used.
+// In some linking approaches the build can't determine that they are unused and will fail with an
+// 'unresolved symbol' error.  The simplest solution that keeps the footprint of uboringssl as small
+// as possible is to simply abort if any of these unused functions are in fact used.
+
+void CRYPTO_cbc128_decrypt(const uint8_t* in, uint8_t* out, size_t len, const AES_KEY* key,
+                           uint8_t ivec[16], block128_f block) {
+    abort();
+}
+
+void CRYPTO_cbc128_encrypt(const uint8_t* in, uint8_t* out, size_t len, const AES_KEY* key,
+                           uint8_t ivec[16], block128_f block) {
+    abort();
+}
+
+void CRYPTO_cfb128_encrypt(const uint8_t* in, uint8_t* out, size_t len, const AES_KEY* key,
+                           uint8_t ivec[16], unsigned* num, int enc, block128_f block) {
+    abort();
+}
+
+void CRYPTO_ctr128_encrypt(const uint8_t* in, uint8_t* out, size_t len, const AES_KEY* key,
+                           uint8_t ivec[16], uint8_t ecount_buf[16], unsigned* num,
+                           block128_f block) {
+    abort();
+}
+
+void CRYPTO_ctr128_encrypt_ctr32(const uint8_t* in, uint8_t* out, size_t len, const AES_KEY* key,
+                                 uint8_t ivec[16], uint8_t ecount_buf[16], unsigned* num,
+                                 ctr128_f ctr) {
+    abort();
+}
+
+void CRYPTO_ofb128_encrypt(const uint8_t* in, uint8_t* out, size_t len, const AES_KEY* key,
+                           uint8_t ivec[16], unsigned* num, block128_f block) {
+    abort();
+}
+
+int MD4_Final(unsigned char* md, MD4_CTX* c) {
+    abort();
+}
+
+int MD4_Init(MD4_CTX* c) {
+    abort();
+}
+
+int MD4_Update(MD4_CTX* c, const void* data, size_t len) {
+    abort();
+}
+
+int MD5_Final(unsigned char* md, MD5_CTX* c) {
+    abort();
+}
+
+int MD5_Init(MD5_CTX* c) {
+    abort();
+}
+
+int MD5_Update(MD5_CTX* c, const void* data, size_t len) {
+    abort();
+}
+
+int RAND_bytes(uint8_t* out, size_t out_len) {
+    abort();
+}
+
+int SHA1_Final(uint8_t* md, SHA_CTX* sha) {
+    abort();
+}
+
+int SHA1_Init(SHA_CTX* sha) {
+    abort();
+}
+
+int SHA1_Update(SHA_CTX* sha, const void* data, size_t len) {
+    abort();
+}
+
+int SHA384_Final(uint8_t* md, SHA512_CTX* sha) {
+    abort();
+}
+
+int SHA384_Init(SHA512_CTX* sha) {
+    abort();
+}
+
+int SHA384_Update(SHA512_CTX* sha, const void* data, size_t len) {
+    abort();
+}
+
+int SHA512_Final(uint8_t* md, SHA512_CTX* sha) {
+    abort();
+}
+
+int SHA512_Init(SHA512_CTX* sha) {
+    abort();
+}
+
+int SHA512_Update(SHA512_CTX* sha, const void* data, size_t len) {
+    abort();
+}