aws_lc_sys/
universal_crypto.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3
4// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5// SPDX-License-Identifier: Apache-2.0 OR ISC
6
7
8#![allow(
9    clippy::cast_lossless,
10    clippy::cast_possible_truncation,
11    clippy::cast_possible_wrap,
12    clippy::default_trait_access,
13    clippy::missing_safety_doc,
14    clippy::must_use_candidate,
15    clippy::not_unsafe_ptr_arg_deref,
16    clippy::ptr_as_ptr,
17    clippy::ptr_offset_with_cast,
18    clippy::pub_underscore_fields,
19    clippy::semicolon_if_nothing_returned,
20    clippy::too_many_lines,
21    clippy::unreadable_literal,
22    clippy::used_underscore_binding,
23    clippy::useless_transmute,
24    dead_code,
25    improper_ctypes,
26    non_camel_case_types,
27    non_snake_case,
28    non_upper_case_globals,
29    unpredictable_function_pointer_comparisons,
30    unused_imports
31)]
32
33
34#[repr(C)]
35#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
36pub struct __BindgenBitfieldUnit<Storage> {
37    storage: Storage,
38}
39impl<Storage> __BindgenBitfieldUnit<Storage> {
40    #[inline]
41    pub const fn new(storage: Storage) -> Self {
42        Self { storage }
43    }
44}
45impl<Storage> __BindgenBitfieldUnit<Storage>
46where
47    Storage: AsRef<[u8]> + AsMut<[u8]>,
48{
49    #[inline]
50    fn extract_bit(byte: u8, index: usize) -> bool {
51        let bit_index = if cfg!(target_endian = "big") {
52            7 - (index % 8)
53        } else {
54            index % 8
55        };
56        let mask = 1 << bit_index;
57        byte & mask == mask
58    }
59    #[inline]
60    pub fn get_bit(&self, index: usize) -> bool {
61        debug_assert!(index / 8 < self.storage.as_ref().len());
62        let byte_index = index / 8;
63        let byte = self.storage.as_ref()[byte_index];
64        Self::extract_bit(byte, index)
65    }
66    #[inline]
67    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
68        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
69        let byte_index = index / 8;
70        let byte = unsafe {
71            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
72        };
73        Self::extract_bit(byte, index)
74    }
75    #[inline]
76    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
77        let bit_index = if cfg!(target_endian = "big") {
78            7 - (index % 8)
79        } else {
80            index % 8
81        };
82        let mask = 1 << bit_index;
83        if val {
84            byte | mask
85        } else {
86            byte & !mask
87        }
88    }
89    #[inline]
90    pub fn set_bit(&mut self, index: usize, val: bool) {
91        debug_assert!(index / 8 < self.storage.as_ref().len());
92        let byte_index = index / 8;
93        let byte = &mut self.storage.as_mut()[byte_index];
94        *byte = Self::change_bit(*byte, index, val);
95    }
96    #[inline]
97    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
98        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
99        let byte_index = index / 8;
100        let byte = unsafe {
101            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
102        };
103        unsafe { *byte = Self::change_bit(*byte, index, val) };
104    }
105    #[inline]
106    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
107        debug_assert!(bit_width <= 64);
108        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
109        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
110        let mut val = 0;
111        for i in 0..(bit_width as usize) {
112            if self.get_bit(i + bit_offset) {
113                let index = if cfg!(target_endian = "big") {
114                    bit_width as usize - 1 - i
115                } else {
116                    i
117                };
118                val |= 1 << index;
119            }
120        }
121        val
122    }
123    #[inline]
124    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
125        debug_assert!(bit_width <= 64);
126        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
127        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
128        let mut val = 0;
129        for i in 0..(bit_width as usize) {
130            if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
131                let index = if cfg!(target_endian = "big") {
132                    bit_width as usize - 1 - i
133                } else {
134                    i
135                };
136                val |= 1 << index;
137            }
138        }
139        val
140    }
141    #[inline]
142    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
143        debug_assert!(bit_width <= 64);
144        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
145        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
146        for i in 0..(bit_width as usize) {
147            let mask = 1 << i;
148            let val_bit_is_set = val & mask == mask;
149            let index = if cfg!(target_endian = "big") {
150                bit_width as usize - 1 - i
151            } else {
152                i
153            };
154            self.set_bit(index + bit_offset, val_bit_is_set);
155        }
156    }
157    #[inline]
158    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
159        debug_assert!(bit_width <= 64);
160        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
161        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
162        for i in 0..(bit_width as usize) {
163            let mask = 1 << i;
164            let val_bit_is_set = val & mask == mask;
165            let index = if cfg!(target_endian = "big") {
166                bit_width as usize - 1 - i
167            } else {
168                i
169            };
170            unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
171        }
172    }
173}
174pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
175pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
176pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
177pub const AWSLC_API_VERSION: i32 = 35;
178pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 7] = b"1.67.0\0";
179pub const AES_ENCRYPT: i32 = 1;
180pub const AES_DECRYPT: i32 = 0;
181pub const AES_MAXNR: i32 = 14;
182pub const AES_BLOCK_SIZE: i32 = 16;
183pub const SHA_CBLOCK: i32 = 64;
184pub const SHA_DIGEST_LENGTH: i32 = 20;
185pub const SHA224_CBLOCK: i32 = 64;
186pub const SHA224_DIGEST_LENGTH: i32 = 28;
187pub const SHA256_CBLOCK: i32 = 64;
188pub const SHA256_DIGEST_LENGTH: i32 = 32;
189pub const SHA384_CBLOCK: i32 = 128;
190pub const SHA384_DIGEST_LENGTH: i32 = 48;
191pub const SHA512_CBLOCK: i32 = 128;
192pub const SHA512_DIGEST_LENGTH: i32 = 64;
193pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
194pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
195pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 1.67.0)\0";
196pub const OPENSSL_VERSION: i32 = 0;
197pub const OPENSSL_CFLAGS: i32 = 1;
198pub const OPENSSL_BUILT_ON: i32 = 2;
199pub const OPENSSL_PLATFORM: i32 = 3;
200pub const OPENSSL_DIR: i32 = 4;
201pub const SSLEAY_VERSION: i32 = 0;
202pub const SSLEAY_CFLAGS: i32 = 1;
203pub const SSLEAY_BUILT_ON: i32 = 2;
204pub const SSLEAY_PLATFORM: i32 = 3;
205pub const SSLEAY_DIR: i32 = 4;
206pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
207pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
208pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
209pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
210pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
211pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
212pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
213pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
214pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
215pub const CRYPTO_MEM_CHECK_ON: i32 = 0;
216pub const ERR_FLAG_STRING: i32 = 1;
217pub const ERR_FLAG_MALLOCED: i32 = 2;
218pub const ERR_LIB_NONE: i32 = 1;
219pub const ERR_LIB_SYS: i32 = 2;
220pub const ERR_LIB_BN: i32 = 3;
221pub const ERR_LIB_RSA: i32 = 4;
222pub const ERR_LIB_DH: i32 = 5;
223pub const ERR_LIB_EVP: i32 = 6;
224pub const ERR_LIB_BUF: i32 = 7;
225pub const ERR_LIB_OBJ: i32 = 8;
226pub const ERR_LIB_PEM: i32 = 9;
227pub const ERR_LIB_DSA: i32 = 10;
228pub const ERR_LIB_X509: i32 = 11;
229pub const ERR_LIB_ASN1: i32 = 12;
230pub const ERR_LIB_CONF: i32 = 13;
231pub const ERR_LIB_CRYPTO: i32 = 14;
232pub const ERR_LIB_EC: i32 = 15;
233pub const ERR_LIB_SSL: i32 = 16;
234pub const ERR_LIB_BIO: i32 = 17;
235pub const ERR_LIB_PKCS7: i32 = 18;
236pub const ERR_LIB_PKCS8: i32 = 19;
237pub const ERR_LIB_X509V3: i32 = 20;
238pub const ERR_LIB_RAND: i32 = 21;
239pub const ERR_LIB_ENGINE: i32 = 22;
240pub const ERR_LIB_OCSP: i32 = 23;
241pub const ERR_LIB_UI: i32 = 24;
242pub const ERR_LIB_COMP: i32 = 25;
243pub const ERR_LIB_ECDSA: i32 = 26;
244pub const ERR_LIB_ECDH: i32 = 27;
245pub const ERR_LIB_HMAC: i32 = 28;
246pub const ERR_LIB_DIGEST: i32 = 29;
247pub const ERR_LIB_CIPHER: i32 = 30;
248pub const ERR_LIB_HKDF: i32 = 31;
249pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
250pub const ERR_LIB_USER: i32 = 33;
251pub const ERR_NUM_LIBS: i32 = 34;
252pub const ERR_LIB_PKCS12: i32 = 35;
253pub const ERR_LIB_DSO: i32 = 36;
254pub const ERR_LIB_OSSL_STORE: i32 = 37;
255pub const ERR_LIB_FIPS: i32 = 38;
256pub const ERR_LIB_CMS: i32 = 39;
257pub const ERR_LIB_TS: i32 = 40;
258pub const ERR_LIB_CT: i32 = 41;
259pub const ERR_LIB_ASYNC: i32 = 42;
260pub const ERR_LIB_KDF: i32 = 43;
261pub const ERR_LIB_SM2: i32 = 44;
262pub const ERR_R_SYS_LIB: i32 = 2;
263pub const ERR_R_BN_LIB: i32 = 3;
264pub const ERR_R_RSA_LIB: i32 = 4;
265pub const ERR_R_DH_LIB: i32 = 5;
266pub const ERR_R_EVP_LIB: i32 = 6;
267pub const ERR_R_BUF_LIB: i32 = 7;
268pub const ERR_R_OBJ_LIB: i32 = 8;
269pub const ERR_R_PEM_LIB: i32 = 9;
270pub const ERR_R_DSA_LIB: i32 = 10;
271pub const ERR_R_X509_LIB: i32 = 11;
272pub const ERR_R_ASN1_LIB: i32 = 12;
273pub const ERR_R_CONF_LIB: i32 = 13;
274pub const ERR_R_CRYPTO_LIB: i32 = 14;
275pub const ERR_R_EC_LIB: i32 = 15;
276pub const ERR_R_SSL_LIB: i32 = 16;
277pub const ERR_R_BIO_LIB: i32 = 17;
278pub const ERR_R_PKCS7_LIB: i32 = 18;
279pub const ERR_R_PKCS8_LIB: i32 = 19;
280pub const ERR_R_X509V3_LIB: i32 = 20;
281pub const ERR_R_RAND_LIB: i32 = 21;
282pub const ERR_R_DSO_LIB: i32 = 36;
283pub const ERR_R_ENGINE_LIB: i32 = 22;
284pub const ERR_R_OCSP_LIB: i32 = 23;
285pub const ERR_R_UI_LIB: i32 = 24;
286pub const ERR_R_COMP_LIB: i32 = 25;
287pub const ERR_R_ECDSA_LIB: i32 = 26;
288pub const ERR_R_ECDH_LIB: i32 = 27;
289pub const ERR_R_FIPS_LIB: i32 = 38;
290pub const ERR_R_CMS_LIB: i32 = 39;
291pub const ERR_R_TS_LIB: i32 = 40;
292pub const ERR_R_HMAC_LIB: i32 = 28;
293pub const ERR_R_USER_LIB: i32 = 33;
294pub const ERR_R_DIGEST_LIB: i32 = 29;
295pub const ERR_R_CIPHER_LIB: i32 = 30;
296pub const ERR_R_HKDF_LIB: i32 = 31;
297pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
298pub const ERR_R_FATAL: i32 = 64;
299pub const ERR_R_MALLOC_FAILURE: i32 = 65;
300pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
301pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
302pub const ERR_R_INTERNAL_ERROR: i32 = 68;
303pub const ERR_R_OVERFLOW: i32 = 69;
304pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
305pub const ERR_TXT_STRING: i32 = 1;
306pub const ERR_TXT_MALLOCED: i32 = 2;
307pub const ERR_NUM_ERRORS: i32 = 16;
308pub const BN_BITS2: i32 = 64;
309pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
310pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
311pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
312pub const BN_RAND_TOP_ANY: i32 = -1;
313pub const BN_RAND_TOP_ONE: i32 = 0;
314pub const BN_RAND_TOP_TWO: i32 = 1;
315pub const BN_RAND_BOTTOM_ANY: i32 = 0;
316pub const BN_RAND_BOTTOM_ODD: i32 = 1;
317pub const BN_GENCB_GENERATED: i32 = 0;
318pub const BN_GENCB_PRIME_TEST: i32 = 1;
319pub const BN_prime_checks_for_validation: i32 = 64;
320pub const BN_prime_checks_for_generation: i32 = 0;
321pub const BN_prime_checks: i32 = 64;
322pub const BN_FLG_MALLOCED: i32 = 1;
323pub const BN_FLG_STATIC_DATA: i32 = 2;
324pub const BN_R_ARG2_LT_ARG3: i32 = 100;
325pub const BN_R_BAD_RECIPROCAL: i32 = 101;
326pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
327pub const BN_R_BITS_TOO_SMALL: i32 = 103;
328pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
329pub const BN_R_DIV_BY_ZERO: i32 = 105;
330pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
331pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
332pub const BN_R_INVALID_RANGE: i32 = 108;
333pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
334pub const BN_R_NOT_A_SQUARE: i32 = 110;
335pub const BN_R_NOT_INITIALIZED: i32 = 111;
336pub const BN_R_NO_INVERSE: i32 = 112;
337pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
338pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
339pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
340pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
341pub const BN_R_BAD_ENCODING: i32 = 117;
342pub const BN_R_ENCODE_ERROR: i32 = 118;
343pub const BN_R_INVALID_INPUT: i32 = 119;
344pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
345pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
346pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
347pub const CBS_ASN1_UNIVERSAL: i32 = 0;
348pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
349pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
350pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
351pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
352pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
353pub const CBS_ASN1_BOOLEAN: i32 = 1;
354pub const CBS_ASN1_INTEGER: i32 = 2;
355pub const CBS_ASN1_BITSTRING: i32 = 3;
356pub const CBS_ASN1_OCTETSTRING: i32 = 4;
357pub const CBS_ASN1_NULL: i32 = 5;
358pub const CBS_ASN1_OBJECT: i32 = 6;
359pub const CBS_ASN1_ENUMERATED: i32 = 10;
360pub const CBS_ASN1_UTF8STRING: i32 = 12;
361pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
362pub const CBS_ASN1_SET: i32 = 536870929;
363pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
364pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
365pub const CBS_ASN1_T61STRING: i32 = 20;
366pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
367pub const CBS_ASN1_IA5STRING: i32 = 22;
368pub const CBS_ASN1_UTCTIME: i32 = 23;
369pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
370pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
371pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
372pub const CBS_ASN1_GENERALSTRING: i32 = 27;
373pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
374pub const CBS_ASN1_BMPSTRING: i32 = 30;
375pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
376pub const EVP_CIPH_ECB_MODE: i32 = 1;
377pub const EVP_CIPH_CBC_MODE: i32 = 2;
378pub const EVP_CIPH_CFB_MODE: i32 = 3;
379pub const EVP_CIPH_OFB_MODE: i32 = 4;
380pub const EVP_CIPH_CTR_MODE: i32 = 5;
381pub const EVP_CIPH_GCM_MODE: i32 = 6;
382pub const EVP_CIPH_XTS_MODE: i32 = 7;
383pub const EVP_CIPH_CCM_MODE: i32 = 8;
384pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
385pub const EVP_CIPH_OCB_MODE: i32 = 9;
386pub const EVP_CIPH_WRAP_MODE: i32 = 10;
387pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
388pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
389pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
390pub const EVP_CIPH_CTRL_INIT: i32 = 512;
391pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
392pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
393pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
394pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
395pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
396pub const EVP_CIPH_NO_PADDING: i32 = 2048;
397pub const EVP_CTRL_INIT: i32 = 0;
398pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
399pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
400pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
401pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
402pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
403pub const EVP_CTRL_RAND_KEY: i32 = 6;
404pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
405pub const EVP_CTRL_COPY: i32 = 8;
406pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
407pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
408pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
409pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
410pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
411pub const EVP_CTRL_CCM_SET_L: i32 = 20;
412pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
413pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
414pub const EVP_CTRL_GET_IVLEN: i32 = 25;
415pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
416pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
417pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
418pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
419pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
420pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
421pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
422pub const EVP_MAX_KEY_LENGTH: i32 = 64;
423pub const EVP_MAX_IV_LENGTH: i32 = 16;
424pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
425pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
426pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
427pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
428pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
429pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
430pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
431pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
432pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
433pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
434pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
435pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
436pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
437pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
438pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
439pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
440pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
441pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
442pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
443pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
444pub const CIPHER_R_TOO_LARGE: i32 = 117;
445pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
446pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
447pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
448pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
449pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
450pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
451pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
452pub const CIPHER_R_INVALID_NONCE: i32 = 125;
453pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
454pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
455pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
456pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
457pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
458pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
459pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
460pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
461pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
462pub const X25519_SHARED_KEY_LEN: i32 = 32;
463pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
464pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
465pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
466pub const ED25519_SIGNATURE_LEN: i32 = 64;
467pub const ED25519_SEED_LEN: i32 = 32;
468pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
469pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
470pub const EVP_MAX_MD_SIZE: i32 = 64;
471pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
472pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
473pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
474pub const EVP_MD_FLAG_XOF: i32 = 4;
475pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
476pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
477pub const DIGEST_R_DECODE_ERROR: i32 = 101;
478pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
479pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
480pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
481pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
482pub const EC_PKEY_NO_PUBKEY: i32 = 2;
483pub const ECDSA_FLAG_OPAQUE: i32 = 1;
484pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
485pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
486pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
487pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
488pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
489pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
490pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
491pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
492pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
493pub const EC_R_INVALID_ENCODING: i32 = 109;
494pub const EC_R_INVALID_FIELD: i32 = 110;
495pub const EC_R_INVALID_FORM: i32 = 111;
496pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
497pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
498pub const EC_R_MISSING_PARAMETERS: i32 = 114;
499pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
500pub const EC_R_NON_NAMED_CURVE: i32 = 116;
501pub const EC_R_NOT_INITIALIZED: i32 = 117;
502pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
503pub const EC_R_POINT_AT_INFINITY: i32 = 119;
504pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
505pub const EC_R_SLOT_FULL: i32 = 121;
506pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
507pub const EC_R_UNKNOWN_GROUP: i32 = 123;
508pub const EC_R_UNKNOWN_ORDER: i32 = 124;
509pub const EC_R_WRONG_ORDER: i32 = 125;
510pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
511pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
512pub const EC_R_DECODE_ERROR: i32 = 128;
513pub const EC_R_ENCODE_ERROR: i32 = 129;
514pub const EC_R_GROUP_MISMATCH: i32 = 130;
515pub const EC_R_INVALID_COFACTOR: i32 = 131;
516pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
517pub const EC_R_INVALID_SCALAR: i32 = 133;
518pub const ECDH_R_KDF_FAILED: i32 = 100;
519pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
520pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
521pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
522pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
523pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
524pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
525pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
526pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
527pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
528pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
529pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
530pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
531pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
532pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
533pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
534pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
535pub const SN_undef: &[u8; 6] = b"UNDEF\0";
536pub const LN_undef: &[u8; 10] = b"undefined\0";
537pub const NID_undef: i32 = 0;
538pub const OBJ_undef: i32 = 0;
539pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
540pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
541pub const NID_rsadsi: i32 = 1;
542pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
543pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
544pub const NID_pkcs: i32 = 2;
545pub const SN_md2: &[u8; 4] = b"MD2\0";
546pub const LN_md2: &[u8; 4] = b"md2\0";
547pub const NID_md2: i32 = 3;
548pub const SN_md5: &[u8; 4] = b"MD5\0";
549pub const LN_md5: &[u8; 4] = b"md5\0";
550pub const NID_md5: i32 = 4;
551pub const SN_rc4: &[u8; 4] = b"RC4\0";
552pub const LN_rc4: &[u8; 4] = b"rc4\0";
553pub const NID_rc4: i32 = 5;
554pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
555pub const NID_rsaEncryption: i32 = 6;
556pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
557pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
558pub const NID_md2WithRSAEncryption: i32 = 7;
559pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
560pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
561pub const NID_md5WithRSAEncryption: i32 = 8;
562pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
563pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
564pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
565pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
566pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
567pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
568pub const SN_X500: &[u8; 5] = b"X500\0";
569pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
570pub const NID_X500: i32 = 11;
571pub const SN_X509: &[u8; 5] = b"X509\0";
572pub const NID_X509: i32 = 12;
573pub const SN_commonName: &[u8; 3] = b"CN\0";
574pub const LN_commonName: &[u8; 11] = b"commonName\0";
575pub const NID_commonName: i32 = 13;
576pub const SN_countryName: &[u8; 2] = b"C\0";
577pub const LN_countryName: &[u8; 12] = b"countryName\0";
578pub const NID_countryName: i32 = 14;
579pub const SN_localityName: &[u8; 2] = b"L\0";
580pub const LN_localityName: &[u8; 13] = b"localityName\0";
581pub const NID_localityName: i32 = 15;
582pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
583pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
584pub const NID_stateOrProvinceName: i32 = 16;
585pub const SN_organizationName: &[u8; 2] = b"O\0";
586pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
587pub const NID_organizationName: i32 = 17;
588pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
589pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
590pub const NID_organizationalUnitName: i32 = 18;
591pub const SN_rsa: &[u8; 4] = b"RSA\0";
592pub const LN_rsa: &[u8; 4] = b"rsa\0";
593pub const NID_rsa: i32 = 19;
594pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
595pub const NID_pkcs7: i32 = 20;
596pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
597pub const NID_pkcs7_data: i32 = 21;
598pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
599pub const NID_pkcs7_signed: i32 = 22;
600pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
601pub const NID_pkcs7_enveloped: i32 = 23;
602pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
603pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
604pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
605pub const NID_pkcs7_digest: i32 = 25;
606pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
607pub const NID_pkcs7_encrypted: i32 = 26;
608pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
609pub const NID_pkcs3: i32 = 27;
610pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
611pub const NID_dhKeyAgreement: i32 = 28;
612pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
613pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
614pub const NID_des_ecb: i32 = 29;
615pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
616pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
617pub const NID_des_cfb64: i32 = 30;
618pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
619pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
620pub const NID_des_cbc: i32 = 31;
621pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
622pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
623pub const NID_des_ede_ecb: i32 = 32;
624pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
625pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
626pub const NID_des_ede3_ecb: i32 = 33;
627pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
628pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
629pub const NID_idea_cbc: i32 = 34;
630pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
631pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
632pub const NID_idea_cfb64: i32 = 35;
633pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
634pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
635pub const NID_idea_ecb: i32 = 36;
636pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
637pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
638pub const NID_rc2_cbc: i32 = 37;
639pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
640pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
641pub const NID_rc2_ecb: i32 = 38;
642pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
643pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
644pub const NID_rc2_cfb64: i32 = 39;
645pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
646pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
647pub const NID_rc2_ofb64: i32 = 40;
648pub const SN_sha: &[u8; 4] = b"SHA\0";
649pub const LN_sha: &[u8; 4] = b"sha\0";
650pub const NID_sha: i32 = 41;
651pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
652pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
653pub const NID_shaWithRSAEncryption: i32 = 42;
654pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
655pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
656pub const NID_des_ede_cbc: i32 = 43;
657pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
658pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
659pub const NID_des_ede3_cbc: i32 = 44;
660pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
661pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
662pub const NID_des_ofb64: i32 = 45;
663pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
664pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
665pub const NID_idea_ofb64: i32 = 46;
666pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
667pub const NID_pkcs9: i32 = 47;
668pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
669pub const NID_pkcs9_emailAddress: i32 = 48;
670pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
671pub const NID_pkcs9_unstructuredName: i32 = 49;
672pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
673pub const NID_pkcs9_contentType: i32 = 50;
674pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
675pub const NID_pkcs9_messageDigest: i32 = 51;
676pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
677pub const NID_pkcs9_signingTime: i32 = 52;
678pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
679pub const NID_pkcs9_countersignature: i32 = 53;
680pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
681pub const NID_pkcs9_challengePassword: i32 = 54;
682pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
683pub const NID_pkcs9_unstructuredAddress: i32 = 55;
684pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
685pub const NID_pkcs9_extCertAttributes: i32 = 56;
686pub const SN_netscape: &[u8; 9] = b"Netscape\0";
687pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
688pub const NID_netscape: i32 = 57;
689pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
690pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
691pub const NID_netscape_cert_extension: i32 = 58;
692pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
693pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
694pub const NID_netscape_data_type: i32 = 59;
695pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
696pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
697pub const NID_des_ede_cfb64: i32 = 60;
698pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
699pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
700pub const NID_des_ede3_cfb64: i32 = 61;
701pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
702pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
703pub const NID_des_ede_ofb64: i32 = 62;
704pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
705pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
706pub const NID_des_ede3_ofb64: i32 = 63;
707pub const SN_sha1: &[u8; 5] = b"SHA1\0";
708pub const LN_sha1: &[u8; 5] = b"sha1\0";
709pub const NID_sha1: i32 = 64;
710pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
711pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
712pub const NID_sha1WithRSAEncryption: i32 = 65;
713pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
714pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
715pub const NID_dsaWithSHA: i32 = 66;
716pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
717pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
718pub const NID_dsa_2: i32 = 67;
719pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
720pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
721pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
722pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
723pub const NID_id_pbkdf2: i32 = 69;
724pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
725pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
726pub const NID_dsaWithSHA1_2: i32 = 70;
727pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
728pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
729pub const NID_netscape_cert_type: i32 = 71;
730pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
731pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
732pub const NID_netscape_base_url: i32 = 72;
733pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
734pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
735pub const NID_netscape_revocation_url: i32 = 73;
736pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
737pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
738pub const NID_netscape_ca_revocation_url: i32 = 74;
739pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
740pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
741pub const NID_netscape_renewal_url: i32 = 75;
742pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
743pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
744pub const NID_netscape_ca_policy_url: i32 = 76;
745pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
746pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
747pub const NID_netscape_ssl_server_name: i32 = 77;
748pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
749pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
750pub const NID_netscape_comment: i32 = 78;
751pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
752pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
753pub const NID_netscape_cert_sequence: i32 = 79;
754pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
755pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
756pub const NID_desx_cbc: i32 = 80;
757pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
758pub const NID_id_ce: i32 = 81;
759pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
760pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
761pub const NID_subject_key_identifier: i32 = 82;
762pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
763pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
764pub const NID_key_usage: i32 = 83;
765pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
766pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
767pub const NID_private_key_usage_period: i32 = 84;
768pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
769pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
770pub const NID_subject_alt_name: i32 = 85;
771pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
772pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
773pub const NID_issuer_alt_name: i32 = 86;
774pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
775pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
776pub const NID_basic_constraints: i32 = 87;
777pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
778pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
779pub const NID_crl_number: i32 = 88;
780pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
781pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
782pub const NID_certificate_policies: i32 = 89;
783pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
784pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
785pub const NID_authority_key_identifier: i32 = 90;
786pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
787pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
788pub const NID_bf_cbc: i32 = 91;
789pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
790pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
791pub const NID_bf_ecb: i32 = 92;
792pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
793pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
794pub const NID_bf_cfb64: i32 = 93;
795pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
796pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
797pub const NID_bf_ofb64: i32 = 94;
798pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
799pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
800pub const NID_mdc2: i32 = 95;
801pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
802pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
803pub const NID_mdc2WithRSA: i32 = 96;
804pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
805pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
806pub const NID_rc4_40: i32 = 97;
807pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
808pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
809pub const NID_rc2_40_cbc: i32 = 98;
810pub const SN_givenName: &[u8; 3] = b"GN\0";
811pub const LN_givenName: &[u8; 10] = b"givenName\0";
812pub const NID_givenName: i32 = 99;
813pub const SN_surname: &[u8; 3] = b"SN\0";
814pub const LN_surname: &[u8; 8] = b"surname\0";
815pub const NID_surname: i32 = 100;
816pub const SN_initials: &[u8; 9] = b"initials\0";
817pub const LN_initials: &[u8; 9] = b"initials\0";
818pub const NID_initials: i32 = 101;
819pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
820pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
821pub const NID_crl_distribution_points: i32 = 103;
822pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
823pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
824pub const NID_md5WithRSA: i32 = 104;
825pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
826pub const NID_serialNumber: i32 = 105;
827pub const SN_title: &[u8; 6] = b"title\0";
828pub const LN_title: &[u8; 6] = b"title\0";
829pub const NID_title: i32 = 106;
830pub const LN_description: &[u8; 12] = b"description\0";
831pub const NID_description: i32 = 107;
832pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
833pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
834pub const NID_cast5_cbc: i32 = 108;
835pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
836pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
837pub const NID_cast5_ecb: i32 = 109;
838pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
839pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
840pub const NID_cast5_cfb64: i32 = 110;
841pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
842pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
843pub const NID_cast5_ofb64: i32 = 111;
844pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
845pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
846pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
847pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
848pub const NID_dsaWithSHA1: i32 = 113;
849pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
850pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
851pub const NID_md5_sha1: i32 = 114;
852pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
853pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
854pub const NID_sha1WithRSA: i32 = 115;
855pub const SN_dsa: &[u8; 4] = b"DSA\0";
856pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
857pub const NID_dsa: i32 = 116;
858pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
859pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
860pub const NID_ripemd160: i32 = 117;
861pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
862pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
863pub const NID_ripemd160WithRSA: i32 = 119;
864pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
865pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
866pub const NID_rc5_cbc: i32 = 120;
867pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
868pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
869pub const NID_rc5_ecb: i32 = 121;
870pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
871pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
872pub const NID_rc5_cfb64: i32 = 122;
873pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
874pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
875pub const NID_rc5_ofb64: i32 = 123;
876pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
877pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
878pub const NID_zlib_compression: i32 = 125;
879pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
880pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
881pub const NID_ext_key_usage: i32 = 126;
882pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
883pub const NID_id_pkix: i32 = 127;
884pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
885pub const NID_id_kp: i32 = 128;
886pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
887pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
888pub const NID_server_auth: i32 = 129;
889pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
890pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
891pub const NID_client_auth: i32 = 130;
892pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
893pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
894pub const NID_code_sign: i32 = 131;
895pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
896pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
897pub const NID_email_protect: i32 = 132;
898pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
899pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
900pub const NID_time_stamp: i32 = 133;
901pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
902pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
903pub const NID_ms_code_ind: i32 = 134;
904pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
905pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
906pub const NID_ms_code_com: i32 = 135;
907pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
908pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
909pub const NID_ms_ctl_sign: i32 = 136;
910pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
911pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
912pub const NID_ms_sgc: i32 = 137;
913pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
914pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
915pub const NID_ms_efs: i32 = 138;
916pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
917pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
918pub const NID_ns_sgc: i32 = 139;
919pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
920pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
921pub const NID_delta_crl: i32 = 140;
922pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
923pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
924pub const NID_crl_reason: i32 = 141;
925pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
926pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
927pub const NID_invalidity_date: i32 = 142;
928pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
929pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
930pub const NID_sxnet: i32 = 143;
931pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
932pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
933pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
934pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
935pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
936pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
937pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
938pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
939pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
940pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
941pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
942pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
943pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
944pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
945pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
946pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
947pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
948pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
949pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
950pub const NID_keyBag: i32 = 150;
951pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
952pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
953pub const LN_certBag: &[u8; 8] = b"certBag\0";
954pub const NID_certBag: i32 = 152;
955pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
956pub const NID_crlBag: i32 = 153;
957pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
958pub const NID_secretBag: i32 = 154;
959pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
960pub const NID_safeContentsBag: i32 = 155;
961pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
962pub const NID_friendlyName: i32 = 156;
963pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
964pub const NID_localKeyID: i32 = 157;
965pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
966pub const NID_x509Certificate: i32 = 158;
967pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
968pub const NID_sdsiCertificate: i32 = 159;
969pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
970pub const NID_x509Crl: i32 = 160;
971pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
972pub const NID_pbes2: i32 = 161;
973pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
974pub const NID_pbmac1: i32 = 162;
975pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
976pub const NID_hmacWithSHA1: i32 = 163;
977pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
978pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
979pub const NID_id_qt_cps: i32 = 164;
980pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
981pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
982pub const NID_id_qt_unotice: i32 = 165;
983pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
984pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
985pub const NID_rc2_64_cbc: i32 = 166;
986pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
987pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
988pub const NID_SMIMECapabilities: i32 = 167;
989pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
990pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
991pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
992pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
993pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
994pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
995pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
996pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
997pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
998pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
999pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1000pub const NID_ms_ext_req: i32 = 171;
1001pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1002pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1003pub const NID_ext_req: i32 = 172;
1004pub const SN_name: &[u8; 5] = b"name\0";
1005pub const LN_name: &[u8; 5] = b"name\0";
1006pub const NID_name: i32 = 173;
1007pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1008pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1009pub const NID_dnQualifier: i32 = 174;
1010pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1011pub const NID_id_pe: i32 = 175;
1012pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1013pub const NID_id_ad: i32 = 176;
1014pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1015pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1016pub const NID_info_access: i32 = 177;
1017pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1018pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1019pub const NID_ad_OCSP: i32 = 178;
1020pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1021pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1022pub const NID_ad_ca_issuers: i32 = 179;
1023pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1024pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1025pub const NID_OCSP_sign: i32 = 180;
1026pub const SN_iso: &[u8; 4] = b"ISO\0";
1027pub const LN_iso: &[u8; 4] = b"iso\0";
1028pub const NID_iso: i32 = 181;
1029pub const OBJ_iso: i32 = 1;
1030pub const SN_member_body: &[u8; 12] = b"member-body\0";
1031pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1032pub const NID_member_body: i32 = 182;
1033pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1034pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1035pub const NID_ISO_US: i32 = 183;
1036pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1037pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1038pub const NID_X9_57: i32 = 184;
1039pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1040pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1041pub const NID_X9cm: i32 = 185;
1042pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1043pub const NID_pkcs1: i32 = 186;
1044pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1045pub const NID_pkcs5: i32 = 187;
1046pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1047pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1048pub const NID_SMIME: i32 = 188;
1049pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1050pub const NID_id_smime_mod: i32 = 189;
1051pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1052pub const NID_id_smime_ct: i32 = 190;
1053pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1054pub const NID_id_smime_aa: i32 = 191;
1055pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1056pub const NID_id_smime_alg: i32 = 192;
1057pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1058pub const NID_id_smime_cd: i32 = 193;
1059pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1060pub const NID_id_smime_spq: i32 = 194;
1061pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1062pub const NID_id_smime_cti: i32 = 195;
1063pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1064pub const NID_id_smime_mod_cms: i32 = 196;
1065pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1066pub const NID_id_smime_mod_ess: i32 = 197;
1067pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1068pub const NID_id_smime_mod_oid: i32 = 198;
1069pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1070pub const NID_id_smime_mod_msg_v3: i32 = 199;
1071pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1072pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1073pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1074pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1075pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1076pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1077pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1078pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1079pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1080pub const NID_id_smime_ct_receipt: i32 = 204;
1081pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1082pub const NID_id_smime_ct_authData: i32 = 205;
1083pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1084pub const NID_id_smime_ct_publishCert: i32 = 206;
1085pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1086pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1087pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1088pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1089pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1090pub const NID_id_smime_ct_contentInfo: i32 = 209;
1091pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1092pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1093pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1094pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1095pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1096pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1097pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1098pub const NID_id_smime_aa_securityLabel: i32 = 213;
1099pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1100pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1101pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1102pub const NID_id_smime_aa_contentHint: i32 = 215;
1103pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1104pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1105pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1106pub const NID_id_smime_aa_encapContentType: i32 = 217;
1107pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1108pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1109pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1110pub const NID_id_smime_aa_macValue: i32 = 219;
1111pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1112pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1113pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1114pub const NID_id_smime_aa_contentReference: i32 = 221;
1115pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1116pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1117pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1118pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1119pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1120pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1121pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1122pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1123pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1124pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1125pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1126pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1127pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1128pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1129pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1130pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1131pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1132pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1133pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1134pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1135pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1136pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1137pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1138pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1139pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1140pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1141pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1142pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1143pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1144pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1145pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1146pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1147pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1148pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1149pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1150pub const NID_id_smime_aa_signatureType: i32 = 239;
1151pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1152pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1153pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1154pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1155pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1156pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1157pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1158pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1159pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1160pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1161pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1162pub const NID_id_smime_alg_ESDH: i32 = 245;
1163pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1164pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1165pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1166pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1167pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1168pub const NID_id_smime_cd_ldap: i32 = 248;
1169pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1170pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1171pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1172pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1173pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1174pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1175pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1176pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1177pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1178pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1179pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1180pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1181pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1182pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1183pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1184pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1185pub const SN_md4: &[u8; 4] = b"MD4\0";
1186pub const LN_md4: &[u8; 4] = b"md4\0";
1187pub const NID_md4: i32 = 257;
1188pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1189pub const NID_id_pkix_mod: i32 = 258;
1190pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1191pub const NID_id_qt: i32 = 259;
1192pub const SN_id_it: &[u8; 6] = b"id-it\0";
1193pub const NID_id_it: i32 = 260;
1194pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1195pub const NID_id_pkip: i32 = 261;
1196pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1197pub const NID_id_alg: i32 = 262;
1198pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1199pub const NID_id_cmc: i32 = 263;
1200pub const SN_id_on: &[u8; 6] = b"id-on\0";
1201pub const NID_id_on: i32 = 264;
1202pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1203pub const NID_id_pda: i32 = 265;
1204pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1205pub const NID_id_aca: i32 = 266;
1206pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1207pub const NID_id_qcs: i32 = 267;
1208pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1209pub const NID_id_cct: i32 = 268;
1210pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1211pub const NID_id_pkix1_explicit_88: i32 = 269;
1212pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1213pub const NID_id_pkix1_implicit_88: i32 = 270;
1214pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1215pub const NID_id_pkix1_explicit_93: i32 = 271;
1216pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1217pub const NID_id_pkix1_implicit_93: i32 = 272;
1218pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1219pub const NID_id_mod_crmf: i32 = 273;
1220pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1221pub const NID_id_mod_cmc: i32 = 274;
1222pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1223pub const NID_id_mod_kea_profile_88: i32 = 275;
1224pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1225pub const NID_id_mod_kea_profile_93: i32 = 276;
1226pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1227pub const NID_id_mod_cmp: i32 = 277;
1228pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1229pub const NID_id_mod_qualified_cert_88: i32 = 278;
1230pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1231pub const NID_id_mod_qualified_cert_93: i32 = 279;
1232pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1233pub const NID_id_mod_attribute_cert: i32 = 280;
1234pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1235pub const NID_id_mod_timestamp_protocol: i32 = 281;
1236pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1237pub const NID_id_mod_ocsp: i32 = 282;
1238pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1239pub const NID_id_mod_dvcs: i32 = 283;
1240pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1241pub const NID_id_mod_cmp2000: i32 = 284;
1242pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1243pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1244pub const NID_biometricInfo: i32 = 285;
1245pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1246pub const NID_qcStatements: i32 = 286;
1247pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1248pub const NID_ac_auditEntity: i32 = 287;
1249pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1250pub const NID_ac_targeting: i32 = 288;
1251pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1252pub const NID_aaControls: i32 = 289;
1253pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1254pub const NID_sbgp_ipAddrBlock: i32 = 290;
1255pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1256pub const NID_sbgp_autonomousSysNum: i32 = 291;
1257pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1258pub const NID_sbgp_routerIdentifier: i32 = 292;
1259pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1260pub const NID_textNotice: i32 = 293;
1261pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1262pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1263pub const NID_ipsecEndSystem: i32 = 294;
1264pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1265pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1266pub const NID_ipsecTunnel: i32 = 295;
1267pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1268pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1269pub const NID_ipsecUser: i32 = 296;
1270pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1271pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1272pub const NID_dvcs: i32 = 297;
1273pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1274pub const NID_id_it_caProtEncCert: i32 = 298;
1275pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1276pub const NID_id_it_signKeyPairTypes: i32 = 299;
1277pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1278pub const NID_id_it_encKeyPairTypes: i32 = 300;
1279pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1280pub const NID_id_it_preferredSymmAlg: i32 = 301;
1281pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1282pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1283pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1284pub const NID_id_it_currentCRL: i32 = 303;
1285pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1286pub const NID_id_it_unsupportedOIDs: i32 = 304;
1287pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1288pub const NID_id_it_subscriptionRequest: i32 = 305;
1289pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1290pub const NID_id_it_subscriptionResponse: i32 = 306;
1291pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1292pub const NID_id_it_keyPairParamReq: i32 = 307;
1293pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1294pub const NID_id_it_keyPairParamRep: i32 = 308;
1295pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1296pub const NID_id_it_revPassphrase: i32 = 309;
1297pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1298pub const NID_id_it_implicitConfirm: i32 = 310;
1299pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1300pub const NID_id_it_confirmWaitTime: i32 = 311;
1301pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1302pub const NID_id_it_origPKIMessage: i32 = 312;
1303pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1304pub const NID_id_regCtrl: i32 = 313;
1305pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1306pub const NID_id_regInfo: i32 = 314;
1307pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1308pub const NID_id_regCtrl_regToken: i32 = 315;
1309pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1310pub const NID_id_regCtrl_authenticator: i32 = 316;
1311pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1312pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1313pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1314pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1315pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1316pub const NID_id_regCtrl_oldCertID: i32 = 319;
1317pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1318pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1319pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1320pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1321pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1322pub const NID_id_regInfo_certReq: i32 = 322;
1323pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1324pub const NID_id_alg_des40: i32 = 323;
1325pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1326pub const NID_id_alg_noSignature: i32 = 324;
1327pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1328pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1329pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1330pub const NID_id_alg_dh_pop: i32 = 326;
1331pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1332pub const NID_id_cmc_statusInfo: i32 = 327;
1333pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1334pub const NID_id_cmc_identification: i32 = 328;
1335pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1336pub const NID_id_cmc_identityProof: i32 = 329;
1337pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1338pub const NID_id_cmc_dataReturn: i32 = 330;
1339pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1340pub const NID_id_cmc_transactionId: i32 = 331;
1341pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1342pub const NID_id_cmc_senderNonce: i32 = 332;
1343pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1344pub const NID_id_cmc_recipientNonce: i32 = 333;
1345pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1346pub const NID_id_cmc_addExtensions: i32 = 334;
1347pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1348pub const NID_id_cmc_encryptedPOP: i32 = 335;
1349pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1350pub const NID_id_cmc_decryptedPOP: i32 = 336;
1351pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1352pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1353pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1354pub const NID_id_cmc_getCert: i32 = 338;
1355pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1356pub const NID_id_cmc_getCRL: i32 = 339;
1357pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1358pub const NID_id_cmc_revokeRequest: i32 = 340;
1359pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1360pub const NID_id_cmc_regInfo: i32 = 341;
1361pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1362pub const NID_id_cmc_responseInfo: i32 = 342;
1363pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1364pub const NID_id_cmc_queryPending: i32 = 343;
1365pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1366pub const NID_id_cmc_popLinkRandom: i32 = 344;
1367pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1368pub const NID_id_cmc_popLinkWitness: i32 = 345;
1369pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1370pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1371pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1372pub const NID_id_on_personalData: i32 = 347;
1373pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1374pub const NID_id_pda_dateOfBirth: i32 = 348;
1375pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1376pub const NID_id_pda_placeOfBirth: i32 = 349;
1377pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1378pub const NID_id_pda_gender: i32 = 351;
1379pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1380pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1381pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1382pub const NID_id_pda_countryOfResidence: i32 = 353;
1383pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1384pub const NID_id_aca_authenticationInfo: i32 = 354;
1385pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1386pub const NID_id_aca_accessIdentity: i32 = 355;
1387pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1388pub const NID_id_aca_chargingIdentity: i32 = 356;
1389pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1390pub const NID_id_aca_group: i32 = 357;
1391pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1392pub const NID_id_aca_role: i32 = 358;
1393pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1394pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1395pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1396pub const NID_id_cct_crs: i32 = 360;
1397pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1398pub const NID_id_cct_PKIData: i32 = 361;
1399pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1400pub const NID_id_cct_PKIResponse: i32 = 362;
1401pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1402pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1403pub const NID_ad_timeStamping: i32 = 363;
1404pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1405pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1406pub const NID_ad_dvcs: i32 = 364;
1407pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1408pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1409pub const NID_id_pkix_OCSP_basic: i32 = 365;
1410pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1411pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1412pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1413pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1414pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1415pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1416pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1417pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1418pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1419pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1420pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1421pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1422pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1423pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1424pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1425pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1426pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1427pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1428pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1429pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1430pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1431pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1432pub const NID_id_pkix_OCSP_valid: i32 = 373;
1433pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1434pub const NID_id_pkix_OCSP_path: i32 = 374;
1435pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1436pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1437pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1438pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1439pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1440pub const NID_algorithm: i32 = 376;
1441pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1442pub const NID_rsaSignature: i32 = 377;
1443pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1444pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1445pub const NID_X500algorithms: i32 = 378;
1446pub const SN_org: &[u8; 4] = b"ORG\0";
1447pub const LN_org: &[u8; 4] = b"org\0";
1448pub const NID_org: i32 = 379;
1449pub const SN_dod: &[u8; 4] = b"DOD\0";
1450pub const LN_dod: &[u8; 4] = b"dod\0";
1451pub const NID_dod: i32 = 380;
1452pub const SN_iana: &[u8; 5] = b"IANA\0";
1453pub const LN_iana: &[u8; 5] = b"iana\0";
1454pub const NID_iana: i32 = 381;
1455pub const SN_Directory: &[u8; 10] = b"directory\0";
1456pub const LN_Directory: &[u8; 10] = b"Directory\0";
1457pub const NID_Directory: i32 = 382;
1458pub const SN_Management: &[u8; 5] = b"mgmt\0";
1459pub const LN_Management: &[u8; 11] = b"Management\0";
1460pub const NID_Management: i32 = 383;
1461pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1462pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1463pub const NID_Experimental: i32 = 384;
1464pub const SN_Private: &[u8; 8] = b"private\0";
1465pub const LN_Private: &[u8; 8] = b"Private\0";
1466pub const NID_Private: i32 = 385;
1467pub const SN_Security: &[u8; 9] = b"security\0";
1468pub const LN_Security: &[u8; 9] = b"Security\0";
1469pub const NID_Security: i32 = 386;
1470pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1471pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1472pub const NID_SNMPv2: i32 = 387;
1473pub const LN_Mail: &[u8; 5] = b"Mail\0";
1474pub const NID_Mail: i32 = 388;
1475pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1476pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1477pub const NID_Enterprises: i32 = 389;
1478pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1479pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1480pub const NID_dcObject: i32 = 390;
1481pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1482pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1483pub const NID_domainComponent: i32 = 391;
1484pub const SN_Domain: &[u8; 7] = b"domain\0";
1485pub const LN_Domain: &[u8; 7] = b"Domain\0";
1486pub const NID_Domain: i32 = 392;
1487pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1488pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1489pub const NID_selected_attribute_types: i32 = 394;
1490pub const SN_clearance: &[u8; 10] = b"clearance\0";
1491pub const NID_clearance: i32 = 395;
1492pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1493pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1494pub const NID_md4WithRSAEncryption: i32 = 396;
1495pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1496pub const NID_ac_proxying: i32 = 397;
1497pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1498pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1499pub const NID_sinfo_access: i32 = 398;
1500pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1501pub const NID_id_aca_encAttrs: i32 = 399;
1502pub const SN_role: &[u8; 5] = b"role\0";
1503pub const LN_role: &[u8; 5] = b"role\0";
1504pub const NID_role: i32 = 400;
1505pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1506pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1507pub const NID_policy_constraints: i32 = 401;
1508pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1509pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1510pub const NID_target_information: i32 = 402;
1511pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1512pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1513pub const NID_no_rev_avail: i32 = 403;
1514pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1515pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1516pub const NID_ansi_X9_62: i32 = 405;
1517pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1518pub const NID_X9_62_prime_field: i32 = 406;
1519pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1520pub const NID_X9_62_characteristic_two_field: i32 = 407;
1521pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1522pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1523pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1524pub const NID_X9_62_prime192v1: i32 = 409;
1525pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1526pub const NID_X9_62_prime192v2: i32 = 410;
1527pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1528pub const NID_X9_62_prime192v3: i32 = 411;
1529pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1530pub const NID_X9_62_prime239v1: i32 = 412;
1531pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1532pub const NID_X9_62_prime239v2: i32 = 413;
1533pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1534pub const NID_X9_62_prime239v3: i32 = 414;
1535pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1536pub const NID_X9_62_prime256v1: i32 = 415;
1537pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1538pub const NID_ecdsa_with_SHA1: i32 = 416;
1539pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1540pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1541pub const NID_ms_csp_name: i32 = 417;
1542pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1543pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1544pub const NID_aes_128_ecb: i32 = 418;
1545pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1546pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1547pub const NID_aes_128_cbc: i32 = 419;
1548pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1549pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1550pub const NID_aes_128_ofb128: i32 = 420;
1551pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1552pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1553pub const NID_aes_128_cfb128: i32 = 421;
1554pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1555pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1556pub const NID_aes_192_ecb: i32 = 422;
1557pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1558pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1559pub const NID_aes_192_cbc: i32 = 423;
1560pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1561pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1562pub const NID_aes_192_ofb128: i32 = 424;
1563pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1564pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1565pub const NID_aes_192_cfb128: i32 = 425;
1566pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1567pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1568pub const NID_aes_256_ecb: i32 = 426;
1569pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1570pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1571pub const NID_aes_256_cbc: i32 = 427;
1572pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1573pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1574pub const NID_aes_256_ofb128: i32 = 428;
1575pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1576pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1577pub const NID_aes_256_cfb128: i32 = 429;
1578pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1579pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1580pub const NID_hold_instruction_code: i32 = 430;
1581pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1582pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1583pub const NID_hold_instruction_none: i32 = 431;
1584pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1585pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1586pub const NID_hold_instruction_call_issuer: i32 = 432;
1587pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1588pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1589pub const NID_hold_instruction_reject: i32 = 433;
1590pub const SN_data: &[u8; 5] = b"data\0";
1591pub const NID_data: i32 = 434;
1592pub const SN_pss: &[u8; 4] = b"pss\0";
1593pub const NID_pss: i32 = 435;
1594pub const SN_ucl: &[u8; 4] = b"ucl\0";
1595pub const NID_ucl: i32 = 436;
1596pub const SN_pilot: &[u8; 6] = b"pilot\0";
1597pub const NID_pilot: i32 = 437;
1598pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1599pub const NID_pilotAttributeType: i32 = 438;
1600pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
1601pub const NID_pilotAttributeSyntax: i32 = 439;
1602pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
1603pub const NID_pilotObjectClass: i32 = 440;
1604pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
1605pub const NID_pilotGroups: i32 = 441;
1606pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
1607pub const NID_iA5StringSyntax: i32 = 442;
1608pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
1609pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
1610pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
1611pub const NID_pilotObject: i32 = 444;
1612pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
1613pub const NID_pilotPerson: i32 = 445;
1614pub const SN_account: &[u8; 8] = b"account\0";
1615pub const NID_account: i32 = 446;
1616pub const SN_document: &[u8; 9] = b"document\0";
1617pub const NID_document: i32 = 447;
1618pub const SN_room: &[u8; 5] = b"room\0";
1619pub const NID_room: i32 = 448;
1620pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
1621pub const NID_documentSeries: i32 = 449;
1622pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
1623pub const NID_rFC822localPart: i32 = 450;
1624pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
1625pub const NID_dNSDomain: i32 = 451;
1626pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
1627pub const NID_domainRelatedObject: i32 = 452;
1628pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
1629pub const NID_friendlyCountry: i32 = 453;
1630pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
1631pub const NID_simpleSecurityObject: i32 = 454;
1632pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
1633pub const NID_pilotOrganization: i32 = 455;
1634pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
1635pub const NID_pilotDSA: i32 = 456;
1636pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
1637pub const NID_qualityLabelledData: i32 = 457;
1638pub const SN_userId: &[u8; 4] = b"UID\0";
1639pub const LN_userId: &[u8; 7] = b"userId\0";
1640pub const NID_userId: i32 = 458;
1641pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
1642pub const NID_textEncodedORAddress: i32 = 459;
1643pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
1644pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
1645pub const NID_rfc822Mailbox: i32 = 460;
1646pub const SN_info: &[u8; 5] = b"info\0";
1647pub const NID_info: i32 = 461;
1648pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
1649pub const NID_favouriteDrink: i32 = 462;
1650pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
1651pub const NID_roomNumber: i32 = 463;
1652pub const SN_photo: &[u8; 6] = b"photo\0";
1653pub const NID_photo: i32 = 464;
1654pub const LN_userClass: &[u8; 10] = b"userClass\0";
1655pub const NID_userClass: i32 = 465;
1656pub const SN_host: &[u8; 5] = b"host\0";
1657pub const NID_host: i32 = 466;
1658pub const SN_manager: &[u8; 8] = b"manager\0";
1659pub const NID_manager: i32 = 467;
1660pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
1661pub const NID_documentIdentifier: i32 = 468;
1662pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
1663pub const NID_documentTitle: i32 = 469;
1664pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
1665pub const NID_documentVersion: i32 = 470;
1666pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
1667pub const NID_documentAuthor: i32 = 471;
1668pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
1669pub const NID_documentLocation: i32 = 472;
1670pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
1671pub const NID_homeTelephoneNumber: i32 = 473;
1672pub const SN_secretary: &[u8; 10] = b"secretary\0";
1673pub const NID_secretary: i32 = 474;
1674pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
1675pub const NID_otherMailbox: i32 = 475;
1676pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
1677pub const NID_lastModifiedTime: i32 = 476;
1678pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
1679pub const NID_lastModifiedBy: i32 = 477;
1680pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
1681pub const NID_aRecord: i32 = 478;
1682pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
1683pub const NID_pilotAttributeType27: i32 = 479;
1684pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
1685pub const NID_mXRecord: i32 = 480;
1686pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
1687pub const NID_nSRecord: i32 = 481;
1688pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
1689pub const NID_sOARecord: i32 = 482;
1690pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
1691pub const NID_cNAMERecord: i32 = 483;
1692pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
1693pub const NID_associatedDomain: i32 = 484;
1694pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
1695pub const NID_associatedName: i32 = 485;
1696pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
1697pub const NID_homePostalAddress: i32 = 486;
1698pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
1699pub const NID_personalTitle: i32 = 487;
1700pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
1701pub const NID_mobileTelephoneNumber: i32 = 488;
1702pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
1703pub const NID_pagerTelephoneNumber: i32 = 489;
1704pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
1705pub const NID_friendlyCountryName: i32 = 490;
1706pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
1707pub const NID_organizationalStatus: i32 = 491;
1708pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
1709pub const NID_janetMailbox: i32 = 492;
1710pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
1711pub const NID_mailPreferenceOption: i32 = 493;
1712pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
1713pub const NID_buildingName: i32 = 494;
1714pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
1715pub const NID_dSAQuality: i32 = 495;
1716pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
1717pub const NID_singleLevelQuality: i32 = 496;
1718pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
1719pub const NID_subtreeMinimumQuality: i32 = 497;
1720pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
1721pub const NID_subtreeMaximumQuality: i32 = 498;
1722pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
1723pub const NID_personalSignature: i32 = 499;
1724pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
1725pub const NID_dITRedirect: i32 = 500;
1726pub const SN_audio: &[u8; 6] = b"audio\0";
1727pub const NID_audio: i32 = 501;
1728pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
1729pub const NID_documentPublisher: i32 = 502;
1730pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
1731pub const NID_x500UniqueIdentifier: i32 = 503;
1732pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
1733pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
1734pub const NID_mime_mhs: i32 = 504;
1735pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1736pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1737pub const NID_mime_mhs_headings: i32 = 505;
1738pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1739pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1740pub const NID_mime_mhs_bodies: i32 = 506;
1741pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1742pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1743pub const NID_id_hex_partial_message: i32 = 507;
1744pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1745pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1746pub const NID_id_hex_multipart_message: i32 = 508;
1747pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
1748pub const NID_generationQualifier: i32 = 509;
1749pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
1750pub const NID_pseudonym: i32 = 510;
1751pub const SN_id_set: &[u8; 7] = b"id-set\0";
1752pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
1753pub const NID_id_set: i32 = 512;
1754pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
1755pub const LN_set_ctype: &[u8; 14] = b"content types\0";
1756pub const NID_set_ctype: i32 = 513;
1757pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
1758pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
1759pub const NID_set_msgExt: i32 = 514;
1760pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
1761pub const NID_set_attr: i32 = 515;
1762pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
1763pub const NID_set_policy: i32 = 516;
1764pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
1765pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
1766pub const NID_set_certExt: i32 = 517;
1767pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
1768pub const NID_set_brand: i32 = 518;
1769pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
1770pub const NID_setct_PANData: i32 = 519;
1771pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
1772pub const NID_setct_PANToken: i32 = 520;
1773pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
1774pub const NID_setct_PANOnly: i32 = 521;
1775pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
1776pub const NID_setct_OIData: i32 = 522;
1777pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
1778pub const NID_setct_PI: i32 = 523;
1779pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
1780pub const NID_setct_PIData: i32 = 524;
1781pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
1782pub const NID_setct_PIDataUnsigned: i32 = 525;
1783pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
1784pub const NID_setct_HODInput: i32 = 526;
1785pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
1786pub const NID_setct_AuthResBaggage: i32 = 527;
1787pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
1788pub const NID_setct_AuthRevReqBaggage: i32 = 528;
1789pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
1790pub const NID_setct_AuthRevResBaggage: i32 = 529;
1791pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
1792pub const NID_setct_CapTokenSeq: i32 = 530;
1793pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
1794pub const NID_setct_PInitResData: i32 = 531;
1795pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
1796pub const NID_setct_PI_TBS: i32 = 532;
1797pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
1798pub const NID_setct_PResData: i32 = 533;
1799pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
1800pub const NID_setct_AuthReqTBS: i32 = 534;
1801pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
1802pub const NID_setct_AuthResTBS: i32 = 535;
1803pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
1804pub const NID_setct_AuthResTBSX: i32 = 536;
1805pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
1806pub const NID_setct_AuthTokenTBS: i32 = 537;
1807pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
1808pub const NID_setct_CapTokenData: i32 = 538;
1809pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
1810pub const NID_setct_CapTokenTBS: i32 = 539;
1811pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
1812pub const NID_setct_AcqCardCodeMsg: i32 = 540;
1813pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
1814pub const NID_setct_AuthRevReqTBS: i32 = 541;
1815pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
1816pub const NID_setct_AuthRevResData: i32 = 542;
1817pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
1818pub const NID_setct_AuthRevResTBS: i32 = 543;
1819pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
1820pub const NID_setct_CapReqTBS: i32 = 544;
1821pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
1822pub const NID_setct_CapReqTBSX: i32 = 545;
1823pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
1824pub const NID_setct_CapResData: i32 = 546;
1825pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
1826pub const NID_setct_CapRevReqTBS: i32 = 547;
1827pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
1828pub const NID_setct_CapRevReqTBSX: i32 = 548;
1829pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
1830pub const NID_setct_CapRevResData: i32 = 549;
1831pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
1832pub const NID_setct_CredReqTBS: i32 = 550;
1833pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
1834pub const NID_setct_CredReqTBSX: i32 = 551;
1835pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
1836pub const NID_setct_CredResData: i32 = 552;
1837pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
1838pub const NID_setct_CredRevReqTBS: i32 = 553;
1839pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
1840pub const NID_setct_CredRevReqTBSX: i32 = 554;
1841pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
1842pub const NID_setct_CredRevResData: i32 = 555;
1843pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
1844pub const NID_setct_PCertReqData: i32 = 556;
1845pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
1846pub const NID_setct_PCertResTBS: i32 = 557;
1847pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
1848pub const NID_setct_BatchAdminReqData: i32 = 558;
1849pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
1850pub const NID_setct_BatchAdminResData: i32 = 559;
1851pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
1852pub const NID_setct_CardCInitResTBS: i32 = 560;
1853pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
1854pub const NID_setct_MeAqCInitResTBS: i32 = 561;
1855pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
1856pub const NID_setct_RegFormResTBS: i32 = 562;
1857pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
1858pub const NID_setct_CertReqData: i32 = 563;
1859pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
1860pub const NID_setct_CertReqTBS: i32 = 564;
1861pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
1862pub const NID_setct_CertResData: i32 = 565;
1863pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
1864pub const NID_setct_CertInqReqTBS: i32 = 566;
1865pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
1866pub const NID_setct_ErrorTBS: i32 = 567;
1867pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
1868pub const NID_setct_PIDualSignedTBE: i32 = 568;
1869pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
1870pub const NID_setct_PIUnsignedTBE: i32 = 569;
1871pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
1872pub const NID_setct_AuthReqTBE: i32 = 570;
1873pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
1874pub const NID_setct_AuthResTBE: i32 = 571;
1875pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
1876pub const NID_setct_AuthResTBEX: i32 = 572;
1877pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
1878pub const NID_setct_AuthTokenTBE: i32 = 573;
1879pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
1880pub const NID_setct_CapTokenTBE: i32 = 574;
1881pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
1882pub const NID_setct_CapTokenTBEX: i32 = 575;
1883pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
1884pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
1885pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
1886pub const NID_setct_AuthRevReqTBE: i32 = 577;
1887pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
1888pub const NID_setct_AuthRevResTBE: i32 = 578;
1889pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
1890pub const NID_setct_AuthRevResTBEB: i32 = 579;
1891pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
1892pub const NID_setct_CapReqTBE: i32 = 580;
1893pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
1894pub const NID_setct_CapReqTBEX: i32 = 581;
1895pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
1896pub const NID_setct_CapResTBE: i32 = 582;
1897pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
1898pub const NID_setct_CapRevReqTBE: i32 = 583;
1899pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
1900pub const NID_setct_CapRevReqTBEX: i32 = 584;
1901pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
1902pub const NID_setct_CapRevResTBE: i32 = 585;
1903pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
1904pub const NID_setct_CredReqTBE: i32 = 586;
1905pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
1906pub const NID_setct_CredReqTBEX: i32 = 587;
1907pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
1908pub const NID_setct_CredResTBE: i32 = 588;
1909pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
1910pub const NID_setct_CredRevReqTBE: i32 = 589;
1911pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
1912pub const NID_setct_CredRevReqTBEX: i32 = 590;
1913pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
1914pub const NID_setct_CredRevResTBE: i32 = 591;
1915pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
1916pub const NID_setct_BatchAdminReqTBE: i32 = 592;
1917pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
1918pub const NID_setct_BatchAdminResTBE: i32 = 593;
1919pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
1920pub const NID_setct_RegFormReqTBE: i32 = 594;
1921pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
1922pub const NID_setct_CertReqTBE: i32 = 595;
1923pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
1924pub const NID_setct_CertReqTBEX: i32 = 596;
1925pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
1926pub const NID_setct_CertResTBE: i32 = 597;
1927pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
1928pub const NID_setct_CRLNotificationTBS: i32 = 598;
1929pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
1930pub const NID_setct_CRLNotificationResTBS: i32 = 599;
1931pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
1932pub const NID_setct_BCIDistributionTBS: i32 = 600;
1933pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
1934pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
1935pub const NID_setext_genCrypt: i32 = 601;
1936pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
1937pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
1938pub const NID_setext_miAuth: i32 = 602;
1939pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
1940pub const NID_setext_pinSecure: i32 = 603;
1941pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
1942pub const NID_setext_pinAny: i32 = 604;
1943pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
1944pub const NID_setext_track2: i32 = 605;
1945pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
1946pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
1947pub const NID_setext_cv: i32 = 606;
1948pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
1949pub const NID_set_policy_root: i32 = 607;
1950pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
1951pub const NID_setCext_hashedRoot: i32 = 608;
1952pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
1953pub const NID_setCext_certType: i32 = 609;
1954pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
1955pub const NID_setCext_merchData: i32 = 610;
1956pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
1957pub const NID_setCext_cCertRequired: i32 = 611;
1958pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
1959pub const NID_setCext_tunneling: i32 = 612;
1960pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
1961pub const NID_setCext_setExt: i32 = 613;
1962pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
1963pub const NID_setCext_setQualf: i32 = 614;
1964pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
1965pub const NID_setCext_PGWYcapabilities: i32 = 615;
1966pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
1967pub const NID_setCext_TokenIdentifier: i32 = 616;
1968pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
1969pub const NID_setCext_Track2Data: i32 = 617;
1970pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
1971pub const NID_setCext_TokenType: i32 = 618;
1972pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
1973pub const NID_setCext_IssuerCapabilities: i32 = 619;
1974pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
1975pub const NID_setAttr_Cert: i32 = 620;
1976pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
1977pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
1978pub const NID_setAttr_PGWYcap: i32 = 621;
1979pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
1980pub const NID_setAttr_TokenType: i32 = 622;
1981pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
1982pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
1983pub const NID_setAttr_IssCap: i32 = 623;
1984pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
1985pub const NID_set_rootKeyThumb: i32 = 624;
1986pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
1987pub const NID_set_addPolicy: i32 = 625;
1988pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
1989pub const NID_setAttr_Token_EMV: i32 = 626;
1990pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
1991pub const NID_setAttr_Token_B0Prime: i32 = 627;
1992pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
1993pub const NID_setAttr_IssCap_CVM: i32 = 628;
1994pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
1995pub const NID_setAttr_IssCap_T2: i32 = 629;
1996pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
1997pub const NID_setAttr_IssCap_Sig: i32 = 630;
1998pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
1999pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2000pub const NID_setAttr_GenCryptgrm: i32 = 631;
2001pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2002pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2003pub const NID_setAttr_T2Enc: i32 = 632;
2004pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2005pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2006pub const NID_setAttr_T2cleartxt: i32 = 633;
2007pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2008pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2009pub const NID_setAttr_TokICCsig: i32 = 634;
2010pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2011pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2012pub const NID_setAttr_SecDevSig: i32 = 635;
2013pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2014pub const NID_set_brand_IATA_ATA: i32 = 636;
2015pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2016pub const NID_set_brand_Diners: i32 = 637;
2017pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2018pub const NID_set_brand_AmericanExpress: i32 = 638;
2019pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2020pub const NID_set_brand_JCB: i32 = 639;
2021pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2022pub const NID_set_brand_Visa: i32 = 640;
2023pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2024pub const NID_set_brand_MasterCard: i32 = 641;
2025pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2026pub const NID_set_brand_Novus: i32 = 642;
2027pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2028pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2029pub const NID_des_cdmf: i32 = 643;
2030pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2031pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2032pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2033pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2034pub const NID_itu_t: i32 = 645;
2035pub const OBJ_itu_t: i32 = 0;
2036pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2037pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2038pub const NID_joint_iso_itu_t: i32 = 646;
2039pub const OBJ_joint_iso_itu_t: i32 = 2;
2040pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2041pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2042pub const NID_international_organizations: i32 = 647;
2043pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2044pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2045pub const NID_ms_smartcard_login: i32 = 648;
2046pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2047pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2048pub const NID_ms_upn: i32 = 649;
2049pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2050pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2051pub const NID_aes_128_cfb1: i32 = 650;
2052pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2053pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2054pub const NID_aes_192_cfb1: i32 = 651;
2055pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2056pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2057pub const NID_aes_256_cfb1: i32 = 652;
2058pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2059pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2060pub const NID_aes_128_cfb8: i32 = 653;
2061pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2062pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2063pub const NID_aes_192_cfb8: i32 = 654;
2064pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2065pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2066pub const NID_aes_256_cfb8: i32 = 655;
2067pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2068pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2069pub const NID_des_cfb1: i32 = 656;
2070pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2071pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2072pub const NID_des_cfb8: i32 = 657;
2073pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2074pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2075pub const NID_des_ede3_cfb1: i32 = 658;
2076pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2077pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2078pub const NID_des_ede3_cfb8: i32 = 659;
2079pub const SN_streetAddress: &[u8; 7] = b"street\0";
2080pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2081pub const NID_streetAddress: i32 = 660;
2082pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2083pub const NID_postalCode: i32 = 661;
2084pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2085pub const NID_id_ppl: i32 = 662;
2086pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2087pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2088pub const NID_proxyCertInfo: i32 = 663;
2089pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2090pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2091pub const NID_id_ppl_anyLanguage: i32 = 664;
2092pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2093pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2094pub const NID_id_ppl_inheritAll: i32 = 665;
2095pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2096pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2097pub const NID_name_constraints: i32 = 666;
2098pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2099pub const LN_Independent: &[u8; 12] = b"Independent\0";
2100pub const NID_Independent: i32 = 667;
2101pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2102pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2103pub const NID_sha256WithRSAEncryption: i32 = 668;
2104pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2105pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2106pub const NID_sha384WithRSAEncryption: i32 = 669;
2107pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2108pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2109pub const NID_sha512WithRSAEncryption: i32 = 670;
2110pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2111pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2112pub const NID_sha224WithRSAEncryption: i32 = 671;
2113pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2114pub const LN_sha256: &[u8; 7] = b"sha256\0";
2115pub const NID_sha256: i32 = 672;
2116pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2117pub const LN_sha384: &[u8; 7] = b"sha384\0";
2118pub const NID_sha384: i32 = 673;
2119pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2120pub const LN_sha512: &[u8; 7] = b"sha512\0";
2121pub const NID_sha512: i32 = 674;
2122pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2123pub const LN_sha224: &[u8; 7] = b"sha224\0";
2124pub const NID_sha224: i32 = 675;
2125pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2126pub const NID_identified_organization: i32 = 676;
2127pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2128pub const NID_certicom_arc: i32 = 677;
2129pub const SN_wap: &[u8; 4] = b"wap\0";
2130pub const NID_wap: i32 = 678;
2131pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2132pub const NID_wap_wsg: i32 = 679;
2133pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2134pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2135pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2136pub const NID_X9_62_onBasis: i32 = 681;
2137pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2138pub const NID_X9_62_tpBasis: i32 = 682;
2139pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2140pub const NID_X9_62_ppBasis: i32 = 683;
2141pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2142pub const NID_X9_62_c2pnb163v1: i32 = 684;
2143pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2144pub const NID_X9_62_c2pnb163v2: i32 = 685;
2145pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2146pub const NID_X9_62_c2pnb163v3: i32 = 686;
2147pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2148pub const NID_X9_62_c2pnb176v1: i32 = 687;
2149pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2150pub const NID_X9_62_c2tnb191v1: i32 = 688;
2151pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2152pub const NID_X9_62_c2tnb191v2: i32 = 689;
2153pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2154pub const NID_X9_62_c2tnb191v3: i32 = 690;
2155pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2156pub const NID_X9_62_c2onb191v4: i32 = 691;
2157pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2158pub const NID_X9_62_c2onb191v5: i32 = 692;
2159pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2160pub const NID_X9_62_c2pnb208w1: i32 = 693;
2161pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2162pub const NID_X9_62_c2tnb239v1: i32 = 694;
2163pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2164pub const NID_X9_62_c2tnb239v2: i32 = 695;
2165pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2166pub const NID_X9_62_c2tnb239v3: i32 = 696;
2167pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2168pub const NID_X9_62_c2onb239v4: i32 = 697;
2169pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2170pub const NID_X9_62_c2onb239v5: i32 = 698;
2171pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2172pub const NID_X9_62_c2pnb272w1: i32 = 699;
2173pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2174pub const NID_X9_62_c2pnb304w1: i32 = 700;
2175pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2176pub const NID_X9_62_c2tnb359v1: i32 = 701;
2177pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2178pub const NID_X9_62_c2pnb368w1: i32 = 702;
2179pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2180pub const NID_X9_62_c2tnb431r1: i32 = 703;
2181pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2182pub const NID_secp112r1: i32 = 704;
2183pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2184pub const NID_secp112r2: i32 = 705;
2185pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2186pub const NID_secp128r1: i32 = 706;
2187pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2188pub const NID_secp128r2: i32 = 707;
2189pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2190pub const NID_secp160k1: i32 = 708;
2191pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2192pub const NID_secp160r1: i32 = 709;
2193pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2194pub const NID_secp160r2: i32 = 710;
2195pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2196pub const NID_secp192k1: i32 = 711;
2197pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2198pub const NID_secp224k1: i32 = 712;
2199pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2200pub const NID_secp224r1: i32 = 713;
2201pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2202pub const NID_secp256k1: i32 = 714;
2203pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2204pub const NID_secp384r1: i32 = 715;
2205pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2206pub const NID_secp521r1: i32 = 716;
2207pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2208pub const NID_sect113r1: i32 = 717;
2209pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2210pub const NID_sect113r2: i32 = 718;
2211pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2212pub const NID_sect131r1: i32 = 719;
2213pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2214pub const NID_sect131r2: i32 = 720;
2215pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2216pub const NID_sect163k1: i32 = 721;
2217pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2218pub const NID_sect163r1: i32 = 722;
2219pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2220pub const NID_sect163r2: i32 = 723;
2221pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2222pub const NID_sect193r1: i32 = 724;
2223pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2224pub const NID_sect193r2: i32 = 725;
2225pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2226pub const NID_sect233k1: i32 = 726;
2227pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2228pub const NID_sect233r1: i32 = 727;
2229pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2230pub const NID_sect239k1: i32 = 728;
2231pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2232pub const NID_sect283k1: i32 = 729;
2233pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2234pub const NID_sect283r1: i32 = 730;
2235pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2236pub const NID_sect409k1: i32 = 731;
2237pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2238pub const NID_sect409r1: i32 = 732;
2239pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2240pub const NID_sect571k1: i32 = 733;
2241pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2242pub const NID_sect571r1: i32 = 734;
2243pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2244pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2245pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2246pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2247pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2248pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2249pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2250pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2251pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2252pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2253pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2254pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2255pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2256pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2257pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2258pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2259pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2260pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2261pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2262pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2263pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2264pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2265pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2266pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2267pub const NID_any_policy: i32 = 746;
2268pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2269pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2270pub const NID_policy_mappings: i32 = 747;
2271pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2272pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2273pub const NID_inhibit_any_policy: i32 = 748;
2274pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2275pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2276pub const NID_ipsec3: i32 = 749;
2277pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2278pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2279pub const NID_ipsec4: i32 = 750;
2280pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2281pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2282pub const NID_camellia_128_cbc: i32 = 751;
2283pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2284pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2285pub const NID_camellia_192_cbc: i32 = 752;
2286pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2287pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2288pub const NID_camellia_256_cbc: i32 = 753;
2289pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2290pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2291pub const NID_camellia_128_ecb: i32 = 754;
2292pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2293pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2294pub const NID_camellia_192_ecb: i32 = 755;
2295pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2296pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2297pub const NID_camellia_256_ecb: i32 = 756;
2298pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2299pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2300pub const NID_camellia_128_cfb128: i32 = 757;
2301pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2302pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2303pub const NID_camellia_192_cfb128: i32 = 758;
2304pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2305pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2306pub const NID_camellia_256_cfb128: i32 = 759;
2307pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2308pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2309pub const NID_camellia_128_cfb1: i32 = 760;
2310pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2311pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2312pub const NID_camellia_192_cfb1: i32 = 761;
2313pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2314pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2315pub const NID_camellia_256_cfb1: i32 = 762;
2316pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2317pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2318pub const NID_camellia_128_cfb8: i32 = 763;
2319pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2320pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2321pub const NID_camellia_192_cfb8: i32 = 764;
2322pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2323pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2324pub const NID_camellia_256_cfb8: i32 = 765;
2325pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2326pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2327pub const NID_camellia_128_ofb128: i32 = 766;
2328pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2329pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2330pub const NID_camellia_192_ofb128: i32 = 767;
2331pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2332pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2333pub const NID_camellia_256_ofb128: i32 = 768;
2334pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2335pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2336pub const NID_subject_directory_attributes: i32 = 769;
2337pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2338pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2339pub const NID_issuing_distribution_point: i32 = 770;
2340pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2341pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2342pub const NID_certificate_issuer: i32 = 771;
2343pub const SN_kisa: &[u8; 5] = b"KISA\0";
2344pub const LN_kisa: &[u8; 5] = b"kisa\0";
2345pub const NID_kisa: i32 = 773;
2346pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2347pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2348pub const NID_seed_ecb: i32 = 776;
2349pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2350pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2351pub const NID_seed_cbc: i32 = 777;
2352pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2353pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2354pub const NID_seed_ofb128: i32 = 778;
2355pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2356pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2357pub const NID_seed_cfb128: i32 = 779;
2358pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2359pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2360pub const NID_hmac_md5: i32 = 780;
2361pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2362pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2363pub const NID_hmac_sha1: i32 = 781;
2364pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2365pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2366pub const NID_id_PasswordBasedMAC: i32 = 782;
2367pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2368pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2369pub const NID_id_DHBasedMac: i32 = 783;
2370pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2371pub const NID_id_it_suppLangTags: i32 = 784;
2372pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2373pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2374pub const NID_caRepository: i32 = 785;
2375pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2376pub const NID_id_smime_ct_compressedData: i32 = 786;
2377pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2378pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2379pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2380pub const NID_id_aes128_wrap: i32 = 788;
2381pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2382pub const NID_id_aes192_wrap: i32 = 789;
2383pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2384pub const NID_id_aes256_wrap: i32 = 790;
2385pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2386pub const NID_ecdsa_with_Recommended: i32 = 791;
2387pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2388pub const NID_ecdsa_with_Specified: i32 = 792;
2389pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2390pub const NID_ecdsa_with_SHA224: i32 = 793;
2391pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2392pub const NID_ecdsa_with_SHA256: i32 = 794;
2393pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2394pub const NID_ecdsa_with_SHA384: i32 = 795;
2395pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2396pub const NID_ecdsa_with_SHA512: i32 = 796;
2397pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2398pub const NID_hmacWithMD5: i32 = 797;
2399pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2400pub const NID_hmacWithSHA224: i32 = 798;
2401pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2402pub const NID_hmacWithSHA256: i32 = 799;
2403pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2404pub const NID_hmacWithSHA384: i32 = 800;
2405pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2406pub const NID_hmacWithSHA512: i32 = 801;
2407pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2408pub const NID_dsa_with_SHA224: i32 = 802;
2409pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2410pub const NID_dsa_with_SHA256: i32 = 803;
2411pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2412pub const NID_whirlpool: i32 = 804;
2413pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2414pub const NID_cryptopro: i32 = 805;
2415pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2416pub const NID_cryptocom: i32 = 806;
2417pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2418    b"id-GostR3411-94-with-GostR3410-2001\0";
2419pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2420    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2421pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2422pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2423pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2424    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2425pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2426pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2427pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2428pub const NID_id_GostR3411_94: i32 = 809;
2429pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2430pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2431pub const NID_id_HMACGostR3411_94: i32 = 810;
2432pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2433pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2434pub const NID_id_GostR3410_2001: i32 = 811;
2435pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2436pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2437pub const NID_id_GostR3410_94: i32 = 812;
2438pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2439pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2440pub const NID_id_Gost28147_89: i32 = 813;
2441pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2442pub const NID_gost89_cnt: i32 = 814;
2443pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2444pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2445pub const NID_id_Gost28147_89_MAC: i32 = 815;
2446pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2447pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2448pub const NID_id_GostR3411_94_prf: i32 = 816;
2449pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2450pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2451pub const NID_id_GostR3410_2001DH: i32 = 817;
2452pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2453pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2454pub const NID_id_GostR3410_94DH: i32 = 818;
2455pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2456    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2457pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2458pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2459pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2460pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2461pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2462pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2463pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2464pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2465pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2466pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2467    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2468pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2469pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2470    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2471pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2472pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2473    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2474pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2475pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2476    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2477pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2478pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2479    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2480pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2481pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2482    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2483pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2484pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2485    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2486pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2487pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2488pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2489pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2490    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2491pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2492pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2493    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2494pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2495pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2496    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2497pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2498pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2499    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2500pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2501pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2502    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2503pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2504pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2505    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2506pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2507pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2508    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2509pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2510pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2511pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2512pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2513    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2514pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2515pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2516    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2517pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2518pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2519    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2520pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2521pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2522    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2523pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2524pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2525    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2526pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2527pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2528pub const NID_id_GostR3410_94_a: i32 = 845;
2529pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2530pub const NID_id_GostR3410_94_aBis: i32 = 846;
2531pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2532pub const NID_id_GostR3410_94_b: i32 = 847;
2533pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2534pub const NID_id_GostR3410_94_bBis: i32 = 848;
2535pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2536pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2537pub const NID_id_Gost28147_89_cc: i32 = 849;
2538pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2539pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2540pub const NID_id_GostR3410_94_cc: i32 = 850;
2541pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2542pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2543pub const NID_id_GostR3410_2001_cc: i32 = 851;
2544pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2545    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2546pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2547    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2548pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2549pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2550    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2551pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2552    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2553pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2554pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2555pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2556    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2557pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2558pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2559pub const LN_hmac: &[u8; 5] = b"hmac\0";
2560pub const NID_hmac: i32 = 855;
2561pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2562pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2563pub const NID_LocalKeySet: i32 = 856;
2564pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2565pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2566pub const NID_freshest_crl: i32 = 857;
2567pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2568pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2569pub const NID_id_on_permanentIdentifier: i32 = 858;
2570pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2571pub const NID_searchGuide: i32 = 859;
2572pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2573pub const NID_businessCategory: i32 = 860;
2574pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2575pub const NID_postalAddress: i32 = 861;
2576pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2577pub const NID_postOfficeBox: i32 = 862;
2578pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2579pub const NID_physicalDeliveryOfficeName: i32 = 863;
2580pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2581pub const NID_telephoneNumber: i32 = 864;
2582pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2583pub const NID_telexNumber: i32 = 865;
2584pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2585pub const NID_teletexTerminalIdentifier: i32 = 866;
2586pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2587pub const NID_facsimileTelephoneNumber: i32 = 867;
2588pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2589pub const NID_x121Address: i32 = 868;
2590pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2591pub const NID_internationaliSDNNumber: i32 = 869;
2592pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2593pub const NID_registeredAddress: i32 = 870;
2594pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2595pub const NID_destinationIndicator: i32 = 871;
2596pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2597pub const NID_preferredDeliveryMethod: i32 = 872;
2598pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2599pub const NID_presentationAddress: i32 = 873;
2600pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
2601pub const NID_supportedApplicationContext: i32 = 874;
2602pub const SN_member: &[u8; 7] = b"member\0";
2603pub const NID_member: i32 = 875;
2604pub const SN_owner: &[u8; 6] = b"owner\0";
2605pub const NID_owner: i32 = 876;
2606pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
2607pub const NID_roleOccupant: i32 = 877;
2608pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
2609pub const NID_seeAlso: i32 = 878;
2610pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
2611pub const NID_userPassword: i32 = 879;
2612pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
2613pub const NID_userCertificate: i32 = 880;
2614pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
2615pub const NID_cACertificate: i32 = 881;
2616pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
2617pub const NID_authorityRevocationList: i32 = 882;
2618pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
2619pub const NID_certificateRevocationList: i32 = 883;
2620pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
2621pub const NID_crossCertificatePair: i32 = 884;
2622pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
2623pub const NID_enhancedSearchGuide: i32 = 885;
2624pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
2625pub const NID_protocolInformation: i32 = 886;
2626pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
2627pub const NID_distinguishedName: i32 = 887;
2628pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
2629pub const NID_uniqueMember: i32 = 888;
2630pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
2631pub const NID_houseIdentifier: i32 = 889;
2632pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
2633pub const NID_supportedAlgorithms: i32 = 890;
2634pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
2635pub const NID_deltaRevocationList: i32 = 891;
2636pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
2637pub const NID_dmdName: i32 = 892;
2638pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
2639pub const NID_id_alg_PWRI_KEK: i32 = 893;
2640pub const SN_cmac: &[u8; 5] = b"CMAC\0";
2641pub const LN_cmac: &[u8; 5] = b"cmac\0";
2642pub const NID_cmac: i32 = 894;
2643pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
2644pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
2645pub const NID_aes_128_gcm: i32 = 895;
2646pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
2647pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
2648pub const NID_aes_128_ccm: i32 = 896;
2649pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
2650pub const NID_id_aes128_wrap_pad: i32 = 897;
2651pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
2652pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
2653pub const NID_aes_192_gcm: i32 = 898;
2654pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
2655pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
2656pub const NID_aes_192_ccm: i32 = 899;
2657pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
2658pub const NID_id_aes192_wrap_pad: i32 = 900;
2659pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
2660pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
2661pub const NID_aes_256_gcm: i32 = 901;
2662pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
2663pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
2664pub const NID_aes_256_ccm: i32 = 902;
2665pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
2666pub const NID_id_aes256_wrap_pad: i32 = 903;
2667pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
2668pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
2669pub const NID_aes_128_ctr: i32 = 904;
2670pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
2671pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
2672pub const NID_aes_192_ctr: i32 = 905;
2673pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
2674pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
2675pub const NID_aes_256_ctr: i32 = 906;
2676pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
2677pub const NID_id_camellia128_wrap: i32 = 907;
2678pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
2679pub const NID_id_camellia192_wrap: i32 = 908;
2680pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
2681pub const NID_id_camellia256_wrap: i32 = 909;
2682pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
2683pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
2684pub const NID_anyExtendedKeyUsage: i32 = 910;
2685pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
2686pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
2687pub const NID_mgf1: i32 = 911;
2688pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
2689pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
2690pub const NID_rsassaPss: i32 = 912;
2691pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
2692pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
2693pub const NID_aes_128_xts: i32 = 913;
2694pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
2695pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
2696pub const NID_aes_256_xts: i32 = 914;
2697pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
2698pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
2699pub const NID_rc4_hmac_md5: i32 = 915;
2700pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
2701pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
2702pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
2703pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
2704pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
2705pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
2706pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
2707pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
2708pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
2709pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
2710pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
2711pub const NID_rsaesOaep: i32 = 919;
2712pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
2713pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
2714pub const NID_dhpublicnumber: i32 = 920;
2715pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
2716pub const NID_brainpoolP160r1: i32 = 921;
2717pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
2718pub const NID_brainpoolP160t1: i32 = 922;
2719pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
2720pub const NID_brainpoolP192r1: i32 = 923;
2721pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
2722pub const NID_brainpoolP192t1: i32 = 924;
2723pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
2724pub const NID_brainpoolP224r1: i32 = 925;
2725pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
2726pub const NID_brainpoolP224t1: i32 = 926;
2727pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
2728pub const NID_brainpoolP256r1: i32 = 927;
2729pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
2730pub const NID_brainpoolP256t1: i32 = 928;
2731pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
2732pub const NID_brainpoolP320r1: i32 = 929;
2733pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
2734pub const NID_brainpoolP320t1: i32 = 930;
2735pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
2736pub const NID_brainpoolP384r1: i32 = 931;
2737pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
2738pub const NID_brainpoolP384t1: i32 = 932;
2739pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
2740pub const NID_brainpoolP512r1: i32 = 933;
2741pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
2742pub const NID_brainpoolP512t1: i32 = 934;
2743pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
2744pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
2745pub const NID_pSpecified: i32 = 935;
2746pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
2747pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
2748pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
2749    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
2750pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
2751pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
2752    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
2753pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
2754pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
2755    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
2756pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
2757pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
2758    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
2759pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
2760pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
2761    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
2762pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
2763pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
2764    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
2765pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
2766pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
2767    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
2768pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
2769pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
2770    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
2771pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
2772pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
2773    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
2774pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
2775pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
2776pub const NID_dh_std_kdf: i32 = 946;
2777pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
2778pub const NID_dh_cofactor_kdf: i32 = 947;
2779pub const SN_X25519: &[u8; 7] = b"X25519\0";
2780pub const NID_X25519: i32 = 948;
2781pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
2782pub const NID_ED25519: i32 = 949;
2783pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
2784pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
2785pub const NID_chacha20_poly1305: i32 = 950;
2786pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
2787pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
2788pub const NID_kx_rsa: i32 = 951;
2789pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
2790pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
2791pub const NID_kx_ecdhe: i32 = 952;
2792pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
2793pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
2794pub const NID_kx_psk: i32 = 953;
2795pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
2796pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
2797pub const NID_auth_rsa: i32 = 954;
2798pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
2799pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
2800pub const NID_auth_ecdsa: i32 = 955;
2801pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
2802pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
2803pub const NID_auth_psk: i32 = 956;
2804pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
2805pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
2806pub const NID_kx_any: i32 = 957;
2807pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
2808pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
2809pub const NID_auth_any: i32 = 958;
2810pub const SN_ED448: &[u8; 6] = b"ED448\0";
2811pub const NID_ED448: i32 = 960;
2812pub const SN_X448: &[u8; 5] = b"X448\0";
2813pub const NID_X448: i32 = 961;
2814pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
2815pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
2816pub const NID_sha512_256: i32 = 962;
2817pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
2818pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
2819pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
2820pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
2821pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
2822pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
2823pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
2824pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
2825pub const NID_sha3_224: i32 = 965;
2826pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
2827pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
2828pub const NID_sha3_256: i32 = 966;
2829pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
2830pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
2831pub const NID_sha3_384: i32 = 967;
2832pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
2833pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
2834pub const NID_sha3_512: i32 = 968;
2835pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
2836pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
2837pub const NID_hkdf: i32 = 969;
2838pub const SN_kem: &[u8; 4] = b"KEM\0";
2839pub const LN_kem: &[u8; 4] = b"kem\0";
2840pub const NID_kem: i32 = 970;
2841pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
2842pub const NID_ffdhe2048: i32 = 976;
2843pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
2844pub const NID_ffdhe4096: i32 = 977;
2845pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
2846pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
2847pub const NID_sha512_224: i32 = 978;
2848pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
2849pub const LN_shake128: &[u8; 9] = b"shake128\0";
2850pub const NID_shake128: i32 = 979;
2851pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
2852pub const LN_shake256: &[u8; 9] = b"shake256\0";
2853pub const NID_shake256: i32 = 980;
2854pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
2855pub const NID_ffdhe3072: i32 = 983;
2856pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
2857pub const NID_ffdhe8192: i32 = 984;
2858pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
2859pub const NID_MLKEM512IPD: i32 = 985;
2860pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
2861pub const NID_MLKEM768IPD: i32 = 986;
2862pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
2863pub const NID_MLKEM1024IPD: i32 = 987;
2864pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
2865pub const NID_MLKEM512: i32 = 988;
2866pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
2867pub const NID_MLKEM768: i32 = 989;
2868pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
2869pub const NID_MLKEM1024: i32 = 990;
2870pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
2871pub const NID_X25519MLKEM768: i32 = 991;
2872pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
2873pub const NID_SecP256r1MLKEM768: i32 = 992;
2874pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
2875pub const NID_PQDSA: i32 = 993;
2876pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
2877pub const NID_MLDSA44: i32 = 994;
2878pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
2879pub const NID_MLDSA65: i32 = 995;
2880pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
2881pub const NID_MLDSA87: i32 = 996;
2882pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
2883pub const NID_ED25519ph: i32 = 997;
2884pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
2885pub const NID_SecP384r1MLKEM1024: i32 = 998;
2886pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
2887pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
2888pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
2889pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
2890pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
2891pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
2892pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
2893pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
2894pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
2895pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
2896pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
2897pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
2898pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
2899pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
2900pub const EVP_PKEY_NONE: i32 = 0;
2901pub const EVP_PKEY_RSA: i32 = 6;
2902pub const EVP_PKEY_RSA_PSS: i32 = 912;
2903pub const EVP_PKEY_EC: i32 = 408;
2904pub const EVP_PKEY_ED25519: i32 = 949;
2905pub const EVP_PKEY_ED25519PH: i32 = 997;
2906pub const EVP_PKEY_X25519: i32 = 948;
2907pub const EVP_PKEY_HKDF: i32 = 969;
2908pub const EVP_PKEY_HMAC: i32 = 855;
2909pub const EVP_PKEY_DH: i32 = 28;
2910pub const EVP_PKEY_PQDSA: i32 = 993;
2911pub const EVP_PKEY_KEM: i32 = 970;
2912pub const PKCS5_SALT_LEN: i32 = 8;
2913pub const EVP_PKEY_RSA2: i32 = 19;
2914pub const EVP_PKEY_X448: i32 = 961;
2915pub const EVP_PKEY_ED448: i32 = 960;
2916pub const EVP_PKEY_DSA: i32 = 116;
2917pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
2918pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
2919pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
2920pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
2921pub const RSA_PKCS1_PADDING: i32 = 1;
2922pub const RSA_NO_PADDING: i32 = 3;
2923pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
2924pub const RSA_X931_PADDING: i32 = 5;
2925pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
2926pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
2927pub const RSA_FLAG_OPAQUE: i32 = 1;
2928pub const RSA_FLAG_NO_BLINDING: i32 = 8;
2929pub const RSA_FLAG_EXT_PKEY: i32 = 32;
2930pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
2931pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
2932pub const RSA_3: i32 = 3;
2933pub const RSA_F4: i32 = 65537;
2934pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
2935pub const RSA_R_BAD_ENCODING: i32 = 100;
2936pub const RSA_R_BAD_E_VALUE: i32 = 101;
2937pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
2938pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
2939pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
2940pub const RSA_R_BAD_SIGNATURE: i32 = 105;
2941pub const RSA_R_BAD_VERSION: i32 = 106;
2942pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
2943pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
2944pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
2945pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
2946pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
2947pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
2948pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
2949pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
2950pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
2951pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
2952pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
2953pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
2954pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
2955pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
2956pub const RSA_R_ENCODE_ERROR: i32 = 121;
2957pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
2958pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
2959pub const RSA_R_INTERNAL_ERROR: i32 = 124;
2960pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
2961pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
2962pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
2963pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
2964pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
2965pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
2966pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
2967pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
2968pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
2969pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
2970pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
2971pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
2972pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
2973pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
2974pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
2975pub const RSA_R_TOO_LONG: i32 = 140;
2976pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
2977pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
2978pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
2979pub const RSA_R_VALUE_MISSING: i32 = 144;
2980pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
2981pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
2982pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
2983pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
2984pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
2985pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
2986pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
2987pub type __off_t = ::std::os::raw::c_long;
2988pub type __off64_t = ::std::os::raw::c_long;
2989#[repr(C)]
2990#[repr(align(4))]
2991#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
2992pub struct static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit {
2993    pub _bitfield_align_1: [u8; 0],
2994    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
2995    pub __bindgen_padding_0: [u8; 3usize],
2996}
2997#[test]
2998fn bindgen_test_layout_static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit(
2999) {
3000    assert_eq!(
3001        ::std::mem::size_of::<
3002            static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit,
3003        >(),
3004        4usize,
3005        "Size of static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit"
3006    );
3007    assert_eq ! (:: std :: mem :: align_of :: < static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit > () , 4usize , "Alignment of static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit");
3008}
3009impl static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3010    #[inline]
3011    pub fn static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3012        &self,
3013    ) -> ::std::os::raw::c_uint {
3014        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3015    }
3016    #[inline]
3017    pub fn set_static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3018        &mut self,
3019        val: ::std::os::raw::c_uint,
3020    ) {
3021        unsafe {
3022            let val: u32 = ::std::mem::transmute(val);
3023            self._bitfield_1.set(0usize, 1u8, val as u64)
3024        }
3025    }
3026    #[inline]
3027    pub unsafe fn static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3028        this: *const Self,
3029    ) -> ::std::os::raw::c_uint {
3030        unsafe {
3031            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3032                ::std::ptr::addr_of!((*this)._bitfield_1),
3033                0usize,
3034                1u8,
3035            ) as u32)
3036        }
3037    }
3038    #[inline]
3039    pub unsafe fn set_static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3040        this: *mut Self,
3041        val: ::std::os::raw::c_uint,
3042    ) {
3043        unsafe {
3044            let val: u32 = ::std::mem::transmute(val);
3045            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3046                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3047                0usize,
3048                1u8,
3049                val as u64,
3050            )
3051        }
3052    }
3053    #[inline]
3054    pub fn new_bitfield_1(
3055        static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
3056    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3057        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3058        __bindgen_bitfield_unit . set (0usize , 1u8 , { let static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit : u32 = unsafe { :: std :: mem :: transmute (static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit) } ; static_assertion_at_line_276_error_is_pointer_size_must_be_8_bytes_for_64_bit as u64 }) ;
3059        __bindgen_bitfield_unit
3060    }
3061}
3062pub type ossl_ssize_t = isize;
3063pub type CBS_ASN1_TAG = u32;
3064pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3065#[repr(C)]
3066#[derive(Debug, Copy, Clone)]
3067pub struct asn1_null_st {
3068    _unused: [u8; 0],
3069}
3070pub type ASN1_NULL = asn1_null_st;
3071pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3072pub type ASN1_ITEM = ASN1_ITEM_st;
3073#[repr(C)]
3074#[derive(Debug, Copy, Clone)]
3075pub struct asn1_object_st {
3076    _unused: [u8; 0],
3077}
3078pub type ASN1_OBJECT = asn1_object_st;
3079#[repr(C)]
3080#[derive(Debug, Copy, Clone)]
3081pub struct asn1_pctx_st {
3082    _unused: [u8; 0],
3083}
3084pub type ASN1_PCTX = asn1_pctx_st;
3085pub type ASN1_BIT_STRING = asn1_string_st;
3086pub type ASN1_BMPSTRING = asn1_string_st;
3087pub type ASN1_ENUMERATED = asn1_string_st;
3088pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3089pub type ASN1_GENERALSTRING = asn1_string_st;
3090pub type ASN1_IA5STRING = asn1_string_st;
3091pub type ASN1_INTEGER = asn1_string_st;
3092pub type ASN1_OCTET_STRING = asn1_string_st;
3093pub type ASN1_PRINTABLESTRING = asn1_string_st;
3094pub type ASN1_STRING = asn1_string_st;
3095pub type ASN1_T61STRING = asn1_string_st;
3096pub type ASN1_TIME = asn1_string_st;
3097pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3098pub type ASN1_UTCTIME = asn1_string_st;
3099pub type ASN1_UTF8STRING = asn1_string_st;
3100pub type ASN1_VISIBLESTRING = asn1_string_st;
3101pub type ASN1_TYPE = asn1_type_st;
3102pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3103pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3104pub type DIST_POINT = DIST_POINT_st;
3105pub type DSA_SIG = DSA_SIG_st;
3106pub type GENERAL_NAME = GENERAL_NAME_st;
3107pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3108pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3109pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3110pub type NETSCAPE_SPKI = Netscape_spki_st;
3111pub type RIPEMD160_CTX = RIPEMD160state_st;
3112#[repr(C)]
3113#[derive(Debug, Copy, Clone)]
3114pub struct X509_VERIFY_PARAM_st {
3115    _unused: [u8; 0],
3116}
3117pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3118pub type X509_ALGOR = X509_algor_st;
3119#[repr(C)]
3120#[derive(Debug, Copy, Clone)]
3121pub struct X509_crl_st {
3122    _unused: [u8; 0],
3123}
3124pub type X509_CRL = X509_crl_st;
3125#[repr(C)]
3126#[derive(Debug, Copy, Clone)]
3127pub struct X509_extension_st {
3128    _unused: [u8; 0],
3129}
3130pub type X509_EXTENSION = X509_extension_st;
3131pub type X509_INFO = X509_info_st;
3132#[repr(C)]
3133#[derive(Debug, Copy, Clone)]
3134pub struct X509_name_entry_st {
3135    _unused: [u8; 0],
3136}
3137pub type X509_NAME_ENTRY = X509_name_entry_st;
3138#[repr(C)]
3139#[derive(Debug, Copy, Clone)]
3140pub struct X509_name_st {
3141    _unused: [u8; 0],
3142}
3143pub type X509_NAME = X509_name_st;
3144#[repr(C)]
3145#[derive(Debug, Copy, Clone)]
3146pub struct X509_pubkey_st {
3147    _unused: [u8; 0],
3148}
3149pub type X509_PUBKEY = X509_pubkey_st;
3150#[repr(C)]
3151#[derive(Debug, Copy, Clone)]
3152pub struct X509_req_st {
3153    _unused: [u8; 0],
3154}
3155pub type X509_REQ = X509_req_st;
3156#[repr(C)]
3157#[derive(Debug, Copy, Clone)]
3158pub struct x509_sig_info_st {
3159    _unused: [u8; 0],
3160}
3161pub type X509_SIG_INFO = x509_sig_info_st;
3162#[repr(C)]
3163#[derive(Debug, Copy, Clone)]
3164pub struct X509_sig_st {
3165    _unused: [u8; 0],
3166}
3167pub type X509_SIG = X509_sig_st;
3168#[repr(C)]
3169#[derive(Debug, Copy, Clone)]
3170pub struct bignum_ctx {
3171    _unused: [u8; 0],
3172}
3173pub type BN_CTX = bignum_ctx;
3174pub type BIGNUM = bignum_st;
3175pub type BIO_METHOD = bio_method_st;
3176pub type BIO = bio_st;
3177pub type BLAKE2B_CTX = blake2b_state_st;
3178pub type BN_GENCB = bn_gencb_st;
3179pub type BN_MONT_CTX = bn_mont_ctx_st;
3180pub type BUF_MEM = buf_mem_st;
3181#[repr(C)]
3182#[derive(Debug, Copy, Clone)]
3183pub struct cast_key_st {
3184    _unused: [u8; 0],
3185}
3186pub type CAST_KEY = cast_key_st;
3187pub type CBB = cbb_st;
3188pub type CBS = cbs_st;
3189#[repr(C)]
3190#[derive(Debug, Copy, Clone)]
3191pub struct cmac_ctx_st {
3192    _unused: [u8; 0],
3193}
3194pub type CMAC_CTX = cmac_ctx_st;
3195pub type CONF = conf_st;
3196pub type CONF_VALUE = conf_value_st;
3197#[repr(C)]
3198#[derive(Debug, Copy, Clone)]
3199pub struct crypto_buffer_pool_st {
3200    _unused: [u8; 0],
3201}
3202pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3203#[repr(C)]
3204#[derive(Debug, Copy, Clone)]
3205pub struct crypto_buffer_st {
3206    _unused: [u8; 0],
3207}
3208pub type CRYPTO_BUFFER = crypto_buffer_st;
3209#[repr(C)]
3210#[derive(Debug, Copy, Clone)]
3211pub struct ctr_drbg_state_st {
3212    _unused: [u8; 0],
3213}
3214pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3215#[repr(C)]
3216#[derive(Debug, Copy, Clone)]
3217pub struct dh_st {
3218    _unused: [u8; 0],
3219}
3220pub type DH = dh_st;
3221#[repr(C)]
3222#[derive(Debug, Copy, Clone)]
3223pub struct dsa_st {
3224    _unused: [u8; 0],
3225}
3226pub type DSA = dsa_st;
3227#[repr(C)]
3228#[derive(Debug, Copy, Clone)]
3229pub struct ec_group_st {
3230    _unused: [u8; 0],
3231}
3232pub type EC_GROUP = ec_group_st;
3233#[repr(C)]
3234#[derive(Debug, Copy, Clone)]
3235pub struct ec_key_st {
3236    _unused: [u8; 0],
3237}
3238pub type EC_KEY = ec_key_st;
3239#[repr(C)]
3240#[derive(Debug, Copy, Clone)]
3241pub struct ec_point_st {
3242    _unused: [u8; 0],
3243}
3244pub type EC_POINT = ec_point_st;
3245#[repr(C)]
3246#[derive(Debug, Copy, Clone)]
3247pub struct ec_key_method_st {
3248    _unused: [u8; 0],
3249}
3250pub type EC_KEY_METHOD = ec_key_method_st;
3251pub type ECDSA_SIG = ecdsa_sig_st;
3252#[repr(C)]
3253#[derive(Debug, Copy, Clone)]
3254pub struct engine_st {
3255    _unused: [u8; 0],
3256}
3257pub type ENGINE = engine_st;
3258pub type EVP_MD_CTX = env_md_ctx_st;
3259#[repr(C)]
3260#[derive(Debug, Copy, Clone)]
3261pub struct env_md_st {
3262    _unused: [u8; 0],
3263}
3264pub type EVP_MD = env_md_st;
3265#[repr(C)]
3266#[derive(Debug, Copy, Clone)]
3267pub struct evp_aead_st {
3268    _unused: [u8; 0],
3269}
3270pub type EVP_AEAD = evp_aead_st;
3271pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3272pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3273#[repr(C)]
3274#[derive(Debug, Copy, Clone)]
3275pub struct evp_cipher_st {
3276    _unused: [u8; 0],
3277}
3278pub type EVP_CIPHER = evp_cipher_st;
3279pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3280#[repr(C)]
3281#[derive(Debug, Copy, Clone)]
3282pub struct evp_hpke_aead_st {
3283    _unused: [u8; 0],
3284}
3285pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3286pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3287#[repr(C)]
3288#[derive(Debug, Copy, Clone)]
3289pub struct evp_hpke_kdf_st {
3290    _unused: [u8; 0],
3291}
3292pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3293#[repr(C)]
3294#[derive(Debug, Copy, Clone)]
3295pub struct evp_hpke_kem_st {
3296    _unused: [u8; 0],
3297}
3298pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3299pub type EVP_HPKE_KEY = evp_hpke_key_st;
3300#[repr(C)]
3301#[derive(Debug, Copy, Clone)]
3302pub struct evp_kem_st {
3303    _unused: [u8; 0],
3304}
3305pub type EVP_KEM = evp_kem_st;
3306#[repr(C)]
3307#[derive(Debug, Copy, Clone)]
3308pub struct kem_key_st {
3309    _unused: [u8; 0],
3310}
3311pub type KEM_KEY = kem_key_st;
3312#[repr(C)]
3313#[derive(Debug, Copy, Clone)]
3314pub struct evp_pkey_ctx_st {
3315    _unused: [u8; 0],
3316}
3317pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3318#[repr(C)]
3319#[derive(Debug, Copy, Clone)]
3320pub struct evp_pkey_asn1_method_st {
3321    _unused: [u8; 0],
3322}
3323pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3324#[repr(C)]
3325#[derive(Debug, Copy, Clone)]
3326pub struct evp_pkey_st {
3327    _unused: [u8; 0],
3328}
3329pub type EVP_PKEY = evp_pkey_st;
3330#[repr(C)]
3331#[derive(Debug, Copy, Clone)]
3332pub struct evp_pkey_ctx_signature_context_params_st {
3333    _unused: [u8; 0],
3334}
3335pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3336pub type HMAC_CTX = hmac_ctx_st;
3337pub type MD4_CTX = md4_state_st;
3338pub type MD5_CTX = md5_state_st;
3339#[repr(C)]
3340#[derive(Debug, Copy, Clone)]
3341pub struct pqdsa_key_st {
3342    _unused: [u8; 0],
3343}
3344pub type PQDSA_KEY = pqdsa_key_st;
3345#[repr(C)]
3346#[derive(Debug, Copy, Clone)]
3347pub struct ocsp_req_ctx_st {
3348    _unused: [u8; 0],
3349}
3350pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3351#[repr(C)]
3352#[derive(Debug, Copy, Clone)]
3353pub struct ossl_init_settings_st {
3354    _unused: [u8; 0],
3355}
3356pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3357#[repr(C)]
3358#[derive(Debug, Copy, Clone)]
3359pub struct pkcs7_digest_st {
3360    _unused: [u8; 0],
3361}
3362pub type PKCS7_DIGEST = pkcs7_digest_st;
3363#[repr(C)]
3364#[derive(Debug, Copy, Clone)]
3365pub struct pkcs7_enc_content_st {
3366    _unused: [u8; 0],
3367}
3368pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3369#[repr(C)]
3370#[derive(Debug, Copy, Clone)]
3371pub struct pkcs7_encrypt_st {
3372    _unused: [u8; 0],
3373}
3374pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3375pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3376pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3377pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3378pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3379pub type PKCS7_SIGNED = pkcs7_signed_st;
3380pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3381pub type PKCS7 = pkcs7_st;
3382#[repr(C)]
3383#[derive(Debug, Copy, Clone)]
3384pub struct pkcs12_st {
3385    _unused: [u8; 0],
3386}
3387pub type PKCS12 = pkcs12_st;
3388#[repr(C)]
3389#[derive(Debug, Copy, Clone)]
3390pub struct pkcs8_priv_key_info_st {
3391    _unused: [u8; 0],
3392}
3393pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3394pub type X509_PKEY = private_key_st;
3395pub type RAND_METHOD = rand_meth_st;
3396pub type RC4_KEY = rc4_key_st;
3397#[repr(C)]
3398#[derive(Debug, Copy, Clone)]
3399pub struct rsa_meth_st {
3400    _unused: [u8; 0],
3401}
3402pub type RSA_METHOD = rsa_meth_st;
3403#[repr(C)]
3404#[derive(Debug, Copy, Clone)]
3405pub struct rsassa_pss_params_st {
3406    _unused: [u8; 0],
3407}
3408pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3409pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3410#[repr(C)]
3411#[derive(Debug, Copy, Clone)]
3412pub struct rsa_st {
3413    _unused: [u8; 0],
3414}
3415pub type RSA = rsa_st;
3416pub type SHA256_CTX = sha256_state_st;
3417pub type SHA512_CTX = sha512_state_st;
3418pub type SHA_CTX = sha_state_st;
3419#[repr(C)]
3420#[derive(Debug, Copy, Clone)]
3421pub struct spake2_ctx_st {
3422    _unused: [u8; 0],
3423}
3424pub type SPAKE2_CTX = spake2_ctx_st;
3425#[repr(C)]
3426#[derive(Debug, Copy, Clone)]
3427pub struct srtp_protection_profile_st {
3428    _unused: [u8; 0],
3429}
3430pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3431#[repr(C)]
3432#[derive(Debug, Copy, Clone)]
3433pub struct ssl_cipher_st {
3434    _unused: [u8; 0],
3435}
3436pub type SSL_CIPHER = ssl_cipher_st;
3437#[repr(C)]
3438#[derive(Debug, Copy, Clone)]
3439pub struct ssl_ctx_st {
3440    _unused: [u8; 0],
3441}
3442pub type SSL_CTX = ssl_ctx_st;
3443#[repr(C)]
3444#[derive(Debug, Copy, Clone)]
3445pub struct ssl_early_callback_ctx {
3446    _unused: [u8; 0],
3447}
3448pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3449#[repr(C)]
3450#[derive(Debug, Copy, Clone)]
3451pub struct ssl_ech_keys_st {
3452    _unused: [u8; 0],
3453}
3454pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3455#[repr(C)]
3456#[derive(Debug, Copy, Clone)]
3457pub struct ssl_method_st {
3458    _unused: [u8; 0],
3459}
3460pub type SSL_METHOD = ssl_method_st;
3461#[repr(C)]
3462#[derive(Debug, Copy, Clone)]
3463pub struct ssl_private_key_method_st {
3464    _unused: [u8; 0],
3465}
3466pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3467#[repr(C)]
3468#[derive(Debug, Copy, Clone)]
3469pub struct ssl_quic_method_st {
3470    _unused: [u8; 0],
3471}
3472pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3473#[repr(C)]
3474#[derive(Debug, Copy, Clone)]
3475pub struct ssl_session_st {
3476    _unused: [u8; 0],
3477}
3478pub type SSL_SESSION = ssl_session_st;
3479#[repr(C)]
3480#[derive(Debug, Copy, Clone)]
3481pub struct ssl_st {
3482    _unused: [u8; 0],
3483}
3484pub type SSL = ssl_st;
3485#[repr(C)]
3486#[derive(Debug, Copy, Clone)]
3487pub struct ssl_ticket_aead_method_st {
3488    _unused: [u8; 0],
3489}
3490pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3491#[repr(C)]
3492#[derive(Debug, Copy, Clone)]
3493pub struct st_ERR_FNS {
3494    _unused: [u8; 0],
3495}
3496pub type ERR_FNS = st_ERR_FNS;
3497pub type TRUST_TOKEN = trust_token_st;
3498#[repr(C)]
3499#[derive(Debug, Copy, Clone)]
3500pub struct trust_token_client_st {
3501    _unused: [u8; 0],
3502}
3503pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3504#[repr(C)]
3505#[derive(Debug, Copy, Clone)]
3506pub struct trust_token_issuer_st {
3507    _unused: [u8; 0],
3508}
3509pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3510#[repr(C)]
3511#[derive(Debug, Copy, Clone)]
3512pub struct trust_token_method_st {
3513    _unused: [u8; 0],
3514}
3515pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3516pub type X509V3_CTX = v3_ext_ctx;
3517pub type X509V3_EXT_METHOD = v3_ext_method;
3518#[repr(C)]
3519#[derive(Debug, Copy, Clone)]
3520pub struct x509_attributes_st {
3521    _unused: [u8; 0],
3522}
3523pub type X509_ATTRIBUTE = x509_attributes_st;
3524#[repr(C)]
3525#[derive(Debug, Copy, Clone)]
3526pub struct x509_lookup_st {
3527    _unused: [u8; 0],
3528}
3529pub type X509_LOOKUP = x509_lookup_st;
3530#[repr(C)]
3531#[derive(Debug, Copy, Clone)]
3532pub struct x509_lookup_method_st {
3533    _unused: [u8; 0],
3534}
3535pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3536#[repr(C)]
3537#[derive(Debug, Copy, Clone)]
3538pub struct x509_object_st {
3539    _unused: [u8; 0],
3540}
3541pub type X509_OBJECT = x509_object_st;
3542#[repr(C)]
3543#[derive(Debug, Copy, Clone)]
3544pub struct x509_revoked_st {
3545    _unused: [u8; 0],
3546}
3547pub type X509_REVOKED = x509_revoked_st;
3548#[repr(C)]
3549#[derive(Debug, Copy, Clone)]
3550pub struct x509_st {
3551    _unused: [u8; 0],
3552}
3553pub type X509 = x509_st;
3554#[repr(C)]
3555#[derive(Debug, Copy, Clone)]
3556pub struct x509_store_ctx_st {
3557    _unused: [u8; 0],
3558}
3559pub type X509_STORE_CTX = x509_store_ctx_st;
3560#[repr(C)]
3561#[derive(Debug, Copy, Clone)]
3562pub struct x509_store_st {
3563    _unused: [u8; 0],
3564}
3565pub type X509_STORE = x509_store_st;
3566pub type X509_TRUST = x509_trust_st;
3567pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3568#[repr(C)]
3569#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3570pub struct aes_key_st {
3571    pub rd_key: [u32; 60usize],
3572    pub rounds: ::std::os::raw::c_uint,
3573}
3574#[test]
3575fn bindgen_test_layout_aes_key_st() {
3576    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3577    let ptr = UNINIT.as_ptr();
3578    assert_eq!(
3579        ::std::mem::size_of::<aes_key_st>(),
3580        244usize,
3581        "Size of aes_key_st"
3582    );
3583    assert_eq!(
3584        ::std::mem::align_of::<aes_key_st>(),
3585        4usize,
3586        "Alignment of aes_key_st"
3587    );
3588    assert_eq!(
3589        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3590        0usize,
3591        "Offset of field: aes_key_st::rd_key"
3592    );
3593    assert_eq!(
3594        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3595        240usize,
3596        "Offset of field: aes_key_st::rounds"
3597    );
3598}
3599impl Default for aes_key_st {
3600    fn default() -> Self {
3601        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3602        unsafe {
3603            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3604            s.assume_init()
3605        }
3606    }
3607}
3608pub type AES_KEY = aes_key_st;
3609extern "C" {
3610    #[link_name = "\u{1}aws_lc_0_37_1_AES_set_encrypt_key"]
3611    pub fn AES_set_encrypt_key(
3612        key: *const u8,
3613        bits: ::std::os::raw::c_uint,
3614        aeskey: *mut AES_KEY,
3615    ) -> ::std::os::raw::c_int;
3616}
3617extern "C" {
3618    #[link_name = "\u{1}aws_lc_0_37_1_AES_set_decrypt_key"]
3619    pub fn AES_set_decrypt_key(
3620        key: *const u8,
3621        bits: ::std::os::raw::c_uint,
3622        aeskey: *mut AES_KEY,
3623    ) -> ::std::os::raw::c_int;
3624}
3625extern "C" {
3626    #[link_name = "\u{1}aws_lc_0_37_1_AES_encrypt"]
3627    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3628}
3629extern "C" {
3630    #[link_name = "\u{1}aws_lc_0_37_1_AES_decrypt"]
3631    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3632}
3633extern "C" {
3634    #[link_name = "\u{1}aws_lc_0_37_1_AES_ctr128_encrypt"]
3635    pub fn AES_ctr128_encrypt(
3636        in_: *const u8,
3637        out: *mut u8,
3638        len: usize,
3639        key: *const AES_KEY,
3640        ivec: *mut u8,
3641        ecount_buf: *mut u8,
3642        num: *mut ::std::os::raw::c_uint,
3643    );
3644}
3645extern "C" {
3646    #[link_name = "\u{1}aws_lc_0_37_1_AES_ecb_encrypt"]
3647    pub fn AES_ecb_encrypt(
3648        in_: *const u8,
3649        out: *mut u8,
3650        key: *const AES_KEY,
3651        enc: ::std::os::raw::c_int,
3652    );
3653}
3654extern "C" {
3655    #[link_name = "\u{1}aws_lc_0_37_1_AES_cbc_encrypt"]
3656    pub fn AES_cbc_encrypt(
3657        in_: *const u8,
3658        out: *mut u8,
3659        len: usize,
3660        key: *const AES_KEY,
3661        ivec: *mut u8,
3662        enc: ::std::os::raw::c_int,
3663    );
3664}
3665extern "C" {
3666    #[link_name = "\u{1}aws_lc_0_37_1_AES_ofb128_encrypt"]
3667    pub fn AES_ofb128_encrypt(
3668        in_: *const u8,
3669        out: *mut u8,
3670        len: usize,
3671        key: *const AES_KEY,
3672        ivec: *mut u8,
3673        num: *mut ::std::os::raw::c_int,
3674    );
3675}
3676extern "C" {
3677    #[link_name = "\u{1}aws_lc_0_37_1_AES_cfb1_encrypt"]
3678    pub fn AES_cfb1_encrypt(
3679        in_: *const u8,
3680        out: *mut u8,
3681        bits: usize,
3682        key: *const AES_KEY,
3683        ivec: *mut u8,
3684        num: *mut ::std::os::raw::c_int,
3685        enc: ::std::os::raw::c_int,
3686    );
3687}
3688extern "C" {
3689    #[link_name = "\u{1}aws_lc_0_37_1_AES_cfb8_encrypt"]
3690    pub fn AES_cfb8_encrypt(
3691        in_: *const u8,
3692        out: *mut u8,
3693        len: usize,
3694        key: *const AES_KEY,
3695        ivec: *mut u8,
3696        num: *mut ::std::os::raw::c_int,
3697        enc: ::std::os::raw::c_int,
3698    );
3699}
3700extern "C" {
3701    #[link_name = "\u{1}aws_lc_0_37_1_AES_cfb128_encrypt"]
3702    pub fn AES_cfb128_encrypt(
3703        in_: *const u8,
3704        out: *mut u8,
3705        len: usize,
3706        key: *const AES_KEY,
3707        ivec: *mut u8,
3708        num: *mut ::std::os::raw::c_int,
3709        enc: ::std::os::raw::c_int,
3710    );
3711}
3712extern "C" {
3713    #[link_name = "\u{1}aws_lc_0_37_1_AES_wrap_key"]
3714    pub fn AES_wrap_key(
3715        key: *const AES_KEY,
3716        iv: *const u8,
3717        out: *mut u8,
3718        in_: *const u8,
3719        in_len: usize,
3720    ) -> ::std::os::raw::c_int;
3721}
3722extern "C" {
3723    #[link_name = "\u{1}aws_lc_0_37_1_AES_unwrap_key"]
3724    pub fn AES_unwrap_key(
3725        key: *const AES_KEY,
3726        iv: *const u8,
3727        out: *mut u8,
3728        in_: *const u8,
3729        in_len: usize,
3730    ) -> ::std::os::raw::c_int;
3731}
3732extern "C" {
3733    #[link_name = "\u{1}aws_lc_0_37_1_AES_wrap_key_padded"]
3734    pub fn AES_wrap_key_padded(
3735        key: *const AES_KEY,
3736        out: *mut u8,
3737        out_len: *mut usize,
3738        max_out: usize,
3739        in_: *const u8,
3740        in_len: usize,
3741    ) -> ::std::os::raw::c_int;
3742}
3743extern "C" {
3744    #[link_name = "\u{1}aws_lc_0_37_1_AES_unwrap_key_padded"]
3745    pub fn AES_unwrap_key_padded(
3746        key: *const AES_KEY,
3747        out: *mut u8,
3748        out_len: *mut usize,
3749        max_out: usize,
3750        in_: *const u8,
3751        in_len: usize,
3752    ) -> ::std::os::raw::c_int;
3753}
3754pub type __gnuc_va_list = __builtin_va_list;
3755#[repr(C)]
3756#[derive(Debug, Copy, Clone)]
3757pub struct _IO_marker {
3758    _unused: [u8; 0],
3759}
3760#[repr(C)]
3761#[derive(Debug, Copy, Clone)]
3762pub struct _IO_codecvt {
3763    _unused: [u8; 0],
3764}
3765#[repr(C)]
3766#[derive(Debug, Copy, Clone)]
3767pub struct _IO_wide_data {
3768    _unused: [u8; 0],
3769}
3770pub type _IO_lock_t = ::std::os::raw::c_void;
3771#[repr(C)]
3772#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3773pub struct _IO_FILE {
3774    pub _flags: ::std::os::raw::c_int,
3775    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3776    pub _IO_read_end: *mut ::std::os::raw::c_char,
3777    pub _IO_read_base: *mut ::std::os::raw::c_char,
3778    pub _IO_write_base: *mut ::std::os::raw::c_char,
3779    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3780    pub _IO_write_end: *mut ::std::os::raw::c_char,
3781    pub _IO_buf_base: *mut ::std::os::raw::c_char,
3782    pub _IO_buf_end: *mut ::std::os::raw::c_char,
3783    pub _IO_save_base: *mut ::std::os::raw::c_char,
3784    pub _IO_backup_base: *mut ::std::os::raw::c_char,
3785    pub _IO_save_end: *mut ::std::os::raw::c_char,
3786    pub _markers: *mut _IO_marker,
3787    pub _chain: *mut _IO_FILE,
3788    pub _fileno: ::std::os::raw::c_int,
3789    pub _flags2: ::std::os::raw::c_int,
3790    pub _old_offset: __off_t,
3791    pub _cur_column: ::std::os::raw::c_ushort,
3792    pub _vtable_offset: ::std::os::raw::c_schar,
3793    pub _shortbuf: [::std::os::raw::c_char; 1usize],
3794    pub _lock: *mut _IO_lock_t,
3795    pub _offset: __off64_t,
3796    pub _codecvt: *mut _IO_codecvt,
3797    pub _wide_data: *mut _IO_wide_data,
3798    pub _freeres_list: *mut _IO_FILE,
3799    pub _freeres_buf: *mut ::std::os::raw::c_void,
3800    pub __pad5: usize,
3801    pub _mode: ::std::os::raw::c_int,
3802    pub _unused2: [::std::os::raw::c_char; 20usize],
3803}
3804#[test]
3805fn bindgen_test_layout__IO_FILE() {
3806    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
3807    let ptr = UNINIT.as_ptr();
3808    assert_eq!(
3809        ::std::mem::size_of::<_IO_FILE>(),
3810        216usize,
3811        "Size of _IO_FILE"
3812    );
3813    assert_eq!(
3814        ::std::mem::align_of::<_IO_FILE>(),
3815        8usize,
3816        "Alignment of _IO_FILE"
3817    );
3818    assert_eq!(
3819        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
3820        0usize,
3821        "Offset of field: _IO_FILE::_flags"
3822    );
3823    assert_eq!(
3824        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
3825        8usize,
3826        "Offset of field: _IO_FILE::_IO_read_ptr"
3827    );
3828    assert_eq!(
3829        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
3830        16usize,
3831        "Offset of field: _IO_FILE::_IO_read_end"
3832    );
3833    assert_eq!(
3834        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
3835        24usize,
3836        "Offset of field: _IO_FILE::_IO_read_base"
3837    );
3838    assert_eq!(
3839        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
3840        32usize,
3841        "Offset of field: _IO_FILE::_IO_write_base"
3842    );
3843    assert_eq!(
3844        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
3845        40usize,
3846        "Offset of field: _IO_FILE::_IO_write_ptr"
3847    );
3848    assert_eq!(
3849        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
3850        48usize,
3851        "Offset of field: _IO_FILE::_IO_write_end"
3852    );
3853    assert_eq!(
3854        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
3855        56usize,
3856        "Offset of field: _IO_FILE::_IO_buf_base"
3857    );
3858    assert_eq!(
3859        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
3860        64usize,
3861        "Offset of field: _IO_FILE::_IO_buf_end"
3862    );
3863    assert_eq!(
3864        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
3865        72usize,
3866        "Offset of field: _IO_FILE::_IO_save_base"
3867    );
3868    assert_eq!(
3869        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
3870        80usize,
3871        "Offset of field: _IO_FILE::_IO_backup_base"
3872    );
3873    assert_eq!(
3874        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
3875        88usize,
3876        "Offset of field: _IO_FILE::_IO_save_end"
3877    );
3878    assert_eq!(
3879        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
3880        96usize,
3881        "Offset of field: _IO_FILE::_markers"
3882    );
3883    assert_eq!(
3884        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
3885        104usize,
3886        "Offset of field: _IO_FILE::_chain"
3887    );
3888    assert_eq!(
3889        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
3890        112usize,
3891        "Offset of field: _IO_FILE::_fileno"
3892    );
3893    assert_eq!(
3894        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
3895        116usize,
3896        "Offset of field: _IO_FILE::_flags2"
3897    );
3898    assert_eq!(
3899        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
3900        120usize,
3901        "Offset of field: _IO_FILE::_old_offset"
3902    );
3903    assert_eq!(
3904        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
3905        128usize,
3906        "Offset of field: _IO_FILE::_cur_column"
3907    );
3908    assert_eq!(
3909        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
3910        130usize,
3911        "Offset of field: _IO_FILE::_vtable_offset"
3912    );
3913    assert_eq!(
3914        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
3915        131usize,
3916        "Offset of field: _IO_FILE::_shortbuf"
3917    );
3918    assert_eq!(
3919        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
3920        136usize,
3921        "Offset of field: _IO_FILE::_lock"
3922    );
3923    assert_eq!(
3924        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
3925        144usize,
3926        "Offset of field: _IO_FILE::_offset"
3927    );
3928    assert_eq!(
3929        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
3930        152usize,
3931        "Offset of field: _IO_FILE::_codecvt"
3932    );
3933    assert_eq!(
3934        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
3935        160usize,
3936        "Offset of field: _IO_FILE::_wide_data"
3937    );
3938    assert_eq!(
3939        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
3940        168usize,
3941        "Offset of field: _IO_FILE::_freeres_list"
3942    );
3943    assert_eq!(
3944        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
3945        176usize,
3946        "Offset of field: _IO_FILE::_freeres_buf"
3947    );
3948    assert_eq!(
3949        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
3950        184usize,
3951        "Offset of field: _IO_FILE::__pad5"
3952    );
3953    assert_eq!(
3954        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
3955        192usize,
3956        "Offset of field: _IO_FILE::_mode"
3957    );
3958    assert_eq!(
3959        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
3960        196usize,
3961        "Offset of field: _IO_FILE::_unused2"
3962    );
3963}
3964impl Default for _IO_FILE {
3965    fn default() -> Self {
3966        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3967        unsafe {
3968            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3969            s.assume_init()
3970        }
3971    }
3972}
3973pub type va_list = __gnuc_va_list;
3974#[repr(C)]
3975#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3976pub struct buf_mem_st {
3977    pub length: usize,
3978    pub data: *mut ::std::os::raw::c_char,
3979    pub max: usize,
3980}
3981#[test]
3982fn bindgen_test_layout_buf_mem_st() {
3983    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
3984    let ptr = UNINIT.as_ptr();
3985    assert_eq!(
3986        ::std::mem::size_of::<buf_mem_st>(),
3987        24usize,
3988        "Size of buf_mem_st"
3989    );
3990    assert_eq!(
3991        ::std::mem::align_of::<buf_mem_st>(),
3992        8usize,
3993        "Alignment of buf_mem_st"
3994    );
3995    assert_eq!(
3996        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
3997        0usize,
3998        "Offset of field: buf_mem_st::length"
3999    );
4000    assert_eq!(
4001        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4002        8usize,
4003        "Offset of field: buf_mem_st::data"
4004    );
4005    assert_eq!(
4006        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
4007        16usize,
4008        "Offset of field: buf_mem_st::max"
4009    );
4010}
4011impl Default for buf_mem_st {
4012    fn default() -> Self {
4013        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4014        unsafe {
4015            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4016            s.assume_init()
4017        }
4018    }
4019}
4020extern "C" {
4021    #[link_name = "\u{1}aws_lc_0_37_1_SHA1_Init"]
4022    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4023}
4024extern "C" {
4025    #[link_name = "\u{1}aws_lc_0_37_1_SHA1_Update"]
4026    pub fn SHA1_Update(
4027        sha: *mut SHA_CTX,
4028        data: *const ::std::os::raw::c_void,
4029        len: usize,
4030    ) -> ::std::os::raw::c_int;
4031}
4032extern "C" {
4033    #[link_name = "\u{1}aws_lc_0_37_1_SHA1_Final"]
4034    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4035}
4036extern "C" {
4037    #[link_name = "\u{1}aws_lc_0_37_1_SHA1"]
4038    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4039}
4040extern "C" {
4041    #[link_name = "\u{1}aws_lc_0_37_1_SHA1_Transform"]
4042    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
4043}
4044#[repr(C)]
4045#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4046pub struct sha_state_st {
4047    pub h: [u32; 5usize],
4048    pub Nl: u32,
4049    pub Nh: u32,
4050    pub data: [u8; 64usize],
4051    pub num: ::std::os::raw::c_uint,
4052}
4053#[test]
4054fn bindgen_test_layout_sha_state_st() {
4055    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
4056    let ptr = UNINIT.as_ptr();
4057    assert_eq!(
4058        ::std::mem::size_of::<sha_state_st>(),
4059        96usize,
4060        "Size of sha_state_st"
4061    );
4062    assert_eq!(
4063        ::std::mem::align_of::<sha_state_st>(),
4064        4usize,
4065        "Alignment of sha_state_st"
4066    );
4067    assert_eq!(
4068        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4069        0usize,
4070        "Offset of field: sha_state_st::h"
4071    );
4072    assert_eq!(
4073        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4074        20usize,
4075        "Offset of field: sha_state_st::Nl"
4076    );
4077    assert_eq!(
4078        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4079        24usize,
4080        "Offset of field: sha_state_st::Nh"
4081    );
4082    assert_eq!(
4083        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4084        28usize,
4085        "Offset of field: sha_state_st::data"
4086    );
4087    assert_eq!(
4088        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4089        92usize,
4090        "Offset of field: sha_state_st::num"
4091    );
4092}
4093impl Default for sha_state_st {
4094    fn default() -> Self {
4095        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4096        unsafe {
4097            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4098            s.assume_init()
4099        }
4100    }
4101}
4102extern "C" {
4103    #[link_name = "\u{1}aws_lc_0_37_1_SHA224_Init"]
4104    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4105}
4106extern "C" {
4107    #[link_name = "\u{1}aws_lc_0_37_1_SHA224_Update"]
4108    pub fn SHA224_Update(
4109        sha: *mut SHA256_CTX,
4110        data: *const ::std::os::raw::c_void,
4111        len: usize,
4112    ) -> ::std::os::raw::c_int;
4113}
4114extern "C" {
4115    #[link_name = "\u{1}aws_lc_0_37_1_SHA224_Final"]
4116    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4117}
4118extern "C" {
4119    #[link_name = "\u{1}aws_lc_0_37_1_SHA224"]
4120    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4121}
4122extern "C" {
4123    #[link_name = "\u{1}aws_lc_0_37_1_SHA256_Init"]
4124    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4125}
4126extern "C" {
4127    #[link_name = "\u{1}aws_lc_0_37_1_SHA256_Update"]
4128    pub fn SHA256_Update(
4129        sha: *mut SHA256_CTX,
4130        data: *const ::std::os::raw::c_void,
4131        len: usize,
4132    ) -> ::std::os::raw::c_int;
4133}
4134extern "C" {
4135    #[link_name = "\u{1}aws_lc_0_37_1_SHA256_Final"]
4136    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4137}
4138extern "C" {
4139    #[link_name = "\u{1}aws_lc_0_37_1_SHA256"]
4140    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4141}
4142extern "C" {
4143    #[link_name = "\u{1}aws_lc_0_37_1_SHA256_Transform"]
4144    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4145}
4146extern "C" {
4147    #[link_name = "\u{1}aws_lc_0_37_1_SHA256_TransformBlocks"]
4148    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4149}
4150#[repr(C)]
4151#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4152pub struct sha256_state_st {
4153    pub h: [u32; 8usize],
4154    pub Nl: u32,
4155    pub Nh: u32,
4156    pub data: [u8; 64usize],
4157    pub num: ::std::os::raw::c_uint,
4158    pub md_len: ::std::os::raw::c_uint,
4159}
4160#[test]
4161fn bindgen_test_layout_sha256_state_st() {
4162    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4163    let ptr = UNINIT.as_ptr();
4164    assert_eq!(
4165        ::std::mem::size_of::<sha256_state_st>(),
4166        112usize,
4167        "Size of sha256_state_st"
4168    );
4169    assert_eq!(
4170        ::std::mem::align_of::<sha256_state_st>(),
4171        4usize,
4172        "Alignment of sha256_state_st"
4173    );
4174    assert_eq!(
4175        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4176        0usize,
4177        "Offset of field: sha256_state_st::h"
4178    );
4179    assert_eq!(
4180        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4181        32usize,
4182        "Offset of field: sha256_state_st::Nl"
4183    );
4184    assert_eq!(
4185        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4186        36usize,
4187        "Offset of field: sha256_state_st::Nh"
4188    );
4189    assert_eq!(
4190        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4191        40usize,
4192        "Offset of field: sha256_state_st::data"
4193    );
4194    assert_eq!(
4195        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4196        104usize,
4197        "Offset of field: sha256_state_st::num"
4198    );
4199    assert_eq!(
4200        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4201        108usize,
4202        "Offset of field: sha256_state_st::md_len"
4203    );
4204}
4205impl Default for sha256_state_st {
4206    fn default() -> Self {
4207        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4208        unsafe {
4209            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4210            s.assume_init()
4211        }
4212    }
4213}
4214extern "C" {
4215    #[link_name = "\u{1}aws_lc_0_37_1_SHA384_Init"]
4216    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4217}
4218extern "C" {
4219    #[link_name = "\u{1}aws_lc_0_37_1_SHA384_Update"]
4220    pub fn SHA384_Update(
4221        sha: *mut SHA512_CTX,
4222        data: *const ::std::os::raw::c_void,
4223        len: usize,
4224    ) -> ::std::os::raw::c_int;
4225}
4226extern "C" {
4227    #[link_name = "\u{1}aws_lc_0_37_1_SHA384_Final"]
4228    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4229}
4230extern "C" {
4231    #[link_name = "\u{1}aws_lc_0_37_1_SHA384"]
4232    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4233}
4234extern "C" {
4235    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_Init"]
4236    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4237}
4238extern "C" {
4239    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_Update"]
4240    pub fn SHA512_Update(
4241        sha: *mut SHA512_CTX,
4242        data: *const ::std::os::raw::c_void,
4243        len: usize,
4244    ) -> ::std::os::raw::c_int;
4245}
4246extern "C" {
4247    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_Final"]
4248    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4249}
4250extern "C" {
4251    #[link_name = "\u{1}aws_lc_0_37_1_SHA512"]
4252    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4253}
4254extern "C" {
4255    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_Transform"]
4256    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4257}
4258#[repr(C)]
4259#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4260pub struct sha512_state_st {
4261    pub h: [u64; 8usize],
4262    pub Nl: u64,
4263    pub Nh: u64,
4264    pub p: [u8; 128usize],
4265    pub num: ::std::os::raw::c_uint,
4266    pub md_len: ::std::os::raw::c_uint,
4267}
4268#[test]
4269fn bindgen_test_layout_sha512_state_st() {
4270    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4271    let ptr = UNINIT.as_ptr();
4272    assert_eq!(
4273        ::std::mem::size_of::<sha512_state_st>(),
4274        216usize,
4275        "Size of sha512_state_st"
4276    );
4277    assert_eq!(
4278        ::std::mem::align_of::<sha512_state_st>(),
4279        8usize,
4280        "Alignment of sha512_state_st"
4281    );
4282    assert_eq!(
4283        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4284        0usize,
4285        "Offset of field: sha512_state_st::h"
4286    );
4287    assert_eq!(
4288        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4289        64usize,
4290        "Offset of field: sha512_state_st::Nl"
4291    );
4292    assert_eq!(
4293        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4294        72usize,
4295        "Offset of field: sha512_state_st::Nh"
4296    );
4297    assert_eq!(
4298        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4299        80usize,
4300        "Offset of field: sha512_state_st::p"
4301    );
4302    assert_eq!(
4303        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4304        208usize,
4305        "Offset of field: sha512_state_st::num"
4306    );
4307    assert_eq!(
4308        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4309        212usize,
4310        "Offset of field: sha512_state_st::md_len"
4311    );
4312}
4313impl Default for sha512_state_st {
4314    fn default() -> Self {
4315        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4316        unsafe {
4317            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4318            s.assume_init()
4319        }
4320    }
4321}
4322extern "C" {
4323    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_224_Init"]
4324    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4325}
4326extern "C" {
4327    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_224_Update"]
4328    pub fn SHA512_224_Update(
4329        sha: *mut SHA512_CTX,
4330        data: *const ::std::os::raw::c_void,
4331        len: usize,
4332    ) -> ::std::os::raw::c_int;
4333}
4334extern "C" {
4335    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_224_Final"]
4336    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4337}
4338extern "C" {
4339    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_224"]
4340    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4341}
4342extern "C" {
4343    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_256_Init"]
4344    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4345}
4346extern "C" {
4347    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_256_Update"]
4348    pub fn SHA512_256_Update(
4349        sha: *mut SHA512_CTX,
4350        data: *const ::std::os::raw::c_void,
4351        len: usize,
4352    ) -> ::std::os::raw::c_int;
4353}
4354extern "C" {
4355    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_256_Final"]
4356    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4357}
4358extern "C" {
4359    #[link_name = "\u{1}aws_lc_0_37_1_SHA512_256"]
4360    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4361}
4362extern "C" {
4363    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_malloc"]
4364    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4365}
4366extern "C" {
4367    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_zalloc"]
4368    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4369}
4370extern "C" {
4371    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_calloc"]
4372    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4373}
4374extern "C" {
4375    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_realloc"]
4376    pub fn OPENSSL_realloc(
4377        ptr: *mut ::std::os::raw::c_void,
4378        new_size: usize,
4379    ) -> *mut ::std::os::raw::c_void;
4380}
4381extern "C" {
4382    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_free"]
4383    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4384}
4385extern "C" {
4386    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_cleanse"]
4387    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4388}
4389extern "C" {
4390    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_memcmp"]
4391    pub fn CRYPTO_memcmp(
4392        a: *const ::std::os::raw::c_void,
4393        b: *const ::std::os::raw::c_void,
4394        len: usize,
4395    ) -> ::std::os::raw::c_int;
4396}
4397extern "C" {
4398    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_hash32"]
4399    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4400}
4401extern "C" {
4402    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strhash"]
4403    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4404}
4405extern "C" {
4406    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strdup"]
4407    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4408}
4409extern "C" {
4410    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strnlen"]
4411    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4412}
4413extern "C" {
4414    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_isalpha"]
4415    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4416}
4417extern "C" {
4418    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_isdigit"]
4419    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4420}
4421extern "C" {
4422    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_isxdigit"]
4423    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4424}
4425extern "C" {
4426    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_fromxdigit"]
4427    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4428}
4429extern "C" {
4430    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_hexstr2buf"]
4431    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4432}
4433extern "C" {
4434    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_isalnum"]
4435    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4436}
4437extern "C" {
4438    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_tolower"]
4439    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4440}
4441extern "C" {
4442    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_isspace"]
4443    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4444}
4445extern "C" {
4446    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strcasecmp"]
4447    pub fn OPENSSL_strcasecmp(
4448        a: *const ::std::os::raw::c_char,
4449        b: *const ::std::os::raw::c_char,
4450    ) -> ::std::os::raw::c_int;
4451}
4452extern "C" {
4453    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strncasecmp"]
4454    pub fn OPENSSL_strncasecmp(
4455        a: *const ::std::os::raw::c_char,
4456        b: *const ::std::os::raw::c_char,
4457        n: usize,
4458    ) -> ::std::os::raw::c_int;
4459}
4460extern "C" {
4461    #[link_name = "\u{1}aws_lc_0_37_1_BIO_snprintf"]
4462    pub fn BIO_snprintf(
4463        buf: *mut ::std::os::raw::c_char,
4464        n: usize,
4465        format: *const ::std::os::raw::c_char,
4466        ...
4467    ) -> ::std::os::raw::c_int;
4468}
4469extern "C" {
4470    #[link_name = "\u{1}aws_lc_0_37_1_BIO_vsnprintf"]
4471    pub fn BIO_vsnprintf(
4472        buf: *mut ::std::os::raw::c_char,
4473        n: usize,
4474        format: *const ::std::os::raw::c_char,
4475        args: *mut __va_list_tag,
4476    ) -> ::std::os::raw::c_int;
4477}
4478extern "C" {
4479    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_vasprintf"]
4480    pub fn OPENSSL_vasprintf(
4481        str_: *mut *mut ::std::os::raw::c_char,
4482        format: *const ::std::os::raw::c_char,
4483        args: *mut __va_list_tag,
4484    ) -> ::std::os::raw::c_int;
4485}
4486extern "C" {
4487    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_asprintf"]
4488    pub fn OPENSSL_asprintf(
4489        str_: *mut *mut ::std::os::raw::c_char,
4490        format: *const ::std::os::raw::c_char,
4491        ...
4492    ) -> ::std::os::raw::c_int;
4493}
4494extern "C" {
4495    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strndup"]
4496    pub fn OPENSSL_strndup(
4497        str_: *const ::std::os::raw::c_char,
4498        size: usize,
4499    ) -> *mut ::std::os::raw::c_char;
4500}
4501extern "C" {
4502    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_memdup"]
4503    pub fn OPENSSL_memdup(
4504        data: *const ::std::os::raw::c_void,
4505        size: usize,
4506    ) -> *mut ::std::os::raw::c_void;
4507}
4508extern "C" {
4509    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strlcpy"]
4510    pub fn OPENSSL_strlcpy(
4511        dst: *mut ::std::os::raw::c_char,
4512        src: *const ::std::os::raw::c_char,
4513        dst_size: usize,
4514    ) -> usize;
4515}
4516extern "C" {
4517    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_strlcat"]
4518    pub fn OPENSSL_strlcat(
4519        dst: *mut ::std::os::raw::c_char,
4520        src: *const ::std::os::raw::c_char,
4521        dst_size: usize,
4522    ) -> usize;
4523}
4524extern "C" {
4525    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_malloc"]
4526    pub fn CRYPTO_malloc(
4527        size: usize,
4528        file: *const ::std::os::raw::c_char,
4529        line: ::std::os::raw::c_int,
4530    ) -> *mut ::std::os::raw::c_void;
4531}
4532extern "C" {
4533    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_realloc"]
4534    pub fn CRYPTO_realloc(
4535        ptr: *mut ::std::os::raw::c_void,
4536        new_size: usize,
4537        file: *const ::std::os::raw::c_char,
4538        line: ::std::os::raw::c_int,
4539    ) -> *mut ::std::os::raw::c_void;
4540}
4541extern "C" {
4542    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_free"]
4543    pub fn CRYPTO_free(
4544        ptr: *mut ::std::os::raw::c_void,
4545        file: *const ::std::os::raw::c_char,
4546        line: ::std::os::raw::c_int,
4547    );
4548}
4549extern "C" {
4550    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_clear_free"]
4551    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4552}
4553extern "C" {
4554    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_set_mem_functions"]
4555    pub fn CRYPTO_set_mem_functions(
4556        m: ::std::option::Option<
4557            unsafe extern "C" fn(
4558                arg1: usize,
4559                arg2: *const ::std::os::raw::c_char,
4560                arg3: ::std::os::raw::c_int,
4561            ) -> *mut ::std::os::raw::c_void,
4562        >,
4563        r: ::std::option::Option<
4564            unsafe extern "C" fn(
4565                arg1: *mut ::std::os::raw::c_void,
4566                arg2: usize,
4567                arg3: *const ::std::os::raw::c_char,
4568                arg4: ::std::os::raw::c_int,
4569            ) -> *mut ::std::os::raw::c_void,
4570        >,
4571        f: ::std::option::Option<
4572            unsafe extern "C" fn(
4573                arg1: *mut ::std::os::raw::c_void,
4574                arg2: *const ::std::os::raw::c_char,
4575                arg3: ::std::os::raw::c_int,
4576            ),
4577        >,
4578    ) -> ::std::os::raw::c_int;
4579}
4580extern "C" {
4581    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_secure_malloc_init"]
4582    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4583}
4584extern "C" {
4585    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_secure_malloc_initialized"]
4586    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4587}
4588extern "C" {
4589    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_secure_used"]
4590    pub fn CRYPTO_secure_used() -> usize;
4591}
4592extern "C" {
4593    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_secure_malloc"]
4594    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4595}
4596extern "C" {
4597    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_secure_zalloc"]
4598    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4599}
4600extern "C" {
4601    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_secure_clear_free"]
4602    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4603}
4604pub type CRYPTO_refcount_t = u32;
4605extern "C" {
4606    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_library_init"]
4607    pub fn CRYPTO_library_init();
4608}
4609extern "C" {
4610    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_is_confidential_build"]
4611    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4612}
4613extern "C" {
4614    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_has_asm"]
4615    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4616}
4617extern "C" {
4618    #[link_name = "\u{1}aws_lc_0_37_1_BORINGSSL_self_test"]
4619    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4620}
4621extern "C" {
4622    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4623}
4624extern "C" {
4625    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_pre_sandbox_init"]
4626    pub fn CRYPTO_pre_sandbox_init();
4627}
4628extern "C" {
4629    #[link_name = "\u{1}aws_lc_0_37_1_FIPS_mode"]
4630    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4631}
4632extern "C" {
4633    #[link_name = "\u{1}aws_lc_0_37_1_FIPS_is_entropy_cpu_jitter"]
4634    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4635}
4636pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
4637pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
4638pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
4639pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
4640pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
4641pub type fips_counter_t = ::std::os::raw::c_uint;
4642extern "C" {
4643    #[link_name = "\u{1}aws_lc_0_37_1_FIPS_read_counter"]
4644    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
4645}
4646extern "C" {
4647    #[link_name = "\u{1}aws_lc_0_37_1_OpenSSL_version"]
4648    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4649}
4650extern "C" {
4651    #[link_name = "\u{1}aws_lc_0_37_1_SSLeay_version"]
4652    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4653}
4654extern "C" {
4655    #[link_name = "\u{1}aws_lc_0_37_1_SSLeay"]
4656    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4657}
4658extern "C" {
4659    #[link_name = "\u{1}aws_lc_0_37_1_OpenSSL_version_num"]
4660    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4661}
4662extern "C" {
4663    #[link_name = "\u{1}aws_lc_0_37_1_awslc_api_version_num"]
4664    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4665}
4666extern "C" {
4667    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_malloc_init"]
4668    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4669}
4670extern "C" {
4671    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_malloc_init"]
4672    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4673}
4674extern "C" {
4675    #[link_name = "\u{1}aws_lc_0_37_1_ENGINE_load_builtin_engines"]
4676    pub fn ENGINE_load_builtin_engines();
4677}
4678extern "C" {
4679    #[link_name = "\u{1}aws_lc_0_37_1_ENGINE_register_all_ciphers"]
4680    pub fn ENGINE_register_all_ciphers();
4681}
4682extern "C" {
4683    #[link_name = "\u{1}aws_lc_0_37_1_ENGINE_register_all_digests"]
4684    pub fn ENGINE_register_all_digests();
4685}
4686extern "C" {
4687    #[link_name = "\u{1}aws_lc_0_37_1_ENGINE_register_all_complete"]
4688    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4689}
4690extern "C" {
4691    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_load_builtin_modules"]
4692    pub fn OPENSSL_load_builtin_modules();
4693}
4694extern "C" {
4695    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_init_crypto"]
4696    pub fn OPENSSL_init_crypto(
4697        opts: u64,
4698        settings: *const OPENSSL_INIT_SETTINGS,
4699    ) -> ::std::os::raw::c_int;
4700}
4701extern "C" {
4702    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_init"]
4703    pub fn OPENSSL_init();
4704}
4705extern "C" {
4706    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_cleanup"]
4707    pub fn OPENSSL_cleanup();
4708}
4709extern "C" {
4710    #[link_name = "\u{1}aws_lc_0_37_1_FIPS_mode_set"]
4711    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4712}
4713extern "C" {
4714    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_mem_ctrl"]
4715    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4716}
4717extern "C" {
4718    #[link_name = "\u{1}aws_lc_0_37_1_ERR_load_BIO_strings"]
4719    pub fn ERR_load_BIO_strings();
4720}
4721extern "C" {
4722    #[link_name = "\u{1}aws_lc_0_37_1_ERR_load_ERR_strings"]
4723    pub fn ERR_load_ERR_strings();
4724}
4725extern "C" {
4726    #[link_name = "\u{1}aws_lc_0_37_1_ERR_load_CRYPTO_strings"]
4727    pub fn ERR_load_CRYPTO_strings();
4728}
4729extern "C" {
4730    #[link_name = "\u{1}aws_lc_0_37_1_ERR_load_crypto_strings"]
4731    pub fn ERR_load_crypto_strings();
4732}
4733extern "C" {
4734    #[link_name = "\u{1}aws_lc_0_37_1_ERR_load_RAND_strings"]
4735    pub fn ERR_load_RAND_strings();
4736}
4737extern "C" {
4738    #[link_name = "\u{1}aws_lc_0_37_1_ERR_free_strings"]
4739    pub fn ERR_free_strings();
4740}
4741extern "C" {
4742    #[link_name = "\u{1}aws_lc_0_37_1_ERR_get_error"]
4743    pub fn ERR_get_error() -> u32;
4744}
4745extern "C" {
4746    #[link_name = "\u{1}aws_lc_0_37_1_ERR_get_error_line"]
4747    pub fn ERR_get_error_line(
4748        file: *mut *const ::std::os::raw::c_char,
4749        line: *mut ::std::os::raw::c_int,
4750    ) -> u32;
4751}
4752extern "C" {
4753    #[link_name = "\u{1}aws_lc_0_37_1_ERR_get_error_line_data"]
4754    pub fn ERR_get_error_line_data(
4755        file: *mut *const ::std::os::raw::c_char,
4756        line: *mut ::std::os::raw::c_int,
4757        data: *mut *const ::std::os::raw::c_char,
4758        flags: *mut ::std::os::raw::c_int,
4759    ) -> u32;
4760}
4761extern "C" {
4762    #[link_name = "\u{1}aws_lc_0_37_1_ERR_peek_error"]
4763    pub fn ERR_peek_error() -> u32;
4764}
4765extern "C" {
4766    #[link_name = "\u{1}aws_lc_0_37_1_ERR_peek_error_line"]
4767    pub fn ERR_peek_error_line(
4768        file: *mut *const ::std::os::raw::c_char,
4769        line: *mut ::std::os::raw::c_int,
4770    ) -> u32;
4771}
4772extern "C" {
4773    #[link_name = "\u{1}aws_lc_0_37_1_ERR_peek_error_line_data"]
4774    pub fn ERR_peek_error_line_data(
4775        file: *mut *const ::std::os::raw::c_char,
4776        line: *mut ::std::os::raw::c_int,
4777        data: *mut *const ::std::os::raw::c_char,
4778        flags: *mut ::std::os::raw::c_int,
4779    ) -> u32;
4780}
4781extern "C" {
4782    #[link_name = "\u{1}aws_lc_0_37_1_ERR_peek_last_error"]
4783    pub fn ERR_peek_last_error() -> u32;
4784}
4785extern "C" {
4786    #[link_name = "\u{1}aws_lc_0_37_1_ERR_peek_last_error_line"]
4787    pub fn ERR_peek_last_error_line(
4788        file: *mut *const ::std::os::raw::c_char,
4789        line: *mut ::std::os::raw::c_int,
4790    ) -> u32;
4791}
4792extern "C" {
4793    #[link_name = "\u{1}aws_lc_0_37_1_ERR_peek_last_error_line_data"]
4794    pub fn ERR_peek_last_error_line_data(
4795        file: *mut *const ::std::os::raw::c_char,
4796        line: *mut ::std::os::raw::c_int,
4797        data: *mut *const ::std::os::raw::c_char,
4798        flags: *mut ::std::os::raw::c_int,
4799    ) -> u32;
4800}
4801extern "C" {
4802    #[link_name = "\u{1}aws_lc_0_37_1_ERR_error_string_n"]
4803    pub fn ERR_error_string_n(
4804        packed_error: u32,
4805        buf: *mut ::std::os::raw::c_char,
4806        len: usize,
4807    ) -> *mut ::std::os::raw::c_char;
4808}
4809extern "C" {
4810    #[link_name = "\u{1}aws_lc_0_37_1_ERR_lib_error_string"]
4811    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4812}
4813extern "C" {
4814    #[link_name = "\u{1}aws_lc_0_37_1_ERR_reason_error_string"]
4815    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4816}
4817pub type ERR_print_errors_callback_t = ::std::option::Option<
4818    unsafe extern "C" fn(
4819        str_: *const ::std::os::raw::c_char,
4820        len: usize,
4821        ctx: *mut ::std::os::raw::c_void,
4822    ) -> ::std::os::raw::c_int,
4823>;
4824extern "C" {
4825    #[link_name = "\u{1}aws_lc_0_37_1_ERR_print_errors_cb"]
4826    pub fn ERR_print_errors_cb(
4827        callback: ERR_print_errors_callback_t,
4828        ctx: *mut ::std::os::raw::c_void,
4829    );
4830}
4831extern "C" {
4832    #[link_name = "\u{1}aws_lc_0_37_1_ERR_clear_error"]
4833    pub fn ERR_clear_error();
4834}
4835extern "C" {
4836    #[link_name = "\u{1}aws_lc_0_37_1_ERR_set_mark"]
4837    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4838}
4839extern "C" {
4840    #[link_name = "\u{1}aws_lc_0_37_1_ERR_pop_to_mark"]
4841    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4842}
4843extern "C" {
4844    #[link_name = "\u{1}aws_lc_0_37_1_ERR_get_next_error_library"]
4845    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4846}
4847extern "C" {
4848    #[link_name = "\u{1}aws_lc_0_37_1_ERR_remove_state"]
4849    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4850}
4851extern "C" {
4852    #[link_name = "\u{1}aws_lc_0_37_1_ERR_remove_thread_state"]
4853    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4854}
4855extern "C" {
4856    #[link_name = "\u{1}aws_lc_0_37_1_ERR_func_error_string"]
4857    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4858}
4859extern "C" {
4860    #[link_name = "\u{1}aws_lc_0_37_1_ERR_error_string"]
4861    pub fn ERR_error_string(
4862        packed_error: u32,
4863        buf: *mut ::std::os::raw::c_char,
4864    ) -> *mut ::std::os::raw::c_char;
4865}
4866extern "C" {
4867    #[link_name = "\u{1}aws_lc_0_37_1_ERR_clear_system_error"]
4868    pub fn ERR_clear_system_error();
4869}
4870extern "C" {
4871    #[link_name = "\u{1}aws_lc_0_37_1_ERR_put_error"]
4872    pub fn ERR_put_error(
4873        library: ::std::os::raw::c_int,
4874        unused: ::std::os::raw::c_int,
4875        reason: ::std::os::raw::c_int,
4876        file: *const ::std::os::raw::c_char,
4877        line: ::std::os::raw::c_uint,
4878    );
4879}
4880extern "C" {
4881    #[link_name = "\u{1}aws_lc_0_37_1_ERR_add_error_data"]
4882    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
4883}
4884extern "C" {
4885    #[link_name = "\u{1}aws_lc_0_37_1_ERR_add_error_dataf"]
4886    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
4887}
4888extern "C" {
4889    #[link_name = "\u{1}aws_lc_0_37_1_ERR_set_error_data"]
4890    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
4891}
4892#[repr(C)]
4893#[derive(Debug, Copy, Clone)]
4894pub struct stack_st_void {
4895    _unused: [u8; 0],
4896}
4897pub type CRYPTO_EX_DATA = crypto_ex_data_st;
4898pub type CRYPTO_EX_free = ::std::option::Option<
4899    unsafe extern "C" fn(
4900        parent: *mut ::std::os::raw::c_void,
4901        ptr: *mut ::std::os::raw::c_void,
4902        ad: *mut CRYPTO_EX_DATA,
4903        index: ::std::os::raw::c_int,
4904        argl: ::std::os::raw::c_long,
4905        argp: *mut ::std::os::raw::c_void,
4906    ),
4907>;
4908pub type CRYPTO_EX_dup = ::std::option::Option<
4909    unsafe extern "C" fn(
4910        to: *mut CRYPTO_EX_DATA,
4911        from: *const CRYPTO_EX_DATA,
4912        from_d: *mut *mut ::std::os::raw::c_void,
4913        index: ::std::os::raw::c_int,
4914        argl: ::std::os::raw::c_long,
4915        argp: *mut ::std::os::raw::c_void,
4916    ) -> ::std::os::raw::c_int,
4917>;
4918pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
4919#[repr(C)]
4920#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4921pub struct crypto_ex_data_st {
4922    pub sk: *mut stack_st_void,
4923}
4924#[test]
4925fn bindgen_test_layout_crypto_ex_data_st() {
4926    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
4927    let ptr = UNINIT.as_ptr();
4928    assert_eq!(
4929        ::std::mem::size_of::<crypto_ex_data_st>(),
4930        8usize,
4931        "Size of crypto_ex_data_st"
4932    );
4933    assert_eq!(
4934        ::std::mem::align_of::<crypto_ex_data_st>(),
4935        8usize,
4936        "Alignment of crypto_ex_data_st"
4937    );
4938    assert_eq!(
4939        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
4940        0usize,
4941        "Offset of field: crypto_ex_data_st::sk"
4942    );
4943}
4944impl Default for crypto_ex_data_st {
4945    fn default() -> Self {
4946        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4947        unsafe {
4948            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4949            s.assume_init()
4950        }
4951    }
4952}
4953pub type bio_info_cb = ::std::option::Option<
4954    unsafe extern "C" fn(
4955        b: *mut BIO,
4956        state: ::std::os::raw::c_int,
4957        res: ::std::os::raw::c_int,
4958    ) -> ::std::os::raw::c_long,
4959>;
4960pub type BIO_callback_fn_ex = ::std::option::Option<
4961    unsafe extern "C" fn(
4962        bio: *mut BIO,
4963        oper: ::std::os::raw::c_int,
4964        argp: *const ::std::os::raw::c_char,
4965        len: usize,
4966        argi: ::std::os::raw::c_int,
4967        argl: ::std::os::raw::c_long,
4968        bio_ret: ::std::os::raw::c_int,
4969        processed: *mut usize,
4970    ) -> ::std::os::raw::c_long,
4971>;
4972pub type BIO_callback_fn = ::std::option::Option<
4973    unsafe extern "C" fn(
4974        bio: *mut BIO,
4975        oper: ::std::os::raw::c_int,
4976        argp: *const ::std::os::raw::c_char,
4977        argi: ::std::os::raw::c_int,
4978        argl: ::std::os::raw::c_long,
4979        bio_ret: ::std::os::raw::c_long,
4980    ) -> ::std::os::raw::c_long,
4981>;
4982#[repr(C)]
4983#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4984pub struct bio_method_st {
4985    pub type_: ::std::os::raw::c_int,
4986    pub name: *const ::std::os::raw::c_char,
4987    pub bwrite: ::std::option::Option<
4988        unsafe extern "C" fn(
4989            arg1: *mut BIO,
4990            arg2: *const ::std::os::raw::c_char,
4991            arg3: ::std::os::raw::c_int,
4992        ) -> ::std::os::raw::c_int,
4993    >,
4994    pub bread: ::std::option::Option<
4995        unsafe extern "C" fn(
4996            arg1: *mut BIO,
4997            arg2: *mut ::std::os::raw::c_char,
4998            arg3: ::std::os::raw::c_int,
4999        ) -> ::std::os::raw::c_int,
5000    >,
5001    pub bputs: ::std::option::Option<
5002        unsafe extern "C" fn(
5003            arg1: *mut BIO,
5004            arg2: *const ::std::os::raw::c_char,
5005        ) -> ::std::os::raw::c_int,
5006    >,
5007    pub bgets: ::std::option::Option<
5008        unsafe extern "C" fn(
5009            arg1: *mut BIO,
5010            arg2: *mut ::std::os::raw::c_char,
5011            arg3: ::std::os::raw::c_int,
5012        ) -> ::std::os::raw::c_int,
5013    >,
5014    pub ctrl: ::std::option::Option<
5015        unsafe extern "C" fn(
5016            arg1: *mut BIO,
5017            arg2: ::std::os::raw::c_int,
5018            arg3: ::std::os::raw::c_long,
5019            arg4: *mut ::std::os::raw::c_void,
5020        ) -> ::std::os::raw::c_long,
5021    >,
5022    pub create:
5023        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5024    pub destroy:
5025        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5026    pub callback_ctrl: ::std::option::Option<
5027        unsafe extern "C" fn(
5028            arg1: *mut BIO,
5029            arg2: ::std::os::raw::c_int,
5030            arg3: bio_info_cb,
5031        ) -> ::std::os::raw::c_long,
5032    >,
5033}
5034#[test]
5035fn bindgen_test_layout_bio_method_st() {
5036    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
5037    let ptr = UNINIT.as_ptr();
5038    assert_eq!(
5039        ::std::mem::size_of::<bio_method_st>(),
5040        80usize,
5041        "Size of bio_method_st"
5042    );
5043    assert_eq!(
5044        ::std::mem::align_of::<bio_method_st>(),
5045        8usize,
5046        "Alignment of bio_method_st"
5047    );
5048    assert_eq!(
5049        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5050        0usize,
5051        "Offset of field: bio_method_st::type_"
5052    );
5053    assert_eq!(
5054        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
5055        8usize,
5056        "Offset of field: bio_method_st::name"
5057    );
5058    assert_eq!(
5059        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5060        16usize,
5061        "Offset of field: bio_method_st::bwrite"
5062    );
5063    assert_eq!(
5064        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5065        24usize,
5066        "Offset of field: bio_method_st::bread"
5067    );
5068    assert_eq!(
5069        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5070        32usize,
5071        "Offset of field: bio_method_st::bputs"
5072    );
5073    assert_eq!(
5074        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5075        40usize,
5076        "Offset of field: bio_method_st::bgets"
5077    );
5078    assert_eq!(
5079        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5080        48usize,
5081        "Offset of field: bio_method_st::ctrl"
5082    );
5083    assert_eq!(
5084        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5085        56usize,
5086        "Offset of field: bio_method_st::create"
5087    );
5088    assert_eq!(
5089        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5090        64usize,
5091        "Offset of field: bio_method_st::destroy"
5092    );
5093    assert_eq!(
5094        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5095        72usize,
5096        "Offset of field: bio_method_st::callback_ctrl"
5097    );
5098}
5099impl Default for bio_method_st {
5100    fn default() -> Self {
5101        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5102        unsafe {
5103            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5104            s.assume_init()
5105        }
5106    }
5107}
5108#[repr(C)]
5109#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5110pub struct bio_st {
5111    pub method: *const BIO_METHOD,
5112    pub ex_data: CRYPTO_EX_DATA,
5113    pub callback_ex: BIO_callback_fn_ex,
5114    pub callback: BIO_callback_fn,
5115    pub cb_arg: *mut ::std::os::raw::c_char,
5116    pub init: ::std::os::raw::c_int,
5117    pub shutdown: ::std::os::raw::c_int,
5118    pub flags: ::std::os::raw::c_int,
5119    pub retry_reason: ::std::os::raw::c_int,
5120    pub num: ::std::os::raw::c_int,
5121    pub references: CRYPTO_refcount_t,
5122    pub ptr: *mut ::std::os::raw::c_void,
5123    pub next_bio: *mut BIO,
5124    pub num_read: u64,
5125    pub num_write: u64,
5126}
5127#[test]
5128fn bindgen_test_layout_bio_st() {
5129    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5130    let ptr = UNINIT.as_ptr();
5131    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5132    assert_eq!(
5133        ::std::mem::align_of::<bio_st>(),
5134        8usize,
5135        "Alignment of bio_st"
5136    );
5137    assert_eq!(
5138        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5139        0usize,
5140        "Offset of field: bio_st::method"
5141    );
5142    assert_eq!(
5143        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5144        8usize,
5145        "Offset of field: bio_st::ex_data"
5146    );
5147    assert_eq!(
5148        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5149        16usize,
5150        "Offset of field: bio_st::callback_ex"
5151    );
5152    assert_eq!(
5153        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5154        24usize,
5155        "Offset of field: bio_st::callback"
5156    );
5157    assert_eq!(
5158        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5159        32usize,
5160        "Offset of field: bio_st::cb_arg"
5161    );
5162    assert_eq!(
5163        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5164        40usize,
5165        "Offset of field: bio_st::init"
5166    );
5167    assert_eq!(
5168        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5169        44usize,
5170        "Offset of field: bio_st::shutdown"
5171    );
5172    assert_eq!(
5173        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5174        48usize,
5175        "Offset of field: bio_st::flags"
5176    );
5177    assert_eq!(
5178        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5179        52usize,
5180        "Offset of field: bio_st::retry_reason"
5181    );
5182    assert_eq!(
5183        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5184        56usize,
5185        "Offset of field: bio_st::num"
5186    );
5187    assert_eq!(
5188        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5189        60usize,
5190        "Offset of field: bio_st::references"
5191    );
5192    assert_eq!(
5193        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5194        64usize,
5195        "Offset of field: bio_st::ptr"
5196    );
5197    assert_eq!(
5198        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5199        72usize,
5200        "Offset of field: bio_st::next_bio"
5201    );
5202    assert_eq!(
5203        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5204        80usize,
5205        "Offset of field: bio_st::num_read"
5206    );
5207    assert_eq!(
5208        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5209        88usize,
5210        "Offset of field: bio_st::num_write"
5211    );
5212}
5213impl Default for bio_st {
5214    fn default() -> Self {
5215        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5216        unsafe {
5217            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5218            s.assume_init()
5219        }
5220    }
5221}
5222pub type BN_ULONG = u64;
5223extern "C" {
5224    #[link_name = "\u{1}aws_lc_0_37_1_BN_new"]
5225    pub fn BN_new() -> *mut BIGNUM;
5226}
5227extern "C" {
5228    #[link_name = "\u{1}aws_lc_0_37_1_BN_init"]
5229    pub fn BN_init(bn: *mut BIGNUM);
5230}
5231extern "C" {
5232    #[link_name = "\u{1}aws_lc_0_37_1_BN_free"]
5233    pub fn BN_free(bn: *mut BIGNUM);
5234}
5235extern "C" {
5236    #[link_name = "\u{1}aws_lc_0_37_1_BN_clear_free"]
5237    pub fn BN_clear_free(bn: *mut BIGNUM);
5238}
5239extern "C" {
5240    #[link_name = "\u{1}aws_lc_0_37_1_BN_dup"]
5241    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5242}
5243extern "C" {
5244    #[link_name = "\u{1}aws_lc_0_37_1_BN_copy"]
5245    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5246}
5247extern "C" {
5248    #[link_name = "\u{1}aws_lc_0_37_1_BN_clear"]
5249    pub fn BN_clear(bn: *mut BIGNUM);
5250}
5251extern "C" {
5252    #[link_name = "\u{1}aws_lc_0_37_1_BN_value_one"]
5253    pub fn BN_value_one() -> *const BIGNUM;
5254}
5255extern "C" {
5256    #[link_name = "\u{1}aws_lc_0_37_1_BN_num_bits"]
5257    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5258}
5259extern "C" {
5260    #[link_name = "\u{1}aws_lc_0_37_1_BN_num_bytes"]
5261    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5262}
5263extern "C" {
5264    #[link_name = "\u{1}aws_lc_0_37_1_BN_get_minimal_width"]
5265    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5266}
5267extern "C" {
5268    #[link_name = "\u{1}aws_lc_0_37_1_BN_zero"]
5269    pub fn BN_zero(bn: *mut BIGNUM);
5270}
5271extern "C" {
5272    #[link_name = "\u{1}aws_lc_0_37_1_BN_one"]
5273    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5274}
5275extern "C" {
5276    #[link_name = "\u{1}aws_lc_0_37_1_BN_set_word"]
5277    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5278}
5279extern "C" {
5280    #[link_name = "\u{1}aws_lc_0_37_1_BN_set_u64"]
5281    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5282}
5283extern "C" {
5284    #[link_name = "\u{1}aws_lc_0_37_1_BN_set_negative"]
5285    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5286}
5287extern "C" {
5288    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_negative"]
5289    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5290}
5291extern "C" {
5292    #[link_name = "\u{1}aws_lc_0_37_1_BN_bin2bn"]
5293    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5294}
5295extern "C" {
5296    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2bin"]
5297    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5298}
5299extern "C" {
5300    #[link_name = "\u{1}aws_lc_0_37_1_BN_le2bn"]
5301    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5302}
5303extern "C" {
5304    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2le_padded"]
5305    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5306}
5307extern "C" {
5308    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2bin_padded"]
5309    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5310}
5311extern "C" {
5312    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2cbb_padded"]
5313    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5314        -> ::std::os::raw::c_int;
5315}
5316extern "C" {
5317    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2hex"]
5318    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5319}
5320extern "C" {
5321    #[link_name = "\u{1}aws_lc_0_37_1_BN_hex2bn"]
5322    pub fn BN_hex2bn(
5323        outp: *mut *mut BIGNUM,
5324        in_: *const ::std::os::raw::c_char,
5325    ) -> ::std::os::raw::c_int;
5326}
5327extern "C" {
5328    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2dec"]
5329    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5330}
5331extern "C" {
5332    #[link_name = "\u{1}aws_lc_0_37_1_BN_dec2bn"]
5333    pub fn BN_dec2bn(
5334        outp: *mut *mut BIGNUM,
5335        in_: *const ::std::os::raw::c_char,
5336    ) -> ::std::os::raw::c_int;
5337}
5338extern "C" {
5339    #[link_name = "\u{1}aws_lc_0_37_1_BN_asc2bn"]
5340    pub fn BN_asc2bn(
5341        outp: *mut *mut BIGNUM,
5342        in_: *const ::std::os::raw::c_char,
5343    ) -> ::std::os::raw::c_int;
5344}
5345extern "C" {
5346    #[link_name = "\u{1}aws_lc_0_37_1_BN_print"]
5347    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5348}
5349extern "C" {
5350    #[link_name = "\u{1}aws_lc_0_37_1_BN_get_word"]
5351    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5352}
5353extern "C" {
5354    #[link_name = "\u{1}aws_lc_0_37_1_BN_get_u64"]
5355    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5356}
5357extern "C" {
5358    #[link_name = "\u{1}aws_lc_0_37_1_BN_get_flags"]
5359    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5360}
5361extern "C" {
5362    #[link_name = "\u{1}aws_lc_0_37_1_BN_parse_asn1_unsigned"]
5363    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5364}
5365extern "C" {
5366    #[link_name = "\u{1}aws_lc_0_37_1_BN_marshal_asn1"]
5367    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5368}
5369extern "C" {
5370    #[link_name = "\u{1}aws_lc_0_37_1_BN_CTX_new"]
5371    pub fn BN_CTX_new() -> *mut BN_CTX;
5372}
5373extern "C" {
5374    #[link_name = "\u{1}aws_lc_0_37_1_BN_CTX_free"]
5375    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5376}
5377extern "C" {
5378    #[link_name = "\u{1}aws_lc_0_37_1_BN_CTX_start"]
5379    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5380}
5381extern "C" {
5382    #[link_name = "\u{1}aws_lc_0_37_1_BN_CTX_get"]
5383    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5384}
5385extern "C" {
5386    #[link_name = "\u{1}aws_lc_0_37_1_BN_CTX_end"]
5387    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5388}
5389extern "C" {
5390    #[link_name = "\u{1}aws_lc_0_37_1_BN_add"]
5391    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5392}
5393extern "C" {
5394    #[link_name = "\u{1}aws_lc_0_37_1_BN_uadd"]
5395    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5396}
5397extern "C" {
5398    #[link_name = "\u{1}aws_lc_0_37_1_BN_add_word"]
5399    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5400}
5401extern "C" {
5402    #[link_name = "\u{1}aws_lc_0_37_1_BN_sub"]
5403    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5404}
5405extern "C" {
5406    #[link_name = "\u{1}aws_lc_0_37_1_BN_usub"]
5407    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5408}
5409extern "C" {
5410    #[link_name = "\u{1}aws_lc_0_37_1_BN_sub_word"]
5411    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5412}
5413extern "C" {
5414    #[link_name = "\u{1}aws_lc_0_37_1_BN_mul"]
5415    pub fn BN_mul(
5416        r: *mut BIGNUM,
5417        a: *const BIGNUM,
5418        b: *const BIGNUM,
5419        ctx: *mut BN_CTX,
5420    ) -> ::std::os::raw::c_int;
5421}
5422extern "C" {
5423    #[link_name = "\u{1}aws_lc_0_37_1_BN_mul_word"]
5424    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5425}
5426extern "C" {
5427    #[link_name = "\u{1}aws_lc_0_37_1_BN_sqr"]
5428    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5429}
5430extern "C" {
5431    #[link_name = "\u{1}aws_lc_0_37_1_BN_div"]
5432    pub fn BN_div(
5433        quotient: *mut BIGNUM,
5434        rem: *mut BIGNUM,
5435        numerator: *const BIGNUM,
5436        divisor: *const BIGNUM,
5437        ctx: *mut BN_CTX,
5438    ) -> ::std::os::raw::c_int;
5439}
5440extern "C" {
5441    #[link_name = "\u{1}aws_lc_0_37_1_BN_div_word"]
5442    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5443}
5444extern "C" {
5445    #[link_name = "\u{1}aws_lc_0_37_1_BN_sqrt"]
5446    pub fn BN_sqrt(
5447        out_sqrt: *mut BIGNUM,
5448        in_: *const BIGNUM,
5449        ctx: *mut BN_CTX,
5450    ) -> ::std::os::raw::c_int;
5451}
5452extern "C" {
5453    #[link_name = "\u{1}aws_lc_0_37_1_BN_cmp"]
5454    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5455}
5456extern "C" {
5457    #[link_name = "\u{1}aws_lc_0_37_1_BN_cmp_word"]
5458    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5459}
5460extern "C" {
5461    #[link_name = "\u{1}aws_lc_0_37_1_BN_ucmp"]
5462    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5463}
5464extern "C" {
5465    #[link_name = "\u{1}aws_lc_0_37_1_BN_equal_consttime"]
5466    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5467}
5468extern "C" {
5469    #[link_name = "\u{1}aws_lc_0_37_1_BN_abs_is_word"]
5470    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5471}
5472extern "C" {
5473    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_zero"]
5474    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5475}
5476extern "C" {
5477    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_one"]
5478    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5479}
5480extern "C" {
5481    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_word"]
5482    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5483}
5484extern "C" {
5485    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_odd"]
5486    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5487}
5488extern "C" {
5489    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_pow2"]
5490    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5491}
5492extern "C" {
5493    #[link_name = "\u{1}aws_lc_0_37_1_BN_lshift"]
5494    pub fn BN_lshift(
5495        r: *mut BIGNUM,
5496        a: *const BIGNUM,
5497        n: ::std::os::raw::c_int,
5498    ) -> ::std::os::raw::c_int;
5499}
5500extern "C" {
5501    #[link_name = "\u{1}aws_lc_0_37_1_BN_lshift1"]
5502    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5503}
5504extern "C" {
5505    #[link_name = "\u{1}aws_lc_0_37_1_BN_rshift"]
5506    pub fn BN_rshift(
5507        r: *mut BIGNUM,
5508        a: *const BIGNUM,
5509        n: ::std::os::raw::c_int,
5510    ) -> ::std::os::raw::c_int;
5511}
5512extern "C" {
5513    #[link_name = "\u{1}aws_lc_0_37_1_BN_rshift1"]
5514    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5515}
5516extern "C" {
5517    #[link_name = "\u{1}aws_lc_0_37_1_BN_set_bit"]
5518    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5519}
5520extern "C" {
5521    #[link_name = "\u{1}aws_lc_0_37_1_BN_clear_bit"]
5522    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5523}
5524extern "C" {
5525    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_bit_set"]
5526    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5527}
5528extern "C" {
5529    #[link_name = "\u{1}aws_lc_0_37_1_BN_mask_bits"]
5530    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5531}
5532extern "C" {
5533    #[link_name = "\u{1}aws_lc_0_37_1_BN_count_low_zero_bits"]
5534    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5535}
5536extern "C" {
5537    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_word"]
5538    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5539}
5540extern "C" {
5541    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_pow2"]
5542    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5543}
5544extern "C" {
5545    #[link_name = "\u{1}aws_lc_0_37_1_BN_nnmod_pow2"]
5546    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5547}
5548extern "C" {
5549    #[link_name = "\u{1}aws_lc_0_37_1_BN_nnmod"]
5550    pub fn BN_nnmod(
5551        rem: *mut BIGNUM,
5552        numerator: *const BIGNUM,
5553        divisor: *const BIGNUM,
5554        ctx: *mut BN_CTX,
5555    ) -> ::std::os::raw::c_int;
5556}
5557extern "C" {
5558    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_add"]
5559    pub fn BN_mod_add(
5560        r: *mut BIGNUM,
5561        a: *const BIGNUM,
5562        b: *const BIGNUM,
5563        m: *const BIGNUM,
5564        ctx: *mut BN_CTX,
5565    ) -> ::std::os::raw::c_int;
5566}
5567extern "C" {
5568    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_add_quick"]
5569    pub fn BN_mod_add_quick(
5570        r: *mut BIGNUM,
5571        a: *const BIGNUM,
5572        b: *const BIGNUM,
5573        m: *const BIGNUM,
5574    ) -> ::std::os::raw::c_int;
5575}
5576extern "C" {
5577    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_sub"]
5578    pub fn BN_mod_sub(
5579        r: *mut BIGNUM,
5580        a: *const BIGNUM,
5581        b: *const BIGNUM,
5582        m: *const BIGNUM,
5583        ctx: *mut BN_CTX,
5584    ) -> ::std::os::raw::c_int;
5585}
5586extern "C" {
5587    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_sub_quick"]
5588    pub fn BN_mod_sub_quick(
5589        r: *mut BIGNUM,
5590        a: *const BIGNUM,
5591        b: *const BIGNUM,
5592        m: *const BIGNUM,
5593    ) -> ::std::os::raw::c_int;
5594}
5595extern "C" {
5596    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_mul"]
5597    pub fn BN_mod_mul(
5598        r: *mut BIGNUM,
5599        a: *const BIGNUM,
5600        b: *const BIGNUM,
5601        m: *const BIGNUM,
5602        ctx: *mut BN_CTX,
5603    ) -> ::std::os::raw::c_int;
5604}
5605extern "C" {
5606    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_sqr"]
5607    pub fn BN_mod_sqr(
5608        r: *mut BIGNUM,
5609        a: *const BIGNUM,
5610        m: *const BIGNUM,
5611        ctx: *mut BN_CTX,
5612    ) -> ::std::os::raw::c_int;
5613}
5614extern "C" {
5615    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_lshift"]
5616    pub fn BN_mod_lshift(
5617        r: *mut BIGNUM,
5618        a: *const BIGNUM,
5619        n: ::std::os::raw::c_int,
5620        m: *const BIGNUM,
5621        ctx: *mut BN_CTX,
5622    ) -> ::std::os::raw::c_int;
5623}
5624extern "C" {
5625    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_lshift_quick"]
5626    pub fn BN_mod_lshift_quick(
5627        r: *mut BIGNUM,
5628        a: *const BIGNUM,
5629        n: ::std::os::raw::c_int,
5630        m: *const BIGNUM,
5631    ) -> ::std::os::raw::c_int;
5632}
5633extern "C" {
5634    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_lshift1"]
5635    pub fn BN_mod_lshift1(
5636        r: *mut BIGNUM,
5637        a: *const BIGNUM,
5638        m: *const BIGNUM,
5639        ctx: *mut BN_CTX,
5640    ) -> ::std::os::raw::c_int;
5641}
5642extern "C" {
5643    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_lshift1_quick"]
5644    pub fn BN_mod_lshift1_quick(
5645        r: *mut BIGNUM,
5646        a: *const BIGNUM,
5647        m: *const BIGNUM,
5648    ) -> ::std::os::raw::c_int;
5649}
5650extern "C" {
5651    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_sqrt"]
5652    pub fn BN_mod_sqrt(
5653        in_: *mut BIGNUM,
5654        a: *const BIGNUM,
5655        p: *const BIGNUM,
5656        ctx: *mut BN_CTX,
5657    ) -> *mut BIGNUM;
5658}
5659extern "C" {
5660    #[link_name = "\u{1}aws_lc_0_37_1_BN_rand"]
5661    pub fn BN_rand(
5662        rnd: *mut BIGNUM,
5663        bits: ::std::os::raw::c_int,
5664        top: ::std::os::raw::c_int,
5665        bottom: ::std::os::raw::c_int,
5666    ) -> ::std::os::raw::c_int;
5667}
5668extern "C" {
5669    #[link_name = "\u{1}aws_lc_0_37_1_BN_pseudo_rand"]
5670    pub fn BN_pseudo_rand(
5671        rnd: *mut BIGNUM,
5672        bits: ::std::os::raw::c_int,
5673        top: ::std::os::raw::c_int,
5674        bottom: ::std::os::raw::c_int,
5675    ) -> ::std::os::raw::c_int;
5676}
5677extern "C" {
5678    #[link_name = "\u{1}aws_lc_0_37_1_BN_rand_range"]
5679    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5680}
5681extern "C" {
5682    #[link_name = "\u{1}aws_lc_0_37_1_BN_rand_range_ex"]
5683    pub fn BN_rand_range_ex(
5684        r: *mut BIGNUM,
5685        min_inclusive: BN_ULONG,
5686        max_exclusive: *const BIGNUM,
5687    ) -> ::std::os::raw::c_int;
5688}
5689extern "C" {
5690    #[link_name = "\u{1}aws_lc_0_37_1_BN_pseudo_rand_range"]
5691    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5692}
5693#[repr(C)]
5694#[derive(Copy, Clone)]
5695pub struct bn_gencb_st {
5696    pub type_: u8,
5697    pub arg: *mut ::std::os::raw::c_void,
5698    pub callback: bn_gencb_st__bindgen_ty_1,
5699}
5700#[repr(C)]
5701#[derive(Copy, Clone)]
5702pub union bn_gencb_st__bindgen_ty_1 {
5703    pub new_style: ::std::option::Option<
5704        unsafe extern "C" fn(
5705            event: ::std::os::raw::c_int,
5706            n: ::std::os::raw::c_int,
5707            arg1: *mut bn_gencb_st,
5708        ) -> ::std::os::raw::c_int,
5709    >,
5710    pub old_style: ::std::option::Option<
5711        unsafe extern "C" fn(
5712            arg1: ::std::os::raw::c_int,
5713            arg2: ::std::os::raw::c_int,
5714            arg3: *mut ::std::os::raw::c_void,
5715        ),
5716    >,
5717}
5718#[test]
5719fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5720    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5721        ::std::mem::MaybeUninit::uninit();
5722    let ptr = UNINIT.as_ptr();
5723    assert_eq!(
5724        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5725        8usize,
5726        "Size of bn_gencb_st__bindgen_ty_1"
5727    );
5728    assert_eq!(
5729        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5730        8usize,
5731        "Alignment of bn_gencb_st__bindgen_ty_1"
5732    );
5733    assert_eq!(
5734        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5735        0usize,
5736        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5737    );
5738    assert_eq!(
5739        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5740        0usize,
5741        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5742    );
5743}
5744impl Default for bn_gencb_st__bindgen_ty_1 {
5745    fn default() -> Self {
5746        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5747        unsafe {
5748            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5749            s.assume_init()
5750        }
5751    }
5752}
5753#[test]
5754fn bindgen_test_layout_bn_gencb_st() {
5755    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5756    let ptr = UNINIT.as_ptr();
5757    assert_eq!(
5758        ::std::mem::size_of::<bn_gencb_st>(),
5759        24usize,
5760        "Size of bn_gencb_st"
5761    );
5762    assert_eq!(
5763        ::std::mem::align_of::<bn_gencb_st>(),
5764        8usize,
5765        "Alignment of bn_gencb_st"
5766    );
5767    assert_eq!(
5768        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5769        0usize,
5770        "Offset of field: bn_gencb_st::type_"
5771    );
5772    assert_eq!(
5773        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5774        8usize,
5775        "Offset of field: bn_gencb_st::arg"
5776    );
5777    assert_eq!(
5778        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5779        16usize,
5780        "Offset of field: bn_gencb_st::callback"
5781    );
5782}
5783impl Default for bn_gencb_st {
5784    fn default() -> Self {
5785        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5786        unsafe {
5787            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5788            s.assume_init()
5789        }
5790    }
5791}
5792extern "C" {
5793    #[link_name = "\u{1}aws_lc_0_37_1_BN_GENCB_new"]
5794    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5795}
5796extern "C" {
5797    #[link_name = "\u{1}aws_lc_0_37_1_BN_GENCB_free"]
5798    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5799}
5800extern "C" {
5801    #[link_name = "\u{1}aws_lc_0_37_1_BN_GENCB_set"]
5802    pub fn BN_GENCB_set(
5803        callback: *mut BN_GENCB,
5804        f: ::std::option::Option<
5805            unsafe extern "C" fn(
5806                event: ::std::os::raw::c_int,
5807                n: ::std::os::raw::c_int,
5808                arg1: *mut BN_GENCB,
5809            ) -> ::std::os::raw::c_int,
5810        >,
5811        arg: *mut ::std::os::raw::c_void,
5812    );
5813}
5814extern "C" {
5815    #[link_name = "\u{1}aws_lc_0_37_1_BN_GENCB_call"]
5816    pub fn BN_GENCB_call(
5817        callback: *mut BN_GENCB,
5818        event: ::std::os::raw::c_int,
5819        n: ::std::os::raw::c_int,
5820    ) -> ::std::os::raw::c_int;
5821}
5822extern "C" {
5823    #[link_name = "\u{1}aws_lc_0_37_1_BN_GENCB_get_arg"]
5824    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5825}
5826extern "C" {
5827    #[link_name = "\u{1}aws_lc_0_37_1_BN_generate_prime_ex"]
5828    pub fn BN_generate_prime_ex(
5829        ret: *mut BIGNUM,
5830        bits: ::std::os::raw::c_int,
5831        safe: ::std::os::raw::c_int,
5832        add: *const BIGNUM,
5833        rem: *const BIGNUM,
5834        cb: *mut BN_GENCB,
5835    ) -> ::std::os::raw::c_int;
5836}
5837pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5838pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5839pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5840pub type bn_primality_result_t = ::std::os::raw::c_uint;
5841extern "C" {
5842    #[link_name = "\u{1}aws_lc_0_37_1_BN_enhanced_miller_rabin_primality_test"]
5843    pub fn BN_enhanced_miller_rabin_primality_test(
5844        out_result: *mut bn_primality_result_t,
5845        w: *const BIGNUM,
5846        checks: ::std::os::raw::c_int,
5847        ctx: *mut BN_CTX,
5848        cb: *mut BN_GENCB,
5849    ) -> ::std::os::raw::c_int;
5850}
5851extern "C" {
5852    #[link_name = "\u{1}aws_lc_0_37_1_BN_primality_test"]
5853    pub fn BN_primality_test(
5854        is_probably_prime: *mut ::std::os::raw::c_int,
5855        candidate: *const BIGNUM,
5856        checks: ::std::os::raw::c_int,
5857        ctx: *mut BN_CTX,
5858        do_trial_division: ::std::os::raw::c_int,
5859        cb: *mut BN_GENCB,
5860    ) -> ::std::os::raw::c_int;
5861}
5862extern "C" {
5863    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_prime_fasttest_ex"]
5864    pub fn BN_is_prime_fasttest_ex(
5865        candidate: *const BIGNUM,
5866        checks: ::std::os::raw::c_int,
5867        ctx: *mut BN_CTX,
5868        do_trial_division: ::std::os::raw::c_int,
5869        cb: *mut BN_GENCB,
5870    ) -> ::std::os::raw::c_int;
5871}
5872extern "C" {
5873    #[link_name = "\u{1}aws_lc_0_37_1_BN_is_prime_ex"]
5874    pub fn BN_is_prime_ex(
5875        candidate: *const BIGNUM,
5876        checks: ::std::os::raw::c_int,
5877        ctx: *mut BN_CTX,
5878        cb: *mut BN_GENCB,
5879    ) -> ::std::os::raw::c_int;
5880}
5881extern "C" {
5882    #[link_name = "\u{1}aws_lc_0_37_1_BN_gcd"]
5883    pub fn BN_gcd(
5884        r: *mut BIGNUM,
5885        a: *const BIGNUM,
5886        b: *const BIGNUM,
5887        ctx: *mut BN_CTX,
5888    ) -> ::std::os::raw::c_int;
5889}
5890extern "C" {
5891    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_inverse"]
5892    pub fn BN_mod_inverse(
5893        out: *mut BIGNUM,
5894        a: *const BIGNUM,
5895        n: *const BIGNUM,
5896        ctx: *mut BN_CTX,
5897    ) -> *mut BIGNUM;
5898}
5899extern "C" {
5900    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_inverse_blinded"]
5901    pub fn BN_mod_inverse_blinded(
5902        out: *mut BIGNUM,
5903        out_no_inverse: *mut ::std::os::raw::c_int,
5904        a: *const BIGNUM,
5905        mont: *const BN_MONT_CTX,
5906        ctx: *mut BN_CTX,
5907    ) -> ::std::os::raw::c_int;
5908}
5909extern "C" {
5910    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_inverse_odd"]
5911    pub fn BN_mod_inverse_odd(
5912        out: *mut BIGNUM,
5913        out_no_inverse: *mut ::std::os::raw::c_int,
5914        a: *const BIGNUM,
5915        n: *const BIGNUM,
5916        ctx: *mut BN_CTX,
5917    ) -> ::std::os::raw::c_int;
5918}
5919extern "C" {
5920    #[link_name = "\u{1}aws_lc_0_37_1_BN_MONT_CTX_new_for_modulus"]
5921    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5922}
5923extern "C" {
5924    #[link_name = "\u{1}aws_lc_0_37_1_BN_MONT_CTX_new_consttime"]
5925    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5926}
5927extern "C" {
5928    #[link_name = "\u{1}aws_lc_0_37_1_BN_MONT_CTX_free"]
5929    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
5930}
5931extern "C" {
5932    #[link_name = "\u{1}aws_lc_0_37_1_BN_MONT_CTX_copy"]
5933    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
5934}
5935extern "C" {
5936    #[link_name = "\u{1}aws_lc_0_37_1_BN_to_montgomery"]
5937    pub fn BN_to_montgomery(
5938        ret: *mut BIGNUM,
5939        a: *const BIGNUM,
5940        mont: *const BN_MONT_CTX,
5941        ctx: *mut BN_CTX,
5942    ) -> ::std::os::raw::c_int;
5943}
5944extern "C" {
5945    #[link_name = "\u{1}aws_lc_0_37_1_BN_from_montgomery"]
5946    pub fn BN_from_montgomery(
5947        ret: *mut BIGNUM,
5948        a: *const BIGNUM,
5949        mont: *const BN_MONT_CTX,
5950        ctx: *mut BN_CTX,
5951    ) -> ::std::os::raw::c_int;
5952}
5953extern "C" {
5954    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_mul_montgomery"]
5955    pub fn BN_mod_mul_montgomery(
5956        r: *mut BIGNUM,
5957        a: *const BIGNUM,
5958        b: *const BIGNUM,
5959        mont: *const BN_MONT_CTX,
5960        ctx: *mut BN_CTX,
5961    ) -> ::std::os::raw::c_int;
5962}
5963extern "C" {
5964    #[link_name = "\u{1}aws_lc_0_37_1_BN_exp"]
5965    pub fn BN_exp(
5966        r: *mut BIGNUM,
5967        a: *const BIGNUM,
5968        p: *const BIGNUM,
5969        ctx: *mut BN_CTX,
5970    ) -> ::std::os::raw::c_int;
5971}
5972extern "C" {
5973    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_exp"]
5974    pub fn BN_mod_exp(
5975        r: *mut BIGNUM,
5976        a: *const BIGNUM,
5977        p: *const BIGNUM,
5978        m: *const BIGNUM,
5979        ctx: *mut BN_CTX,
5980    ) -> ::std::os::raw::c_int;
5981}
5982extern "C" {
5983    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_exp_mont"]
5984    pub fn BN_mod_exp_mont(
5985        r: *mut BIGNUM,
5986        a: *const BIGNUM,
5987        p: *const BIGNUM,
5988        m: *const BIGNUM,
5989        ctx: *mut BN_CTX,
5990        mont: *const BN_MONT_CTX,
5991    ) -> ::std::os::raw::c_int;
5992}
5993extern "C" {
5994    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_exp_mont_consttime"]
5995    pub fn BN_mod_exp_mont_consttime(
5996        rr: *mut BIGNUM,
5997        a: *const BIGNUM,
5998        p: *const BIGNUM,
5999        m: *const BIGNUM,
6000        ctx: *mut BN_CTX,
6001        mont: *const BN_MONT_CTX,
6002    ) -> ::std::os::raw::c_int;
6003}
6004extern "C" {
6005    #[link_name = "\u{1}aws_lc_0_37_1_BN_GENCB_set_old"]
6006    pub fn BN_GENCB_set_old(
6007        callback: *mut BN_GENCB,
6008        f: ::std::option::Option<
6009            unsafe extern "C" fn(
6010                arg1: ::std::os::raw::c_int,
6011                arg2: ::std::os::raw::c_int,
6012                arg3: *mut ::std::os::raw::c_void,
6013            ),
6014        >,
6015        cb_arg: *mut ::std::os::raw::c_void,
6016    );
6017}
6018extern "C" {
6019    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2mpi"]
6020    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
6021}
6022extern "C" {
6023    #[link_name = "\u{1}aws_lc_0_37_1_BN_mpi2bn"]
6024    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
6025}
6026extern "C" {
6027    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_exp_mont_word"]
6028    pub fn BN_mod_exp_mont_word(
6029        r: *mut BIGNUM,
6030        a: BN_ULONG,
6031        p: *const BIGNUM,
6032        m: *const BIGNUM,
6033        ctx: *mut BN_CTX,
6034        mont: *const BN_MONT_CTX,
6035    ) -> ::std::os::raw::c_int;
6036}
6037extern "C" {
6038    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_exp2_mont"]
6039    pub fn BN_mod_exp2_mont(
6040        r: *mut BIGNUM,
6041        a1: *const BIGNUM,
6042        p1: *const BIGNUM,
6043        a2: *const BIGNUM,
6044        p2: *const BIGNUM,
6045        m: *const BIGNUM,
6046        ctx: *mut BN_CTX,
6047        mont: *const BN_MONT_CTX,
6048    ) -> ::std::os::raw::c_int;
6049}
6050extern "C" {
6051    #[link_name = "\u{1}aws_lc_0_37_1_BN_MONT_CTX_new"]
6052    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
6053}
6054extern "C" {
6055    #[link_name = "\u{1}aws_lc_0_37_1_BN_MONT_CTX_set"]
6056    pub fn BN_MONT_CTX_set(
6057        mont: *mut BN_MONT_CTX,
6058        mod_: *const BIGNUM,
6059        ctx: *mut BN_CTX,
6060    ) -> ::std::os::raw::c_int;
6061}
6062extern "C" {
6063    #[link_name = "\u{1}aws_lc_0_37_1_BN_bn2binpad"]
6064    pub fn BN_bn2binpad(
6065        in_: *const BIGNUM,
6066        out: *mut u8,
6067        len: ::std::os::raw::c_int,
6068    ) -> ::std::os::raw::c_int;
6069}
6070extern "C" {
6071    #[link_name = "\u{1}aws_lc_0_37_1_BN_secure_new"]
6072    pub fn BN_secure_new() -> *mut BIGNUM;
6073}
6074extern "C" {
6075    #[link_name = "\u{1}aws_lc_0_37_1_BN_CTX_secure_new"]
6076    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6077}
6078extern "C" {
6079    #[link_name = "\u{1}aws_lc_0_37_1_BN_mod_exp_mont_consttime_x2"]
6080    pub fn BN_mod_exp_mont_consttime_x2(
6081        rr1: *mut BIGNUM,
6082        a1: *const BIGNUM,
6083        p1: *const BIGNUM,
6084        m1: *const BIGNUM,
6085        in_mont1: *const BN_MONT_CTX,
6086        rr2: *mut BIGNUM,
6087        a2: *const BIGNUM,
6088        p2: *const BIGNUM,
6089        m2: *const BIGNUM,
6090        in_mont2: *const BN_MONT_CTX,
6091        ctx: *mut BN_CTX,
6092    ) -> ::std::os::raw::c_int;
6093}
6094extern "C" {
6095    #[link_name = "\u{1}aws_lc_0_37_1_BN_set_flags"]
6096    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6097}
6098#[repr(C)]
6099#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6100pub struct bignum_st {
6101    pub d: *mut BN_ULONG,
6102    pub width: ::std::os::raw::c_int,
6103    pub dmax: ::std::os::raw::c_int,
6104    pub neg: ::std::os::raw::c_int,
6105    pub flags: ::std::os::raw::c_int,
6106}
6107#[test]
6108fn bindgen_test_layout_bignum_st() {
6109    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6110    let ptr = UNINIT.as_ptr();
6111    assert_eq!(
6112        ::std::mem::size_of::<bignum_st>(),
6113        24usize,
6114        "Size of bignum_st"
6115    );
6116    assert_eq!(
6117        ::std::mem::align_of::<bignum_st>(),
6118        8usize,
6119        "Alignment of bignum_st"
6120    );
6121    assert_eq!(
6122        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6123        0usize,
6124        "Offset of field: bignum_st::d"
6125    );
6126    assert_eq!(
6127        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6128        8usize,
6129        "Offset of field: bignum_st::width"
6130    );
6131    assert_eq!(
6132        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6133        12usize,
6134        "Offset of field: bignum_st::dmax"
6135    );
6136    assert_eq!(
6137        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6138        16usize,
6139        "Offset of field: bignum_st::neg"
6140    );
6141    assert_eq!(
6142        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6143        20usize,
6144        "Offset of field: bignum_st::flags"
6145    );
6146}
6147impl Default for bignum_st {
6148    fn default() -> Self {
6149        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6150        unsafe {
6151            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6152            s.assume_init()
6153        }
6154    }
6155}
6156#[repr(C)]
6157#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6158pub struct bn_mont_ctx_st {
6159    pub RR: BIGNUM,
6160    pub N: BIGNUM,
6161    pub n0: [BN_ULONG; 2usize],
6162}
6163#[test]
6164fn bindgen_test_layout_bn_mont_ctx_st() {
6165    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6166    let ptr = UNINIT.as_ptr();
6167    assert_eq!(
6168        ::std::mem::size_of::<bn_mont_ctx_st>(),
6169        64usize,
6170        "Size of bn_mont_ctx_st"
6171    );
6172    assert_eq!(
6173        ::std::mem::align_of::<bn_mont_ctx_st>(),
6174        8usize,
6175        "Alignment of bn_mont_ctx_st"
6176    );
6177    assert_eq!(
6178        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6179        0usize,
6180        "Offset of field: bn_mont_ctx_st::RR"
6181    );
6182    assert_eq!(
6183        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6184        24usize,
6185        "Offset of field: bn_mont_ctx_st::N"
6186    );
6187    assert_eq!(
6188        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6189        48usize,
6190        "Offset of field: bn_mont_ctx_st::n0"
6191    );
6192}
6193impl Default for bn_mont_ctx_st {
6194    fn default() -> Self {
6195        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6196        unsafe {
6197            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6198            s.assume_init()
6199        }
6200    }
6201}
6202extern "C" {
6203    #[link_name = "\u{1}aws_lc_0_37_1_BN_num_bits_word"]
6204    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6205}
6206#[repr(C)]
6207#[derive(Debug, Copy, Clone)]
6208pub struct ASN1_VALUE_st {
6209    _unused: [u8; 0],
6210}
6211pub type ASN1_VALUE = ASN1_VALUE_st;
6212#[repr(C)]
6213#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6214pub struct asn1_string_st {
6215    pub length: ::std::os::raw::c_int,
6216    pub type_: ::std::os::raw::c_int,
6217    pub data: *mut ::std::os::raw::c_uchar,
6218    pub flags: ::std::os::raw::c_long,
6219}
6220#[test]
6221fn bindgen_test_layout_asn1_string_st() {
6222    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6223    let ptr = UNINIT.as_ptr();
6224    assert_eq!(
6225        ::std::mem::size_of::<asn1_string_st>(),
6226        24usize,
6227        "Size of asn1_string_st"
6228    );
6229    assert_eq!(
6230        ::std::mem::align_of::<asn1_string_st>(),
6231        8usize,
6232        "Alignment of asn1_string_st"
6233    );
6234    assert_eq!(
6235        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6236        0usize,
6237        "Offset of field: asn1_string_st::length"
6238    );
6239    assert_eq!(
6240        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6241        4usize,
6242        "Offset of field: asn1_string_st::type_"
6243    );
6244    assert_eq!(
6245        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6246        8usize,
6247        "Offset of field: asn1_string_st::data"
6248    );
6249    assert_eq!(
6250        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6251        16usize,
6252        "Offset of field: asn1_string_st::flags"
6253    );
6254}
6255impl Default for asn1_string_st {
6256    fn default() -> Self {
6257        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6258        unsafe {
6259            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6260            s.assume_init()
6261        }
6262    }
6263}
6264#[repr(C)]
6265#[derive(Copy, Clone)]
6266pub struct asn1_type_st {
6267    pub type_: ::std::os::raw::c_int,
6268    pub value: asn1_type_st__bindgen_ty_1,
6269}
6270#[repr(C)]
6271#[derive(Copy, Clone)]
6272pub union asn1_type_st__bindgen_ty_1 {
6273    pub ptr: *mut ::std::os::raw::c_char,
6274    pub boolean: ASN1_BOOLEAN,
6275    pub asn1_string: *mut ASN1_STRING,
6276    pub object: *mut ASN1_OBJECT,
6277    pub integer: *mut ASN1_INTEGER,
6278    pub enumerated: *mut ASN1_ENUMERATED,
6279    pub bit_string: *mut ASN1_BIT_STRING,
6280    pub octet_string: *mut ASN1_OCTET_STRING,
6281    pub printablestring: *mut ASN1_PRINTABLESTRING,
6282    pub t61string: *mut ASN1_T61STRING,
6283    pub ia5string: *mut ASN1_IA5STRING,
6284    pub generalstring: *mut ASN1_GENERALSTRING,
6285    pub bmpstring: *mut ASN1_BMPSTRING,
6286    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6287    pub utctime: *mut ASN1_UTCTIME,
6288    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6289    pub visiblestring: *mut ASN1_VISIBLESTRING,
6290    pub utf8string: *mut ASN1_UTF8STRING,
6291    pub set: *mut ASN1_STRING,
6292    pub sequence: *mut ASN1_STRING,
6293    pub asn1_value: *mut ASN1_VALUE,
6294}
6295#[test]
6296fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6297    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6298        ::std::mem::MaybeUninit::uninit();
6299    let ptr = UNINIT.as_ptr();
6300    assert_eq!(
6301        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6302        8usize,
6303        "Size of asn1_type_st__bindgen_ty_1"
6304    );
6305    assert_eq!(
6306        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6307        8usize,
6308        "Alignment of asn1_type_st__bindgen_ty_1"
6309    );
6310    assert_eq!(
6311        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6312        0usize,
6313        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6314    );
6315    assert_eq!(
6316        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6317        0usize,
6318        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6319    );
6320    assert_eq!(
6321        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6322        0usize,
6323        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6324    );
6325    assert_eq!(
6326        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6327        0usize,
6328        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6329    );
6330    assert_eq!(
6331        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6332        0usize,
6333        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6334    );
6335    assert_eq!(
6336        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6337        0usize,
6338        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6339    );
6340    assert_eq!(
6341        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6342        0usize,
6343        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6344    );
6345    assert_eq!(
6346        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6347        0usize,
6348        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6349    );
6350    assert_eq!(
6351        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6352        0usize,
6353        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6354    );
6355    assert_eq!(
6356        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6357        0usize,
6358        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6359    );
6360    assert_eq!(
6361        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6362        0usize,
6363        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6364    );
6365    assert_eq!(
6366        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6367        0usize,
6368        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6369    );
6370    assert_eq!(
6371        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6372        0usize,
6373        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6374    );
6375    assert_eq!(
6376        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6377        0usize,
6378        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6379    );
6380    assert_eq!(
6381        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6382        0usize,
6383        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6384    );
6385    assert_eq!(
6386        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6387        0usize,
6388        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6389    );
6390    assert_eq!(
6391        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6392        0usize,
6393        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6394    );
6395    assert_eq!(
6396        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6397        0usize,
6398        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6399    );
6400    assert_eq!(
6401        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6402        0usize,
6403        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6404    );
6405    assert_eq!(
6406        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6407        0usize,
6408        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6409    );
6410    assert_eq!(
6411        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6412        0usize,
6413        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6414    );
6415}
6416impl Default for asn1_type_st__bindgen_ty_1 {
6417    fn default() -> Self {
6418        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6419        unsafe {
6420            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6421            s.assume_init()
6422        }
6423    }
6424}
6425#[test]
6426fn bindgen_test_layout_asn1_type_st() {
6427    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6428    let ptr = UNINIT.as_ptr();
6429    assert_eq!(
6430        ::std::mem::size_of::<asn1_type_st>(),
6431        16usize,
6432        "Size of asn1_type_st"
6433    );
6434    assert_eq!(
6435        ::std::mem::align_of::<asn1_type_st>(),
6436        8usize,
6437        "Alignment of asn1_type_st"
6438    );
6439    assert_eq!(
6440        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6441        0usize,
6442        "Offset of field: asn1_type_st::type_"
6443    );
6444    assert_eq!(
6445        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6446        8usize,
6447        "Offset of field: asn1_type_st::value"
6448    );
6449}
6450impl Default for asn1_type_st {
6451    fn default() -> Self {
6452        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6453        unsafe {
6454            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6455            s.assume_init()
6456        }
6457    }
6458}
6459pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6460#[repr(C)]
6461#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6462pub struct ASN1_TEMPLATE_st {
6463    pub flags: u32,
6464    pub tag: ::std::os::raw::c_int,
6465    pub offset: ::std::os::raw::c_ulong,
6466    pub field_name: *const ::std::os::raw::c_char,
6467    pub item: *const ASN1_ITEM_st,
6468}
6469#[test]
6470fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6471    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6472    let ptr = UNINIT.as_ptr();
6473    assert_eq!(
6474        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6475        32usize,
6476        "Size of ASN1_TEMPLATE_st"
6477    );
6478    assert_eq!(
6479        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6480        8usize,
6481        "Alignment of ASN1_TEMPLATE_st"
6482    );
6483    assert_eq!(
6484        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6485        0usize,
6486        "Offset of field: ASN1_TEMPLATE_st::flags"
6487    );
6488    assert_eq!(
6489        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6490        4usize,
6491        "Offset of field: ASN1_TEMPLATE_st::tag"
6492    );
6493    assert_eq!(
6494        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6495        8usize,
6496        "Offset of field: ASN1_TEMPLATE_st::offset"
6497    );
6498    assert_eq!(
6499        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6500        16usize,
6501        "Offset of field: ASN1_TEMPLATE_st::field_name"
6502    );
6503    assert_eq!(
6504        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6505        24usize,
6506        "Offset of field: ASN1_TEMPLATE_st::item"
6507    );
6508}
6509impl Default for ASN1_TEMPLATE_st {
6510    fn default() -> Self {
6511        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6512        unsafe {
6513            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6514            s.assume_init()
6515        }
6516    }
6517}
6518#[repr(C)]
6519#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6520pub struct ASN1_ITEM_st {
6521    pub itype: ::std::os::raw::c_char,
6522    pub utype: ::std::os::raw::c_int,
6523    pub templates: *const ASN1_TEMPLATE,
6524    pub tcount: ::std::os::raw::c_long,
6525    pub funcs: *const ::std::os::raw::c_void,
6526    pub size: ::std::os::raw::c_long,
6527    pub sname: *const ::std::os::raw::c_char,
6528}
6529#[test]
6530fn bindgen_test_layout_ASN1_ITEM_st() {
6531    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6532    let ptr = UNINIT.as_ptr();
6533    assert_eq!(
6534        ::std::mem::size_of::<ASN1_ITEM_st>(),
6535        48usize,
6536        "Size of ASN1_ITEM_st"
6537    );
6538    assert_eq!(
6539        ::std::mem::align_of::<ASN1_ITEM_st>(),
6540        8usize,
6541        "Alignment of ASN1_ITEM_st"
6542    );
6543    assert_eq!(
6544        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6545        0usize,
6546        "Offset of field: ASN1_ITEM_st::itype"
6547    );
6548    assert_eq!(
6549        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6550        4usize,
6551        "Offset of field: ASN1_ITEM_st::utype"
6552    );
6553    assert_eq!(
6554        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6555        8usize,
6556        "Offset of field: ASN1_ITEM_st::templates"
6557    );
6558    assert_eq!(
6559        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6560        16usize,
6561        "Offset of field: ASN1_ITEM_st::tcount"
6562    );
6563    assert_eq!(
6564        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6565        24usize,
6566        "Offset of field: ASN1_ITEM_st::funcs"
6567    );
6568    assert_eq!(
6569        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6570        32usize,
6571        "Offset of field: ASN1_ITEM_st::size"
6572    );
6573    assert_eq!(
6574        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6575        40usize,
6576        "Offset of field: ASN1_ITEM_st::sname"
6577    );
6578}
6579impl Default for ASN1_ITEM_st {
6580    fn default() -> Self {
6581        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6582        unsafe {
6583            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6584            s.assume_init()
6585        }
6586    }
6587}
6588#[repr(C)]
6589#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6590pub struct evp_encode_ctx_st {
6591    pub data_used: ::std::os::raw::c_uint,
6592    pub data: [u8; 48usize],
6593    pub eof_seen: ::std::os::raw::c_char,
6594    pub error_encountered: ::std::os::raw::c_char,
6595}
6596#[test]
6597fn bindgen_test_layout_evp_encode_ctx_st() {
6598    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6599    let ptr = UNINIT.as_ptr();
6600    assert_eq!(
6601        ::std::mem::size_of::<evp_encode_ctx_st>(),
6602        56usize,
6603        "Size of evp_encode_ctx_st"
6604    );
6605    assert_eq!(
6606        ::std::mem::align_of::<evp_encode_ctx_st>(),
6607        4usize,
6608        "Alignment of evp_encode_ctx_st"
6609    );
6610    assert_eq!(
6611        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6612        0usize,
6613        "Offset of field: evp_encode_ctx_st::data_used"
6614    );
6615    assert_eq!(
6616        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6617        4usize,
6618        "Offset of field: evp_encode_ctx_st::data"
6619    );
6620    assert_eq!(
6621        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6622        52usize,
6623        "Offset of field: evp_encode_ctx_st::eof_seen"
6624    );
6625    assert_eq!(
6626        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6627        53usize,
6628        "Offset of field: evp_encode_ctx_st::error_encountered"
6629    );
6630}
6631impl Default for evp_encode_ctx_st {
6632    fn default() -> Self {
6633        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6634        unsafe {
6635            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6636            s.assume_init()
6637        }
6638    }
6639}
6640#[repr(C)]
6641#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6642pub struct blake2b_state_st {
6643    pub h: [u64; 8usize],
6644    pub t_low: u64,
6645    pub t_high: u64,
6646    pub block: [u8; 128usize],
6647    pub block_used: usize,
6648}
6649#[test]
6650fn bindgen_test_layout_blake2b_state_st() {
6651    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6652    let ptr = UNINIT.as_ptr();
6653    assert_eq!(
6654        ::std::mem::size_of::<blake2b_state_st>(),
6655        216usize,
6656        "Size of blake2b_state_st"
6657    );
6658    assert_eq!(
6659        ::std::mem::align_of::<blake2b_state_st>(),
6660        8usize,
6661        "Alignment of blake2b_state_st"
6662    );
6663    assert_eq!(
6664        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6665        0usize,
6666        "Offset of field: blake2b_state_st::h"
6667    );
6668    assert_eq!(
6669        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6670        64usize,
6671        "Offset of field: blake2b_state_st::t_low"
6672    );
6673    assert_eq!(
6674        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6675        72usize,
6676        "Offset of field: blake2b_state_st::t_high"
6677    );
6678    assert_eq!(
6679        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6680        80usize,
6681        "Offset of field: blake2b_state_st::block"
6682    );
6683    assert_eq!(
6684        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6685        208usize,
6686        "Offset of field: blake2b_state_st::block_used"
6687    );
6688}
6689impl Default for blake2b_state_st {
6690    fn default() -> Self {
6691        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6692        unsafe {
6693            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6694            s.assume_init()
6695        }
6696    }
6697}
6698#[repr(C)]
6699#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6700pub struct cbs_st {
6701    pub data: *const u8,
6702    pub len: usize,
6703}
6704#[test]
6705fn bindgen_test_layout_cbs_st() {
6706    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6707    let ptr = UNINIT.as_ptr();
6708    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6709    assert_eq!(
6710        ::std::mem::align_of::<cbs_st>(),
6711        8usize,
6712        "Alignment of cbs_st"
6713    );
6714    assert_eq!(
6715        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6716        0usize,
6717        "Offset of field: cbs_st::data"
6718    );
6719    assert_eq!(
6720        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6721        8usize,
6722        "Offset of field: cbs_st::len"
6723    );
6724}
6725impl Default for cbs_st {
6726    fn default() -> Self {
6727        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6728        unsafe {
6729            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6730            s.assume_init()
6731        }
6732    }
6733}
6734extern "C" {
6735    #[link_name = "\u{1}aws_lc_0_37_1_CBS_init"]
6736    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6737}
6738extern "C" {
6739    #[link_name = "\u{1}aws_lc_0_37_1_CBS_skip"]
6740    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6741}
6742extern "C" {
6743    #[link_name = "\u{1}aws_lc_0_37_1_CBS_data"]
6744    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6745}
6746extern "C" {
6747    #[link_name = "\u{1}aws_lc_0_37_1_CBS_len"]
6748    pub fn CBS_len(cbs: *const CBS) -> usize;
6749}
6750extern "C" {
6751    #[link_name = "\u{1}aws_lc_0_37_1_CBS_stow"]
6752    pub fn CBS_stow(
6753        cbs: *const CBS,
6754        out_ptr: *mut *mut u8,
6755        out_len: *mut usize,
6756    ) -> ::std::os::raw::c_int;
6757}
6758extern "C" {
6759    #[link_name = "\u{1}aws_lc_0_37_1_CBS_strdup"]
6760    pub fn CBS_strdup(
6761        cbs: *const CBS,
6762        out_ptr: *mut *mut ::std::os::raw::c_char,
6763    ) -> ::std::os::raw::c_int;
6764}
6765extern "C" {
6766    #[link_name = "\u{1}aws_lc_0_37_1_CBS_contains_zero_byte"]
6767    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6768}
6769extern "C" {
6770    #[link_name = "\u{1}aws_lc_0_37_1_CBS_mem_equal"]
6771    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6772}
6773extern "C" {
6774    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u8"]
6775    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6776}
6777extern "C" {
6778    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u16"]
6779    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6780}
6781extern "C" {
6782    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u16le"]
6783    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6784}
6785extern "C" {
6786    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u24"]
6787    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6788}
6789extern "C" {
6790    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u32"]
6791    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6792}
6793extern "C" {
6794    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u32le"]
6795    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6796}
6797extern "C" {
6798    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u64"]
6799    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6800}
6801extern "C" {
6802    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u64le"]
6803    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6804}
6805extern "C" {
6806    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_last_u8"]
6807    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6808}
6809extern "C" {
6810    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_bytes"]
6811    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6812}
6813extern "C" {
6814    #[link_name = "\u{1}aws_lc_0_37_1_CBS_copy_bytes"]
6815    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6816}
6817extern "C" {
6818    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u8_length_prefixed"]
6819    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6820}
6821extern "C" {
6822    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u16_length_prefixed"]
6823    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6824}
6825extern "C" {
6826    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u24_length_prefixed"]
6827    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6828}
6829extern "C" {
6830    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_until_first"]
6831    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6832}
6833extern "C" {
6834    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_u64_decimal"]
6835    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6836}
6837extern "C" {
6838    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_asn1"]
6839    pub fn CBS_get_asn1(
6840        cbs: *mut CBS,
6841        out: *mut CBS,
6842        tag_value: CBS_ASN1_TAG,
6843    ) -> ::std::os::raw::c_int;
6844}
6845extern "C" {
6846    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_asn1_element"]
6847    pub fn CBS_get_asn1_element(
6848        cbs: *mut CBS,
6849        out: *mut CBS,
6850        tag_value: CBS_ASN1_TAG,
6851    ) -> ::std::os::raw::c_int;
6852}
6853extern "C" {
6854    #[link_name = "\u{1}aws_lc_0_37_1_CBS_peek_asn1_tag"]
6855    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6856}
6857extern "C" {
6858    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_any_asn1"]
6859    pub fn CBS_get_any_asn1(
6860        cbs: *mut CBS,
6861        out: *mut CBS,
6862        out_tag: *mut CBS_ASN1_TAG,
6863    ) -> ::std::os::raw::c_int;
6864}
6865extern "C" {
6866    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_any_asn1_element"]
6867    pub fn CBS_get_any_asn1_element(
6868        cbs: *mut CBS,
6869        out: *mut CBS,
6870        out_tag: *mut CBS_ASN1_TAG,
6871        out_header_len: *mut usize,
6872    ) -> ::std::os::raw::c_int;
6873}
6874extern "C" {
6875    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_any_ber_asn1_element"]
6876    pub fn CBS_get_any_ber_asn1_element(
6877        cbs: *mut CBS,
6878        out: *mut CBS,
6879        out_tag: *mut CBS_ASN1_TAG,
6880        out_header_len: *mut usize,
6881        out_ber_found: *mut ::std::os::raw::c_int,
6882        out_indefinite: *mut ::std::os::raw::c_int,
6883    ) -> ::std::os::raw::c_int;
6884}
6885extern "C" {
6886    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_asn1_uint64"]
6887    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6888}
6889extern "C" {
6890    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_asn1_int64"]
6891    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
6892}
6893extern "C" {
6894    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_asn1_bool"]
6895    pub fn CBS_get_asn1_bool(
6896        cbs: *mut CBS,
6897        out: *mut ::std::os::raw::c_int,
6898    ) -> ::std::os::raw::c_int;
6899}
6900extern "C" {
6901    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_optional_asn1"]
6902    pub fn CBS_get_optional_asn1(
6903        cbs: *mut CBS,
6904        out: *mut CBS,
6905        out_present: *mut ::std::os::raw::c_int,
6906        tag: CBS_ASN1_TAG,
6907    ) -> ::std::os::raw::c_int;
6908}
6909extern "C" {
6910    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_optional_asn1_octet_string"]
6911    pub fn CBS_get_optional_asn1_octet_string(
6912        cbs: *mut CBS,
6913        out: *mut CBS,
6914        out_present: *mut ::std::os::raw::c_int,
6915        tag: CBS_ASN1_TAG,
6916    ) -> ::std::os::raw::c_int;
6917}
6918extern "C" {
6919    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_optional_asn1_uint64"]
6920    pub fn CBS_get_optional_asn1_uint64(
6921        cbs: *mut CBS,
6922        out: *mut u64,
6923        tag: CBS_ASN1_TAG,
6924        default_value: u64,
6925    ) -> ::std::os::raw::c_int;
6926}
6927extern "C" {
6928    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_optional_asn1_bool"]
6929    pub fn CBS_get_optional_asn1_bool(
6930        cbs: *mut CBS,
6931        out: *mut ::std::os::raw::c_int,
6932        tag: CBS_ASN1_TAG,
6933        default_value: ::std::os::raw::c_int,
6934    ) -> ::std::os::raw::c_int;
6935}
6936extern "C" {
6937    #[link_name = "\u{1}aws_lc_0_37_1_CBS_is_valid_asn1_bitstring"]
6938    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
6939}
6940extern "C" {
6941    #[link_name = "\u{1}aws_lc_0_37_1_CBS_asn1_bitstring_has_bit"]
6942    pub fn CBS_asn1_bitstring_has_bit(
6943        cbs: *const CBS,
6944        bit: ::std::os::raw::c_uint,
6945    ) -> ::std::os::raw::c_int;
6946}
6947extern "C" {
6948    #[link_name = "\u{1}aws_lc_0_37_1_CBS_is_valid_asn1_integer"]
6949    pub fn CBS_is_valid_asn1_integer(
6950        cbs: *const CBS,
6951        out_is_negative: *mut ::std::os::raw::c_int,
6952    ) -> ::std::os::raw::c_int;
6953}
6954extern "C" {
6955    #[link_name = "\u{1}aws_lc_0_37_1_CBS_is_unsigned_asn1_integer"]
6956    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
6957}
6958extern "C" {
6959    #[link_name = "\u{1}aws_lc_0_37_1_CBS_is_valid_asn1_oid"]
6960    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
6961}
6962extern "C" {
6963    #[link_name = "\u{1}aws_lc_0_37_1_CBS_asn1_oid_to_text"]
6964    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
6965}
6966extern "C" {
6967    #[link_name = "\u{1}aws_lc_0_37_1_CBS_get_optional_asn1_int64"]
6968    pub fn CBS_get_optional_asn1_int64(
6969        cbs: *mut CBS,
6970        out: *mut i64,
6971        tag: CBS_ASN1_TAG,
6972        default_value: i64,
6973    ) -> ::std::os::raw::c_int;
6974}
6975#[repr(C)]
6976#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6977pub struct cbb_buffer_st {
6978    pub buf: *mut u8,
6979    pub len: usize,
6980    pub cap: usize,
6981    pub _bitfield_align_1: [u8; 0],
6982    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6983    pub __bindgen_padding_0: [u8; 7usize],
6984}
6985#[test]
6986fn bindgen_test_layout_cbb_buffer_st() {
6987    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
6988    let ptr = UNINIT.as_ptr();
6989    assert_eq!(
6990        ::std::mem::size_of::<cbb_buffer_st>(),
6991        32usize,
6992        "Size of cbb_buffer_st"
6993    );
6994    assert_eq!(
6995        ::std::mem::align_of::<cbb_buffer_st>(),
6996        8usize,
6997        "Alignment of cbb_buffer_st"
6998    );
6999    assert_eq!(
7000        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
7001        0usize,
7002        "Offset of field: cbb_buffer_st::buf"
7003    );
7004    assert_eq!(
7005        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
7006        8usize,
7007        "Offset of field: cbb_buffer_st::len"
7008    );
7009    assert_eq!(
7010        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
7011        16usize,
7012        "Offset of field: cbb_buffer_st::cap"
7013    );
7014}
7015impl Default for cbb_buffer_st {
7016    fn default() -> Self {
7017        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7018        unsafe {
7019            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7020            s.assume_init()
7021        }
7022    }
7023}
7024impl cbb_buffer_st {
7025    #[inline]
7026    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
7027        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7028    }
7029    #[inline]
7030    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
7031        unsafe {
7032            let val: u32 = ::std::mem::transmute(val);
7033            self._bitfield_1.set(0usize, 1u8, val as u64)
7034        }
7035    }
7036    #[inline]
7037    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
7038        unsafe {
7039            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7040                ::std::ptr::addr_of!((*this)._bitfield_1),
7041                0usize,
7042                1u8,
7043            ) as u32)
7044        }
7045    }
7046    #[inline]
7047    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7048        unsafe {
7049            let val: u32 = ::std::mem::transmute(val);
7050            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7051                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7052                0usize,
7053                1u8,
7054                val as u64,
7055            )
7056        }
7057    }
7058    #[inline]
7059    pub fn error(&self) -> ::std::os::raw::c_uint {
7060        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7061    }
7062    #[inline]
7063    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7064        unsafe {
7065            let val: u32 = ::std::mem::transmute(val);
7066            self._bitfield_1.set(1usize, 1u8, val as u64)
7067        }
7068    }
7069    #[inline]
7070    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7071        unsafe {
7072            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7073                ::std::ptr::addr_of!((*this)._bitfield_1),
7074                1usize,
7075                1u8,
7076            ) as u32)
7077        }
7078    }
7079    #[inline]
7080    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7081        unsafe {
7082            let val: u32 = ::std::mem::transmute(val);
7083            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7084                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7085                1usize,
7086                1u8,
7087                val as u64,
7088            )
7089        }
7090    }
7091    #[inline]
7092    pub fn new_bitfield_1(
7093        can_resize: ::std::os::raw::c_uint,
7094        error: ::std::os::raw::c_uint,
7095    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7096        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7097        __bindgen_bitfield_unit.set(0usize, 1u8, {
7098            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7099            can_resize as u64
7100        });
7101        __bindgen_bitfield_unit.set(1usize, 1u8, {
7102            let error: u32 = unsafe { ::std::mem::transmute(error) };
7103            error as u64
7104        });
7105        __bindgen_bitfield_unit
7106    }
7107}
7108#[repr(C)]
7109#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7110pub struct cbb_child_st {
7111    pub base: *mut cbb_buffer_st,
7112    pub offset: usize,
7113    pub pending_len_len: u8,
7114    pub _bitfield_align_1: [u8; 0],
7115    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7116    pub __bindgen_padding_0: [u16; 3usize],
7117}
7118#[test]
7119fn bindgen_test_layout_cbb_child_st() {
7120    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7121    let ptr = UNINIT.as_ptr();
7122    assert_eq!(
7123        ::std::mem::size_of::<cbb_child_st>(),
7124        24usize,
7125        "Size of cbb_child_st"
7126    );
7127    assert_eq!(
7128        ::std::mem::align_of::<cbb_child_st>(),
7129        8usize,
7130        "Alignment of cbb_child_st"
7131    );
7132    assert_eq!(
7133        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7134        0usize,
7135        "Offset of field: cbb_child_st::base"
7136    );
7137    assert_eq!(
7138        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7139        8usize,
7140        "Offset of field: cbb_child_st::offset"
7141    );
7142    assert_eq!(
7143        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7144        16usize,
7145        "Offset of field: cbb_child_st::pending_len_len"
7146    );
7147}
7148impl Default for cbb_child_st {
7149    fn default() -> Self {
7150        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7151        unsafe {
7152            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7153            s.assume_init()
7154        }
7155    }
7156}
7157impl cbb_child_st {
7158    #[inline]
7159    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7160        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7161    }
7162    #[inline]
7163    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7164        unsafe {
7165            let val: u32 = ::std::mem::transmute(val);
7166            self._bitfield_1.set(0usize, 1u8, val as u64)
7167        }
7168    }
7169    #[inline]
7170    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7171        unsafe {
7172            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7173                ::std::ptr::addr_of!((*this)._bitfield_1),
7174                0usize,
7175                1u8,
7176            ) as u32)
7177        }
7178    }
7179    #[inline]
7180    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7181        unsafe {
7182            let val: u32 = ::std::mem::transmute(val);
7183            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7184                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7185                0usize,
7186                1u8,
7187                val as u64,
7188            )
7189        }
7190    }
7191    #[inline]
7192    pub fn new_bitfield_1(
7193        pending_is_asn1: ::std::os::raw::c_uint,
7194    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7195        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7196        __bindgen_bitfield_unit.set(0usize, 1u8, {
7197            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7198            pending_is_asn1 as u64
7199        });
7200        __bindgen_bitfield_unit
7201    }
7202}
7203#[repr(C)]
7204#[derive(Copy, Clone)]
7205pub struct cbb_st {
7206    pub child: *mut CBB,
7207    pub is_child: ::std::os::raw::c_char,
7208    pub u: cbb_st__bindgen_ty_1,
7209}
7210#[repr(C)]
7211#[derive(Copy, Clone)]
7212pub union cbb_st__bindgen_ty_1 {
7213    pub base: cbb_buffer_st,
7214    pub child: cbb_child_st,
7215}
7216#[test]
7217fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7218    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7219    let ptr = UNINIT.as_ptr();
7220    assert_eq!(
7221        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7222        32usize,
7223        "Size of cbb_st__bindgen_ty_1"
7224    );
7225    assert_eq!(
7226        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7227        8usize,
7228        "Alignment of cbb_st__bindgen_ty_1"
7229    );
7230    assert_eq!(
7231        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7232        0usize,
7233        "Offset of field: cbb_st__bindgen_ty_1::base"
7234    );
7235    assert_eq!(
7236        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7237        0usize,
7238        "Offset of field: cbb_st__bindgen_ty_1::child"
7239    );
7240}
7241impl Default for cbb_st__bindgen_ty_1 {
7242    fn default() -> Self {
7243        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7244        unsafe {
7245            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7246            s.assume_init()
7247        }
7248    }
7249}
7250#[test]
7251fn bindgen_test_layout_cbb_st() {
7252    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7253    let ptr = UNINIT.as_ptr();
7254    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7255    assert_eq!(
7256        ::std::mem::align_of::<cbb_st>(),
7257        8usize,
7258        "Alignment of cbb_st"
7259    );
7260    assert_eq!(
7261        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7262        0usize,
7263        "Offset of field: cbb_st::child"
7264    );
7265    assert_eq!(
7266        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7267        8usize,
7268        "Offset of field: cbb_st::is_child"
7269    );
7270    assert_eq!(
7271        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7272        16usize,
7273        "Offset of field: cbb_st::u"
7274    );
7275}
7276impl Default for cbb_st {
7277    fn default() -> Self {
7278        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7279        unsafe {
7280            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7281            s.assume_init()
7282        }
7283    }
7284}
7285extern "C" {
7286    #[link_name = "\u{1}aws_lc_0_37_1_CBB_zero"]
7287    pub fn CBB_zero(cbb: *mut CBB);
7288}
7289extern "C" {
7290    #[link_name = "\u{1}aws_lc_0_37_1_CBB_init"]
7291    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7292}
7293extern "C" {
7294    #[link_name = "\u{1}aws_lc_0_37_1_CBB_init_fixed"]
7295    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7296}
7297extern "C" {
7298    #[link_name = "\u{1}aws_lc_0_37_1_CBB_cleanup"]
7299    pub fn CBB_cleanup(cbb: *mut CBB);
7300}
7301extern "C" {
7302    #[link_name = "\u{1}aws_lc_0_37_1_CBB_finish"]
7303    pub fn CBB_finish(
7304        cbb: *mut CBB,
7305        out_data: *mut *mut u8,
7306        out_len: *mut usize,
7307    ) -> ::std::os::raw::c_int;
7308}
7309extern "C" {
7310    #[link_name = "\u{1}aws_lc_0_37_1_CBB_flush"]
7311    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7312}
7313extern "C" {
7314    #[link_name = "\u{1}aws_lc_0_37_1_CBB_data"]
7315    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7316}
7317extern "C" {
7318    #[link_name = "\u{1}aws_lc_0_37_1_CBB_len"]
7319    pub fn CBB_len(cbb: *const CBB) -> usize;
7320}
7321extern "C" {
7322    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u8_length_prefixed"]
7323    pub fn CBB_add_u8_length_prefixed(
7324        cbb: *mut CBB,
7325        out_contents: *mut CBB,
7326    ) -> ::std::os::raw::c_int;
7327}
7328extern "C" {
7329    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u16_length_prefixed"]
7330    pub fn CBB_add_u16_length_prefixed(
7331        cbb: *mut CBB,
7332        out_contents: *mut CBB,
7333    ) -> ::std::os::raw::c_int;
7334}
7335extern "C" {
7336    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u24_length_prefixed"]
7337    pub fn CBB_add_u24_length_prefixed(
7338        cbb: *mut CBB,
7339        out_contents: *mut CBB,
7340    ) -> ::std::os::raw::c_int;
7341}
7342extern "C" {
7343    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1"]
7344    pub fn CBB_add_asn1(
7345        cbb: *mut CBB,
7346        out_contents: *mut CBB,
7347        tag: CBS_ASN1_TAG,
7348    ) -> ::std::os::raw::c_int;
7349}
7350extern "C" {
7351    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_bytes"]
7352    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7353}
7354extern "C" {
7355    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_zeros"]
7356    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7357}
7358extern "C" {
7359    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_space"]
7360    pub fn CBB_add_space(
7361        cbb: *mut CBB,
7362        out_data: *mut *mut u8,
7363        len: usize,
7364    ) -> ::std::os::raw::c_int;
7365}
7366extern "C" {
7367    #[link_name = "\u{1}aws_lc_0_37_1_CBB_reserve"]
7368    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7369}
7370extern "C" {
7371    #[link_name = "\u{1}aws_lc_0_37_1_CBB_did_write"]
7372    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7373}
7374extern "C" {
7375    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u8"]
7376    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7377}
7378extern "C" {
7379    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u16"]
7380    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7381}
7382extern "C" {
7383    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u16le"]
7384    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7385}
7386extern "C" {
7387    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u24"]
7388    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7389}
7390extern "C" {
7391    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u32"]
7392    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7393}
7394extern "C" {
7395    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u32le"]
7396    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7397}
7398extern "C" {
7399    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u64"]
7400    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7401}
7402extern "C" {
7403    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_u64le"]
7404    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7405}
7406extern "C" {
7407    #[link_name = "\u{1}aws_lc_0_37_1_CBB_discard_child"]
7408    pub fn CBB_discard_child(cbb: *mut CBB);
7409}
7410extern "C" {
7411    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1_uint64"]
7412    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7413}
7414extern "C" {
7415    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1_uint64_with_tag"]
7416    pub fn CBB_add_asn1_uint64_with_tag(
7417        cbb: *mut CBB,
7418        value: u64,
7419        tag: CBS_ASN1_TAG,
7420    ) -> ::std::os::raw::c_int;
7421}
7422extern "C" {
7423    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1_int64"]
7424    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7425}
7426extern "C" {
7427    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1_int64_with_tag"]
7428    pub fn CBB_add_asn1_int64_with_tag(
7429        cbb: *mut CBB,
7430        value: i64,
7431        tag: CBS_ASN1_TAG,
7432    ) -> ::std::os::raw::c_int;
7433}
7434extern "C" {
7435    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1_octet_string"]
7436    pub fn CBB_add_asn1_octet_string(
7437        cbb: *mut CBB,
7438        data: *const u8,
7439        data_len: usize,
7440    ) -> ::std::os::raw::c_int;
7441}
7442extern "C" {
7443    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1_bool"]
7444    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7445}
7446extern "C" {
7447    #[link_name = "\u{1}aws_lc_0_37_1_CBB_add_asn1_oid_from_text"]
7448    pub fn CBB_add_asn1_oid_from_text(
7449        cbb: *mut CBB,
7450        text: *const ::std::os::raw::c_char,
7451        len: usize,
7452    ) -> ::std::os::raw::c_int;
7453}
7454extern "C" {
7455    #[link_name = "\u{1}aws_lc_0_37_1_CBB_flush_asn1_set_of"]
7456    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7457}
7458extern "C" {
7459    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7460}
7461extern "C" {
7462    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7463}
7464extern "C" {
7465    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7466}
7467extern "C" {
7468    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7469}
7470extern "C" {
7471    pub fn CBB_get_utf8_len(u: u32) -> usize;
7472}
7473extern "C" {
7474    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7475}
7476extern "C" {
7477    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7478}
7479extern "C" {
7480    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7481}
7482extern "C" {
7483    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7484}
7485extern "C" {
7486    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_chacha_20"]
7487    pub fn CRYPTO_chacha_20(
7488        out: *mut u8,
7489        in_: *const u8,
7490        in_len: usize,
7491        key: *const u8,
7492        nonce: *const u8,
7493        counter: u32,
7494    );
7495}
7496extern "C" {
7497    #[link_name = "\u{1}aws_lc_0_37_1_EVP_rc4"]
7498    pub fn EVP_rc4() -> *const EVP_CIPHER;
7499}
7500extern "C" {
7501    #[link_name = "\u{1}aws_lc_0_37_1_EVP_des_cbc"]
7502    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7503}
7504extern "C" {
7505    #[link_name = "\u{1}aws_lc_0_37_1_EVP_des_ecb"]
7506    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7507}
7508extern "C" {
7509    #[link_name = "\u{1}aws_lc_0_37_1_EVP_des_ede"]
7510    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7511}
7512extern "C" {
7513    #[link_name = "\u{1}aws_lc_0_37_1_EVP_des_ede3"]
7514    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7515}
7516extern "C" {
7517    #[link_name = "\u{1}aws_lc_0_37_1_EVP_des_ede_cbc"]
7518    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7519}
7520extern "C" {
7521    #[link_name = "\u{1}aws_lc_0_37_1_EVP_des_ede3_cbc"]
7522    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7523}
7524extern "C" {
7525    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_ecb"]
7526    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7527}
7528extern "C" {
7529    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_cbc"]
7530    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7531}
7532extern "C" {
7533    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_ctr"]
7534    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7535}
7536extern "C" {
7537    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_ofb"]
7538    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7539}
7540extern "C" {
7541    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_ecb"]
7542    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7543}
7544extern "C" {
7545    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_cbc"]
7546    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7547}
7548extern "C" {
7549    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_ctr"]
7550    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7551}
7552extern "C" {
7553    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_ofb"]
7554    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7555}
7556extern "C" {
7557    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_xts"]
7558    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7559}
7560extern "C" {
7561    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_wrap"]
7562    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7563}
7564extern "C" {
7565    #[link_name = "\u{1}aws_lc_0_37_1_EVP_enc_null"]
7566    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7567}
7568extern "C" {
7569    #[link_name = "\u{1}aws_lc_0_37_1_EVP_rc2_cbc"]
7570    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7571}
7572extern "C" {
7573    #[link_name = "\u{1}aws_lc_0_37_1_EVP_rc2_40_cbc"]
7574    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7575}
7576extern "C" {
7577    #[link_name = "\u{1}aws_lc_0_37_1_EVP_chacha20_poly1305"]
7578    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7579}
7580extern "C" {
7581    #[link_name = "\u{1}aws_lc_0_37_1_EVP_get_cipherbynid"]
7582    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7583}
7584extern "C" {
7585    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_init"]
7586    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7587}
7588extern "C" {
7589    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_new"]
7590    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7591}
7592extern "C" {
7593    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_cleanup"]
7594    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7595}
7596extern "C" {
7597    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_free"]
7598    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7599}
7600extern "C" {
7601    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_copy"]
7602    pub fn EVP_CIPHER_CTX_copy(
7603        out: *mut EVP_CIPHER_CTX,
7604        in_: *const EVP_CIPHER_CTX,
7605    ) -> ::std::os::raw::c_int;
7606}
7607extern "C" {
7608    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_reset"]
7609    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7610}
7611extern "C" {
7612    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CipherInit_ex"]
7613    pub fn EVP_CipherInit_ex(
7614        ctx: *mut EVP_CIPHER_CTX,
7615        cipher: *const EVP_CIPHER,
7616        engine: *mut ENGINE,
7617        key: *const u8,
7618        iv: *const u8,
7619        enc: ::std::os::raw::c_int,
7620    ) -> ::std::os::raw::c_int;
7621}
7622extern "C" {
7623    #[link_name = "\u{1}aws_lc_0_37_1_EVP_EncryptInit_ex"]
7624    pub fn EVP_EncryptInit_ex(
7625        ctx: *mut EVP_CIPHER_CTX,
7626        cipher: *const EVP_CIPHER,
7627        impl_: *mut ENGINE,
7628        key: *const u8,
7629        iv: *const u8,
7630    ) -> ::std::os::raw::c_int;
7631}
7632extern "C" {
7633    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DecryptInit_ex"]
7634    pub fn EVP_DecryptInit_ex(
7635        ctx: *mut EVP_CIPHER_CTX,
7636        cipher: *const EVP_CIPHER,
7637        impl_: *mut ENGINE,
7638        key: *const u8,
7639        iv: *const u8,
7640    ) -> ::std::os::raw::c_int;
7641}
7642extern "C" {
7643    #[link_name = "\u{1}aws_lc_0_37_1_EVP_EncryptUpdate"]
7644    pub fn EVP_EncryptUpdate(
7645        ctx: *mut EVP_CIPHER_CTX,
7646        out: *mut u8,
7647        out_len: *mut ::std::os::raw::c_int,
7648        in_: *const u8,
7649        in_len: ::std::os::raw::c_int,
7650    ) -> ::std::os::raw::c_int;
7651}
7652extern "C" {
7653    #[link_name = "\u{1}aws_lc_0_37_1_EVP_EncryptFinal_ex"]
7654    pub fn EVP_EncryptFinal_ex(
7655        ctx: *mut EVP_CIPHER_CTX,
7656        out: *mut u8,
7657        out_len: *mut ::std::os::raw::c_int,
7658    ) -> ::std::os::raw::c_int;
7659}
7660extern "C" {
7661    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DecryptUpdate"]
7662    pub fn EVP_DecryptUpdate(
7663        ctx: *mut EVP_CIPHER_CTX,
7664        out: *mut u8,
7665        out_len: *mut ::std::os::raw::c_int,
7666        in_: *const u8,
7667        in_len: ::std::os::raw::c_int,
7668    ) -> ::std::os::raw::c_int;
7669}
7670extern "C" {
7671    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DecryptFinal_ex"]
7672    pub fn EVP_DecryptFinal_ex(
7673        ctx: *mut EVP_CIPHER_CTX,
7674        out: *mut u8,
7675        out_len: *mut ::std::os::raw::c_int,
7676    ) -> ::std::os::raw::c_int;
7677}
7678extern "C" {
7679    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CipherUpdate"]
7680    pub fn EVP_CipherUpdate(
7681        ctx: *mut EVP_CIPHER_CTX,
7682        out: *mut u8,
7683        out_len: *mut ::std::os::raw::c_int,
7684        in_: *const u8,
7685        in_len: ::std::os::raw::c_int,
7686    ) -> ::std::os::raw::c_int;
7687}
7688extern "C" {
7689    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CipherFinal_ex"]
7690    pub fn EVP_CipherFinal_ex(
7691        ctx: *mut EVP_CIPHER_CTX,
7692        out: *mut u8,
7693        out_len: *mut ::std::os::raw::c_int,
7694    ) -> ::std::os::raw::c_int;
7695}
7696extern "C" {
7697    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_cipher"]
7698    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7699}
7700extern "C" {
7701    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_nid"]
7702    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7703}
7704extern "C" {
7705    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_encrypting"]
7706    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7707}
7708extern "C" {
7709    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_block_size"]
7710    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7711}
7712extern "C" {
7713    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_key_length"]
7714    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7715}
7716extern "C" {
7717    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_iv_length"]
7718    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7719}
7720extern "C" {
7721    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_get_app_data"]
7722    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7723}
7724extern "C" {
7725    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_set_app_data"]
7726    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7727}
7728extern "C" {
7729    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_flags"]
7730    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7731}
7732extern "C" {
7733    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_mode"]
7734    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7735}
7736extern "C" {
7737    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_ctrl"]
7738    pub fn EVP_CIPHER_CTX_ctrl(
7739        ctx: *mut EVP_CIPHER_CTX,
7740        command: ::std::os::raw::c_int,
7741        arg: ::std::os::raw::c_int,
7742        ptr: *mut ::std::os::raw::c_void,
7743    ) -> ::std::os::raw::c_int;
7744}
7745extern "C" {
7746    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_set_padding"]
7747    pub fn EVP_CIPHER_CTX_set_padding(
7748        ctx: *mut EVP_CIPHER_CTX,
7749        pad: ::std::os::raw::c_int,
7750    ) -> ::std::os::raw::c_int;
7751}
7752extern "C" {
7753    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_set_key_length"]
7754    pub fn EVP_CIPHER_CTX_set_key_length(
7755        ctx: *mut EVP_CIPHER_CTX,
7756        key_len: ::std::os::raw::c_uint,
7757    ) -> ::std::os::raw::c_int;
7758}
7759extern "C" {
7760    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_nid"]
7761    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7762}
7763extern "C" {
7764    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_name"]
7765    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7766}
7767extern "C" {
7768    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_block_size"]
7769    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7770}
7771extern "C" {
7772    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_key_length"]
7773    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7774}
7775extern "C" {
7776    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_iv_length"]
7777    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7778}
7779extern "C" {
7780    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_flags"]
7781    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7782}
7783extern "C" {
7784    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_mode"]
7785    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7786}
7787extern "C" {
7788    #[link_name = "\u{1}aws_lc_0_37_1_EVP_BytesToKey"]
7789    pub fn EVP_BytesToKey(
7790        type_: *const EVP_CIPHER,
7791        md: *const EVP_MD,
7792        salt: *const u8,
7793        data: *const u8,
7794        data_len: usize,
7795        count: ::std::os::raw::c_uint,
7796        key: *mut u8,
7797        iv: *mut u8,
7798    ) -> ::std::os::raw::c_int;
7799}
7800extern "C" {
7801    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_cbc_hmac_sha1"]
7802    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7803}
7804extern "C" {
7805    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_cbc_hmac_sha1"]
7806    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7807}
7808extern "C" {
7809    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_cbc_hmac_sha256"]
7810    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7811}
7812extern "C" {
7813    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_cbc_hmac_sha256"]
7814    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7815}
7816extern "C" {
7817    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CipherInit"]
7818    pub fn EVP_CipherInit(
7819        ctx: *mut EVP_CIPHER_CTX,
7820        cipher: *const EVP_CIPHER,
7821        key: *const u8,
7822        iv: *const u8,
7823        enc: ::std::os::raw::c_int,
7824    ) -> ::std::os::raw::c_int;
7825}
7826extern "C" {
7827    #[link_name = "\u{1}aws_lc_0_37_1_EVP_EncryptInit"]
7828    pub fn EVP_EncryptInit(
7829        ctx: *mut EVP_CIPHER_CTX,
7830        cipher: *const EVP_CIPHER,
7831        key: *const u8,
7832        iv: *const u8,
7833    ) -> ::std::os::raw::c_int;
7834}
7835extern "C" {
7836    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DecryptInit"]
7837    pub fn EVP_DecryptInit(
7838        ctx: *mut EVP_CIPHER_CTX,
7839        cipher: *const EVP_CIPHER,
7840        key: *const u8,
7841        iv: *const u8,
7842    ) -> ::std::os::raw::c_int;
7843}
7844extern "C" {
7845    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CipherFinal"]
7846    pub fn EVP_CipherFinal(
7847        ctx: *mut EVP_CIPHER_CTX,
7848        out: *mut u8,
7849        out_len: *mut ::std::os::raw::c_int,
7850    ) -> ::std::os::raw::c_int;
7851}
7852extern "C" {
7853    #[link_name = "\u{1}aws_lc_0_37_1_EVP_EncryptFinal"]
7854    pub fn EVP_EncryptFinal(
7855        ctx: *mut EVP_CIPHER_CTX,
7856        out: *mut u8,
7857        out_len: *mut ::std::os::raw::c_int,
7858    ) -> ::std::os::raw::c_int;
7859}
7860extern "C" {
7861    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DecryptFinal"]
7862    pub fn EVP_DecryptFinal(
7863        ctx: *mut EVP_CIPHER_CTX,
7864        out: *mut u8,
7865        out_len: *mut ::std::os::raw::c_int,
7866    ) -> ::std::os::raw::c_int;
7867}
7868extern "C" {
7869    #[link_name = "\u{1}aws_lc_0_37_1_EVP_Cipher"]
7870    pub fn EVP_Cipher(
7871        ctx: *mut EVP_CIPHER_CTX,
7872        out: *mut u8,
7873        in_: *const u8,
7874        in_len: usize,
7875    ) -> ::std::os::raw::c_int;
7876}
7877extern "C" {
7878    #[link_name = "\u{1}aws_lc_0_37_1_EVP_get_cipherbyname"]
7879    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7880}
7881extern "C" {
7882    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_gcm"]
7883    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7884}
7885extern "C" {
7886    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_gcm"]
7887    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7888}
7889extern "C" {
7890    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_ccm"]
7891    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
7892}
7893extern "C" {
7894    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_ccm"]
7895    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
7896}
7897extern "C" {
7898    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_ccm"]
7899    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
7900}
7901extern "C" {
7902    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_ecb"]
7903    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
7904}
7905extern "C" {
7906    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_cbc"]
7907    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
7908}
7909extern "C" {
7910    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_ctr"]
7911    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
7912}
7913extern "C" {
7914    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_gcm"]
7915    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
7916}
7917extern "C" {
7918    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_ofb"]
7919    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
7920}
7921extern "C" {
7922    #[link_name = "\u{1}aws_lc_0_37_1_EVP_des_ede3_ecb"]
7923    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
7924}
7925extern "C" {
7926    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_cfb128"]
7927    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
7928}
7929extern "C" {
7930    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_cfb"]
7931    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
7932}
7933extern "C" {
7934    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_cfb1"]
7935    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
7936}
7937extern "C" {
7938    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_128_cfb8"]
7939    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
7940}
7941extern "C" {
7942    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_cfb128"]
7943    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
7944}
7945extern "C" {
7946    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_cfb"]
7947    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
7948}
7949extern "C" {
7950    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_cfb1"]
7951    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
7952}
7953extern "C" {
7954    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_192_cfb8"]
7955    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
7956}
7957extern "C" {
7958    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_cfb128"]
7959    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
7960}
7961extern "C" {
7962    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_cfb"]
7963    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
7964}
7965extern "C" {
7966    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_cfb1"]
7967    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
7968}
7969extern "C" {
7970    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aes_256_cfb8"]
7971    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
7972}
7973extern "C" {
7974    #[link_name = "\u{1}aws_lc_0_37_1_EVP_bf_ecb"]
7975    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
7976}
7977extern "C" {
7978    #[link_name = "\u{1}aws_lc_0_37_1_EVP_bf_cbc"]
7979    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
7980}
7981extern "C" {
7982    #[link_name = "\u{1}aws_lc_0_37_1_EVP_bf_cfb"]
7983    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
7984}
7985extern "C" {
7986    #[link_name = "\u{1}aws_lc_0_37_1_EVP_bf_cfb64"]
7987    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
7988}
7989extern "C" {
7990    #[link_name = "\u{1}aws_lc_0_37_1_EVP_bf_ofb"]
7991    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
7992}
7993extern "C" {
7994    #[link_name = "\u{1}aws_lc_0_37_1_EVP_cast5_ecb"]
7995    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
7996}
7997extern "C" {
7998    #[link_name = "\u{1}aws_lc_0_37_1_EVP_cast5_cbc"]
7999    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
8000}
8001extern "C" {
8002    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_CTX_set_flags"]
8003    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
8004}
8005extern "C" {
8006    #[link_name = "\u{1}aws_lc_0_37_1_EVP_add_cipher_alias"]
8007    pub fn EVP_add_cipher_alias(
8008        a: *const ::std::os::raw::c_char,
8009        b: *const ::std::os::raw::c_char,
8010    ) -> ::std::os::raw::c_int;
8011}
8012#[repr(C)]
8013#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8014pub struct evp_cipher_ctx_st {
8015    pub cipher: *const EVP_CIPHER,
8016    pub app_data: *mut ::std::os::raw::c_void,
8017    pub cipher_data: *mut ::std::os::raw::c_void,
8018    pub key_len: ::std::os::raw::c_uint,
8019    pub encrypt: ::std::os::raw::c_int,
8020    pub flags: u32,
8021    pub oiv: [u8; 16usize],
8022    pub iv: [u8; 16usize],
8023    pub buf: [u8; 32usize],
8024    pub buf_len: ::std::os::raw::c_int,
8025    pub num: ::std::os::raw::c_uint,
8026    pub final_used: ::std::os::raw::c_int,
8027    pub final_: [u8; 32usize],
8028    pub poisoned: ::std::os::raw::c_int,
8029}
8030#[test]
8031fn bindgen_test_layout_evp_cipher_ctx_st() {
8032    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
8033    let ptr = UNINIT.as_ptr();
8034    assert_eq!(
8035        ::std::mem::size_of::<evp_cipher_ctx_st>(),
8036        152usize,
8037        "Size of evp_cipher_ctx_st"
8038    );
8039    assert_eq!(
8040        ::std::mem::align_of::<evp_cipher_ctx_st>(),
8041        8usize,
8042        "Alignment of evp_cipher_ctx_st"
8043    );
8044    assert_eq!(
8045        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8046        0usize,
8047        "Offset of field: evp_cipher_ctx_st::cipher"
8048    );
8049    assert_eq!(
8050        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
8051        8usize,
8052        "Offset of field: evp_cipher_ctx_st::app_data"
8053    );
8054    assert_eq!(
8055        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
8056        16usize,
8057        "Offset of field: evp_cipher_ctx_st::cipher_data"
8058    );
8059    assert_eq!(
8060        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8061        24usize,
8062        "Offset of field: evp_cipher_ctx_st::key_len"
8063    );
8064    assert_eq!(
8065        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8066        28usize,
8067        "Offset of field: evp_cipher_ctx_st::encrypt"
8068    );
8069    assert_eq!(
8070        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8071        32usize,
8072        "Offset of field: evp_cipher_ctx_st::flags"
8073    );
8074    assert_eq!(
8075        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8076        36usize,
8077        "Offset of field: evp_cipher_ctx_st::oiv"
8078    );
8079    assert_eq!(
8080        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8081        52usize,
8082        "Offset of field: evp_cipher_ctx_st::iv"
8083    );
8084    assert_eq!(
8085        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8086        68usize,
8087        "Offset of field: evp_cipher_ctx_st::buf"
8088    );
8089    assert_eq!(
8090        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8091        100usize,
8092        "Offset of field: evp_cipher_ctx_st::buf_len"
8093    );
8094    assert_eq!(
8095        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8096        104usize,
8097        "Offset of field: evp_cipher_ctx_st::num"
8098    );
8099    assert_eq!(
8100        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8101        108usize,
8102        "Offset of field: evp_cipher_ctx_st::final_used"
8103    );
8104    assert_eq!(
8105        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8106        112usize,
8107        "Offset of field: evp_cipher_ctx_st::final_"
8108    );
8109    assert_eq!(
8110        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8111        144usize,
8112        "Offset of field: evp_cipher_ctx_st::poisoned"
8113    );
8114}
8115impl Default for evp_cipher_ctx_st {
8116    fn default() -> Self {
8117        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8118        unsafe {
8119            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8120            s.assume_init()
8121        }
8122    }
8123}
8124#[repr(C)]
8125#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8126pub struct evp_cipher_info_st {
8127    pub cipher: *const EVP_CIPHER,
8128    pub iv: [::std::os::raw::c_uchar; 16usize],
8129}
8130#[test]
8131fn bindgen_test_layout_evp_cipher_info_st() {
8132    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8133    let ptr = UNINIT.as_ptr();
8134    assert_eq!(
8135        ::std::mem::size_of::<evp_cipher_info_st>(),
8136        24usize,
8137        "Size of evp_cipher_info_st"
8138    );
8139    assert_eq!(
8140        ::std::mem::align_of::<evp_cipher_info_st>(),
8141        8usize,
8142        "Alignment of evp_cipher_info_st"
8143    );
8144    assert_eq!(
8145        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8146        0usize,
8147        "Offset of field: evp_cipher_info_st::cipher"
8148    );
8149    assert_eq!(
8150        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8151        8usize,
8152        "Offset of field: evp_cipher_info_st::iv"
8153    );
8154}
8155impl Default for evp_cipher_info_st {
8156    fn default() -> Self {
8157        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8158        unsafe {
8159            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8160            s.assume_init()
8161        }
8162    }
8163}
8164pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8165extern "C" {
8166    #[link_name = "\u{1}aws_lc_0_37_1_AES_CMAC"]
8167    pub fn AES_CMAC(
8168        out: *mut u8,
8169        key: *const u8,
8170        key_len: usize,
8171        in_: *const u8,
8172        in_len: usize,
8173    ) -> ::std::os::raw::c_int;
8174}
8175extern "C" {
8176    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_CTX_new"]
8177    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8178}
8179extern "C" {
8180    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_CTX_free"]
8181    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8182}
8183extern "C" {
8184    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_CTX_copy"]
8185    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8186}
8187extern "C" {
8188    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_Init"]
8189    pub fn CMAC_Init(
8190        ctx: *mut CMAC_CTX,
8191        key: *const ::std::os::raw::c_void,
8192        key_len: usize,
8193        cipher: *const EVP_CIPHER,
8194        engine: *mut ENGINE,
8195    ) -> ::std::os::raw::c_int;
8196}
8197extern "C" {
8198    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_Reset"]
8199    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8200}
8201extern "C" {
8202    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_Update"]
8203    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8204}
8205extern "C" {
8206    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_Final"]
8207    pub fn CMAC_Final(
8208        ctx: *mut CMAC_CTX,
8209        out: *mut u8,
8210        out_len: *mut usize,
8211    ) -> ::std::os::raw::c_int;
8212}
8213extern "C" {
8214    #[link_name = "\u{1}aws_lc_0_37_1_CMAC_CTX_get0_cipher_ctx"]
8215    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8216}
8217#[repr(C)]
8218#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8219pub struct conf_value_st {
8220    pub section: *mut ::std::os::raw::c_char,
8221    pub name: *mut ::std::os::raw::c_char,
8222    pub value: *mut ::std::os::raw::c_char,
8223}
8224#[test]
8225fn bindgen_test_layout_conf_value_st() {
8226    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8227    let ptr = UNINIT.as_ptr();
8228    assert_eq!(
8229        ::std::mem::size_of::<conf_value_st>(),
8230        24usize,
8231        "Size of conf_value_st"
8232    );
8233    assert_eq!(
8234        ::std::mem::align_of::<conf_value_st>(),
8235        8usize,
8236        "Alignment of conf_value_st"
8237    );
8238    assert_eq!(
8239        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8240        0usize,
8241        "Offset of field: conf_value_st::section"
8242    );
8243    assert_eq!(
8244        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8245        8usize,
8246        "Offset of field: conf_value_st::name"
8247    );
8248    assert_eq!(
8249        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8250        16usize,
8251        "Offset of field: conf_value_st::value"
8252    );
8253}
8254impl Default for conf_value_st {
8255    fn default() -> Self {
8256        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8257        unsafe {
8258            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8259            s.assume_init()
8260        }
8261    }
8262}
8263#[repr(C)]
8264#[derive(Debug, Copy, Clone)]
8265pub struct stack_st_CONF_VALUE {
8266    _unused: [u8; 0],
8267}
8268#[repr(C)]
8269#[derive(Debug, Copy, Clone)]
8270pub struct lhash_st_CONF_VALUE {
8271    _unused: [u8; 0],
8272}
8273#[repr(C)]
8274#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8275pub struct conf_st {
8276    pub data: *mut lhash_st_CONF_VALUE,
8277}
8278#[test]
8279fn bindgen_test_layout_conf_st() {
8280    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8281    let ptr = UNINIT.as_ptr();
8282    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8283    assert_eq!(
8284        ::std::mem::align_of::<conf_st>(),
8285        8usize,
8286        "Alignment of conf_st"
8287    );
8288    assert_eq!(
8289        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8290        0usize,
8291        "Offset of field: conf_st::data"
8292    );
8293}
8294impl Default for conf_st {
8295    fn default() -> Self {
8296        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8297        unsafe {
8298            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8299            s.assume_init()
8300        }
8301    }
8302}
8303extern "C" {
8304    #[link_name = "\u{1}aws_lc_0_37_1_X25519_keypair"]
8305    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8306}
8307extern "C" {
8308    #[link_name = "\u{1}aws_lc_0_37_1_X25519"]
8309    pub fn X25519(
8310        out_shared_key: *mut u8,
8311        private_key: *const u8,
8312        peer_public_value: *const u8,
8313    ) -> ::std::os::raw::c_int;
8314}
8315extern "C" {
8316    #[link_name = "\u{1}aws_lc_0_37_1_X25519_public_from_private"]
8317    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8318}
8319extern "C" {
8320    #[link_name = "\u{1}aws_lc_0_37_1_ED25519_keypair"]
8321    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8322}
8323extern "C" {
8324    #[link_name = "\u{1}aws_lc_0_37_1_ED25519_sign"]
8325    pub fn ED25519_sign(
8326        out_sig: *mut u8,
8327        message: *const u8,
8328        message_len: usize,
8329        private_key: *const u8,
8330    ) -> ::std::os::raw::c_int;
8331}
8332extern "C" {
8333    #[link_name = "\u{1}aws_lc_0_37_1_ED25519_verify"]
8334    pub fn ED25519_verify(
8335        message: *const u8,
8336        message_len: usize,
8337        signature: *const u8,
8338        public_key: *const u8,
8339    ) -> ::std::os::raw::c_int;
8340}
8341extern "C" {
8342    #[link_name = "\u{1}aws_lc_0_37_1_ED25519ctx_sign"]
8343    pub fn ED25519ctx_sign(
8344        out_sig: *mut u8,
8345        message: *const u8,
8346        message_len: usize,
8347        private_key: *const u8,
8348        context: *const u8,
8349        context_len: usize,
8350    ) -> ::std::os::raw::c_int;
8351}
8352extern "C" {
8353    #[link_name = "\u{1}aws_lc_0_37_1_ED25519ctx_verify"]
8354    pub fn ED25519ctx_verify(
8355        message: *const u8,
8356        message_len: usize,
8357        signature: *const u8,
8358        public_key: *const u8,
8359        context: *const u8,
8360        context_len: usize,
8361    ) -> ::std::os::raw::c_int;
8362}
8363extern "C" {
8364    #[link_name = "\u{1}aws_lc_0_37_1_ED25519ph_sign"]
8365    pub fn ED25519ph_sign(
8366        out_sig: *mut u8,
8367        message: *const u8,
8368        message_len: usize,
8369        private_key: *const u8,
8370        context: *const u8,
8371        context_len: usize,
8372    ) -> ::std::os::raw::c_int;
8373}
8374extern "C" {
8375    #[link_name = "\u{1}aws_lc_0_37_1_ED25519ph_verify"]
8376    pub fn ED25519ph_verify(
8377        message: *const u8,
8378        message_len: usize,
8379        signature: *const u8,
8380        public_key: *const u8,
8381        context: *const u8,
8382        context_len: usize,
8383    ) -> ::std::os::raw::c_int;
8384}
8385extern "C" {
8386    #[link_name = "\u{1}aws_lc_0_37_1_ED25519ph_sign_digest"]
8387    pub fn ED25519ph_sign_digest(
8388        out_sig: *mut u8,
8389        digest: *const u8,
8390        private_key: *const u8,
8391        context: *const u8,
8392        context_len: usize,
8393    ) -> ::std::os::raw::c_int;
8394}
8395extern "C" {
8396    #[link_name = "\u{1}aws_lc_0_37_1_ED25519ph_verify_digest"]
8397    pub fn ED25519ph_verify_digest(
8398        digest: *const u8,
8399        signature: *const u8,
8400        public_key: *const u8,
8401        context: *const u8,
8402        context_len: usize,
8403    ) -> ::std::os::raw::c_int;
8404}
8405extern "C" {
8406    #[link_name = "\u{1}aws_lc_0_37_1_ED25519_keypair_from_seed"]
8407    pub fn ED25519_keypair_from_seed(
8408        out_public_key: *mut u8,
8409        out_private_key: *mut u8,
8410        seed: *const u8,
8411    );
8412}
8413pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8414pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8415pub type spake2_role_t = ::std::os::raw::c_uint;
8416extern "C" {
8417    #[link_name = "\u{1}aws_lc_0_37_1_SPAKE2_CTX_new"]
8418    pub fn SPAKE2_CTX_new(
8419        my_role: spake2_role_t,
8420        my_name: *const u8,
8421        my_name_len: usize,
8422        their_name: *const u8,
8423        their_name_len: usize,
8424    ) -> *mut SPAKE2_CTX;
8425}
8426extern "C" {
8427    #[link_name = "\u{1}aws_lc_0_37_1_SPAKE2_CTX_free"]
8428    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8429}
8430extern "C" {
8431    #[link_name = "\u{1}aws_lc_0_37_1_SPAKE2_generate_msg"]
8432    pub fn SPAKE2_generate_msg(
8433        ctx: *mut SPAKE2_CTX,
8434        out: *mut u8,
8435        out_len: *mut usize,
8436        max_out_len: usize,
8437        password: *const u8,
8438        password_len: usize,
8439    ) -> ::std::os::raw::c_int;
8440}
8441extern "C" {
8442    #[link_name = "\u{1}aws_lc_0_37_1_SPAKE2_process_msg"]
8443    pub fn SPAKE2_process_msg(
8444        ctx: *mut SPAKE2_CTX,
8445        out_key: *mut u8,
8446        out_key_len: *mut usize,
8447        max_out_key_len: usize,
8448        their_msg: *const u8,
8449        their_msg_len: usize,
8450    ) -> ::std::os::raw::c_int;
8451}
8452extern "C" {
8453    #[link_name = "\u{1}aws_lc_0_37_1_EVP_md4"]
8454    pub fn EVP_md4() -> *const EVP_MD;
8455}
8456extern "C" {
8457    #[link_name = "\u{1}aws_lc_0_37_1_EVP_md5"]
8458    pub fn EVP_md5() -> *const EVP_MD;
8459}
8460extern "C" {
8461    #[link_name = "\u{1}aws_lc_0_37_1_EVP_ripemd160"]
8462    pub fn EVP_ripemd160() -> *const EVP_MD;
8463}
8464extern "C" {
8465    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha1"]
8466    pub fn EVP_sha1() -> *const EVP_MD;
8467}
8468extern "C" {
8469    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha224"]
8470    pub fn EVP_sha224() -> *const EVP_MD;
8471}
8472extern "C" {
8473    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha256"]
8474    pub fn EVP_sha256() -> *const EVP_MD;
8475}
8476extern "C" {
8477    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha384"]
8478    pub fn EVP_sha384() -> *const EVP_MD;
8479}
8480extern "C" {
8481    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha512"]
8482    pub fn EVP_sha512() -> *const EVP_MD;
8483}
8484extern "C" {
8485    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha512_224"]
8486    pub fn EVP_sha512_224() -> *const EVP_MD;
8487}
8488extern "C" {
8489    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha512_256"]
8490    pub fn EVP_sha512_256() -> *const EVP_MD;
8491}
8492extern "C" {
8493    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha3_224"]
8494    pub fn EVP_sha3_224() -> *const EVP_MD;
8495}
8496extern "C" {
8497    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha3_256"]
8498    pub fn EVP_sha3_256() -> *const EVP_MD;
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha3_384"]
8502    pub fn EVP_sha3_384() -> *const EVP_MD;
8503}
8504extern "C" {
8505    #[link_name = "\u{1}aws_lc_0_37_1_EVP_sha3_512"]
8506    pub fn EVP_sha3_512() -> *const EVP_MD;
8507}
8508extern "C" {
8509    #[link_name = "\u{1}aws_lc_0_37_1_EVP_shake128"]
8510    pub fn EVP_shake128() -> *const EVP_MD;
8511}
8512extern "C" {
8513    #[link_name = "\u{1}aws_lc_0_37_1_EVP_shake256"]
8514    pub fn EVP_shake256() -> *const EVP_MD;
8515}
8516extern "C" {
8517    #[link_name = "\u{1}aws_lc_0_37_1_EVP_blake2b256"]
8518    pub fn EVP_blake2b256() -> *const EVP_MD;
8519}
8520extern "C" {
8521    #[link_name = "\u{1}aws_lc_0_37_1_EVP_md5_sha1"]
8522    pub fn EVP_md5_sha1() -> *const EVP_MD;
8523}
8524extern "C" {
8525    #[link_name = "\u{1}aws_lc_0_37_1_EVP_get_digestbynid"]
8526    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8527}
8528extern "C" {
8529    #[link_name = "\u{1}aws_lc_0_37_1_EVP_get_digestbyobj"]
8530    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8531}
8532extern "C" {
8533    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_init"]
8534    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8535}
8536extern "C" {
8537    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_new"]
8538    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8539}
8540extern "C" {
8541    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_cleanup"]
8542    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8543}
8544extern "C" {
8545    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_cleanse"]
8546    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8547}
8548extern "C" {
8549    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_free"]
8550    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8551}
8552extern "C" {
8553    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_copy_ex"]
8554    pub fn EVP_MD_CTX_copy_ex(
8555        out: *mut EVP_MD_CTX,
8556        in_: *const EVP_MD_CTX,
8557    ) -> ::std::os::raw::c_int;
8558}
8559extern "C" {
8560    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_move"]
8561    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8562}
8563extern "C" {
8564    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_reset"]
8565    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8566}
8567extern "C" {
8568    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestInit_ex"]
8569    pub fn EVP_DigestInit_ex(
8570        ctx: *mut EVP_MD_CTX,
8571        type_: *const EVP_MD,
8572        engine: *mut ENGINE,
8573    ) -> ::std::os::raw::c_int;
8574}
8575extern "C" {
8576    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestInit"]
8577    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8578}
8579extern "C" {
8580    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestUpdate"]
8581    pub fn EVP_DigestUpdate(
8582        ctx: *mut EVP_MD_CTX,
8583        data: *const ::std::os::raw::c_void,
8584        len: usize,
8585    ) -> ::std::os::raw::c_int;
8586}
8587extern "C" {
8588    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestFinal_ex"]
8589    pub fn EVP_DigestFinal_ex(
8590        ctx: *mut EVP_MD_CTX,
8591        md_out: *mut u8,
8592        out_size: *mut ::std::os::raw::c_uint,
8593    ) -> ::std::os::raw::c_int;
8594}
8595extern "C" {
8596    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestFinal"]
8597    pub fn EVP_DigestFinal(
8598        ctx: *mut EVP_MD_CTX,
8599        md_out: *mut u8,
8600        out_size: *mut ::std::os::raw::c_uint,
8601    ) -> ::std::os::raw::c_int;
8602}
8603extern "C" {
8604    #[link_name = "\u{1}aws_lc_0_37_1_EVP_Digest"]
8605    pub fn EVP_Digest(
8606        data: *const ::std::os::raw::c_void,
8607        len: usize,
8608        md_out: *mut u8,
8609        out_size: *mut ::std::os::raw::c_uint,
8610        type_: *const EVP_MD,
8611        impl_: *mut ENGINE,
8612    ) -> ::std::os::raw::c_int;
8613}
8614extern "C" {
8615    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_type"]
8616    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8617}
8618extern "C" {
8619    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_flags"]
8620    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8621}
8622extern "C" {
8623    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_size"]
8624    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8625}
8626extern "C" {
8627    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_block_size"]
8628    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8629}
8630extern "C" {
8631    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_md"]
8632    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8633}
8634extern "C" {
8635    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_size"]
8636    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8637}
8638extern "C" {
8639    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_block_size"]
8640    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8641}
8642extern "C" {
8643    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_type"]
8644    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8645}
8646extern "C" {
8647    #[link_name = "\u{1}aws_lc_0_37_1_EVP_parse_digest_algorithm"]
8648    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8649}
8650extern "C" {
8651    #[link_name = "\u{1}aws_lc_0_37_1_EVP_marshal_digest_algorithm"]
8652    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8653}
8654extern "C" {
8655    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_copy"]
8656    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8657}
8658extern "C" {
8659    #[link_name = "\u{1}aws_lc_0_37_1_EVP_get_digestbyname"]
8660    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8661}
8662extern "C" {
8663    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_create"]
8664    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8665}
8666extern "C" {
8667    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_destroy"]
8668    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8669}
8670extern "C" {
8671    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestFinalXOF"]
8672    pub fn EVP_DigestFinalXOF(
8673        ctx: *mut EVP_MD_CTX,
8674        out: *mut u8,
8675        len: usize,
8676    ) -> ::std::os::raw::c_int;
8677}
8678extern "C" {
8679    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestSqueeze"]
8680    pub fn EVP_DigestSqueeze(
8681        ctx: *mut EVP_MD_CTX,
8682        out: *mut u8,
8683        len: usize,
8684    ) -> ::std::os::raw::c_int;
8685}
8686extern "C" {
8687    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_meth_get_flags"]
8688    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8689}
8690extern "C" {
8691    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_nid"]
8692    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8693}
8694extern "C" {
8695    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_set_pkey_ctx"]
8696    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8697}
8698extern "C" {
8699    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_get_pkey_ctx"]
8700    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8701}
8702extern "C" {
8703    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_pkey_ctx"]
8704    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8705}
8706#[repr(C)]
8707#[derive(Debug, Copy, Clone)]
8708pub struct evp_md_pctx_ops {
8709    _unused: [u8; 0],
8710}
8711#[repr(C)]
8712#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8713pub struct env_md_ctx_st {
8714    pub digest: *const EVP_MD,
8715    pub md_data: *mut ::std::os::raw::c_void,
8716    pub update: ::std::option::Option<
8717        unsafe extern "C" fn(
8718            ctx: *mut EVP_MD_CTX,
8719            data: *const ::std::os::raw::c_void,
8720            count: usize,
8721        ) -> ::std::os::raw::c_int,
8722    >,
8723    pub pctx: *mut EVP_PKEY_CTX,
8724    pub pctx_ops: *const evp_md_pctx_ops,
8725    pub flags: ::std::os::raw::c_ulong,
8726}
8727#[test]
8728fn bindgen_test_layout_env_md_ctx_st() {
8729    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8730    let ptr = UNINIT.as_ptr();
8731    assert_eq!(
8732        ::std::mem::size_of::<env_md_ctx_st>(),
8733        48usize,
8734        "Size of env_md_ctx_st"
8735    );
8736    assert_eq!(
8737        ::std::mem::align_of::<env_md_ctx_st>(),
8738        8usize,
8739        "Alignment of env_md_ctx_st"
8740    );
8741    assert_eq!(
8742        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8743        0usize,
8744        "Offset of field: env_md_ctx_st::digest"
8745    );
8746    assert_eq!(
8747        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8748        8usize,
8749        "Offset of field: env_md_ctx_st::md_data"
8750    );
8751    assert_eq!(
8752        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8753        16usize,
8754        "Offset of field: env_md_ctx_st::update"
8755    );
8756    assert_eq!(
8757        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8758        24usize,
8759        "Offset of field: env_md_ctx_st::pctx"
8760    );
8761    assert_eq!(
8762        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8763        32usize,
8764        "Offset of field: env_md_ctx_st::pctx_ops"
8765    );
8766    assert_eq!(
8767        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8768        40usize,
8769        "Offset of field: env_md_ctx_st::flags"
8770    );
8771}
8772impl Default for env_md_ctx_st {
8773    fn default() -> Self {
8774        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8775        unsafe {
8776            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8777            s.assume_init()
8778        }
8779    }
8780}
8781extern "C" {
8782    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_unstable_sha3_enable"]
8783    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8784}
8785extern "C" {
8786    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_unstable_sha3_is_enabled"]
8787    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8788}
8789extern "C" {
8790    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_CTX_set_flags"]
8791    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8792}
8793extern "C" {
8794    #[link_name = "\u{1}aws_lc_0_37_1_EVP_add_digest"]
8795    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8796}
8797extern "C" {
8798    #[link_name = "\u{1}aws_lc_0_37_1_EVP_md_null"]
8799    pub fn EVP_md_null() -> *const EVP_MD;
8800}
8801#[repr(C)]
8802#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8803pub struct DSA_SIG_st {
8804    pub r: *mut BIGNUM,
8805    pub s: *mut BIGNUM,
8806}
8807#[test]
8808fn bindgen_test_layout_DSA_SIG_st() {
8809    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8810    let ptr = UNINIT.as_ptr();
8811    assert_eq!(
8812        ::std::mem::size_of::<DSA_SIG_st>(),
8813        16usize,
8814        "Size of DSA_SIG_st"
8815    );
8816    assert_eq!(
8817        ::std::mem::align_of::<DSA_SIG_st>(),
8818        8usize,
8819        "Alignment of DSA_SIG_st"
8820    );
8821    assert_eq!(
8822        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8823        0usize,
8824        "Offset of field: DSA_SIG_st::r"
8825    );
8826    assert_eq!(
8827        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8828        8usize,
8829        "Offset of field: DSA_SIG_st::s"
8830    );
8831}
8832impl Default for DSA_SIG_st {
8833    fn default() -> Self {
8834        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8835        unsafe {
8836            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8837            s.assume_init()
8838        }
8839    }
8840}
8841#[repr(u32)]
8842#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8843pub enum point_conversion_form_t {
8844    POINT_CONVERSION_COMPRESSED = 2,
8845    POINT_CONVERSION_UNCOMPRESSED = 4,
8846    POINT_CONVERSION_HYBRID = 6,
8847}
8848extern "C" {
8849    #[link_name = "\u{1}aws_lc_0_37_1_EC_group_p224"]
8850    pub fn EC_group_p224() -> *const EC_GROUP;
8851}
8852extern "C" {
8853    #[link_name = "\u{1}aws_lc_0_37_1_EC_group_p256"]
8854    pub fn EC_group_p256() -> *const EC_GROUP;
8855}
8856extern "C" {
8857    #[link_name = "\u{1}aws_lc_0_37_1_EC_group_p384"]
8858    pub fn EC_group_p384() -> *const EC_GROUP;
8859}
8860extern "C" {
8861    #[link_name = "\u{1}aws_lc_0_37_1_EC_group_p521"]
8862    pub fn EC_group_p521() -> *const EC_GROUP;
8863}
8864extern "C" {
8865    #[link_name = "\u{1}aws_lc_0_37_1_EC_group_secp256k1"]
8866    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8867}
8868extern "C" {
8869    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_new_by_curve_name"]
8870    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8871}
8872extern "C" {
8873    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_new_by_curve_name_mutable"]
8874    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8875}
8876extern "C" {
8877    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_cmp"]
8878    pub fn EC_GROUP_cmp(
8879        a: *const EC_GROUP,
8880        b: *const EC_GROUP,
8881        ignored: *mut BN_CTX,
8882    ) -> ::std::os::raw::c_int;
8883}
8884extern "C" {
8885    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get0_generator"]
8886    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
8887}
8888extern "C" {
8889    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get0_order"]
8890    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
8891}
8892extern "C" {
8893    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_order_bits"]
8894    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8895}
8896extern "C" {
8897    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_cofactor"]
8898    pub fn EC_GROUP_get_cofactor(
8899        group: *const EC_GROUP,
8900        cofactor: *mut BIGNUM,
8901        ctx: *mut BN_CTX,
8902    ) -> ::std::os::raw::c_int;
8903}
8904extern "C" {
8905    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_curve_GFp"]
8906    pub fn EC_GROUP_get_curve_GFp(
8907        group: *const EC_GROUP,
8908        out_p: *mut BIGNUM,
8909        out_a: *mut BIGNUM,
8910        out_b: *mut BIGNUM,
8911        ctx: *mut BN_CTX,
8912    ) -> ::std::os::raw::c_int;
8913}
8914extern "C" {
8915    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_curve_name"]
8916    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8917}
8918extern "C" {
8919    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_degree"]
8920    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
8921}
8922extern "C" {
8923    #[link_name = "\u{1}aws_lc_0_37_1_EC_curve_nid2nist"]
8924    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8925}
8926extern "C" {
8927    #[link_name = "\u{1}aws_lc_0_37_1_EC_curve_nist2nid"]
8928    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8929}
8930extern "C" {
8931    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_new"]
8932    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
8933}
8934extern "C" {
8935    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_free"]
8936    pub fn EC_POINT_free(point: *mut EC_POINT);
8937}
8938extern "C" {
8939    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_copy"]
8940    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
8941}
8942extern "C" {
8943    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_dup"]
8944    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
8945}
8946extern "C" {
8947    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_set_to_infinity"]
8948    pub fn EC_POINT_set_to_infinity(
8949        group: *const EC_GROUP,
8950        point: *mut EC_POINT,
8951    ) -> ::std::os::raw::c_int;
8952}
8953extern "C" {
8954    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_is_at_infinity"]
8955    pub fn EC_POINT_is_at_infinity(
8956        group: *const EC_GROUP,
8957        point: *const EC_POINT,
8958    ) -> ::std::os::raw::c_int;
8959}
8960extern "C" {
8961    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_is_on_curve"]
8962    pub fn EC_POINT_is_on_curve(
8963        group: *const EC_GROUP,
8964        point: *const EC_POINT,
8965        ctx: *mut BN_CTX,
8966    ) -> ::std::os::raw::c_int;
8967}
8968extern "C" {
8969    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_cmp"]
8970    pub fn EC_POINT_cmp(
8971        group: *const EC_GROUP,
8972        a: *const EC_POINT,
8973        b: *const EC_POINT,
8974        ctx: *mut BN_CTX,
8975    ) -> ::std::os::raw::c_int;
8976}
8977extern "C" {
8978    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_get_affine_coordinates_GFp"]
8979    pub fn EC_POINT_get_affine_coordinates_GFp(
8980        group: *const EC_GROUP,
8981        point: *const EC_POINT,
8982        x: *mut BIGNUM,
8983        y: *mut BIGNUM,
8984        ctx: *mut BN_CTX,
8985    ) -> ::std::os::raw::c_int;
8986}
8987extern "C" {
8988    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_get_affine_coordinates"]
8989    pub fn EC_POINT_get_affine_coordinates(
8990        group: *const EC_GROUP,
8991        point: *const EC_POINT,
8992        x: *mut BIGNUM,
8993        y: *mut BIGNUM,
8994        ctx: *mut BN_CTX,
8995    ) -> ::std::os::raw::c_int;
8996}
8997extern "C" {
8998    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_set_affine_coordinates_GFp"]
8999    pub fn EC_POINT_set_affine_coordinates_GFp(
9000        group: *const EC_GROUP,
9001        point: *mut EC_POINT,
9002        x: *const BIGNUM,
9003        y: *const BIGNUM,
9004        ctx: *mut BN_CTX,
9005    ) -> ::std::os::raw::c_int;
9006}
9007extern "C" {
9008    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_set_affine_coordinates"]
9009    pub fn EC_POINT_set_affine_coordinates(
9010        group: *const EC_GROUP,
9011        point: *mut EC_POINT,
9012        x: *const BIGNUM,
9013        y: *const BIGNUM,
9014        ctx: *mut BN_CTX,
9015    ) -> ::std::os::raw::c_int;
9016}
9017extern "C" {
9018    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_point2oct"]
9019    pub fn EC_POINT_point2oct(
9020        group: *const EC_GROUP,
9021        point: *const EC_POINT,
9022        form: point_conversion_form_t,
9023        buf: *mut u8,
9024        len: usize,
9025        ctx: *mut BN_CTX,
9026    ) -> usize;
9027}
9028extern "C" {
9029    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_point2cbb"]
9030    pub fn EC_POINT_point2cbb(
9031        out: *mut CBB,
9032        group: *const EC_GROUP,
9033        point: *const EC_POINT,
9034        form: point_conversion_form_t,
9035        ctx: *mut BN_CTX,
9036    ) -> ::std::os::raw::c_int;
9037}
9038extern "C" {
9039    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_oct2point"]
9040    pub fn EC_POINT_oct2point(
9041        group: *const EC_GROUP,
9042        point: *mut EC_POINT,
9043        buf: *const u8,
9044        len: usize,
9045        ctx: *mut BN_CTX,
9046    ) -> ::std::os::raw::c_int;
9047}
9048extern "C" {
9049    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_set_compressed_coordinates_GFp"]
9050    pub fn EC_POINT_set_compressed_coordinates_GFp(
9051        group: *const EC_GROUP,
9052        point: *mut EC_POINT,
9053        x: *const BIGNUM,
9054        y_bit: ::std::os::raw::c_int,
9055        ctx: *mut BN_CTX,
9056    ) -> ::std::os::raw::c_int;
9057}
9058extern "C" {
9059    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_add"]
9060    pub fn EC_POINT_add(
9061        group: *const EC_GROUP,
9062        r: *mut EC_POINT,
9063        a: *const EC_POINT,
9064        b: *const EC_POINT,
9065        ctx: *mut BN_CTX,
9066    ) -> ::std::os::raw::c_int;
9067}
9068extern "C" {
9069    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_dbl"]
9070    pub fn EC_POINT_dbl(
9071        group: *const EC_GROUP,
9072        r: *mut EC_POINT,
9073        a: *const EC_POINT,
9074        ctx: *mut BN_CTX,
9075    ) -> ::std::os::raw::c_int;
9076}
9077extern "C" {
9078    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_invert"]
9079    pub fn EC_POINT_invert(
9080        group: *const EC_GROUP,
9081        a: *mut EC_POINT,
9082        ctx: *mut BN_CTX,
9083    ) -> ::std::os::raw::c_int;
9084}
9085extern "C" {
9086    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_mul"]
9087    pub fn EC_POINT_mul(
9088        group: *const EC_GROUP,
9089        r: *mut EC_POINT,
9090        n: *const BIGNUM,
9091        q: *const EC_POINT,
9092        m: *const BIGNUM,
9093        ctx: *mut BN_CTX,
9094    ) -> ::std::os::raw::c_int;
9095}
9096extern "C" {
9097    #[link_name = "\u{1}aws_lc_0_37_1_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9098    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9099        group: *const EC_GROUP,
9100        out: *mut EC_POINT,
9101        dst: *const u8,
9102        dst_len: usize,
9103        msg: *const u8,
9104        msg_len: usize,
9105    ) -> ::std::os::raw::c_int;
9106}
9107extern "C" {
9108    #[link_name = "\u{1}aws_lc_0_37_1_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9109    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9110        group: *const EC_GROUP,
9111        out: *mut EC_POINT,
9112        dst: *const u8,
9113        dst_len: usize,
9114        msg: *const u8,
9115        msg_len: usize,
9116    ) -> ::std::os::raw::c_int;
9117}
9118extern "C" {
9119    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_free"]
9120    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9121}
9122extern "C" {
9123    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_dup"]
9124    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9125}
9126extern "C" {
9127    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_new_curve_GFp"]
9128    pub fn EC_GROUP_new_curve_GFp(
9129        p: *const BIGNUM,
9130        a: *const BIGNUM,
9131        b: *const BIGNUM,
9132        ctx: *mut BN_CTX,
9133    ) -> *mut EC_GROUP;
9134}
9135extern "C" {
9136    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_set_generator"]
9137    pub fn EC_GROUP_set_generator(
9138        group: *mut EC_GROUP,
9139        generator: *const EC_POINT,
9140        order: *const BIGNUM,
9141        cofactor: *const BIGNUM,
9142    ) -> ::std::os::raw::c_int;
9143}
9144extern "C" {
9145    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_point2bn"]
9146    pub fn EC_POINT_point2bn(
9147        group: *const EC_GROUP,
9148        point: *const EC_POINT,
9149        form: point_conversion_form_t,
9150        ret: *mut BIGNUM,
9151        ctx: *mut BN_CTX,
9152    ) -> *mut BIGNUM;
9153}
9154extern "C" {
9155    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_bn2point"]
9156    pub fn EC_POINT_bn2point(
9157        group: *const EC_GROUP,
9158        bn: *const BIGNUM,
9159        point: *mut EC_POINT,
9160        ctx: *mut BN_CTX,
9161    ) -> *mut EC_POINT;
9162}
9163extern "C" {
9164    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_order"]
9165    pub fn EC_GROUP_get_order(
9166        group: *const EC_GROUP,
9167        order: *mut BIGNUM,
9168        ctx: *mut BN_CTX,
9169    ) -> ::std::os::raw::c_int;
9170}
9171#[repr(C)]
9172#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9173pub struct EC_builtin_curve {
9174    pub nid: ::std::os::raw::c_int,
9175    pub comment: *const ::std::os::raw::c_char,
9176}
9177#[test]
9178fn bindgen_test_layout_EC_builtin_curve() {
9179    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9180    let ptr = UNINIT.as_ptr();
9181    assert_eq!(
9182        ::std::mem::size_of::<EC_builtin_curve>(),
9183        16usize,
9184        "Size of EC_builtin_curve"
9185    );
9186    assert_eq!(
9187        ::std::mem::align_of::<EC_builtin_curve>(),
9188        8usize,
9189        "Alignment of EC_builtin_curve"
9190    );
9191    assert_eq!(
9192        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9193        0usize,
9194        "Offset of field: EC_builtin_curve::nid"
9195    );
9196    assert_eq!(
9197        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9198        8usize,
9199        "Offset of field: EC_builtin_curve::comment"
9200    );
9201}
9202impl Default for EC_builtin_curve {
9203    fn default() -> Self {
9204        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9205        unsafe {
9206            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9207            s.assume_init()
9208        }
9209    }
9210}
9211extern "C" {
9212    #[link_name = "\u{1}aws_lc_0_37_1_EC_get_builtin_curves"]
9213    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9214        -> usize;
9215}
9216extern "C" {
9217    #[link_name = "\u{1}aws_lc_0_37_1_EC_POINT_clear_free"]
9218    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9219}
9220extern "C" {
9221    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_set_seed"]
9222    pub fn EC_GROUP_set_seed(
9223        group: *mut EC_GROUP,
9224        p: *const ::std::os::raw::c_uchar,
9225        len: usize,
9226    ) -> usize;
9227}
9228extern "C" {
9229    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get0_seed"]
9230    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9231}
9232extern "C" {
9233    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_seed_len"]
9234    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9235}
9236extern "C" {
9237    #[link_name = "\u{1}aws_lc_0_37_1_ECPKParameters_print"]
9238    pub fn ECPKParameters_print(
9239        bio: *mut BIO,
9240        group: *const EC_GROUP,
9241        offset: ::std::os::raw::c_int,
9242    ) -> ::std::os::raw::c_int;
9243}
9244extern "C" {
9245    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_set_asn1_flag"]
9246    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9247}
9248extern "C" {
9249    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_asn1_flag"]
9250    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9251}
9252extern "C" {
9253    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_set_point_conversion_form"]
9254    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9255}
9256extern "C" {
9257    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_get_point_conversion_form"]
9258    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9259}
9260extern "C" {
9261    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_decoded_from_explicit_params"]
9262    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9263}
9264#[repr(C)]
9265#[derive(Debug, Copy, Clone)]
9266pub struct ec_method_st {
9267    _unused: [u8; 0],
9268}
9269pub type EC_METHOD = ec_method_st;
9270extern "C" {
9271    #[link_name = "\u{1}aws_lc_0_37_1_EC_GROUP_method_of"]
9272    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9273}
9274extern "C" {
9275    #[link_name = "\u{1}aws_lc_0_37_1_EC_METHOD_get_field_type"]
9276    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9277}
9278extern "C" {
9279    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_new"]
9280    pub fn EC_KEY_new() -> *mut EC_KEY;
9281}
9282extern "C" {
9283    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_new_method"]
9284    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9285}
9286extern "C" {
9287    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_new_by_curve_name"]
9288    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9289}
9290extern "C" {
9291    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_free"]
9292    pub fn EC_KEY_free(key: *mut EC_KEY);
9293}
9294extern "C" {
9295    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_dup"]
9296    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9297}
9298extern "C" {
9299    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_up_ref"]
9300    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9301}
9302extern "C" {
9303    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_is_opaque"]
9304    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9305}
9306extern "C" {
9307    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get0_group"]
9308    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9309}
9310extern "C" {
9311    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_group"]
9312    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9313}
9314extern "C" {
9315    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get0_private_key"]
9316    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9317}
9318extern "C" {
9319    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_private_key"]
9320    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9321}
9322extern "C" {
9323    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get0_public_key"]
9324    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9325}
9326extern "C" {
9327    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_public_key"]
9328    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9329}
9330extern "C" {
9331    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get_enc_flags"]
9332    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9333}
9334extern "C" {
9335    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_enc_flags"]
9336    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9337}
9338extern "C" {
9339    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get_conv_form"]
9340    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9341}
9342extern "C" {
9343    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_conv_form"]
9344    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9345}
9346extern "C" {
9347    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_check_key"]
9348    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9349}
9350extern "C" {
9351    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_check_fips"]
9352    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9353}
9354extern "C" {
9355    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_public_key_affine_coordinates"]
9356    pub fn EC_KEY_set_public_key_affine_coordinates(
9357        key: *mut EC_KEY,
9358        x: *const BIGNUM,
9359        y: *const BIGNUM,
9360    ) -> ::std::os::raw::c_int;
9361}
9362extern "C" {
9363    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_key2buf"]
9364    pub fn EC_KEY_key2buf(
9365        key: *const EC_KEY,
9366        form: point_conversion_form_t,
9367        out_buf: *mut *mut ::std::os::raw::c_uchar,
9368        ctx: *mut BN_CTX,
9369    ) -> usize;
9370}
9371extern "C" {
9372    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_generate_key"]
9373    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9374}
9375extern "C" {
9376    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_generate_key_fips"]
9377    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9378}
9379extern "C" {
9380    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_derive_from_secret"]
9381    pub fn EC_KEY_derive_from_secret(
9382        group: *const EC_GROUP,
9383        secret: *const u8,
9384        secret_len: usize,
9385    ) -> *mut EC_KEY;
9386}
9387extern "C" {
9388    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_parse_private_key"]
9389    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9390}
9391extern "C" {
9392    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_marshal_private_key"]
9393    pub fn EC_KEY_marshal_private_key(
9394        cbb: *mut CBB,
9395        key: *const EC_KEY,
9396        enc_flags: ::std::os::raw::c_uint,
9397    ) -> ::std::os::raw::c_int;
9398}
9399extern "C" {
9400    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_parse_curve_name"]
9401    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9402}
9403extern "C" {
9404    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_marshal_curve_name"]
9405    pub fn EC_KEY_marshal_curve_name(
9406        cbb: *mut CBB,
9407        group: *const EC_GROUP,
9408    ) -> ::std::os::raw::c_int;
9409}
9410extern "C" {
9411    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_parse_parameters"]
9412    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9413}
9414extern "C" {
9415    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get_ex_new_index"]
9416    pub fn EC_KEY_get_ex_new_index(
9417        argl: ::std::os::raw::c_long,
9418        argp: *mut ::std::os::raw::c_void,
9419        unused: *mut CRYPTO_EX_unused,
9420        dup_unused: CRYPTO_EX_dup,
9421        free_func: CRYPTO_EX_free,
9422    ) -> ::std::os::raw::c_int;
9423}
9424extern "C" {
9425    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_ex_data"]
9426    pub fn EC_KEY_set_ex_data(
9427        r: *mut EC_KEY,
9428        idx: ::std::os::raw::c_int,
9429        arg: *mut ::std::os::raw::c_void,
9430    ) -> ::std::os::raw::c_int;
9431}
9432extern "C" {
9433    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get_ex_data"]
9434    pub fn EC_KEY_get_ex_data(
9435        r: *const EC_KEY,
9436        idx: ::std::os::raw::c_int,
9437    ) -> *mut ::std::os::raw::c_void;
9438}
9439extern "C" {
9440    #[link_name = "\u{1}aws_lc_0_37_1_d2i_ECPrivateKey"]
9441    pub fn d2i_ECPrivateKey(
9442        out_key: *mut *mut EC_KEY,
9443        inp: *mut *const u8,
9444        len: ::std::os::raw::c_long,
9445    ) -> *mut EC_KEY;
9446}
9447extern "C" {
9448    #[link_name = "\u{1}aws_lc_0_37_1_i2d_ECPrivateKey"]
9449    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9450}
9451extern "C" {
9452    #[link_name = "\u{1}aws_lc_0_37_1_d2i_ECParameters"]
9453    pub fn d2i_ECParameters(
9454        out_key: *mut *mut EC_KEY,
9455        inp: *mut *const u8,
9456        len: ::std::os::raw::c_long,
9457    ) -> *mut EC_KEY;
9458}
9459extern "C" {
9460    #[link_name = "\u{1}aws_lc_0_37_1_i2d_ECParameters"]
9461    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9462}
9463extern "C" {
9464    #[link_name = "\u{1}aws_lc_0_37_1_d2i_ECPKParameters_bio"]
9465    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9466}
9467extern "C" {
9468    #[link_name = "\u{1}aws_lc_0_37_1_i2d_ECPKParameters_bio"]
9469    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9470}
9471extern "C" {
9472    #[link_name = "\u{1}aws_lc_0_37_1_o2i_ECPublicKey"]
9473    pub fn o2i_ECPublicKey(
9474        out_key: *mut *mut EC_KEY,
9475        inp: *mut *const u8,
9476        len: ::std::os::raw::c_long,
9477    ) -> *mut EC_KEY;
9478}
9479extern "C" {
9480    #[link_name = "\u{1}aws_lc_0_37_1_i2o_ECPublicKey"]
9481    pub fn i2o_ECPublicKey(
9482        key: *const EC_KEY,
9483        outp: *mut *mut ::std::os::raw::c_uchar,
9484    ) -> ::std::os::raw::c_int;
9485}
9486extern "C" {
9487    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get_default_method"]
9488    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9489}
9490extern "C" {
9491    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_OpenSSL"]
9492    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9493}
9494extern "C" {
9495    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_METHOD_new"]
9496    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9497}
9498extern "C" {
9499    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_METHOD_free"]
9500    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9501}
9502extern "C" {
9503    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_method"]
9504    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9505}
9506extern "C" {
9507    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_get_method"]
9508    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9509}
9510extern "C" {
9511    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_METHOD_set_sign_awslc"]
9512    pub fn EC_KEY_METHOD_set_sign_awslc(
9513        meth: *mut EC_KEY_METHOD,
9514        sign: ::std::option::Option<
9515            unsafe extern "C" fn(
9516                type_: ::std::os::raw::c_int,
9517                digest: *const u8,
9518                digest_len: ::std::os::raw::c_int,
9519                sig: *mut u8,
9520                siglen: *mut ::std::os::raw::c_uint,
9521                k_inv: *const BIGNUM,
9522                r: *const BIGNUM,
9523                eckey: *mut EC_KEY,
9524            ) -> ::std::os::raw::c_int,
9525        >,
9526        sign_sig: ::std::option::Option<
9527            unsafe extern "C" fn(
9528                digest: *const u8,
9529                digest_len: ::std::os::raw::c_int,
9530                in_kinv: *const BIGNUM,
9531                in_r: *const BIGNUM,
9532                eckey: *mut EC_KEY,
9533            ) -> *mut ECDSA_SIG,
9534        >,
9535    );
9536}
9537extern "C" {
9538    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_METHOD_set_init_awslc"]
9539    pub fn EC_KEY_METHOD_set_init_awslc(
9540        meth: *mut EC_KEY_METHOD,
9541        init: ::std::option::Option<
9542            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9543        >,
9544        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9545    );
9546}
9547extern "C" {
9548    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_METHOD_set_flags"]
9549    pub fn EC_KEY_METHOD_set_flags(
9550        meth: *mut EC_KEY_METHOD,
9551        flags: ::std::os::raw::c_int,
9552    ) -> ::std::os::raw::c_int;
9553}
9554extern "C" {
9555    #[link_name = "\u{1}aws_lc_0_37_1_EC_KEY_set_asn1_flag"]
9556    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9557}
9558extern "C" {
9559    #[link_name = "\u{1}aws_lc_0_37_1_ECDH_compute_key"]
9560    pub fn ECDH_compute_key(
9561        out: *mut ::std::os::raw::c_void,
9562        outlen: usize,
9563        pub_key: *const EC_POINT,
9564        priv_key: *const EC_KEY,
9565        kdf: ::std::option::Option<
9566            unsafe extern "C" fn(
9567                in_: *const ::std::os::raw::c_void,
9568                inlen: usize,
9569                out: *mut ::std::os::raw::c_void,
9570                outlen: *mut usize,
9571            ) -> *mut ::std::os::raw::c_void,
9572        >,
9573    ) -> ::std::os::raw::c_int;
9574}
9575extern "C" {
9576    #[link_name = "\u{1}aws_lc_0_37_1_ECDH_compute_key_fips"]
9577    pub fn ECDH_compute_key_fips(
9578        out: *mut u8,
9579        out_len: usize,
9580        pub_key: *const EC_POINT,
9581        priv_key: *const EC_KEY,
9582    ) -> ::std::os::raw::c_int;
9583}
9584extern "C" {
9585    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_sign"]
9586    pub fn ECDSA_sign(
9587        type_: ::std::os::raw::c_int,
9588        digest: *const u8,
9589        digest_len: usize,
9590        sig: *mut u8,
9591        sig_len: *mut ::std::os::raw::c_uint,
9592        key: *const EC_KEY,
9593    ) -> ::std::os::raw::c_int;
9594}
9595extern "C" {
9596    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_verify"]
9597    pub fn ECDSA_verify(
9598        type_: ::std::os::raw::c_int,
9599        digest: *const u8,
9600        digest_len: usize,
9601        sig: *const u8,
9602        sig_len: usize,
9603        key: *const EC_KEY,
9604    ) -> ::std::os::raw::c_int;
9605}
9606extern "C" {
9607    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_size"]
9608    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9609}
9610#[repr(C)]
9611#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9612pub struct ecdsa_sig_st {
9613    pub r: *mut BIGNUM,
9614    pub s: *mut BIGNUM,
9615}
9616#[test]
9617fn bindgen_test_layout_ecdsa_sig_st() {
9618    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9619    let ptr = UNINIT.as_ptr();
9620    assert_eq!(
9621        ::std::mem::size_of::<ecdsa_sig_st>(),
9622        16usize,
9623        "Size of ecdsa_sig_st"
9624    );
9625    assert_eq!(
9626        ::std::mem::align_of::<ecdsa_sig_st>(),
9627        8usize,
9628        "Alignment of ecdsa_sig_st"
9629    );
9630    assert_eq!(
9631        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9632        0usize,
9633        "Offset of field: ecdsa_sig_st::r"
9634    );
9635    assert_eq!(
9636        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9637        8usize,
9638        "Offset of field: ecdsa_sig_st::s"
9639    );
9640}
9641impl Default for ecdsa_sig_st {
9642    fn default() -> Self {
9643        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9644        unsafe {
9645            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9646            s.assume_init()
9647        }
9648    }
9649}
9650extern "C" {
9651    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_new"]
9652    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9653}
9654extern "C" {
9655    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_free"]
9656    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9657}
9658extern "C" {
9659    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_get0_r"]
9660    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9661}
9662extern "C" {
9663    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_get0_s"]
9664    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9665}
9666extern "C" {
9667    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_get0"]
9668    pub fn ECDSA_SIG_get0(
9669        sig: *const ECDSA_SIG,
9670        out_r: *mut *const BIGNUM,
9671        out_s: *mut *const BIGNUM,
9672    );
9673}
9674extern "C" {
9675    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_set0"]
9676    pub fn ECDSA_SIG_set0(
9677        sig: *mut ECDSA_SIG,
9678        r: *mut BIGNUM,
9679        s: *mut BIGNUM,
9680    ) -> ::std::os::raw::c_int;
9681}
9682extern "C" {
9683    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_do_sign"]
9684    pub fn ECDSA_do_sign(
9685        digest: *const u8,
9686        digest_len: usize,
9687        key: *const EC_KEY,
9688    ) -> *mut ECDSA_SIG;
9689}
9690extern "C" {
9691    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_do_verify"]
9692    pub fn ECDSA_do_verify(
9693        digest: *const u8,
9694        digest_len: usize,
9695        sig: *const ECDSA_SIG,
9696        key: *const EC_KEY,
9697    ) -> ::std::os::raw::c_int;
9698}
9699extern "C" {
9700    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_parse"]
9701    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9702}
9703extern "C" {
9704    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_from_bytes"]
9705    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9706}
9707extern "C" {
9708    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_marshal"]
9709    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9710}
9711extern "C" {
9712    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_to_bytes"]
9713    pub fn ECDSA_SIG_to_bytes(
9714        out_bytes: *mut *mut u8,
9715        out_len: *mut usize,
9716        sig: *const ECDSA_SIG,
9717    ) -> ::std::os::raw::c_int;
9718}
9719extern "C" {
9720    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_SIG_max_len"]
9721    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9722}
9723extern "C" {
9724    #[link_name = "\u{1}aws_lc_0_37_1_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9725    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9726        digest: *const u8,
9727        digest_len: usize,
9728        eckey: *const EC_KEY,
9729        nonce: *const u8,
9730        nonce_len: usize,
9731    ) -> *mut ECDSA_SIG;
9732}
9733extern "C" {
9734    #[link_name = "\u{1}aws_lc_0_37_1_d2i_ECDSA_SIG"]
9735    pub fn d2i_ECDSA_SIG(
9736        out: *mut *mut ECDSA_SIG,
9737        inp: *mut *const u8,
9738        len: ::std::os::raw::c_long,
9739    ) -> *mut ECDSA_SIG;
9740}
9741extern "C" {
9742    #[link_name = "\u{1}aws_lc_0_37_1_i2d_ECDSA_SIG"]
9743    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9744}
9745extern "C" {
9746    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_gcm"]
9747    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9748}
9749extern "C" {
9750    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_192_gcm"]
9751    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9752}
9753extern "C" {
9754    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_gcm"]
9755    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9756}
9757extern "C" {
9758    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_chacha20_poly1305"]
9759    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9760}
9761extern "C" {
9762    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_xchacha20_poly1305"]
9763    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9764}
9765extern "C" {
9766    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_ctr_hmac_sha256"]
9767    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9768}
9769extern "C" {
9770    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_ctr_hmac_sha256"]
9771    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9772}
9773extern "C" {
9774    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_gcm_siv"]
9775    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9776}
9777extern "C" {
9778    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_gcm_siv"]
9779    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9780}
9781extern "C" {
9782    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_gcm_randnonce"]
9783    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9784}
9785extern "C" {
9786    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_gcm_randnonce"]
9787    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9788}
9789extern "C" {
9790    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_ccm_bluetooth"]
9791    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9792}
9793extern "C" {
9794    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_ccm_bluetooth_8"]
9795    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9796}
9797extern "C" {
9798    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_ccm_matter"]
9799    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9800}
9801extern "C" {
9802    #[link_name = "\u{1}aws_lc_0_37_1_EVP_has_aes_hardware"]
9803    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9804}
9805extern "C" {
9806    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_key_length"]
9807    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9808}
9809extern "C" {
9810    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_nonce_length"]
9811    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9812}
9813extern "C" {
9814    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_max_overhead"]
9815    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9816}
9817extern "C" {
9818    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_max_tag_len"]
9819    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9820}
9821#[repr(C)]
9822#[derive(Copy, Clone)]
9823pub union evp_aead_ctx_st_state {
9824    pub opaque: [u8; 564usize],
9825    pub alignment: u64,
9826    pub ptr: *mut ::std::os::raw::c_void,
9827}
9828#[test]
9829fn bindgen_test_layout_evp_aead_ctx_st_state() {
9830    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9831        ::std::mem::MaybeUninit::uninit();
9832    let ptr = UNINIT.as_ptr();
9833    assert_eq!(
9834        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9835        568usize,
9836        "Size of evp_aead_ctx_st_state"
9837    );
9838    assert_eq!(
9839        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9840        8usize,
9841        "Alignment of evp_aead_ctx_st_state"
9842    );
9843    assert_eq!(
9844        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9845        0usize,
9846        "Offset of field: evp_aead_ctx_st_state::opaque"
9847    );
9848    assert_eq!(
9849        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9850        0usize,
9851        "Offset of field: evp_aead_ctx_st_state::alignment"
9852    );
9853    assert_eq!(
9854        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9855        0usize,
9856        "Offset of field: evp_aead_ctx_st_state::ptr"
9857    );
9858}
9859impl Default for evp_aead_ctx_st_state {
9860    fn default() -> Self {
9861        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9862        unsafe {
9863            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9864            s.assume_init()
9865        }
9866    }
9867}
9868#[repr(C)]
9869#[derive(Copy, Clone)]
9870pub struct evp_aead_ctx_st {
9871    pub aead: *const EVP_AEAD,
9872    pub state: evp_aead_ctx_st_state,
9873    pub state_offset: u8,
9874    pub tag_len: u8,
9875}
9876#[test]
9877fn bindgen_test_layout_evp_aead_ctx_st() {
9878    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
9879    let ptr = UNINIT.as_ptr();
9880    assert_eq!(
9881        ::std::mem::size_of::<evp_aead_ctx_st>(),
9882        584usize,
9883        "Size of evp_aead_ctx_st"
9884    );
9885    assert_eq!(
9886        ::std::mem::align_of::<evp_aead_ctx_st>(),
9887        8usize,
9888        "Alignment of evp_aead_ctx_st"
9889    );
9890    assert_eq!(
9891        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
9892        0usize,
9893        "Offset of field: evp_aead_ctx_st::aead"
9894    );
9895    assert_eq!(
9896        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
9897        8usize,
9898        "Offset of field: evp_aead_ctx_st::state"
9899    );
9900    assert_eq!(
9901        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
9902        576usize,
9903        "Offset of field: evp_aead_ctx_st::state_offset"
9904    );
9905    assert_eq!(
9906        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
9907        577usize,
9908        "Offset of field: evp_aead_ctx_st::tag_len"
9909    );
9910}
9911impl Default for evp_aead_ctx_st {
9912    fn default() -> Self {
9913        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9914        unsafe {
9915            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9916            s.assume_init()
9917        }
9918    }
9919}
9920extern "C" {
9921    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_zero"]
9922    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
9923}
9924extern "C" {
9925    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_new"]
9926    pub fn EVP_AEAD_CTX_new(
9927        aead: *const EVP_AEAD,
9928        key: *const u8,
9929        key_len: usize,
9930        tag_len: usize,
9931    ) -> *mut EVP_AEAD_CTX;
9932}
9933extern "C" {
9934    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_free"]
9935    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
9936}
9937extern "C" {
9938    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_init"]
9939    pub fn EVP_AEAD_CTX_init(
9940        ctx: *mut EVP_AEAD_CTX,
9941        aead: *const EVP_AEAD,
9942        key: *const u8,
9943        key_len: usize,
9944        tag_len: usize,
9945        impl_: *mut ENGINE,
9946    ) -> ::std::os::raw::c_int;
9947}
9948extern "C" {
9949    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_cleanup"]
9950    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
9951}
9952extern "C" {
9953    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_seal"]
9954    pub fn EVP_AEAD_CTX_seal(
9955        ctx: *const EVP_AEAD_CTX,
9956        out: *mut u8,
9957        out_len: *mut usize,
9958        max_out_len: usize,
9959        nonce: *const u8,
9960        nonce_len: usize,
9961        in_: *const u8,
9962        in_len: usize,
9963        ad: *const u8,
9964        ad_len: usize,
9965    ) -> ::std::os::raw::c_int;
9966}
9967extern "C" {
9968    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_open"]
9969    pub fn EVP_AEAD_CTX_open(
9970        ctx: *const EVP_AEAD_CTX,
9971        out: *mut u8,
9972        out_len: *mut usize,
9973        max_out_len: usize,
9974        nonce: *const u8,
9975        nonce_len: usize,
9976        in_: *const u8,
9977        in_len: usize,
9978        ad: *const u8,
9979        ad_len: usize,
9980    ) -> ::std::os::raw::c_int;
9981}
9982extern "C" {
9983    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_seal_scatter"]
9984    pub fn EVP_AEAD_CTX_seal_scatter(
9985        ctx: *const EVP_AEAD_CTX,
9986        out: *mut u8,
9987        out_tag: *mut u8,
9988        out_tag_len: *mut usize,
9989        max_out_tag_len: usize,
9990        nonce: *const u8,
9991        nonce_len: usize,
9992        in_: *const u8,
9993        in_len: usize,
9994        extra_in: *const u8,
9995        extra_in_len: usize,
9996        ad: *const u8,
9997        ad_len: usize,
9998    ) -> ::std::os::raw::c_int;
9999}
10000extern "C" {
10001    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_open_gather"]
10002    pub fn EVP_AEAD_CTX_open_gather(
10003        ctx: *const EVP_AEAD_CTX,
10004        out: *mut u8,
10005        nonce: *const u8,
10006        nonce_len: usize,
10007        in_: *const u8,
10008        in_len: usize,
10009        in_tag: *const u8,
10010        in_tag_len: usize,
10011        ad: *const u8,
10012        ad_len: usize,
10013    ) -> ::std::os::raw::c_int;
10014}
10015extern "C" {
10016    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_aead"]
10017    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
10018}
10019extern "C" {
10020    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_cbc_sha1_tls"]
10021    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
10022}
10023extern "C" {
10024    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
10025    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10026}
10027extern "C" {
10028    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_cbc_sha1_tls"]
10029    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
10030}
10031extern "C" {
10032    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
10033    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10034}
10035extern "C" {
10036    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_cbc_sha256_tls"]
10037    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
10038}
10039extern "C" {
10040    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
10041    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
10042}
10043extern "C" {
10044    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_cbc_sha384_tls"]
10045    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
10046}
10047extern "C" {
10048    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_des_ede3_cbc_sha1_tls"]
10049    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
10050}
10051extern "C" {
10052    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
10053    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10054}
10055extern "C" {
10056    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_null_sha1_tls"]
10057    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
10058}
10059extern "C" {
10060    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_gcm_tls12"]
10061    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10062}
10063extern "C" {
10064    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_gcm_tls12"]
10065    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10066}
10067extern "C" {
10068    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_128_gcm_tls13"]
10069    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10070}
10071extern "C" {
10072    #[link_name = "\u{1}aws_lc_0_37_1_EVP_aead_aes_256_gcm_tls13"]
10073    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10074}
10075pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10076pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10077pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10078extern "C" {
10079    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_init_with_direction"]
10080    pub fn EVP_AEAD_CTX_init_with_direction(
10081        ctx: *mut EVP_AEAD_CTX,
10082        aead: *const EVP_AEAD,
10083        key: *const u8,
10084        key_len: usize,
10085        tag_len: usize,
10086        dir: evp_aead_direction_t,
10087    ) -> ::std::os::raw::c_int;
10088}
10089extern "C" {
10090    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_get_iv"]
10091    pub fn EVP_AEAD_CTX_get_iv(
10092        ctx: *const EVP_AEAD_CTX,
10093        out_iv: *mut *const u8,
10094        out_len: *mut usize,
10095    ) -> ::std::os::raw::c_int;
10096}
10097extern "C" {
10098    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_CTX_tag_len"]
10099    pub fn EVP_AEAD_CTX_tag_len(
10100        ctx: *const EVP_AEAD_CTX,
10101        out_tag_len: *mut usize,
10102        in_len: usize,
10103        extra_in_len: usize,
10104    ) -> ::std::os::raw::c_int;
10105}
10106extern "C" {
10107    #[link_name = "\u{1}aws_lc_0_37_1_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10108    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10109        ipv4_address: u32,
10110        nanosecs: u64,
10111        out_iv: *mut u8,
10112    ) -> ::std::os::raw::c_int;
10113}
10114#[repr(C)]
10115#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10116pub struct md5_state_st {
10117    pub h: [u32; 4usize],
10118    pub Nl: u32,
10119    pub Nh: u32,
10120    pub data: [u8; 64usize],
10121    pub num: ::std::os::raw::c_uint,
10122}
10123#[test]
10124fn bindgen_test_layout_md5_state_st() {
10125    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10126    let ptr = UNINIT.as_ptr();
10127    assert_eq!(
10128        ::std::mem::size_of::<md5_state_st>(),
10129        92usize,
10130        "Size of md5_state_st"
10131    );
10132    assert_eq!(
10133        ::std::mem::align_of::<md5_state_st>(),
10134        4usize,
10135        "Alignment of md5_state_st"
10136    );
10137    assert_eq!(
10138        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10139        0usize,
10140        "Offset of field: md5_state_st::h"
10141    );
10142    assert_eq!(
10143        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10144        16usize,
10145        "Offset of field: md5_state_st::Nl"
10146    );
10147    assert_eq!(
10148        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10149        20usize,
10150        "Offset of field: md5_state_st::Nh"
10151    );
10152    assert_eq!(
10153        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10154        24usize,
10155        "Offset of field: md5_state_st::data"
10156    );
10157    assert_eq!(
10158        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10159        88usize,
10160        "Offset of field: md5_state_st::num"
10161    );
10162}
10163impl Default for md5_state_st {
10164    fn default() -> Self {
10165        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10166        unsafe {
10167            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10168            s.assume_init()
10169        }
10170    }
10171}
10172extern "C" {
10173    #[link_name = "\u{1}aws_lc_0_37_1_HMAC"]
10174    pub fn HMAC(
10175        evp_md: *const EVP_MD,
10176        key: *const ::std::os::raw::c_void,
10177        key_len: usize,
10178        data: *const u8,
10179        data_len: usize,
10180        out: *mut u8,
10181        out_len: *mut ::std::os::raw::c_uint,
10182    ) -> *mut u8;
10183}
10184extern "C" {
10185    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_init"]
10186    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10187}
10188extern "C" {
10189    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_new"]
10190    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10191}
10192extern "C" {
10193    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_cleanup"]
10194    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10195}
10196extern "C" {
10197    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_cleanse"]
10198    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10199}
10200extern "C" {
10201    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_free"]
10202    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10203}
10204extern "C" {
10205    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_Init_ex"]
10206    pub fn HMAC_Init_ex(
10207        ctx: *mut HMAC_CTX,
10208        key: *const ::std::os::raw::c_void,
10209        key_len: usize,
10210        md: *const EVP_MD,
10211        impl_: *mut ENGINE,
10212    ) -> ::std::os::raw::c_int;
10213}
10214extern "C" {
10215    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_Update"]
10216    pub fn HMAC_Update(
10217        ctx: *mut HMAC_CTX,
10218        data: *const u8,
10219        data_len: usize,
10220    ) -> ::std::os::raw::c_int;
10221}
10222extern "C" {
10223    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_Final"]
10224    pub fn HMAC_Final(
10225        ctx: *mut HMAC_CTX,
10226        out: *mut u8,
10227        out_len: *mut ::std::os::raw::c_uint,
10228    ) -> ::std::os::raw::c_int;
10229}
10230extern "C" {
10231    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_size"]
10232    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10233}
10234extern "C" {
10235    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_get_md"]
10236    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10237}
10238extern "C" {
10239    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_copy_ex"]
10240    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10241}
10242extern "C" {
10243    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_reset"]
10244    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10245}
10246extern "C" {
10247    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_set_precomputed_key_export"]
10248    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10249}
10250extern "C" {
10251    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_get_precomputed_key"]
10252    pub fn HMAC_get_precomputed_key(
10253        ctx: *mut HMAC_CTX,
10254        out: *mut u8,
10255        out_len: *mut usize,
10256    ) -> ::std::os::raw::c_int;
10257}
10258extern "C" {
10259    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_Init_from_precomputed_key"]
10260    pub fn HMAC_Init_from_precomputed_key(
10261        ctx: *mut HMAC_CTX,
10262        precomputed_key: *const u8,
10263        precompute_key_len: usize,
10264        md: *const EVP_MD,
10265    ) -> ::std::os::raw::c_int;
10266}
10267extern "C" {
10268    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_Init"]
10269    pub fn HMAC_Init(
10270        ctx: *mut HMAC_CTX,
10271        key: *const ::std::os::raw::c_void,
10272        key_len: ::std::os::raw::c_int,
10273        md: *const EVP_MD,
10274    ) -> ::std::os::raw::c_int;
10275}
10276extern "C" {
10277    #[link_name = "\u{1}aws_lc_0_37_1_HMAC_CTX_copy"]
10278    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10279}
10280#[repr(C)]
10281#[derive(Debug, Copy, Clone)]
10282pub struct hmac_methods_st {
10283    _unused: [u8; 0],
10284}
10285pub type HmacMethods = hmac_methods_st;
10286#[repr(C)]
10287#[derive(Copy, Clone)]
10288pub union md_ctx_union {
10289    pub md5: MD5_CTX,
10290    pub sha1: SHA_CTX,
10291    pub sha256: SHA256_CTX,
10292    pub sha512: SHA512_CTX,
10293    pub sha3: [u8; 400usize],
10294}
10295#[test]
10296fn bindgen_test_layout_md_ctx_union() {
10297    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10298    let ptr = UNINIT.as_ptr();
10299    assert_eq!(
10300        ::std::mem::size_of::<md_ctx_union>(),
10301        400usize,
10302        "Size of md_ctx_union"
10303    );
10304    assert_eq!(
10305        ::std::mem::align_of::<md_ctx_union>(),
10306        8usize,
10307        "Alignment of md_ctx_union"
10308    );
10309    assert_eq!(
10310        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10311        0usize,
10312        "Offset of field: md_ctx_union::md5"
10313    );
10314    assert_eq!(
10315        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10316        0usize,
10317        "Offset of field: md_ctx_union::sha1"
10318    );
10319    assert_eq!(
10320        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10321        0usize,
10322        "Offset of field: md_ctx_union::sha256"
10323    );
10324    assert_eq!(
10325        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10326        0usize,
10327        "Offset of field: md_ctx_union::sha512"
10328    );
10329    assert_eq!(
10330        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10331        0usize,
10332        "Offset of field: md_ctx_union::sha3"
10333    );
10334}
10335impl Default for md_ctx_union {
10336    fn default() -> Self {
10337        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10338        unsafe {
10339            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10340            s.assume_init()
10341        }
10342    }
10343}
10344#[repr(C)]
10345#[derive(Copy, Clone)]
10346pub struct hmac_ctx_st {
10347    pub md: *const EVP_MD,
10348    pub methods: *const HmacMethods,
10349    pub md_ctx: md_ctx_union,
10350    pub i_ctx: md_ctx_union,
10351    pub o_ctx: md_ctx_union,
10352    pub state: i8,
10353}
10354#[test]
10355fn bindgen_test_layout_hmac_ctx_st() {
10356    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10357    let ptr = UNINIT.as_ptr();
10358    assert_eq!(
10359        ::std::mem::size_of::<hmac_ctx_st>(),
10360        1224usize,
10361        "Size of hmac_ctx_st"
10362    );
10363    assert_eq!(
10364        ::std::mem::align_of::<hmac_ctx_st>(),
10365        8usize,
10366        "Alignment of hmac_ctx_st"
10367    );
10368    assert_eq!(
10369        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10370        0usize,
10371        "Offset of field: hmac_ctx_st::md"
10372    );
10373    assert_eq!(
10374        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10375        8usize,
10376        "Offset of field: hmac_ctx_st::methods"
10377    );
10378    assert_eq!(
10379        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10380        16usize,
10381        "Offset of field: hmac_ctx_st::md_ctx"
10382    );
10383    assert_eq!(
10384        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10385        416usize,
10386        "Offset of field: hmac_ctx_st::i_ctx"
10387    );
10388    assert_eq!(
10389        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10390        816usize,
10391        "Offset of field: hmac_ctx_st::o_ctx"
10392    );
10393    assert_eq!(
10394        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10395        1216usize,
10396        "Offset of field: hmac_ctx_st::state"
10397    );
10398}
10399impl Default for hmac_ctx_st {
10400    fn default() -> Self {
10401        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10402        unsafe {
10403            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10404            s.assume_init()
10405        }
10406    }
10407}
10408extern "C" {
10409    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_new"]
10410    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10411}
10412extern "C" {
10413    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_free"]
10414    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10415}
10416extern "C" {
10417    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_up_ref"]
10418    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10419}
10420extern "C" {
10421    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_is_opaque"]
10422    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10423}
10424extern "C" {
10425    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_cmp"]
10426    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10427}
10428extern "C" {
10429    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_copy_parameters"]
10430    pub fn EVP_PKEY_copy_parameters(
10431        to: *mut EVP_PKEY,
10432        from: *const EVP_PKEY,
10433    ) -> ::std::os::raw::c_int;
10434}
10435extern "C" {
10436    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_missing_parameters"]
10437    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10438}
10439extern "C" {
10440    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_size"]
10441    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10442}
10443extern "C" {
10444    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_bits"]
10445    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10446}
10447extern "C" {
10448    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_id"]
10449    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10450}
10451extern "C" {
10452    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_get0_name"]
10453    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10454}
10455extern "C" {
10456    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_name"]
10457    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10458}
10459extern "C" {
10460    #[link_name = "\u{1}aws_lc_0_37_1_EVP_get_pw_prompt"]
10461    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10462}
10463extern "C" {
10464    #[link_name = "\u{1}aws_lc_0_37_1_EVP_read_pw_string"]
10465    pub fn EVP_read_pw_string(
10466        buf: *mut ::std::os::raw::c_char,
10467        length: ::std::os::raw::c_int,
10468        prompt: *const ::std::os::raw::c_char,
10469        verify: ::std::os::raw::c_int,
10470    ) -> ::std::os::raw::c_int;
10471}
10472extern "C" {
10473    #[link_name = "\u{1}aws_lc_0_37_1_EVP_read_pw_string_min"]
10474    pub fn EVP_read_pw_string_min(
10475        buf: *mut ::std::os::raw::c_char,
10476        min_length: ::std::os::raw::c_int,
10477        length: ::std::os::raw::c_int,
10478        prompt: *const ::std::os::raw::c_char,
10479        verify: ::std::os::raw::c_int,
10480    ) -> ::std::os::raw::c_int;
10481}
10482extern "C" {
10483    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_set1_RSA"]
10484    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10485}
10486extern "C" {
10487    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_assign_RSA"]
10488    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10489}
10490extern "C" {
10491    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get0_RSA"]
10492    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10493}
10494extern "C" {
10495    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get1_RSA"]
10496    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10497}
10498extern "C" {
10499    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_set1_DSA"]
10500    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10501}
10502extern "C" {
10503    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_assign_DSA"]
10504    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10505}
10506extern "C" {
10507    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get0_DSA"]
10508    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10509}
10510extern "C" {
10511    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get1_DSA"]
10512    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10513}
10514extern "C" {
10515    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_set1_EC_KEY"]
10516    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10517}
10518extern "C" {
10519    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_assign_EC_KEY"]
10520    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10521}
10522extern "C" {
10523    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get0_EC_KEY"]
10524    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10525}
10526extern "C" {
10527    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get1_EC_KEY"]
10528    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10529}
10530extern "C" {
10531    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_set1_DH"]
10532    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10533}
10534extern "C" {
10535    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_assign_DH"]
10536    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10537}
10538extern "C" {
10539    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get0_DH"]
10540    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10541}
10542extern "C" {
10543    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get1_DH"]
10544    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10545}
10546extern "C" {
10547    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10548    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10549        ctx: *mut EVP_PKEY_CTX,
10550        pbits: ::std::os::raw::c_int,
10551    ) -> ::std::os::raw::c_int;
10552}
10553extern "C" {
10554    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10555    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10556        ctx: *mut EVP_PKEY_CTX,
10557        gen_: ::std::os::raw::c_int,
10558    ) -> ::std::os::raw::c_int;
10559}
10560extern "C" {
10561    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_set_type"]
10562    pub fn EVP_PKEY_set_type(
10563        pkey: *mut EVP_PKEY,
10564        type_: ::std::os::raw::c_int,
10565    ) -> ::std::os::raw::c_int;
10566}
10567extern "C" {
10568    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_set_type_str"]
10569    pub fn EVP_PKEY_set_type_str(
10570        pkey: *mut EVP_PKEY,
10571        str_: *const ::std::os::raw::c_char,
10572        len: ::std::os::raw::c_int,
10573    ) -> ::std::os::raw::c_int;
10574}
10575extern "C" {
10576    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_cmp_parameters"]
10577    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10578        -> ::std::os::raw::c_int;
10579}
10580extern "C" {
10581    #[link_name = "\u{1}aws_lc_0_37_1_EVP_parse_public_key"]
10582    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10583}
10584extern "C" {
10585    #[link_name = "\u{1}aws_lc_0_37_1_EVP_marshal_public_key"]
10586    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10587}
10588extern "C" {
10589    #[link_name = "\u{1}aws_lc_0_37_1_EVP_parse_private_key"]
10590    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10591}
10592extern "C" {
10593    #[link_name = "\u{1}aws_lc_0_37_1_EVP_marshal_private_key"]
10594    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10595}
10596extern "C" {
10597    #[link_name = "\u{1}aws_lc_0_37_1_EVP_marshal_private_key_v2"]
10598    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10599        -> ::std::os::raw::c_int;
10600}
10601extern "C" {
10602    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_new_raw_private_key"]
10603    pub fn EVP_PKEY_new_raw_private_key(
10604        type_: ::std::os::raw::c_int,
10605        unused: *mut ENGINE,
10606        in_: *const u8,
10607        len: usize,
10608    ) -> *mut EVP_PKEY;
10609}
10610extern "C" {
10611    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_new_raw_public_key"]
10612    pub fn EVP_PKEY_new_raw_public_key(
10613        type_: ::std::os::raw::c_int,
10614        unused: *mut ENGINE,
10615        in_: *const u8,
10616        len: usize,
10617    ) -> *mut EVP_PKEY;
10618}
10619extern "C" {
10620    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get_raw_private_key"]
10621    pub fn EVP_PKEY_get_raw_private_key(
10622        pkey: *const EVP_PKEY,
10623        out: *mut u8,
10624        out_len: *mut usize,
10625    ) -> ::std::os::raw::c_int;
10626}
10627extern "C" {
10628    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get_raw_public_key"]
10629    pub fn EVP_PKEY_get_raw_public_key(
10630        pkey: *const EVP_PKEY,
10631        out: *mut u8,
10632        out_len: *mut usize,
10633    ) -> ::std::os::raw::c_int;
10634}
10635extern "C" {
10636    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestSignInit"]
10637    pub fn EVP_DigestSignInit(
10638        ctx: *mut EVP_MD_CTX,
10639        pctx: *mut *mut EVP_PKEY_CTX,
10640        type_: *const EVP_MD,
10641        e: *mut ENGINE,
10642        pkey: *mut EVP_PKEY,
10643    ) -> ::std::os::raw::c_int;
10644}
10645extern "C" {
10646    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestSignUpdate"]
10647    pub fn EVP_DigestSignUpdate(
10648        ctx: *mut EVP_MD_CTX,
10649        data: *const ::std::os::raw::c_void,
10650        len: usize,
10651    ) -> ::std::os::raw::c_int;
10652}
10653extern "C" {
10654    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestSignFinal"]
10655    pub fn EVP_DigestSignFinal(
10656        ctx: *mut EVP_MD_CTX,
10657        out_sig: *mut u8,
10658        out_sig_len: *mut usize,
10659    ) -> ::std::os::raw::c_int;
10660}
10661extern "C" {
10662    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestSign"]
10663    pub fn EVP_DigestSign(
10664        ctx: *mut EVP_MD_CTX,
10665        out_sig: *mut u8,
10666        out_sig_len: *mut usize,
10667        data: *const u8,
10668        data_len: usize,
10669    ) -> ::std::os::raw::c_int;
10670}
10671extern "C" {
10672    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestVerifyInit"]
10673    pub fn EVP_DigestVerifyInit(
10674        ctx: *mut EVP_MD_CTX,
10675        pctx: *mut *mut EVP_PKEY_CTX,
10676        type_: *const EVP_MD,
10677        e: *mut ENGINE,
10678        pkey: *mut EVP_PKEY,
10679    ) -> ::std::os::raw::c_int;
10680}
10681extern "C" {
10682    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestVerifyUpdate"]
10683    pub fn EVP_DigestVerifyUpdate(
10684        ctx: *mut EVP_MD_CTX,
10685        data: *const ::std::os::raw::c_void,
10686        len: usize,
10687    ) -> ::std::os::raw::c_int;
10688}
10689extern "C" {
10690    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestVerifyFinal"]
10691    pub fn EVP_DigestVerifyFinal(
10692        ctx: *mut EVP_MD_CTX,
10693        sig: *const u8,
10694        sig_len: usize,
10695    ) -> ::std::os::raw::c_int;
10696}
10697extern "C" {
10698    #[link_name = "\u{1}aws_lc_0_37_1_EVP_DigestVerify"]
10699    pub fn EVP_DigestVerify(
10700        ctx: *mut EVP_MD_CTX,
10701        sig: *const u8,
10702        sig_len: usize,
10703        data: *const u8,
10704        len: usize,
10705    ) -> ::std::os::raw::c_int;
10706}
10707extern "C" {
10708    #[link_name = "\u{1}aws_lc_0_37_1_EVP_SignInit_ex"]
10709    pub fn EVP_SignInit_ex(
10710        ctx: *mut EVP_MD_CTX,
10711        type_: *const EVP_MD,
10712        impl_: *mut ENGINE,
10713    ) -> ::std::os::raw::c_int;
10714}
10715extern "C" {
10716    #[link_name = "\u{1}aws_lc_0_37_1_EVP_SignInit"]
10717    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10718}
10719extern "C" {
10720    #[link_name = "\u{1}aws_lc_0_37_1_EVP_SignUpdate"]
10721    pub fn EVP_SignUpdate(
10722        ctx: *mut EVP_MD_CTX,
10723        data: *const ::std::os::raw::c_void,
10724        len: usize,
10725    ) -> ::std::os::raw::c_int;
10726}
10727extern "C" {
10728    #[link_name = "\u{1}aws_lc_0_37_1_EVP_SignFinal"]
10729    pub fn EVP_SignFinal(
10730        ctx: *const EVP_MD_CTX,
10731        sig: *mut u8,
10732        out_sig_len: *mut ::std::os::raw::c_uint,
10733        pkey: *mut EVP_PKEY,
10734    ) -> ::std::os::raw::c_int;
10735}
10736extern "C" {
10737    #[link_name = "\u{1}aws_lc_0_37_1_EVP_VerifyInit_ex"]
10738    pub fn EVP_VerifyInit_ex(
10739        ctx: *mut EVP_MD_CTX,
10740        type_: *const EVP_MD,
10741        impl_: *mut ENGINE,
10742    ) -> ::std::os::raw::c_int;
10743}
10744extern "C" {
10745    #[link_name = "\u{1}aws_lc_0_37_1_EVP_VerifyInit"]
10746    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10747}
10748extern "C" {
10749    #[link_name = "\u{1}aws_lc_0_37_1_EVP_VerifyUpdate"]
10750    pub fn EVP_VerifyUpdate(
10751        ctx: *mut EVP_MD_CTX,
10752        data: *const ::std::os::raw::c_void,
10753        len: usize,
10754    ) -> ::std::os::raw::c_int;
10755}
10756extern "C" {
10757    #[link_name = "\u{1}aws_lc_0_37_1_EVP_VerifyFinal"]
10758    pub fn EVP_VerifyFinal(
10759        ctx: *mut EVP_MD_CTX,
10760        sig: *const u8,
10761        sig_len: usize,
10762        pkey: *mut EVP_PKEY,
10763    ) -> ::std::os::raw::c_int;
10764}
10765extern "C" {
10766    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_print_public"]
10767    pub fn EVP_PKEY_print_public(
10768        out: *mut BIO,
10769        pkey: *const EVP_PKEY,
10770        indent: ::std::os::raw::c_int,
10771        pctx: *mut ASN1_PCTX,
10772    ) -> ::std::os::raw::c_int;
10773}
10774extern "C" {
10775    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_print_private"]
10776    pub fn EVP_PKEY_print_private(
10777        out: *mut BIO,
10778        pkey: *const EVP_PKEY,
10779        indent: ::std::os::raw::c_int,
10780        pctx: *mut ASN1_PCTX,
10781    ) -> ::std::os::raw::c_int;
10782}
10783extern "C" {
10784    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_print_params"]
10785    pub fn EVP_PKEY_print_params(
10786        out: *mut BIO,
10787        pkey: *const EVP_PKEY,
10788        indent: ::std::os::raw::c_int,
10789        pctx: *mut ASN1_PCTX,
10790    ) -> ::std::os::raw::c_int;
10791}
10792extern "C" {
10793    #[link_name = "\u{1}aws_lc_0_37_1_PKCS5_PBKDF2_HMAC"]
10794    pub fn PKCS5_PBKDF2_HMAC(
10795        password: *const ::std::os::raw::c_char,
10796        password_len: usize,
10797        salt: *const u8,
10798        salt_len: usize,
10799        iterations: u32,
10800        digest: *const EVP_MD,
10801        key_len: usize,
10802        out_key: *mut u8,
10803    ) -> ::std::os::raw::c_int;
10804}
10805extern "C" {
10806    #[link_name = "\u{1}aws_lc_0_37_1_PKCS5_PBKDF2_HMAC_SHA1"]
10807    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10808        password: *const ::std::os::raw::c_char,
10809        password_len: usize,
10810        salt: *const u8,
10811        salt_len: usize,
10812        iterations: u32,
10813        key_len: usize,
10814        out_key: *mut u8,
10815    ) -> ::std::os::raw::c_int;
10816}
10817extern "C" {
10818    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PBE_scrypt"]
10819    pub fn EVP_PBE_scrypt(
10820        password: *const ::std::os::raw::c_char,
10821        password_len: usize,
10822        salt: *const u8,
10823        salt_len: usize,
10824        N: u64,
10825        r: u64,
10826        p: u64,
10827        max_mem: usize,
10828        out_key: *mut u8,
10829        key_len: usize,
10830    ) -> ::std::os::raw::c_int;
10831}
10832extern "C" {
10833    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_new"]
10834    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10835}
10836extern "C" {
10837    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_new_id"]
10838    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10839}
10840extern "C" {
10841    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_free"]
10842    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
10843}
10844extern "C" {
10845    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_dup"]
10846    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
10847}
10848extern "C" {
10849    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get0_pkey"]
10850    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
10851}
10852extern "C" {
10853    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_sign_init"]
10854    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10855}
10856extern "C" {
10857    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_sign"]
10858    pub fn EVP_PKEY_sign(
10859        ctx: *mut EVP_PKEY_CTX,
10860        sig: *mut u8,
10861        sig_len: *mut usize,
10862        digest: *const u8,
10863        digest_len: usize,
10864    ) -> ::std::os::raw::c_int;
10865}
10866extern "C" {
10867    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_verify_init"]
10868    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10869}
10870extern "C" {
10871    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_verify"]
10872    pub fn EVP_PKEY_verify(
10873        ctx: *mut EVP_PKEY_CTX,
10874        sig: *const u8,
10875        sig_len: usize,
10876        digest: *const u8,
10877        digest_len: usize,
10878    ) -> ::std::os::raw::c_int;
10879}
10880extern "C" {
10881    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_encrypt_init"]
10882    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10883}
10884extern "C" {
10885    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_encrypt"]
10886    pub fn EVP_PKEY_encrypt(
10887        ctx: *mut EVP_PKEY_CTX,
10888        out: *mut u8,
10889        out_len: *mut usize,
10890        in_: *const u8,
10891        in_len: usize,
10892    ) -> ::std::os::raw::c_int;
10893}
10894extern "C" {
10895    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_decrypt_init"]
10896    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10897}
10898extern "C" {
10899    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_decrypt"]
10900    pub fn EVP_PKEY_decrypt(
10901        ctx: *mut EVP_PKEY_CTX,
10902        out: *mut u8,
10903        out_len: *mut usize,
10904        in_: *const u8,
10905        in_len: usize,
10906    ) -> ::std::os::raw::c_int;
10907}
10908extern "C" {
10909    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_verify_recover_init"]
10910    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10911}
10912extern "C" {
10913    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_verify_recover"]
10914    pub fn EVP_PKEY_verify_recover(
10915        ctx: *mut EVP_PKEY_CTX,
10916        out: *mut u8,
10917        out_len: *mut usize,
10918        sig: *const u8,
10919        siglen: usize,
10920    ) -> ::std::os::raw::c_int;
10921}
10922extern "C" {
10923    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_derive_init"]
10924    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10925}
10926extern "C" {
10927    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_derive_set_peer"]
10928    pub fn EVP_PKEY_derive_set_peer(
10929        ctx: *mut EVP_PKEY_CTX,
10930        peer: *mut EVP_PKEY,
10931    ) -> ::std::os::raw::c_int;
10932}
10933extern "C" {
10934    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_derive"]
10935    pub fn EVP_PKEY_derive(
10936        ctx: *mut EVP_PKEY_CTX,
10937        key: *mut u8,
10938        out_key_len: *mut usize,
10939    ) -> ::std::os::raw::c_int;
10940}
10941extern "C" {
10942    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_check"]
10943    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10944}
10945extern "C" {
10946    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_public_check"]
10947    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10948}
10949extern "C" {
10950    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_param_check"]
10951    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10952}
10953extern "C" {
10954    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_keygen_init"]
10955    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10956}
10957extern "C" {
10958    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_keygen"]
10959    pub fn EVP_PKEY_keygen(
10960        ctx: *mut EVP_PKEY_CTX,
10961        out_pkey: *mut *mut EVP_PKEY,
10962    ) -> ::std::os::raw::c_int;
10963}
10964extern "C" {
10965    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_encapsulate"]
10966    pub fn EVP_PKEY_encapsulate(
10967        ctx: *mut EVP_PKEY_CTX,
10968        ciphertext: *mut u8,
10969        ciphertext_len: *mut usize,
10970        shared_secret: *mut u8,
10971        shared_secret_len: *mut usize,
10972    ) -> ::std::os::raw::c_int;
10973}
10974extern "C" {
10975    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_decapsulate"]
10976    pub fn EVP_PKEY_decapsulate(
10977        ctx: *mut EVP_PKEY_CTX,
10978        shared_secret: *mut u8,
10979        shared_secret_len: *mut usize,
10980        ciphertext: *const u8,
10981        ciphertext_len: usize,
10982    ) -> ::std::os::raw::c_int;
10983}
10984extern "C" {
10985    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_paramgen_init"]
10986    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10987}
10988extern "C" {
10989    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_paramgen"]
10990    pub fn EVP_PKEY_paramgen(
10991        ctx: *mut EVP_PKEY_CTX,
10992        out_pkey: *mut *mut EVP_PKEY,
10993    ) -> ::std::os::raw::c_int;
10994}
10995extern "C" {
10996    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_signature_md"]
10997    pub fn EVP_PKEY_CTX_set_signature_md(
10998        ctx: *mut EVP_PKEY_CTX,
10999        md: *const EVP_MD,
11000    ) -> ::std::os::raw::c_int;
11001}
11002extern "C" {
11003    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get_signature_md"]
11004    pub fn EVP_PKEY_CTX_get_signature_md(
11005        ctx: *mut EVP_PKEY_CTX,
11006        out_md: *mut *const EVP_MD,
11007    ) -> ::std::os::raw::c_int;
11008}
11009extern "C" {
11010    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_signature_context"]
11011    pub fn EVP_PKEY_CTX_set_signature_context(
11012        ctx: *mut EVP_PKEY_CTX,
11013        context: *const u8,
11014        context_len: usize,
11015    ) -> ::std::os::raw::c_int;
11016}
11017extern "C" {
11018    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get0_signature_context"]
11019    pub fn EVP_PKEY_CTX_get0_signature_context(
11020        ctx: *mut EVP_PKEY_CTX,
11021        context: *mut *const u8,
11022        context_len: *mut usize,
11023    ) -> ::std::os::raw::c_int;
11024}
11025extern "C" {
11026    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_padding"]
11027    pub fn EVP_PKEY_CTX_set_rsa_padding(
11028        ctx: *mut EVP_PKEY_CTX,
11029        padding: ::std::os::raw::c_int,
11030    ) -> ::std::os::raw::c_int;
11031}
11032extern "C" {
11033    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get_rsa_padding"]
11034    pub fn EVP_PKEY_CTX_get_rsa_padding(
11035        ctx: *mut EVP_PKEY_CTX,
11036        out_padding: *mut ::std::os::raw::c_int,
11037    ) -> ::std::os::raw::c_int;
11038}
11039extern "C" {
11040    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
11041    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
11042        ctx: *mut EVP_PKEY_CTX,
11043        salt_len: ::std::os::raw::c_int,
11044    ) -> ::std::os::raw::c_int;
11045}
11046extern "C" {
11047    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
11048    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
11049        ctx: *mut EVP_PKEY_CTX,
11050        out_salt_len: *mut ::std::os::raw::c_int,
11051    ) -> ::std::os::raw::c_int;
11052}
11053extern "C" {
11054    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_keygen_bits"]
11055    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
11056        ctx: *mut EVP_PKEY_CTX,
11057        bits: ::std::os::raw::c_int,
11058    ) -> ::std::os::raw::c_int;
11059}
11060extern "C" {
11061    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11062    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11063        ctx: *mut EVP_PKEY_CTX,
11064        e: *mut BIGNUM,
11065    ) -> ::std::os::raw::c_int;
11066}
11067extern "C" {
11068    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_oaep_md"]
11069    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11070        ctx: *mut EVP_PKEY_CTX,
11071        md: *const EVP_MD,
11072    ) -> ::std::os::raw::c_int;
11073}
11074extern "C" {
11075    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get_rsa_oaep_md"]
11076    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11077        ctx: *mut EVP_PKEY_CTX,
11078        out_md: *mut *const EVP_MD,
11079    ) -> ::std::os::raw::c_int;
11080}
11081extern "C" {
11082    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11083    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11084        ctx: *mut EVP_PKEY_CTX,
11085        md: *const EVP_MD,
11086    ) -> ::std::os::raw::c_int;
11087}
11088extern "C" {
11089    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11090    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11091        ctx: *mut EVP_PKEY_CTX,
11092        out_md: *mut *const EVP_MD,
11093    ) -> ::std::os::raw::c_int;
11094}
11095extern "C" {
11096    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11097    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11098        ctx: *mut EVP_PKEY_CTX,
11099        label: *mut u8,
11100        label_len: usize,
11101    ) -> ::std::os::raw::c_int;
11102}
11103extern "C" {
11104    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11105    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11106        ctx: *mut EVP_PKEY_CTX,
11107        out_label: *mut *const u8,
11108    ) -> ::std::os::raw::c_int;
11109}
11110extern "C" {
11111    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11112    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11113        ctx: *mut EVP_PKEY_CTX,
11114        nid: ::std::os::raw::c_int,
11115    ) -> ::std::os::raw::c_int;
11116}
11117extern "C" {
11118    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_kem_set_params"]
11119    pub fn EVP_PKEY_CTX_kem_set_params(
11120        ctx: *mut EVP_PKEY_CTX,
11121        nid: ::std::os::raw::c_int,
11122    ) -> ::std::os::raw::c_int;
11123}
11124extern "C" {
11125    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_kem_new_raw_public_key"]
11126    pub fn EVP_PKEY_kem_new_raw_public_key(
11127        nid: ::std::os::raw::c_int,
11128        in_: *const u8,
11129        len: usize,
11130    ) -> *mut EVP_PKEY;
11131}
11132extern "C" {
11133    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_kem_new_raw_secret_key"]
11134    pub fn EVP_PKEY_kem_new_raw_secret_key(
11135        nid: ::std::os::raw::c_int,
11136        in_: *const u8,
11137        len: usize,
11138    ) -> *mut EVP_PKEY;
11139}
11140extern "C" {
11141    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_kem_new_raw_key"]
11142    pub fn EVP_PKEY_kem_new_raw_key(
11143        nid: ::std::os::raw::c_int,
11144        in_public: *const u8,
11145        len_public: usize,
11146        in_secret: *const u8,
11147        len_secret: usize,
11148    ) -> *mut EVP_PKEY;
11149}
11150extern "C" {
11151    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_kem_check_key"]
11152    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11153}
11154extern "C" {
11155    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_pqdsa_set_params"]
11156    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11157        ctx: *mut EVP_PKEY_CTX,
11158        nid: ::std::os::raw::c_int,
11159    ) -> ::std::os::raw::c_int;
11160}
11161extern "C" {
11162    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_pqdsa_new_raw_public_key"]
11163    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11164        nid: ::std::os::raw::c_int,
11165        in_: *const u8,
11166        len: usize,
11167    ) -> *mut EVP_PKEY;
11168}
11169extern "C" {
11170    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_pqdsa_new_raw_private_key"]
11171    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11172        nid: ::std::os::raw::c_int,
11173        in_: *const u8,
11174        len: usize,
11175    ) -> *mut EVP_PKEY;
11176}
11177extern "C" {
11178    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_dh_pad"]
11179    pub fn EVP_PKEY_CTX_set_dh_pad(
11180        ctx: *mut EVP_PKEY_CTX,
11181        pad: ::std::os::raw::c_int,
11182    ) -> ::std::os::raw::c_int;
11183}
11184extern "C" {
11185    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_asn1_get_count"]
11186    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11187}
11188extern "C" {
11189    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_asn1_get0"]
11190    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11191}
11192extern "C" {
11193    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_asn1_find"]
11194    pub fn EVP_PKEY_asn1_find(
11195        _pe: *mut *mut ENGINE,
11196        type_: ::std::os::raw::c_int,
11197    ) -> *const EVP_PKEY_ASN1_METHOD;
11198}
11199extern "C" {
11200    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_asn1_find_str"]
11201    pub fn EVP_PKEY_asn1_find_str(
11202        _pe: *mut *mut ENGINE,
11203        name: *const ::std::os::raw::c_char,
11204        len: ::std::os::raw::c_int,
11205    ) -> *const EVP_PKEY_ASN1_METHOD;
11206}
11207extern "C" {
11208    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_asn1_get0_info"]
11209    pub fn EVP_PKEY_asn1_get0_info(
11210        ppkey_id: *mut ::std::os::raw::c_int,
11211        pkey_base_id: *mut ::std::os::raw::c_int,
11212        ppkey_flags: *mut ::std::os::raw::c_int,
11213        pinfo: *mut *const ::std::os::raw::c_char,
11214        ppem_str: *mut *const ::std::os::raw::c_char,
11215        ameth: *const EVP_PKEY_ASN1_METHOD,
11216    ) -> ::std::os::raw::c_int;
11217}
11218pub type EVP_PKEY_gen_cb =
11219    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11220extern "C" {
11221    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_cb"]
11222    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11223}
11224extern "C" {
11225    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get_keygen_info"]
11226    pub fn EVP_PKEY_CTX_get_keygen_info(
11227        ctx: *mut EVP_PKEY_CTX,
11228        idx: ::std::os::raw::c_int,
11229    ) -> ::std::os::raw::c_int;
11230}
11231extern "C" {
11232    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_app_data"]
11233    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11234}
11235extern "C" {
11236    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_get_app_data"]
11237    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11238}
11239extern "C" {
11240    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_get_pkey_type"]
11241    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11242}
11243extern "C" {
11244    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_pkey_type"]
11245    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11246}
11247extern "C" {
11248    #[link_name = "\u{1}aws_lc_0_37_1_EVP_CIPHER_do_all_sorted"]
11249    pub fn EVP_CIPHER_do_all_sorted(
11250        callback: ::std::option::Option<
11251            unsafe extern "C" fn(
11252                cipher: *const EVP_CIPHER,
11253                name: *const ::std::os::raw::c_char,
11254                unused: *const ::std::os::raw::c_char,
11255                arg: *mut ::std::os::raw::c_void,
11256            ),
11257        >,
11258        arg: *mut ::std::os::raw::c_void,
11259    );
11260}
11261extern "C" {
11262    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_do_all_sorted"]
11263    pub fn EVP_MD_do_all_sorted(
11264        callback: ::std::option::Option<
11265            unsafe extern "C" fn(
11266                cipher: *const EVP_MD,
11267                name: *const ::std::os::raw::c_char,
11268                unused: *const ::std::os::raw::c_char,
11269                arg: *mut ::std::os::raw::c_void,
11270            ),
11271        >,
11272        arg: *mut ::std::os::raw::c_void,
11273    );
11274}
11275extern "C" {
11276    #[link_name = "\u{1}aws_lc_0_37_1_EVP_MD_do_all"]
11277    pub fn EVP_MD_do_all(
11278        callback: ::std::option::Option<
11279            unsafe extern "C" fn(
11280                cipher: *const EVP_MD,
11281                name: *const ::std::os::raw::c_char,
11282                unused: *const ::std::os::raw::c_char,
11283                arg: *mut ::std::os::raw::c_void,
11284            ),
11285        >,
11286        arg: *mut ::std::os::raw::c_void,
11287    );
11288}
11289extern "C" {
11290    #[link_name = "\u{1}aws_lc_0_37_1_i2d_PrivateKey"]
11291    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11292}
11293extern "C" {
11294    #[link_name = "\u{1}aws_lc_0_37_1_i2d_PublicKey"]
11295    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11296}
11297extern "C" {
11298    #[link_name = "\u{1}aws_lc_0_37_1_d2i_PrivateKey"]
11299    pub fn d2i_PrivateKey(
11300        type_: ::std::os::raw::c_int,
11301        out: *mut *mut EVP_PKEY,
11302        inp: *mut *const u8,
11303        len: ::std::os::raw::c_long,
11304    ) -> *mut EVP_PKEY;
11305}
11306extern "C" {
11307    #[link_name = "\u{1}aws_lc_0_37_1_d2i_AutoPrivateKey"]
11308    pub fn d2i_AutoPrivateKey(
11309        out: *mut *mut EVP_PKEY,
11310        inp: *mut *const u8,
11311        len: ::std::os::raw::c_long,
11312    ) -> *mut EVP_PKEY;
11313}
11314extern "C" {
11315    #[link_name = "\u{1}aws_lc_0_37_1_d2i_PublicKey"]
11316    pub fn d2i_PublicKey(
11317        type_: ::std::os::raw::c_int,
11318        out: *mut *mut EVP_PKEY,
11319        inp: *mut *const u8,
11320        len: ::std::os::raw::c_long,
11321    ) -> *mut EVP_PKEY;
11322}
11323extern "C" {
11324    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_ec_param_enc"]
11325    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11326        ctx: *mut EVP_PKEY_CTX,
11327        encoding: ::std::os::raw::c_int,
11328    ) -> ::std::os::raw::c_int;
11329}
11330extern "C" {
11331    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_set1_tls_encodedpoint"]
11332    pub fn EVP_PKEY_set1_tls_encodedpoint(
11333        pkey: *mut EVP_PKEY,
11334        in_: *const u8,
11335        len: usize,
11336    ) -> ::std::os::raw::c_int;
11337}
11338extern "C" {
11339    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get1_tls_encodedpoint"]
11340    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11341}
11342extern "C" {
11343    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_base_id"]
11344    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11345}
11346extern "C" {
11347    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11348    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11349        ctx: *mut EVP_PKEY_CTX,
11350        md: *const EVP_MD,
11351    ) -> ::std::os::raw::c_int;
11352}
11353extern "C" {
11354    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11355    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11356        ctx: *mut EVP_PKEY_CTX,
11357        salt_len: ::std::os::raw::c_int,
11358    ) -> ::std::os::raw::c_int;
11359}
11360extern "C" {
11361    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11362    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11363        ctx: *mut EVP_PKEY_CTX,
11364        md: *const EVP_MD,
11365    ) -> ::std::os::raw::c_int;
11366}
11367extern "C" {
11368    #[link_name = "\u{1}aws_lc_0_37_1_i2d_PUBKEY"]
11369    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11370}
11371extern "C" {
11372    #[link_name = "\u{1}aws_lc_0_37_1_d2i_PUBKEY"]
11373    pub fn d2i_PUBKEY(
11374        out: *mut *mut EVP_PKEY,
11375        inp: *mut *const u8,
11376        len: ::std::os::raw::c_long,
11377    ) -> *mut EVP_PKEY;
11378}
11379extern "C" {
11380    #[link_name = "\u{1}aws_lc_0_37_1_i2d_RSA_PUBKEY"]
11381    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11382}
11383extern "C" {
11384    #[link_name = "\u{1}aws_lc_0_37_1_d2i_RSA_PUBKEY"]
11385    pub fn d2i_RSA_PUBKEY(
11386        out: *mut *mut RSA,
11387        inp: *mut *const u8,
11388        len: ::std::os::raw::c_long,
11389    ) -> *mut RSA;
11390}
11391extern "C" {
11392    #[link_name = "\u{1}aws_lc_0_37_1_i2d_DSA_PUBKEY"]
11393    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11394}
11395extern "C" {
11396    #[link_name = "\u{1}aws_lc_0_37_1_d2i_DSA_PUBKEY"]
11397    pub fn d2i_DSA_PUBKEY(
11398        out: *mut *mut DSA,
11399        inp: *mut *const u8,
11400        len: ::std::os::raw::c_long,
11401    ) -> *mut DSA;
11402}
11403extern "C" {
11404    #[link_name = "\u{1}aws_lc_0_37_1_i2d_EC_PUBKEY"]
11405    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11406}
11407extern "C" {
11408    #[link_name = "\u{1}aws_lc_0_37_1_d2i_EC_PUBKEY"]
11409    pub fn d2i_EC_PUBKEY(
11410        out: *mut *mut EC_KEY,
11411        inp: *mut *const u8,
11412        len: ::std::os::raw::c_long,
11413    ) -> *mut EC_KEY;
11414}
11415extern "C" {
11416    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_assign"]
11417    pub fn EVP_PKEY_assign(
11418        pkey: *mut EVP_PKEY,
11419        type_: ::std::os::raw::c_int,
11420        key: *mut ::std::os::raw::c_void,
11421    ) -> ::std::os::raw::c_int;
11422}
11423extern "C" {
11424    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_type"]
11425    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11426}
11427extern "C" {
11428    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_new_mac_key"]
11429    pub fn EVP_PKEY_new_mac_key(
11430        type_: ::std::os::raw::c_int,
11431        engine: *mut ENGINE,
11432        mac_key: *const u8,
11433        mac_key_len: usize,
11434    ) -> *mut EVP_PKEY;
11435}
11436extern "C" {
11437    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_get0"]
11438    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11439}
11440extern "C" {
11441    #[link_name = "\u{1}aws_lc_0_37_1_OpenSSL_add_all_algorithms"]
11442    pub fn OpenSSL_add_all_algorithms();
11443}
11444extern "C" {
11445    #[link_name = "\u{1}aws_lc_0_37_1_OPENSSL_add_all_algorithms_conf"]
11446    pub fn OPENSSL_add_all_algorithms_conf();
11447}
11448extern "C" {
11449    #[link_name = "\u{1}aws_lc_0_37_1_OpenSSL_add_all_ciphers"]
11450    pub fn OpenSSL_add_all_ciphers();
11451}
11452extern "C" {
11453    #[link_name = "\u{1}aws_lc_0_37_1_OpenSSL_add_all_digests"]
11454    pub fn OpenSSL_add_all_digests();
11455}
11456extern "C" {
11457    #[link_name = "\u{1}aws_lc_0_37_1_EVP_cleanup"]
11458    pub fn EVP_cleanup();
11459}
11460extern "C" {
11461    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11462    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11463        ctx: *mut EVP_PKEY_CTX,
11464        nbits: ::std::os::raw::c_int,
11465    ) -> ::std::os::raw::c_int;
11466}
11467extern "C" {
11468    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11469    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11470        ctx: *mut EVP_PKEY_CTX,
11471        md: *const EVP_MD,
11472    ) -> ::std::os::raw::c_int;
11473}
11474extern "C" {
11475    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11476    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11477        ctx: *mut EVP_PKEY_CTX,
11478        qbits: ::std::os::raw::c_int,
11479    ) -> ::std::os::raw::c_int;
11480}
11481extern "C" {
11482    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_ctrl_str"]
11483    pub fn EVP_PKEY_CTX_ctrl_str(
11484        ctx: *mut EVP_PKEY_CTX,
11485        type_: *const ::std::os::raw::c_char,
11486        value: *const ::std::os::raw::c_char,
11487    ) -> ::std::os::raw::c_int;
11488}
11489extern "C" {
11490    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_tls1_prf"]
11491    pub fn CRYPTO_tls1_prf(
11492        digest: *const EVP_MD,
11493        out: *mut u8,
11494        out_len: usize,
11495        secret: *const u8,
11496        secret_len: usize,
11497        label: *const ::std::os::raw::c_char,
11498        label_len: usize,
11499        seed1: *const u8,
11500        seed1_len: usize,
11501        seed2: *const u8,
11502        seed2_len: usize,
11503    ) -> ::std::os::raw::c_int;
11504}
11505extern "C" {
11506    #[link_name = "\u{1}aws_lc_0_37_1_SSKDF_digest"]
11507    pub fn SSKDF_digest(
11508        out_key: *mut u8,
11509        out_len: usize,
11510        digest: *const EVP_MD,
11511        secret: *const u8,
11512        secret_len: usize,
11513        info: *const u8,
11514        info_len: usize,
11515    ) -> ::std::os::raw::c_int;
11516}
11517extern "C" {
11518    #[link_name = "\u{1}aws_lc_0_37_1_SSKDF_hmac"]
11519    pub fn SSKDF_hmac(
11520        out_key: *mut u8,
11521        out_len: usize,
11522        digest: *const EVP_MD,
11523        secret: *const u8,
11524        secret_len: usize,
11525        info: *const u8,
11526        info_len: usize,
11527        salt: *const u8,
11528        salt_len: usize,
11529    ) -> ::std::os::raw::c_int;
11530}
11531extern "C" {
11532    #[link_name = "\u{1}aws_lc_0_37_1_KBKDF_ctr_hmac"]
11533    pub fn KBKDF_ctr_hmac(
11534        out_key: *mut u8,
11535        out_len: usize,
11536        digest: *const EVP_MD,
11537        secret: *const u8,
11538        secret_len: usize,
11539        info: *const u8,
11540        info_len: usize,
11541    ) -> ::std::os::raw::c_int;
11542}
11543extern "C" {
11544    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_hkdf_mode"]
11545    pub fn EVP_PKEY_CTX_hkdf_mode(
11546        ctx: *mut EVP_PKEY_CTX,
11547        mode: ::std::os::raw::c_int,
11548    ) -> ::std::os::raw::c_int;
11549}
11550extern "C" {
11551    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set_hkdf_md"]
11552    pub fn EVP_PKEY_CTX_set_hkdf_md(
11553        ctx: *mut EVP_PKEY_CTX,
11554        md: *const EVP_MD,
11555    ) -> ::std::os::raw::c_int;
11556}
11557extern "C" {
11558    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set1_hkdf_key"]
11559    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11560        ctx: *mut EVP_PKEY_CTX,
11561        key: *const u8,
11562        key_len: usize,
11563    ) -> ::std::os::raw::c_int;
11564}
11565extern "C" {
11566    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_set1_hkdf_salt"]
11567    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11568        ctx: *mut EVP_PKEY_CTX,
11569        salt: *const u8,
11570        salt_len: usize,
11571    ) -> ::std::os::raw::c_int;
11572}
11573extern "C" {
11574    #[link_name = "\u{1}aws_lc_0_37_1_EVP_PKEY_CTX_add1_hkdf_info"]
11575    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11576        ctx: *mut EVP_PKEY_CTX,
11577        info: *const u8,
11578        info_len: usize,
11579    ) -> ::std::os::raw::c_int;
11580}
11581extern "C" {
11582    #[link_name = "\u{1}aws_lc_0_37_1_HKDF"]
11583    pub fn HKDF(
11584        out_key: *mut u8,
11585        out_len: usize,
11586        digest: *const EVP_MD,
11587        secret: *const u8,
11588        secret_len: usize,
11589        salt: *const u8,
11590        salt_len: usize,
11591        info: *const u8,
11592        info_len: usize,
11593    ) -> ::std::os::raw::c_int;
11594}
11595extern "C" {
11596    #[link_name = "\u{1}aws_lc_0_37_1_HKDF_extract"]
11597    pub fn HKDF_extract(
11598        out_key: *mut u8,
11599        out_len: *mut usize,
11600        digest: *const EVP_MD,
11601        secret: *const u8,
11602        secret_len: usize,
11603        salt: *const u8,
11604        salt_len: usize,
11605    ) -> ::std::os::raw::c_int;
11606}
11607extern "C" {
11608    #[link_name = "\u{1}aws_lc_0_37_1_HKDF_expand"]
11609    pub fn HKDF_expand(
11610        out_key: *mut u8,
11611        out_len: usize,
11612        digest: *const EVP_MD,
11613        prk: *const u8,
11614        prk_len: usize,
11615        info: *const u8,
11616        info_len: usize,
11617    ) -> ::std::os::raw::c_int;
11618}
11619#[repr(C)]
11620#[derive(Copy, Clone)]
11621pub struct evp_hpke_ctx_st {
11622    pub kem: *const EVP_HPKE_KEM,
11623    pub aead: *const EVP_HPKE_AEAD,
11624    pub kdf: *const EVP_HPKE_KDF,
11625    pub aead_ctx: EVP_AEAD_CTX,
11626    pub base_nonce: [u8; 24usize],
11627    pub exporter_secret: [u8; 64usize],
11628    pub seq: u64,
11629    pub is_sender: ::std::os::raw::c_int,
11630}
11631#[test]
11632fn bindgen_test_layout_evp_hpke_ctx_st() {
11633    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11634    let ptr = UNINIT.as_ptr();
11635    assert_eq!(
11636        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11637        712usize,
11638        "Size of evp_hpke_ctx_st"
11639    );
11640    assert_eq!(
11641        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11642        8usize,
11643        "Alignment of evp_hpke_ctx_st"
11644    );
11645    assert_eq!(
11646        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11647        0usize,
11648        "Offset of field: evp_hpke_ctx_st::kem"
11649    );
11650    assert_eq!(
11651        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11652        8usize,
11653        "Offset of field: evp_hpke_ctx_st::aead"
11654    );
11655    assert_eq!(
11656        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11657        16usize,
11658        "Offset of field: evp_hpke_ctx_st::kdf"
11659    );
11660    assert_eq!(
11661        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11662        24usize,
11663        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11664    );
11665    assert_eq!(
11666        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11667        608usize,
11668        "Offset of field: evp_hpke_ctx_st::base_nonce"
11669    );
11670    assert_eq!(
11671        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11672        632usize,
11673        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11674    );
11675    assert_eq!(
11676        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11677        696usize,
11678        "Offset of field: evp_hpke_ctx_st::seq"
11679    );
11680    assert_eq!(
11681        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11682        704usize,
11683        "Offset of field: evp_hpke_ctx_st::is_sender"
11684    );
11685}
11686impl Default for evp_hpke_ctx_st {
11687    fn default() -> Self {
11688        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11689        unsafe {
11690            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11691            s.assume_init()
11692        }
11693    }
11694}
11695#[repr(C)]
11696#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11697pub struct evp_hpke_key_st {
11698    pub kem: *const EVP_HPKE_KEM,
11699    pub private_key: [u8; 32usize],
11700    pub public_key: [u8; 32usize],
11701}
11702#[test]
11703fn bindgen_test_layout_evp_hpke_key_st() {
11704    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11705    let ptr = UNINIT.as_ptr();
11706    assert_eq!(
11707        ::std::mem::size_of::<evp_hpke_key_st>(),
11708        72usize,
11709        "Size of evp_hpke_key_st"
11710    );
11711    assert_eq!(
11712        ::std::mem::align_of::<evp_hpke_key_st>(),
11713        8usize,
11714        "Alignment of evp_hpke_key_st"
11715    );
11716    assert_eq!(
11717        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11718        0usize,
11719        "Offset of field: evp_hpke_key_st::kem"
11720    );
11721    assert_eq!(
11722        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11723        8usize,
11724        "Offset of field: evp_hpke_key_st::private_key"
11725    );
11726    assert_eq!(
11727        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11728        40usize,
11729        "Offset of field: evp_hpke_key_st::public_key"
11730    );
11731}
11732impl Default for evp_hpke_key_st {
11733    fn default() -> Self {
11734        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11735        unsafe {
11736            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11737            s.assume_init()
11738        }
11739    }
11740}
11741#[repr(C)]
11742#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11743pub struct md4_state_st {
11744    pub h: [u32; 4usize],
11745    pub Nl: u32,
11746    pub Nh: u32,
11747    pub data: [u8; 64usize],
11748    pub num: ::std::os::raw::c_uint,
11749}
11750#[test]
11751fn bindgen_test_layout_md4_state_st() {
11752    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11753    let ptr = UNINIT.as_ptr();
11754    assert_eq!(
11755        ::std::mem::size_of::<md4_state_st>(),
11756        92usize,
11757        "Size of md4_state_st"
11758    );
11759    assert_eq!(
11760        ::std::mem::align_of::<md4_state_st>(),
11761        4usize,
11762        "Alignment of md4_state_st"
11763    );
11764    assert_eq!(
11765        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11766        0usize,
11767        "Offset of field: md4_state_st::h"
11768    );
11769    assert_eq!(
11770        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11771        16usize,
11772        "Offset of field: md4_state_st::Nl"
11773    );
11774    assert_eq!(
11775        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11776        20usize,
11777        "Offset of field: md4_state_st::Nh"
11778    );
11779    assert_eq!(
11780        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11781        24usize,
11782        "Offset of field: md4_state_st::data"
11783    );
11784    assert_eq!(
11785        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11786        88usize,
11787        "Offset of field: md4_state_st::num"
11788    );
11789}
11790impl Default for md4_state_st {
11791    fn default() -> Self {
11792        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11793        unsafe {
11794            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11795            s.assume_init()
11796        }
11797    }
11798}
11799#[repr(C)]
11800#[derive(Debug, Copy, Clone)]
11801pub struct stack_st_X509 {
11802    _unused: [u8; 0],
11803}
11804#[repr(C)]
11805#[derive(Debug, Copy, Clone)]
11806pub struct stack_st_X509_CRL {
11807    _unused: [u8; 0],
11808}
11809#[repr(C)]
11810#[derive(Copy, Clone)]
11811pub struct pkcs7_st {
11812    pub type_: *mut ASN1_OBJECT,
11813    pub d: pkcs7_st__bindgen_ty_1,
11814}
11815#[repr(C)]
11816#[derive(Copy, Clone)]
11817pub union pkcs7_st__bindgen_ty_1 {
11818    pub ptr: *mut ::std::os::raw::c_char,
11819    pub data: *mut ASN1_OCTET_STRING,
11820    pub sign: *mut PKCS7_SIGNED,
11821    pub enveloped: *mut PKCS7_ENVELOPE,
11822    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
11823    pub digest: *mut PKCS7_DIGEST,
11824    pub encrypted: *mut PKCS7_ENCRYPT,
11825    pub other: *mut ASN1_TYPE,
11826}
11827#[test]
11828fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
11829    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
11830        ::std::mem::MaybeUninit::uninit();
11831    let ptr = UNINIT.as_ptr();
11832    assert_eq!(
11833        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
11834        8usize,
11835        "Size of pkcs7_st__bindgen_ty_1"
11836    );
11837    assert_eq!(
11838        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
11839        8usize,
11840        "Alignment of pkcs7_st__bindgen_ty_1"
11841    );
11842    assert_eq!(
11843        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
11844        0usize,
11845        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
11846    );
11847    assert_eq!(
11848        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11849        0usize,
11850        "Offset of field: pkcs7_st__bindgen_ty_1::data"
11851    );
11852    assert_eq!(
11853        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
11854        0usize,
11855        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
11856    );
11857    assert_eq!(
11858        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
11859        0usize,
11860        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
11861    );
11862    assert_eq!(
11863        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
11864        0usize,
11865        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
11866    );
11867    assert_eq!(
11868        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
11869        0usize,
11870        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
11871    );
11872    assert_eq!(
11873        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
11874        0usize,
11875        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
11876    );
11877    assert_eq!(
11878        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
11879        0usize,
11880        "Offset of field: pkcs7_st__bindgen_ty_1::other"
11881    );
11882}
11883impl Default for pkcs7_st__bindgen_ty_1 {
11884    fn default() -> Self {
11885        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11886        unsafe {
11887            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11888            s.assume_init()
11889        }
11890    }
11891}
11892#[test]
11893fn bindgen_test_layout_pkcs7_st() {
11894    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
11895    let ptr = UNINIT.as_ptr();
11896    assert_eq!(
11897        ::std::mem::size_of::<pkcs7_st>(),
11898        16usize,
11899        "Size of pkcs7_st"
11900    );
11901    assert_eq!(
11902        ::std::mem::align_of::<pkcs7_st>(),
11903        8usize,
11904        "Alignment of pkcs7_st"
11905    );
11906    assert_eq!(
11907        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
11908        0usize,
11909        "Offset of field: pkcs7_st::type_"
11910    );
11911    assert_eq!(
11912        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
11913        8usize,
11914        "Offset of field: pkcs7_st::d"
11915    );
11916}
11917impl Default for pkcs7_st {
11918    fn default() -> Self {
11919        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11920        unsafe {
11921            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11922            s.assume_init()
11923        }
11924    }
11925}
11926#[repr(C)]
11927#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11928pub struct pkcs7_signed_st {
11929    pub version: *mut ASN1_INTEGER,
11930    pub md_algs: *mut stack_st_X509_ALGOR,
11931    pub contents: *mut PKCS7,
11932    pub cert: *mut stack_st_X509,
11933    pub crl: *mut stack_st_X509_CRL,
11934    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
11935}
11936#[test]
11937fn bindgen_test_layout_pkcs7_signed_st() {
11938    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
11939    let ptr = UNINIT.as_ptr();
11940    assert_eq!(
11941        ::std::mem::size_of::<pkcs7_signed_st>(),
11942        48usize,
11943        "Size of pkcs7_signed_st"
11944    );
11945    assert_eq!(
11946        ::std::mem::align_of::<pkcs7_signed_st>(),
11947        8usize,
11948        "Alignment of pkcs7_signed_st"
11949    );
11950    assert_eq!(
11951        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11952        0usize,
11953        "Offset of field: pkcs7_signed_st::version"
11954    );
11955    assert_eq!(
11956        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
11957        8usize,
11958        "Offset of field: pkcs7_signed_st::md_algs"
11959    );
11960    assert_eq!(
11961        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
11962        16usize,
11963        "Offset of field: pkcs7_signed_st::contents"
11964    );
11965    assert_eq!(
11966        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
11967        24usize,
11968        "Offset of field: pkcs7_signed_st::cert"
11969    );
11970    assert_eq!(
11971        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
11972        32usize,
11973        "Offset of field: pkcs7_signed_st::crl"
11974    );
11975    assert_eq!(
11976        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
11977        40usize,
11978        "Offset of field: pkcs7_signed_st::signer_info"
11979    );
11980}
11981impl Default for pkcs7_signed_st {
11982    fn default() -> Self {
11983        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11984        unsafe {
11985            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11986            s.assume_init()
11987        }
11988    }
11989}
11990#[repr(C)]
11991#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11992pub struct pkcs7_signer_info_st {
11993    pub version: *mut ASN1_INTEGER,
11994    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
11995    pub digest_alg: *mut X509_ALGOR,
11996    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
11997    pub digest_enc_alg: *mut X509_ALGOR,
11998    pub enc_digest: *mut ASN1_OCTET_STRING,
11999    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
12000    pub pkey: *mut EVP_PKEY,
12001}
12002#[test]
12003fn bindgen_test_layout_pkcs7_signer_info_st() {
12004    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
12005    let ptr = UNINIT.as_ptr();
12006    assert_eq!(
12007        ::std::mem::size_of::<pkcs7_signer_info_st>(),
12008        64usize,
12009        "Size of pkcs7_signer_info_st"
12010    );
12011    assert_eq!(
12012        ::std::mem::align_of::<pkcs7_signer_info_st>(),
12013        8usize,
12014        "Alignment of pkcs7_signer_info_st"
12015    );
12016    assert_eq!(
12017        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12018        0usize,
12019        "Offset of field: pkcs7_signer_info_st::version"
12020    );
12021    assert_eq!(
12022        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12023        8usize,
12024        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
12025    );
12026    assert_eq!(
12027        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
12028        16usize,
12029        "Offset of field: pkcs7_signer_info_st::digest_alg"
12030    );
12031    assert_eq!(
12032        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
12033        24usize,
12034        "Offset of field: pkcs7_signer_info_st::auth_attr"
12035    );
12036    assert_eq!(
12037        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
12038        32usize,
12039        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
12040    );
12041    assert_eq!(
12042        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
12043        40usize,
12044        "Offset of field: pkcs7_signer_info_st::enc_digest"
12045    );
12046    assert_eq!(
12047        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
12048        48usize,
12049        "Offset of field: pkcs7_signer_info_st::unauth_attr"
12050    );
12051    assert_eq!(
12052        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
12053        56usize,
12054        "Offset of field: pkcs7_signer_info_st::pkey"
12055    );
12056}
12057impl Default for pkcs7_signer_info_st {
12058    fn default() -> Self {
12059        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12060        unsafe {
12061            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12062            s.assume_init()
12063        }
12064    }
12065}
12066#[repr(C)]
12067#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12068pub struct pkcs7_sign_envelope_st {
12069    pub version: *mut ASN1_INTEGER,
12070    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12071    pub md_algs: *mut stack_st_X509_ALGOR,
12072    pub enc_data: *mut PKCS7_ENC_CONTENT,
12073    pub cert: *mut stack_st_X509,
12074    pub crl: *mut stack_st_X509_CRL,
12075    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12076}
12077#[test]
12078fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12079    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12080        ::std::mem::MaybeUninit::uninit();
12081    let ptr = UNINIT.as_ptr();
12082    assert_eq!(
12083        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12084        56usize,
12085        "Size of pkcs7_sign_envelope_st"
12086    );
12087    assert_eq!(
12088        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12089        8usize,
12090        "Alignment of pkcs7_sign_envelope_st"
12091    );
12092    assert_eq!(
12093        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12094        0usize,
12095        "Offset of field: pkcs7_sign_envelope_st::version"
12096    );
12097    assert_eq!(
12098        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12099        8usize,
12100        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12101    );
12102    assert_eq!(
12103        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12104        16usize,
12105        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12106    );
12107    assert_eq!(
12108        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12109        24usize,
12110        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12111    );
12112    assert_eq!(
12113        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12114        32usize,
12115        "Offset of field: pkcs7_sign_envelope_st::cert"
12116    );
12117    assert_eq!(
12118        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12119        40usize,
12120        "Offset of field: pkcs7_sign_envelope_st::crl"
12121    );
12122    assert_eq!(
12123        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12124        48usize,
12125        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12126    );
12127}
12128impl Default for pkcs7_sign_envelope_st {
12129    fn default() -> Self {
12130        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12131        unsafe {
12132            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12133            s.assume_init()
12134        }
12135    }
12136}
12137#[repr(C)]
12138#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12139pub struct pkcs7_envelope_st {
12140    pub version: *mut ASN1_INTEGER,
12141    pub enc_data: *mut PKCS7_ENC_CONTENT,
12142    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12143}
12144#[test]
12145fn bindgen_test_layout_pkcs7_envelope_st() {
12146    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12147    let ptr = UNINIT.as_ptr();
12148    assert_eq!(
12149        ::std::mem::size_of::<pkcs7_envelope_st>(),
12150        24usize,
12151        "Size of pkcs7_envelope_st"
12152    );
12153    assert_eq!(
12154        ::std::mem::align_of::<pkcs7_envelope_st>(),
12155        8usize,
12156        "Alignment of pkcs7_envelope_st"
12157    );
12158    assert_eq!(
12159        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12160        0usize,
12161        "Offset of field: pkcs7_envelope_st::version"
12162    );
12163    assert_eq!(
12164        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12165        8usize,
12166        "Offset of field: pkcs7_envelope_st::enc_data"
12167    );
12168    assert_eq!(
12169        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12170        16usize,
12171        "Offset of field: pkcs7_envelope_st::recipientinfo"
12172    );
12173}
12174impl Default for pkcs7_envelope_st {
12175    fn default() -> Self {
12176        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12177        unsafe {
12178            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12179            s.assume_init()
12180        }
12181    }
12182}
12183#[repr(C)]
12184#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12185pub struct pkcs7_recip_info_st {
12186    pub version: *mut ASN1_INTEGER,
12187    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12188    pub key_enc_algor: *mut X509_ALGOR,
12189    pub enc_key: *mut ASN1_OCTET_STRING,
12190    pub cert: *mut X509,
12191}
12192#[test]
12193fn bindgen_test_layout_pkcs7_recip_info_st() {
12194    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12195    let ptr = UNINIT.as_ptr();
12196    assert_eq!(
12197        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12198        40usize,
12199        "Size of pkcs7_recip_info_st"
12200    );
12201    assert_eq!(
12202        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12203        8usize,
12204        "Alignment of pkcs7_recip_info_st"
12205    );
12206    assert_eq!(
12207        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12208        0usize,
12209        "Offset of field: pkcs7_recip_info_st::version"
12210    );
12211    assert_eq!(
12212        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12213        8usize,
12214        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12215    );
12216    assert_eq!(
12217        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12218        16usize,
12219        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12220    );
12221    assert_eq!(
12222        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12223        24usize,
12224        "Offset of field: pkcs7_recip_info_st::enc_key"
12225    );
12226    assert_eq!(
12227        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12228        32usize,
12229        "Offset of field: pkcs7_recip_info_st::cert"
12230    );
12231}
12232impl Default for pkcs7_recip_info_st {
12233    fn default() -> Self {
12234        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12235        unsafe {
12236            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12237            s.assume_init()
12238        }
12239    }
12240}
12241#[repr(C)]
12242#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12243pub struct pkcs7_issuer_and_serial_st {
12244    pub issuer: *mut X509_NAME,
12245    pub serial: *mut ASN1_INTEGER,
12246}
12247#[test]
12248fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12249    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12250        ::std::mem::MaybeUninit::uninit();
12251    let ptr = UNINIT.as_ptr();
12252    assert_eq!(
12253        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12254        16usize,
12255        "Size of pkcs7_issuer_and_serial_st"
12256    );
12257    assert_eq!(
12258        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12259        8usize,
12260        "Alignment of pkcs7_issuer_and_serial_st"
12261    );
12262    assert_eq!(
12263        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12264        0usize,
12265        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12266    );
12267    assert_eq!(
12268        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12269        8usize,
12270        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12271    );
12272}
12273impl Default for pkcs7_issuer_and_serial_st {
12274    fn default() -> Self {
12275        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12276        unsafe {
12277            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12278            s.assume_init()
12279        }
12280    }
12281}
12282#[repr(C)]
12283#[derive(Debug, Copy, Clone)]
12284pub struct stack_st_PKCS7_RECIP_INFO {
12285    _unused: [u8; 0],
12286}
12287#[repr(C)]
12288#[derive(Debug, Copy, Clone)]
12289pub struct stack_st_PKCS7_SIGNER_INFO {
12290    _unused: [u8; 0],
12291}
12292extern "C" {
12293    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_public_key"]
12294    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12295}
12296extern "C" {
12297    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_private_key"]
12298    pub fn RSA_new_private_key(
12299        n: *const BIGNUM,
12300        e: *const BIGNUM,
12301        d: *const BIGNUM,
12302        p: *const BIGNUM,
12303        q: *const BIGNUM,
12304        dmp1: *const BIGNUM,
12305        dmq1: *const BIGNUM,
12306        iqmp: *const BIGNUM,
12307    ) -> *mut RSA;
12308}
12309extern "C" {
12310    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new"]
12311    pub fn RSA_new() -> *mut RSA;
12312}
12313extern "C" {
12314    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_method"]
12315    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12316}
12317extern "C" {
12318    #[link_name = "\u{1}aws_lc_0_37_1_RSA_free"]
12319    pub fn RSA_free(rsa: *mut RSA);
12320}
12321extern "C" {
12322    #[link_name = "\u{1}aws_lc_0_37_1_RSA_up_ref"]
12323    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12324}
12325extern "C" {
12326    #[link_name = "\u{1}aws_lc_0_37_1_RSA_bits"]
12327    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12328}
12329extern "C" {
12330    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_n"]
12331    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12332}
12333extern "C" {
12334    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_e"]
12335    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12336}
12337extern "C" {
12338    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_d"]
12339    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12340}
12341extern "C" {
12342    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_p"]
12343    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12344}
12345extern "C" {
12346    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_q"]
12347    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12348}
12349extern "C" {
12350    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_dmp1"]
12351    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12352}
12353extern "C" {
12354    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_dmq1"]
12355    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12356}
12357extern "C" {
12358    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_iqmp"]
12359    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12360}
12361extern "C" {
12362    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_key"]
12363    pub fn RSA_get0_key(
12364        rsa: *const RSA,
12365        out_n: *mut *const BIGNUM,
12366        out_e: *mut *const BIGNUM,
12367        out_d: *mut *const BIGNUM,
12368    );
12369}
12370extern "C" {
12371    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_factors"]
12372    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12373}
12374extern "C" {
12375    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_crt_params"]
12376    pub fn RSA_get0_crt_params(
12377        rsa: *const RSA,
12378        out_dmp1: *mut *const BIGNUM,
12379        out_dmq1: *mut *const BIGNUM,
12380        out_iqmp: *mut *const BIGNUM,
12381    );
12382}
12383extern "C" {
12384    #[link_name = "\u{1}aws_lc_0_37_1_RSA_set0_key"]
12385    pub fn RSA_set0_key(
12386        rsa: *mut RSA,
12387        n: *mut BIGNUM,
12388        e: *mut BIGNUM,
12389        d: *mut BIGNUM,
12390    ) -> ::std::os::raw::c_int;
12391}
12392extern "C" {
12393    #[link_name = "\u{1}aws_lc_0_37_1_RSA_set0_factors"]
12394    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12395        -> ::std::os::raw::c_int;
12396}
12397extern "C" {
12398    #[link_name = "\u{1}aws_lc_0_37_1_RSA_set0_crt_params"]
12399    pub fn RSA_set0_crt_params(
12400        rsa: *mut RSA,
12401        dmp1: *mut BIGNUM,
12402        dmq1: *mut BIGNUM,
12403        iqmp: *mut BIGNUM,
12404    ) -> ::std::os::raw::c_int;
12405}
12406extern "C" {
12407    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get_default_method"]
12408    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12409}
12410extern "C" {
12411    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_new"]
12412    pub fn RSA_meth_new(
12413        name: *const ::std::os::raw::c_char,
12414        flags: ::std::os::raw::c_int,
12415    ) -> *mut RSA_METHOD;
12416}
12417extern "C" {
12418    #[link_name = "\u{1}aws_lc_0_37_1_RSA_set_method"]
12419    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12420}
12421extern "C" {
12422    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get_method"]
12423    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12424}
12425extern "C" {
12426    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_free"]
12427    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12428}
12429extern "C" {
12430    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set_init"]
12431    pub fn RSA_meth_set_init(
12432        meth: *mut RSA_METHOD,
12433        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12434    ) -> ::std::os::raw::c_int;
12435}
12436extern "C" {
12437    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set_finish"]
12438    pub fn RSA_meth_set_finish(
12439        meth: *mut RSA_METHOD,
12440        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12441    ) -> ::std::os::raw::c_int;
12442}
12443extern "C" {
12444    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set_priv_dec"]
12445    pub fn RSA_meth_set_priv_dec(
12446        meth: *mut RSA_METHOD,
12447        priv_dec: ::std::option::Option<
12448            unsafe extern "C" fn(
12449                max_out: ::std::os::raw::c_int,
12450                from: *const u8,
12451                to: *mut u8,
12452                rsa: *mut RSA,
12453                padding: ::std::os::raw::c_int,
12454            ) -> ::std::os::raw::c_int,
12455        >,
12456    ) -> ::std::os::raw::c_int;
12457}
12458extern "C" {
12459    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set_priv_enc"]
12460    pub fn RSA_meth_set_priv_enc(
12461        meth: *mut RSA_METHOD,
12462        priv_enc: ::std::option::Option<
12463            unsafe extern "C" fn(
12464                max_out: ::std::os::raw::c_int,
12465                from: *const u8,
12466                to: *mut u8,
12467                rsa: *mut RSA,
12468                padding: ::std::os::raw::c_int,
12469            ) -> ::std::os::raw::c_int,
12470        >,
12471    ) -> ::std::os::raw::c_int;
12472}
12473extern "C" {
12474    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set_pub_dec"]
12475    pub fn RSA_meth_set_pub_dec(
12476        meth: *mut RSA_METHOD,
12477        pub_dec: ::std::option::Option<
12478            unsafe extern "C" fn(
12479                max_out: ::std::os::raw::c_int,
12480                from: *const u8,
12481                to: *mut u8,
12482                rsa: *mut RSA,
12483                padding: ::std::os::raw::c_int,
12484            ) -> ::std::os::raw::c_int,
12485        >,
12486    ) -> ::std::os::raw::c_int;
12487}
12488extern "C" {
12489    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set_pub_enc"]
12490    pub fn RSA_meth_set_pub_enc(
12491        meth: *mut RSA_METHOD,
12492        pub_enc: ::std::option::Option<
12493            unsafe extern "C" fn(
12494                max_out: ::std::os::raw::c_int,
12495                from: *const u8,
12496                to: *mut u8,
12497                rsa: *mut RSA,
12498                padding: ::std::os::raw::c_int,
12499            ) -> ::std::os::raw::c_int,
12500        >,
12501    ) -> ::std::os::raw::c_int;
12502}
12503extern "C" {
12504    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set0_app_data"]
12505    pub fn RSA_meth_set0_app_data(
12506        meth: *mut RSA_METHOD,
12507        app_data: *mut ::std::os::raw::c_void,
12508    ) -> ::std::os::raw::c_int;
12509}
12510extern "C" {
12511    #[link_name = "\u{1}aws_lc_0_37_1_RSA_meth_set_sign"]
12512    pub fn RSA_meth_set_sign(
12513        meth: *mut RSA_METHOD,
12514        sign: ::std::option::Option<
12515            unsafe extern "C" fn(
12516                type_: ::std::os::raw::c_int,
12517                m: *const ::std::os::raw::c_uchar,
12518                m_length: ::std::os::raw::c_uint,
12519                sigret: *mut ::std::os::raw::c_uchar,
12520                siglen: *mut ::std::os::raw::c_uint,
12521                rsa: *const RSA,
12522            ) -> ::std::os::raw::c_int,
12523        >,
12524    ) -> ::std::os::raw::c_int;
12525}
12526extern "C" {
12527    #[link_name = "\u{1}aws_lc_0_37_1_RSA_generate_key_ex"]
12528    pub fn RSA_generate_key_ex(
12529        rsa: *mut RSA,
12530        bits: ::std::os::raw::c_int,
12531        e: *const BIGNUM,
12532        cb: *mut BN_GENCB,
12533    ) -> ::std::os::raw::c_int;
12534}
12535extern "C" {
12536    #[link_name = "\u{1}aws_lc_0_37_1_RSA_generate_key_fips"]
12537    pub fn RSA_generate_key_fips(
12538        rsa: *mut RSA,
12539        bits: ::std::os::raw::c_int,
12540        cb: *mut BN_GENCB,
12541    ) -> ::std::os::raw::c_int;
12542}
12543extern "C" {
12544    #[link_name = "\u{1}aws_lc_0_37_1_RSA_encrypt"]
12545    pub fn RSA_encrypt(
12546        rsa: *mut RSA,
12547        out_len: *mut usize,
12548        out: *mut u8,
12549        max_out: usize,
12550        in_: *const u8,
12551        in_len: usize,
12552        padding: ::std::os::raw::c_int,
12553    ) -> ::std::os::raw::c_int;
12554}
12555extern "C" {
12556    #[link_name = "\u{1}aws_lc_0_37_1_RSA_decrypt"]
12557    pub fn RSA_decrypt(
12558        rsa: *mut RSA,
12559        out_len: *mut usize,
12560        out: *mut u8,
12561        max_out: usize,
12562        in_: *const u8,
12563        in_len: usize,
12564        padding: ::std::os::raw::c_int,
12565    ) -> ::std::os::raw::c_int;
12566}
12567extern "C" {
12568    #[link_name = "\u{1}aws_lc_0_37_1_RSA_public_encrypt"]
12569    pub fn RSA_public_encrypt(
12570        flen: usize,
12571        from: *const u8,
12572        to: *mut u8,
12573        rsa: *mut RSA,
12574        padding: ::std::os::raw::c_int,
12575    ) -> ::std::os::raw::c_int;
12576}
12577extern "C" {
12578    #[link_name = "\u{1}aws_lc_0_37_1_RSA_private_decrypt"]
12579    pub fn RSA_private_decrypt(
12580        flen: usize,
12581        from: *const u8,
12582        to: *mut u8,
12583        rsa: *mut RSA,
12584        padding: ::std::os::raw::c_int,
12585    ) -> ::std::os::raw::c_int;
12586}
12587extern "C" {
12588    #[link_name = "\u{1}aws_lc_0_37_1_RSA_sign"]
12589    pub fn RSA_sign(
12590        hash_nid: ::std::os::raw::c_int,
12591        digest: *const u8,
12592        digest_len: usize,
12593        out: *mut u8,
12594        out_len: *mut ::std::os::raw::c_uint,
12595        rsa: *mut RSA,
12596    ) -> ::std::os::raw::c_int;
12597}
12598extern "C" {
12599    #[link_name = "\u{1}aws_lc_0_37_1_RSA_sign_pss_mgf1"]
12600    pub fn RSA_sign_pss_mgf1(
12601        rsa: *mut RSA,
12602        out_len: *mut usize,
12603        out: *mut u8,
12604        max_out: usize,
12605        digest: *const u8,
12606        digest_len: usize,
12607        md: *const EVP_MD,
12608        mgf1_md: *const EVP_MD,
12609        salt_len: ::std::os::raw::c_int,
12610    ) -> ::std::os::raw::c_int;
12611}
12612extern "C" {
12613    #[link_name = "\u{1}aws_lc_0_37_1_RSA_sign_raw"]
12614    pub fn RSA_sign_raw(
12615        rsa: *mut RSA,
12616        out_len: *mut usize,
12617        out: *mut u8,
12618        max_out: usize,
12619        in_: *const u8,
12620        in_len: usize,
12621        padding: ::std::os::raw::c_int,
12622    ) -> ::std::os::raw::c_int;
12623}
12624extern "C" {
12625    #[link_name = "\u{1}aws_lc_0_37_1_RSA_verify"]
12626    pub fn RSA_verify(
12627        hash_nid: ::std::os::raw::c_int,
12628        digest: *const u8,
12629        digest_len: usize,
12630        sig: *const u8,
12631        sig_len: usize,
12632        rsa: *mut RSA,
12633    ) -> ::std::os::raw::c_int;
12634}
12635extern "C" {
12636    #[link_name = "\u{1}aws_lc_0_37_1_RSA_verify_pss_mgf1"]
12637    pub fn RSA_verify_pss_mgf1(
12638        rsa: *mut RSA,
12639        digest: *const u8,
12640        digest_len: usize,
12641        md: *const EVP_MD,
12642        mgf1_md: *const EVP_MD,
12643        salt_len: ::std::os::raw::c_int,
12644        sig: *const u8,
12645        sig_len: usize,
12646    ) -> ::std::os::raw::c_int;
12647}
12648extern "C" {
12649    #[link_name = "\u{1}aws_lc_0_37_1_RSA_verify_raw"]
12650    pub fn RSA_verify_raw(
12651        rsa: *mut RSA,
12652        out_len: *mut usize,
12653        out: *mut u8,
12654        max_out: usize,
12655        in_: *const u8,
12656        in_len: usize,
12657        padding: ::std::os::raw::c_int,
12658    ) -> ::std::os::raw::c_int;
12659}
12660extern "C" {
12661    #[link_name = "\u{1}aws_lc_0_37_1_RSA_private_encrypt"]
12662    pub fn RSA_private_encrypt(
12663        flen: usize,
12664        from: *const u8,
12665        to: *mut u8,
12666        rsa: *mut RSA,
12667        padding: ::std::os::raw::c_int,
12668    ) -> ::std::os::raw::c_int;
12669}
12670extern "C" {
12671    #[link_name = "\u{1}aws_lc_0_37_1_RSA_public_decrypt"]
12672    pub fn RSA_public_decrypt(
12673        flen: usize,
12674        from: *const u8,
12675        to: *mut u8,
12676        rsa: *mut RSA,
12677        padding: ::std::os::raw::c_int,
12678    ) -> ::std::os::raw::c_int;
12679}
12680extern "C" {
12681    #[link_name = "\u{1}aws_lc_0_37_1_RSA_size"]
12682    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12683}
12684extern "C" {
12685    #[link_name = "\u{1}aws_lc_0_37_1_RSA_is_opaque"]
12686    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12687}
12688extern "C" {
12689    #[link_name = "\u{1}aws_lc_0_37_1_RSAPublicKey_dup"]
12690    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12691}
12692extern "C" {
12693    #[link_name = "\u{1}aws_lc_0_37_1_RSAPrivateKey_dup"]
12694    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12695}
12696extern "C" {
12697    #[link_name = "\u{1}aws_lc_0_37_1_RSA_check_key"]
12698    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12699}
12700extern "C" {
12701    #[link_name = "\u{1}aws_lc_0_37_1_RSA_check_fips"]
12702    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12703}
12704extern "C" {
12705    #[link_name = "\u{1}aws_lc_0_37_1_RSA_verify_PKCS1_PSS_mgf1"]
12706    pub fn RSA_verify_PKCS1_PSS_mgf1(
12707        rsa: *const RSA,
12708        mHash: *const u8,
12709        Hash: *const EVP_MD,
12710        mgf1Hash: *const EVP_MD,
12711        EM: *const u8,
12712        sLen: ::std::os::raw::c_int,
12713    ) -> ::std::os::raw::c_int;
12714}
12715extern "C" {
12716    #[link_name = "\u{1}aws_lc_0_37_1_RSA_padding_add_PKCS1_PSS_mgf1"]
12717    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12718        rsa: *const RSA,
12719        EM: *mut u8,
12720        mHash: *const u8,
12721        Hash: *const EVP_MD,
12722        mgf1Hash: *const EVP_MD,
12723        sLen: ::std::os::raw::c_int,
12724    ) -> ::std::os::raw::c_int;
12725}
12726extern "C" {
12727    #[link_name = "\u{1}aws_lc_0_37_1_RSA_padding_add_PKCS1_OAEP_mgf1"]
12728    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12729        to: *mut u8,
12730        to_len: usize,
12731        from: *const u8,
12732        from_len: usize,
12733        param: *const u8,
12734        param_len: usize,
12735        md: *const EVP_MD,
12736        mgf1md: *const EVP_MD,
12737    ) -> ::std::os::raw::c_int;
12738}
12739extern "C" {
12740    #[link_name = "\u{1}aws_lc_0_37_1_PKCS1_MGF1"]
12741    pub fn PKCS1_MGF1(
12742        out: *mut u8,
12743        len: usize,
12744        seed: *const u8,
12745        seed_len: usize,
12746        md: *const EVP_MD,
12747    ) -> ::std::os::raw::c_int;
12748}
12749extern "C" {
12750    #[link_name = "\u{1}aws_lc_0_37_1_RSA_add_pkcs1_prefix"]
12751    pub fn RSA_add_pkcs1_prefix(
12752        out_msg: *mut *mut u8,
12753        out_msg_len: *mut usize,
12754        is_alloced: *mut ::std::os::raw::c_int,
12755        hash_nid: ::std::os::raw::c_int,
12756        digest: *const u8,
12757        digest_len: usize,
12758    ) -> ::std::os::raw::c_int;
12759}
12760extern "C" {
12761    #[link_name = "\u{1}aws_lc_0_37_1_RSA_parse_public_key"]
12762    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12763}
12764extern "C" {
12765    #[link_name = "\u{1}aws_lc_0_37_1_RSA_public_key_from_bytes"]
12766    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12767}
12768extern "C" {
12769    #[link_name = "\u{1}aws_lc_0_37_1_RSA_marshal_public_key"]
12770    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12771}
12772extern "C" {
12773    #[link_name = "\u{1}aws_lc_0_37_1_RSA_public_key_to_bytes"]
12774    pub fn RSA_public_key_to_bytes(
12775        out_bytes: *mut *mut u8,
12776        out_len: *mut usize,
12777        rsa: *const RSA,
12778    ) -> ::std::os::raw::c_int;
12779}
12780extern "C" {
12781    #[link_name = "\u{1}aws_lc_0_37_1_RSA_parse_private_key"]
12782    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12783}
12784extern "C" {
12785    #[link_name = "\u{1}aws_lc_0_37_1_RSA_private_key_from_bytes"]
12786    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12787}
12788extern "C" {
12789    #[link_name = "\u{1}aws_lc_0_37_1_RSA_marshal_private_key"]
12790    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12791}
12792extern "C" {
12793    #[link_name = "\u{1}aws_lc_0_37_1_RSA_private_key_to_bytes"]
12794    pub fn RSA_private_key_to_bytes(
12795        out_bytes: *mut *mut u8,
12796        out_len: *mut usize,
12797        rsa: *const RSA,
12798    ) -> ::std::os::raw::c_int;
12799}
12800extern "C" {
12801    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_private_key_no_crt"]
12802    pub fn RSA_new_private_key_no_crt(
12803        n: *const BIGNUM,
12804        e: *const BIGNUM,
12805        d: *const BIGNUM,
12806    ) -> *mut RSA;
12807}
12808extern "C" {
12809    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_private_key_no_e"]
12810    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
12811}
12812extern "C" {
12813    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_public_key_large_e"]
12814    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12815}
12816extern "C" {
12817    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_private_key_large_e"]
12818    pub fn RSA_new_private_key_large_e(
12819        n: *const BIGNUM,
12820        e: *const BIGNUM,
12821        d: *const BIGNUM,
12822        p: *const BIGNUM,
12823        q: *const BIGNUM,
12824        dmp1: *const BIGNUM,
12825        dmq1: *const BIGNUM,
12826        iqmp: *const BIGNUM,
12827    ) -> *mut RSA;
12828}
12829extern "C" {
12830    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get_ex_new_index"]
12831    pub fn RSA_get_ex_new_index(
12832        argl: ::std::os::raw::c_long,
12833        argp: *mut ::std::os::raw::c_void,
12834        unused: *mut CRYPTO_EX_unused,
12835        dup_unused: CRYPTO_EX_dup,
12836        free_func: CRYPTO_EX_free,
12837    ) -> ::std::os::raw::c_int;
12838}
12839extern "C" {
12840    #[link_name = "\u{1}aws_lc_0_37_1_RSA_set_ex_data"]
12841    pub fn RSA_set_ex_data(
12842        rsa: *mut RSA,
12843        idx: ::std::os::raw::c_int,
12844        arg: *mut ::std::os::raw::c_void,
12845    ) -> ::std::os::raw::c_int;
12846}
12847extern "C" {
12848    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get_ex_data"]
12849    pub fn RSA_get_ex_data(
12850        rsa: *const RSA,
12851        idx: ::std::os::raw::c_int,
12852    ) -> *mut ::std::os::raw::c_void;
12853}
12854extern "C" {
12855    #[link_name = "\u{1}aws_lc_0_37_1_RSA_flags"]
12856    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
12857}
12858extern "C" {
12859    #[link_name = "\u{1}aws_lc_0_37_1_RSA_set_flags"]
12860    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
12861}
12862extern "C" {
12863    #[link_name = "\u{1}aws_lc_0_37_1_RSA_test_flags"]
12864    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12865}
12866extern "C" {
12867    #[link_name = "\u{1}aws_lc_0_37_1_RSA_blinding_on"]
12868    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
12869}
12870extern "C" {
12871    #[link_name = "\u{1}aws_lc_0_37_1_RSA_blinding_off_temp_for_accp_compatibility"]
12872    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
12873}
12874extern "C" {
12875    #[link_name = "\u{1}aws_lc_0_37_1_RSA_pkey_ctx_ctrl"]
12876    pub fn RSA_pkey_ctx_ctrl(
12877        ctx: *mut EVP_PKEY_CTX,
12878        optype: ::std::os::raw::c_int,
12879        cmd: ::std::os::raw::c_int,
12880        p1: ::std::os::raw::c_int,
12881        p2: *mut ::std::os::raw::c_void,
12882    ) -> ::std::os::raw::c_int;
12883}
12884extern "C" {
12885    #[link_name = "\u{1}aws_lc_0_37_1_RSA_generate_key"]
12886    pub fn RSA_generate_key(
12887        bits: ::std::os::raw::c_int,
12888        e: u64,
12889        callback: *mut ::std::os::raw::c_void,
12890        cb_arg: *mut ::std::os::raw::c_void,
12891    ) -> *mut RSA;
12892}
12893extern "C" {
12894    #[link_name = "\u{1}aws_lc_0_37_1_d2i_RSAPublicKey"]
12895    pub fn d2i_RSAPublicKey(
12896        out: *mut *mut RSA,
12897        inp: *mut *const u8,
12898        len: ::std::os::raw::c_long,
12899    ) -> *mut RSA;
12900}
12901extern "C" {
12902    #[link_name = "\u{1}aws_lc_0_37_1_i2d_RSAPublicKey"]
12903    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12904}
12905extern "C" {
12906    #[link_name = "\u{1}aws_lc_0_37_1_d2i_RSAPrivateKey"]
12907    pub fn d2i_RSAPrivateKey(
12908        out: *mut *mut RSA,
12909        inp: *mut *const u8,
12910        len: ::std::os::raw::c_long,
12911    ) -> *mut RSA;
12912}
12913extern "C" {
12914    #[link_name = "\u{1}aws_lc_0_37_1_i2d_RSAPrivateKey"]
12915    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12916}
12917extern "C" {
12918    #[link_name = "\u{1}aws_lc_0_37_1_RSA_padding_add_PKCS1_PSS"]
12919    pub fn RSA_padding_add_PKCS1_PSS(
12920        rsa: *const RSA,
12921        EM: *mut u8,
12922        mHash: *const u8,
12923        Hash: *const EVP_MD,
12924        sLen: ::std::os::raw::c_int,
12925    ) -> ::std::os::raw::c_int;
12926}
12927extern "C" {
12928    #[link_name = "\u{1}aws_lc_0_37_1_RSA_verify_PKCS1_PSS"]
12929    pub fn RSA_verify_PKCS1_PSS(
12930        rsa: *const RSA,
12931        mHash: *const u8,
12932        Hash: *const EVP_MD,
12933        EM: *const u8,
12934        sLen: ::std::os::raw::c_int,
12935    ) -> ::std::os::raw::c_int;
12936}
12937extern "C" {
12938    #[link_name = "\u{1}aws_lc_0_37_1_RSA_padding_add_PKCS1_OAEP"]
12939    pub fn RSA_padding_add_PKCS1_OAEP(
12940        to: *mut u8,
12941        to_len: usize,
12942        from: *const u8,
12943        from_len: usize,
12944        param: *const u8,
12945        param_len: usize,
12946    ) -> ::std::os::raw::c_int;
12947}
12948extern "C" {
12949    #[link_name = "\u{1}aws_lc_0_37_1_RSA_print"]
12950    pub fn RSA_print(
12951        bio: *mut BIO,
12952        rsa: *const RSA,
12953        indent: ::std::os::raw::c_int,
12954    ) -> ::std::os::raw::c_int;
12955}
12956extern "C" {
12957    #[link_name = "\u{1}aws_lc_0_37_1_RSA_get0_pss_params"]
12958    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
12959}
12960extern "C" {
12961    #[link_name = "\u{1}aws_lc_0_37_1_RSA_new_method_no_e"]
12962    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
12963}
12964#[repr(C)]
12965#[derive(Debug, Copy, Clone)]
12966pub struct stack_st_GENERAL_NAME {
12967    _unused: [u8; 0],
12968}
12969pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
12970#[repr(C)]
12971#[derive(Debug, Copy, Clone)]
12972pub struct stack_st_X509_NAME_ENTRY {
12973    _unused: [u8; 0],
12974}
12975#[repr(C)]
12976#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12977pub struct otherName_st {
12978    pub type_id: *mut ASN1_OBJECT,
12979    pub value: *mut ASN1_TYPE,
12980}
12981#[test]
12982fn bindgen_test_layout_otherName_st() {
12983    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
12984    let ptr = UNINIT.as_ptr();
12985    assert_eq!(
12986        ::std::mem::size_of::<otherName_st>(),
12987        16usize,
12988        "Size of otherName_st"
12989    );
12990    assert_eq!(
12991        ::std::mem::align_of::<otherName_st>(),
12992        8usize,
12993        "Alignment of otherName_st"
12994    );
12995    assert_eq!(
12996        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
12997        0usize,
12998        "Offset of field: otherName_st::type_id"
12999    );
13000    assert_eq!(
13001        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13002        8usize,
13003        "Offset of field: otherName_st::value"
13004    );
13005}
13006impl Default for otherName_st {
13007    fn default() -> Self {
13008        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13009        unsafe {
13010            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13011            s.assume_init()
13012        }
13013    }
13014}
13015pub type OTHERNAME = otherName_st;
13016#[repr(C)]
13017#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13018pub struct EDIPartyName_st {
13019    pub nameAssigner: *mut ASN1_STRING,
13020    pub partyName: *mut ASN1_STRING,
13021}
13022#[test]
13023fn bindgen_test_layout_EDIPartyName_st() {
13024    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
13025    let ptr = UNINIT.as_ptr();
13026    assert_eq!(
13027        ::std::mem::size_of::<EDIPartyName_st>(),
13028        16usize,
13029        "Size of EDIPartyName_st"
13030    );
13031    assert_eq!(
13032        ::std::mem::align_of::<EDIPartyName_st>(),
13033        8usize,
13034        "Alignment of EDIPartyName_st"
13035    );
13036    assert_eq!(
13037        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
13038        0usize,
13039        "Offset of field: EDIPartyName_st::nameAssigner"
13040    );
13041    assert_eq!(
13042        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
13043        8usize,
13044        "Offset of field: EDIPartyName_st::partyName"
13045    );
13046}
13047impl Default for EDIPartyName_st {
13048    fn default() -> Self {
13049        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13050        unsafe {
13051            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13052            s.assume_init()
13053        }
13054    }
13055}
13056pub type EDIPARTYNAME = EDIPartyName_st;
13057#[repr(C)]
13058#[derive(Copy, Clone)]
13059pub struct GENERAL_NAME_st {
13060    pub type_: ::std::os::raw::c_int,
13061    pub d: GENERAL_NAME_st__bindgen_ty_1,
13062}
13063#[repr(C)]
13064#[derive(Copy, Clone)]
13065pub union GENERAL_NAME_st__bindgen_ty_1 {
13066    pub ptr: *mut ::std::os::raw::c_char,
13067    pub otherName: *mut OTHERNAME,
13068    pub rfc822Name: *mut ASN1_IA5STRING,
13069    pub dNSName: *mut ASN1_IA5STRING,
13070    pub x400Address: *mut ASN1_STRING,
13071    pub directoryName: *mut X509_NAME,
13072    pub ediPartyName: *mut EDIPARTYNAME,
13073    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13074    pub iPAddress: *mut ASN1_OCTET_STRING,
13075    pub registeredID: *mut ASN1_OBJECT,
13076    pub ip: *mut ASN1_OCTET_STRING,
13077    pub dirn: *mut X509_NAME,
13078    pub ia5: *mut ASN1_IA5STRING,
13079    pub rid: *mut ASN1_OBJECT,
13080}
13081#[test]
13082fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13083    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13084        ::std::mem::MaybeUninit::uninit();
13085    let ptr = UNINIT.as_ptr();
13086    assert_eq!(
13087        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13088        8usize,
13089        "Size of GENERAL_NAME_st__bindgen_ty_1"
13090    );
13091    assert_eq!(
13092        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13093        8usize,
13094        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13095    );
13096    assert_eq!(
13097        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13098        0usize,
13099        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13100    );
13101    assert_eq!(
13102        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13103        0usize,
13104        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13105    );
13106    assert_eq!(
13107        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13108        0usize,
13109        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13110    );
13111    assert_eq!(
13112        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13113        0usize,
13114        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13115    );
13116    assert_eq!(
13117        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13118        0usize,
13119        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13120    );
13121    assert_eq!(
13122        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13123        0usize,
13124        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13125    );
13126    assert_eq!(
13127        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13128        0usize,
13129        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13130    );
13131    assert_eq!(
13132        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13133        0usize,
13134        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13135    );
13136    assert_eq!(
13137        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13138        0usize,
13139        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13140    );
13141    assert_eq!(
13142        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13143        0usize,
13144        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13145    );
13146    assert_eq!(
13147        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13148        0usize,
13149        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13150    );
13151    assert_eq!(
13152        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13153        0usize,
13154        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13155    );
13156    assert_eq!(
13157        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13158        0usize,
13159        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13160    );
13161    assert_eq!(
13162        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13163        0usize,
13164        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13165    );
13166}
13167impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13168    fn default() -> Self {
13169        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13170        unsafe {
13171            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13172            s.assume_init()
13173        }
13174    }
13175}
13176#[test]
13177fn bindgen_test_layout_GENERAL_NAME_st() {
13178    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13179    let ptr = UNINIT.as_ptr();
13180    assert_eq!(
13181        ::std::mem::size_of::<GENERAL_NAME_st>(),
13182        16usize,
13183        "Size of GENERAL_NAME_st"
13184    );
13185    assert_eq!(
13186        ::std::mem::align_of::<GENERAL_NAME_st>(),
13187        8usize,
13188        "Alignment of GENERAL_NAME_st"
13189    );
13190    assert_eq!(
13191        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13192        0usize,
13193        "Offset of field: GENERAL_NAME_st::type_"
13194    );
13195    assert_eq!(
13196        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13197        8usize,
13198        "Offset of field: GENERAL_NAME_st::d"
13199    );
13200}
13201impl Default for GENERAL_NAME_st {
13202    fn default() -> Self {
13203        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13204        unsafe {
13205            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13206            s.assume_init()
13207        }
13208    }
13209}
13210#[repr(C)]
13211#[derive(Debug, Copy, Clone)]
13212pub struct stack_st_X509_ALGOR {
13213    _unused: [u8; 0],
13214}
13215#[repr(C)]
13216#[derive(Debug, Copy, Clone)]
13217pub struct stack_st_X509_ATTRIBUTE {
13218    _unused: [u8; 0],
13219}
13220#[repr(C)]
13221#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13222pub struct Netscape_spki_st {
13223    pub spkac: *mut NETSCAPE_SPKAC,
13224    pub sig_algor: *mut X509_ALGOR,
13225    pub signature: *mut ASN1_BIT_STRING,
13226}
13227#[test]
13228fn bindgen_test_layout_Netscape_spki_st() {
13229    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13230    let ptr = UNINIT.as_ptr();
13231    assert_eq!(
13232        ::std::mem::size_of::<Netscape_spki_st>(),
13233        24usize,
13234        "Size of Netscape_spki_st"
13235    );
13236    assert_eq!(
13237        ::std::mem::align_of::<Netscape_spki_st>(),
13238        8usize,
13239        "Alignment of Netscape_spki_st"
13240    );
13241    assert_eq!(
13242        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13243        0usize,
13244        "Offset of field: Netscape_spki_st::spkac"
13245    );
13246    assert_eq!(
13247        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13248        8usize,
13249        "Offset of field: Netscape_spki_st::sig_algor"
13250    );
13251    assert_eq!(
13252        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13253        16usize,
13254        "Offset of field: Netscape_spki_st::signature"
13255    );
13256}
13257impl Default for Netscape_spki_st {
13258    fn default() -> Self {
13259        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13260        unsafe {
13261            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13262            s.assume_init()
13263        }
13264    }
13265}
13266#[repr(C)]
13267#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13268pub struct Netscape_spkac_st {
13269    pub pubkey: *mut X509_PUBKEY,
13270    pub challenge: *mut ASN1_IA5STRING,
13271}
13272#[test]
13273fn bindgen_test_layout_Netscape_spkac_st() {
13274    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13275    let ptr = UNINIT.as_ptr();
13276    assert_eq!(
13277        ::std::mem::size_of::<Netscape_spkac_st>(),
13278        16usize,
13279        "Size of Netscape_spkac_st"
13280    );
13281    assert_eq!(
13282        ::std::mem::align_of::<Netscape_spkac_st>(),
13283        8usize,
13284        "Alignment of Netscape_spkac_st"
13285    );
13286    assert_eq!(
13287        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13288        0usize,
13289        "Offset of field: Netscape_spkac_st::pubkey"
13290    );
13291    assert_eq!(
13292        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13293        8usize,
13294        "Offset of field: Netscape_spkac_st::challenge"
13295    );
13296}
13297impl Default for Netscape_spkac_st {
13298    fn default() -> Self {
13299        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13300        unsafe {
13301            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13302            s.assume_init()
13303        }
13304    }
13305}
13306#[repr(C)]
13307#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13308pub struct rsa_pss_params_st {
13309    pub hashAlgorithm: *mut X509_ALGOR,
13310    pub maskGenAlgorithm: *mut X509_ALGOR,
13311    pub saltLength: *mut ASN1_INTEGER,
13312    pub trailerField: *mut ASN1_INTEGER,
13313    pub maskHash: *mut X509_ALGOR,
13314}
13315#[test]
13316fn bindgen_test_layout_rsa_pss_params_st() {
13317    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13318    let ptr = UNINIT.as_ptr();
13319    assert_eq!(
13320        ::std::mem::size_of::<rsa_pss_params_st>(),
13321        40usize,
13322        "Size of rsa_pss_params_st"
13323    );
13324    assert_eq!(
13325        ::std::mem::align_of::<rsa_pss_params_st>(),
13326        8usize,
13327        "Alignment of rsa_pss_params_st"
13328    );
13329    assert_eq!(
13330        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13331        0usize,
13332        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13333    );
13334    assert_eq!(
13335        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13336        8usize,
13337        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13338    );
13339    assert_eq!(
13340        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13341        16usize,
13342        "Offset of field: rsa_pss_params_st::saltLength"
13343    );
13344    assert_eq!(
13345        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13346        24usize,
13347        "Offset of field: rsa_pss_params_st::trailerField"
13348    );
13349    assert_eq!(
13350        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13351        32usize,
13352        "Offset of field: rsa_pss_params_st::maskHash"
13353    );
13354}
13355impl Default for rsa_pss_params_st {
13356    fn default() -> Self {
13357        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13358        unsafe {
13359            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13360            s.assume_init()
13361        }
13362    }
13363}
13364#[repr(C)]
13365#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13366pub struct private_key_st {
13367    pub dec_pkey: *mut EVP_PKEY,
13368}
13369#[test]
13370fn bindgen_test_layout_private_key_st() {
13371    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13372    let ptr = UNINIT.as_ptr();
13373    assert_eq!(
13374        ::std::mem::size_of::<private_key_st>(),
13375        8usize,
13376        "Size of private_key_st"
13377    );
13378    assert_eq!(
13379        ::std::mem::align_of::<private_key_st>(),
13380        8usize,
13381        "Alignment of private_key_st"
13382    );
13383    assert_eq!(
13384        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13385        0usize,
13386        "Offset of field: private_key_st::dec_pkey"
13387    );
13388}
13389impl Default for private_key_st {
13390    fn default() -> Self {
13391        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13392        unsafe {
13393            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13394            s.assume_init()
13395        }
13396    }
13397}
13398#[repr(C)]
13399#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13400pub struct X509_info_st {
13401    pub x509: *mut X509,
13402    pub crl: *mut X509_CRL,
13403    pub x_pkey: *mut X509_PKEY,
13404    pub enc_cipher: EVP_CIPHER_INFO,
13405    pub enc_len: ::std::os::raw::c_int,
13406    pub enc_data: *mut ::std::os::raw::c_char,
13407}
13408#[test]
13409fn bindgen_test_layout_X509_info_st() {
13410    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13411    let ptr = UNINIT.as_ptr();
13412    assert_eq!(
13413        ::std::mem::size_of::<X509_info_st>(),
13414        64usize,
13415        "Size of X509_info_st"
13416    );
13417    assert_eq!(
13418        ::std::mem::align_of::<X509_info_st>(),
13419        8usize,
13420        "Alignment of X509_info_st"
13421    );
13422    assert_eq!(
13423        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13424        0usize,
13425        "Offset of field: X509_info_st::x509"
13426    );
13427    assert_eq!(
13428        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13429        8usize,
13430        "Offset of field: X509_info_st::crl"
13431    );
13432    assert_eq!(
13433        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13434        16usize,
13435        "Offset of field: X509_info_st::x_pkey"
13436    );
13437    assert_eq!(
13438        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13439        24usize,
13440        "Offset of field: X509_info_st::enc_cipher"
13441    );
13442    assert_eq!(
13443        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13444        48usize,
13445        "Offset of field: X509_info_st::enc_len"
13446    );
13447    assert_eq!(
13448        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13449        56usize,
13450        "Offset of field: X509_info_st::enc_data"
13451    );
13452}
13453impl Default for X509_info_st {
13454    fn default() -> Self {
13455        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13456        unsafe {
13457            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13458            s.assume_init()
13459        }
13460    }
13461}
13462pub type X509V3_EXT_NEW =
13463    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13464pub type X509V3_EXT_FREE =
13465    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13466pub type X509V3_EXT_D2I = ::std::option::Option<
13467    unsafe extern "C" fn(
13468        ext: *mut ::std::os::raw::c_void,
13469        inp: *mut *const u8,
13470        len: ::std::os::raw::c_long,
13471    ) -> *mut ::std::os::raw::c_void,
13472>;
13473pub type X509V3_EXT_I2D = ::std::option::Option<
13474    unsafe extern "C" fn(
13475        ext: *mut ::std::os::raw::c_void,
13476        outp: *mut *mut u8,
13477    ) -> ::std::os::raw::c_int,
13478>;
13479pub type X509V3_EXT_I2V = ::std::option::Option<
13480    unsafe extern "C" fn(
13481        method: *const X509V3_EXT_METHOD,
13482        ext: *mut ::std::os::raw::c_void,
13483        extlist: *mut stack_st_CONF_VALUE,
13484    ) -> *mut stack_st_CONF_VALUE,
13485>;
13486pub type X509V3_EXT_V2I = ::std::option::Option<
13487    unsafe extern "C" fn(
13488        method: *const X509V3_EXT_METHOD,
13489        ctx: *const X509V3_CTX,
13490        values: *const stack_st_CONF_VALUE,
13491    ) -> *mut ::std::os::raw::c_void,
13492>;
13493pub type X509V3_EXT_I2S = ::std::option::Option<
13494    unsafe extern "C" fn(
13495        method: *const X509V3_EXT_METHOD,
13496        ext: *mut ::std::os::raw::c_void,
13497    ) -> *mut ::std::os::raw::c_char,
13498>;
13499pub type X509V3_EXT_S2I = ::std::option::Option<
13500    unsafe extern "C" fn(
13501        method: *const X509V3_EXT_METHOD,
13502        ctx: *const X509V3_CTX,
13503        str_: *const ::std::os::raw::c_char,
13504    ) -> *mut ::std::os::raw::c_void,
13505>;
13506pub type X509V3_EXT_I2R = ::std::option::Option<
13507    unsafe extern "C" fn(
13508        method: *const X509V3_EXT_METHOD,
13509        ext: *mut ::std::os::raw::c_void,
13510        out: *mut BIO,
13511        indent: ::std::os::raw::c_int,
13512    ) -> ::std::os::raw::c_int,
13513>;
13514pub type X509V3_EXT_R2I = ::std::option::Option<
13515    unsafe extern "C" fn(
13516        method: *const X509V3_EXT_METHOD,
13517        ctx: *const X509V3_CTX,
13518        str_: *const ::std::os::raw::c_char,
13519    ) -> *mut ::std::os::raw::c_void,
13520>;
13521#[repr(C)]
13522#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13523pub struct v3_ext_method {
13524    pub ext_nid: ::std::os::raw::c_int,
13525    pub ext_flags: ::std::os::raw::c_int,
13526    pub it: *const ASN1_ITEM_st,
13527    pub ext_new: X509V3_EXT_NEW,
13528    pub ext_free: X509V3_EXT_FREE,
13529    pub d2i: X509V3_EXT_D2I,
13530    pub i2d: X509V3_EXT_I2D,
13531    pub i2s: X509V3_EXT_I2S,
13532    pub s2i: X509V3_EXT_S2I,
13533    pub i2v: X509V3_EXT_I2V,
13534    pub v2i: X509V3_EXT_V2I,
13535    pub i2r: X509V3_EXT_I2R,
13536    pub r2i: X509V3_EXT_R2I,
13537    pub usr_data: *mut ::std::os::raw::c_void,
13538}
13539#[test]
13540fn bindgen_test_layout_v3_ext_method() {
13541    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13542    let ptr = UNINIT.as_ptr();
13543    assert_eq!(
13544        ::std::mem::size_of::<v3_ext_method>(),
13545        104usize,
13546        "Size of v3_ext_method"
13547    );
13548    assert_eq!(
13549        ::std::mem::align_of::<v3_ext_method>(),
13550        8usize,
13551        "Alignment of v3_ext_method"
13552    );
13553    assert_eq!(
13554        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13555        0usize,
13556        "Offset of field: v3_ext_method::ext_nid"
13557    );
13558    assert_eq!(
13559        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13560        4usize,
13561        "Offset of field: v3_ext_method::ext_flags"
13562    );
13563    assert_eq!(
13564        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13565        8usize,
13566        "Offset of field: v3_ext_method::it"
13567    );
13568    assert_eq!(
13569        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13570        16usize,
13571        "Offset of field: v3_ext_method::ext_new"
13572    );
13573    assert_eq!(
13574        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13575        24usize,
13576        "Offset of field: v3_ext_method::ext_free"
13577    );
13578    assert_eq!(
13579        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13580        32usize,
13581        "Offset of field: v3_ext_method::d2i"
13582    );
13583    assert_eq!(
13584        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13585        40usize,
13586        "Offset of field: v3_ext_method::i2d"
13587    );
13588    assert_eq!(
13589        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13590        48usize,
13591        "Offset of field: v3_ext_method::i2s"
13592    );
13593    assert_eq!(
13594        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13595        56usize,
13596        "Offset of field: v3_ext_method::s2i"
13597    );
13598    assert_eq!(
13599        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13600        64usize,
13601        "Offset of field: v3_ext_method::i2v"
13602    );
13603    assert_eq!(
13604        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13605        72usize,
13606        "Offset of field: v3_ext_method::v2i"
13607    );
13608    assert_eq!(
13609        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13610        80usize,
13611        "Offset of field: v3_ext_method::i2r"
13612    );
13613    assert_eq!(
13614        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13615        88usize,
13616        "Offset of field: v3_ext_method::r2i"
13617    );
13618    assert_eq!(
13619        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13620        96usize,
13621        "Offset of field: v3_ext_method::usr_data"
13622    );
13623}
13624impl Default for v3_ext_method {
13625    fn default() -> Self {
13626        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13627        unsafe {
13628            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13629            s.assume_init()
13630        }
13631    }
13632}
13633#[repr(C)]
13634#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13635pub struct v3_ext_ctx {
13636    pub flags: ::std::os::raw::c_int,
13637    pub issuer_cert: *const X509,
13638    pub subject_cert: *const X509,
13639    pub subject_req: *const X509_REQ,
13640    pub crl: *const X509_CRL,
13641    pub db: *const CONF,
13642}
13643#[test]
13644fn bindgen_test_layout_v3_ext_ctx() {
13645    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13646    let ptr = UNINIT.as_ptr();
13647    assert_eq!(
13648        ::std::mem::size_of::<v3_ext_ctx>(),
13649        48usize,
13650        "Size of v3_ext_ctx"
13651    );
13652    assert_eq!(
13653        ::std::mem::align_of::<v3_ext_ctx>(),
13654        8usize,
13655        "Alignment of v3_ext_ctx"
13656    );
13657    assert_eq!(
13658        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13659        0usize,
13660        "Offset of field: v3_ext_ctx::flags"
13661    );
13662    assert_eq!(
13663        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13664        8usize,
13665        "Offset of field: v3_ext_ctx::issuer_cert"
13666    );
13667    assert_eq!(
13668        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13669        16usize,
13670        "Offset of field: v3_ext_ctx::subject_cert"
13671    );
13672    assert_eq!(
13673        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13674        24usize,
13675        "Offset of field: v3_ext_ctx::subject_req"
13676    );
13677    assert_eq!(
13678        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13679        32usize,
13680        "Offset of field: v3_ext_ctx::crl"
13681    );
13682    assert_eq!(
13683        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13684        40usize,
13685        "Offset of field: v3_ext_ctx::db"
13686    );
13687}
13688impl Default for v3_ext_ctx {
13689    fn default() -> Self {
13690        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13691        unsafe {
13692            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13693            s.assume_init()
13694        }
13695    }
13696}
13697#[repr(C)]
13698#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13699pub struct X509_algor_st {
13700    pub algorithm: *mut ASN1_OBJECT,
13701    pub parameter: *mut ASN1_TYPE,
13702}
13703#[test]
13704fn bindgen_test_layout_X509_algor_st() {
13705    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13706    let ptr = UNINIT.as_ptr();
13707    assert_eq!(
13708        ::std::mem::size_of::<X509_algor_st>(),
13709        16usize,
13710        "Size of X509_algor_st"
13711    );
13712    assert_eq!(
13713        ::std::mem::align_of::<X509_algor_st>(),
13714        8usize,
13715        "Alignment of X509_algor_st"
13716    );
13717    assert_eq!(
13718        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13719        0usize,
13720        "Offset of field: X509_algor_st::algorithm"
13721    );
13722    assert_eq!(
13723        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13724        8usize,
13725        "Offset of field: X509_algor_st::parameter"
13726    );
13727}
13728impl Default for X509_algor_st {
13729    fn default() -> Self {
13730        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13731        unsafe {
13732            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13733            s.assume_init()
13734        }
13735    }
13736}
13737#[repr(C)]
13738#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13739pub struct x509_trust_st {
13740    pub trust: ::std::os::raw::c_int,
13741    pub flags: ::std::os::raw::c_int,
13742    pub check_trust: ::std::option::Option<
13743        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13744    >,
13745    pub name: *mut ::std::os::raw::c_char,
13746    pub arg1: ::std::os::raw::c_int,
13747    pub arg2: *mut ::std::os::raw::c_void,
13748}
13749#[test]
13750fn bindgen_test_layout_x509_trust_st() {
13751    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13752    let ptr = UNINIT.as_ptr();
13753    assert_eq!(
13754        ::std::mem::size_of::<x509_trust_st>(),
13755        40usize,
13756        "Size of x509_trust_st"
13757    );
13758    assert_eq!(
13759        ::std::mem::align_of::<x509_trust_st>(),
13760        8usize,
13761        "Alignment of x509_trust_st"
13762    );
13763    assert_eq!(
13764        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13765        0usize,
13766        "Offset of field: x509_trust_st::trust"
13767    );
13768    assert_eq!(
13769        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13770        4usize,
13771        "Offset of field: x509_trust_st::flags"
13772    );
13773    assert_eq!(
13774        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13775        8usize,
13776        "Offset of field: x509_trust_st::check_trust"
13777    );
13778    assert_eq!(
13779        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13780        16usize,
13781        "Offset of field: x509_trust_st::name"
13782    );
13783    assert_eq!(
13784        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13785        24usize,
13786        "Offset of field: x509_trust_st::arg1"
13787    );
13788    assert_eq!(
13789        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13790        32usize,
13791        "Offset of field: x509_trust_st::arg2"
13792    );
13793}
13794impl Default for x509_trust_st {
13795    fn default() -> Self {
13796        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13797        unsafe {
13798            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13799            s.assume_init()
13800        }
13801    }
13802}
13803#[repr(C)]
13804#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13805pub struct BASIC_CONSTRAINTS_st {
13806    pub ca: ASN1_BOOLEAN,
13807    pub pathlen: *mut ASN1_INTEGER,
13808}
13809#[test]
13810fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
13811    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13812    let ptr = UNINIT.as_ptr();
13813    assert_eq!(
13814        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
13815        16usize,
13816        "Size of BASIC_CONSTRAINTS_st"
13817    );
13818    assert_eq!(
13819        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
13820        8usize,
13821        "Alignment of BASIC_CONSTRAINTS_st"
13822    );
13823    assert_eq!(
13824        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
13825        0usize,
13826        "Offset of field: BASIC_CONSTRAINTS_st::ca"
13827    );
13828    assert_eq!(
13829        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
13830        8usize,
13831        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
13832    );
13833}
13834impl Default for BASIC_CONSTRAINTS_st {
13835    fn default() -> Self {
13836        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13837        unsafe {
13838            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13839            s.assume_init()
13840        }
13841    }
13842}
13843#[repr(C)]
13844#[derive(Copy, Clone)]
13845pub struct DIST_POINT_NAME_st {
13846    pub type_: ::std::os::raw::c_int,
13847    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
13848    pub dpname: *mut X509_NAME,
13849}
13850#[repr(C)]
13851#[derive(Copy, Clone)]
13852pub union DIST_POINT_NAME_st__bindgen_ty_1 {
13853    pub fullname: *mut GENERAL_NAMES,
13854    pub relativename: *mut stack_st_X509_NAME_ENTRY,
13855}
13856#[test]
13857fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
13858    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
13859        ::std::mem::MaybeUninit::uninit();
13860    let ptr = UNINIT.as_ptr();
13861    assert_eq!(
13862        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13863        8usize,
13864        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
13865    );
13866    assert_eq!(
13867        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13868        8usize,
13869        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
13870    );
13871    assert_eq!(
13872        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
13873        0usize,
13874        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
13875    );
13876    assert_eq!(
13877        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
13878        0usize,
13879        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
13880    );
13881}
13882impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
13883    fn default() -> Self {
13884        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13885        unsafe {
13886            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13887            s.assume_init()
13888        }
13889    }
13890}
13891#[test]
13892fn bindgen_test_layout_DIST_POINT_NAME_st() {
13893    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
13894    let ptr = UNINIT.as_ptr();
13895    assert_eq!(
13896        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
13897        24usize,
13898        "Size of DIST_POINT_NAME_st"
13899    );
13900    assert_eq!(
13901        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
13902        8usize,
13903        "Alignment of DIST_POINT_NAME_st"
13904    );
13905    assert_eq!(
13906        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13907        0usize,
13908        "Offset of field: DIST_POINT_NAME_st::type_"
13909    );
13910    assert_eq!(
13911        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13912        8usize,
13913        "Offset of field: DIST_POINT_NAME_st::name"
13914    );
13915    assert_eq!(
13916        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
13917        16usize,
13918        "Offset of field: DIST_POINT_NAME_st::dpname"
13919    );
13920}
13921impl Default for DIST_POINT_NAME_st {
13922    fn default() -> Self {
13923        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13924        unsafe {
13925            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13926            s.assume_init()
13927        }
13928    }
13929}
13930pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
13931#[repr(C)]
13932#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13933pub struct DIST_POINT_st {
13934    pub distpoint: *mut DIST_POINT_NAME,
13935    pub reasons: *mut ASN1_BIT_STRING,
13936    pub CRLissuer: *mut GENERAL_NAMES,
13937}
13938#[test]
13939fn bindgen_test_layout_DIST_POINT_st() {
13940    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
13941    let ptr = UNINIT.as_ptr();
13942    assert_eq!(
13943        ::std::mem::size_of::<DIST_POINT_st>(),
13944        24usize,
13945        "Size of DIST_POINT_st"
13946    );
13947    assert_eq!(
13948        ::std::mem::align_of::<DIST_POINT_st>(),
13949        8usize,
13950        "Alignment of DIST_POINT_st"
13951    );
13952    assert_eq!(
13953        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
13954        0usize,
13955        "Offset of field: DIST_POINT_st::distpoint"
13956    );
13957    assert_eq!(
13958        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
13959        8usize,
13960        "Offset of field: DIST_POINT_st::reasons"
13961    );
13962    assert_eq!(
13963        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
13964        16usize,
13965        "Offset of field: DIST_POINT_st::CRLissuer"
13966    );
13967}
13968impl Default for DIST_POINT_st {
13969    fn default() -> Self {
13970        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13971        unsafe {
13972            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13973            s.assume_init()
13974        }
13975    }
13976}
13977#[repr(C)]
13978#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13979pub struct AUTHORITY_KEYID_st {
13980    pub keyid: *mut ASN1_OCTET_STRING,
13981    pub issuer: *mut GENERAL_NAMES,
13982    pub serial: *mut ASN1_INTEGER,
13983}
13984#[test]
13985fn bindgen_test_layout_AUTHORITY_KEYID_st() {
13986    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
13987    let ptr = UNINIT.as_ptr();
13988    assert_eq!(
13989        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
13990        24usize,
13991        "Size of AUTHORITY_KEYID_st"
13992    );
13993    assert_eq!(
13994        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
13995        8usize,
13996        "Alignment of AUTHORITY_KEYID_st"
13997    );
13998    assert_eq!(
13999        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
14000        0usize,
14001        "Offset of field: AUTHORITY_KEYID_st::keyid"
14002    );
14003    assert_eq!(
14004        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
14005        8usize,
14006        "Offset of field: AUTHORITY_KEYID_st::issuer"
14007    );
14008    assert_eq!(
14009        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14010        16usize,
14011        "Offset of field: AUTHORITY_KEYID_st::serial"
14012    );
14013}
14014impl Default for AUTHORITY_KEYID_st {
14015    fn default() -> Self {
14016        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14017        unsafe {
14018            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14019            s.assume_init()
14020        }
14021    }
14022}
14023#[repr(C)]
14024#[derive(Debug, Copy, Clone)]
14025pub struct stack_st_GENERAL_SUBTREE {
14026    _unused: [u8; 0],
14027}
14028#[repr(C)]
14029#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14030pub struct NAME_CONSTRAINTS_st {
14031    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14032    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14033}
14034#[test]
14035fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
14036    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14037    let ptr = UNINIT.as_ptr();
14038    assert_eq!(
14039        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
14040        16usize,
14041        "Size of NAME_CONSTRAINTS_st"
14042    );
14043    assert_eq!(
14044        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
14045        8usize,
14046        "Alignment of NAME_CONSTRAINTS_st"
14047    );
14048    assert_eq!(
14049        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
14050        0usize,
14051        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
14052    );
14053    assert_eq!(
14054        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
14055        8usize,
14056        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
14057    );
14058}
14059impl Default for NAME_CONSTRAINTS_st {
14060    fn default() -> Self {
14061        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14062        unsafe {
14063            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14064            s.assume_init()
14065        }
14066    }
14067}
14068#[repr(C)]
14069#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14070pub struct ISSUING_DIST_POINT_st {
14071    pub distpoint: *mut DIST_POINT_NAME,
14072    pub onlyuser: ASN1_BOOLEAN,
14073    pub onlyCA: ASN1_BOOLEAN,
14074    pub onlysomereasons: *mut ASN1_BIT_STRING,
14075    pub indirectCRL: ASN1_BOOLEAN,
14076    pub onlyattr: ASN1_BOOLEAN,
14077}
14078#[test]
14079fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14080    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14081        ::std::mem::MaybeUninit::uninit();
14082    let ptr = UNINIT.as_ptr();
14083    assert_eq!(
14084        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14085        32usize,
14086        "Size of ISSUING_DIST_POINT_st"
14087    );
14088    assert_eq!(
14089        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14090        8usize,
14091        "Alignment of ISSUING_DIST_POINT_st"
14092    );
14093    assert_eq!(
14094        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14095        0usize,
14096        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14097    );
14098    assert_eq!(
14099        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14100        8usize,
14101        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14102    );
14103    assert_eq!(
14104        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14105        12usize,
14106        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14107    );
14108    assert_eq!(
14109        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14110        16usize,
14111        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14112    );
14113    assert_eq!(
14114        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14115        24usize,
14116        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14117    );
14118    assert_eq!(
14119        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14120        28usize,
14121        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14122    );
14123}
14124impl Default for ISSUING_DIST_POINT_st {
14125    fn default() -> Self {
14126        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14127        unsafe {
14128            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14129            s.assume_init()
14130        }
14131    }
14132}
14133pub type poly1305_state = [u8; 512usize];
14134extern "C" {
14135    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_poly1305_init"]
14136    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14137}
14138extern "C" {
14139    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_poly1305_update"]
14140    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14141}
14142extern "C" {
14143    #[link_name = "\u{1}aws_lc_0_37_1_CRYPTO_poly1305_finish"]
14144    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14145}
14146extern "C" {
14147    #[link_name = "\u{1}aws_lc_0_37_1_RAND_bytes"]
14148    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14149}
14150extern "C" {
14151    #[link_name = "\u{1}aws_lc_0_37_1_RAND_priv_bytes"]
14152    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14153}
14154extern "C" {
14155    #[link_name = "\u{1}aws_lc_0_37_1_RAND_bytes_with_user_prediction_resistance"]
14156    pub fn RAND_bytes_with_user_prediction_resistance(
14157        out: *mut u8,
14158        out_len: usize,
14159        user_pred_resistance: *const u8,
14160    ) -> ::std::os::raw::c_int;
14161}
14162extern "C" {
14163    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
14164}
14165extern "C" {
14166    #[link_name = "\u{1}aws_lc_0_37_1_RAND_pseudo_bytes"]
14167    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14168}
14169extern "C" {
14170    #[link_name = "\u{1}aws_lc_0_37_1_RAND_seed"]
14171    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14172}
14173extern "C" {
14174    #[link_name = "\u{1}aws_lc_0_37_1_RAND_load_file"]
14175    pub fn RAND_load_file(
14176        path: *const ::std::os::raw::c_char,
14177        num: ::std::os::raw::c_long,
14178    ) -> ::std::os::raw::c_int;
14179}
14180extern "C" {
14181    #[link_name = "\u{1}aws_lc_0_37_1_RAND_write_file"]
14182    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14183}
14184extern "C" {
14185    #[link_name = "\u{1}aws_lc_0_37_1_RAND_file_name"]
14186    pub fn RAND_file_name(
14187        buf: *mut ::std::os::raw::c_char,
14188        num: usize,
14189    ) -> *const ::std::os::raw::c_char;
14190}
14191extern "C" {
14192    #[link_name = "\u{1}aws_lc_0_37_1_RAND_add"]
14193    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14194}
14195extern "C" {
14196    #[link_name = "\u{1}aws_lc_0_37_1_RAND_egd"]
14197    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14198}
14199extern "C" {
14200    #[link_name = "\u{1}aws_lc_0_37_1_RAND_egd_bytes"]
14201    pub fn RAND_egd_bytes(
14202        arg1: *const ::std::os::raw::c_char,
14203        bytes: ::std::os::raw::c_int,
14204    ) -> ::std::os::raw::c_int;
14205}
14206extern "C" {
14207    #[link_name = "\u{1}aws_lc_0_37_1_RAND_poll"]
14208    pub fn RAND_poll() -> ::std::os::raw::c_int;
14209}
14210extern "C" {
14211    #[link_name = "\u{1}aws_lc_0_37_1_RAND_status"]
14212    pub fn RAND_status() -> ::std::os::raw::c_int;
14213}
14214extern "C" {
14215    #[link_name = "\u{1}aws_lc_0_37_1_RAND_cleanup"]
14216    pub fn RAND_cleanup();
14217}
14218#[repr(C)]
14219#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14220pub struct rand_meth_st {
14221    pub seed: ::std::option::Option<
14222        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14223    >,
14224    pub bytes: ::std::option::Option<
14225        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14226    >,
14227    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14228    pub add: ::std::option::Option<
14229        unsafe extern "C" fn(
14230            buf: *const ::std::os::raw::c_void,
14231            num: ::std::os::raw::c_int,
14232            entropy: f64,
14233        ),
14234    >,
14235    pub pseudorand: ::std::option::Option<
14236        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14237    >,
14238    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14239}
14240#[test]
14241fn bindgen_test_layout_rand_meth_st() {
14242    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14243    let ptr = UNINIT.as_ptr();
14244    assert_eq!(
14245        ::std::mem::size_of::<rand_meth_st>(),
14246        48usize,
14247        "Size of rand_meth_st"
14248    );
14249    assert_eq!(
14250        ::std::mem::align_of::<rand_meth_st>(),
14251        8usize,
14252        "Alignment of rand_meth_st"
14253    );
14254    assert_eq!(
14255        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14256        0usize,
14257        "Offset of field: rand_meth_st::seed"
14258    );
14259    assert_eq!(
14260        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14261        8usize,
14262        "Offset of field: rand_meth_st::bytes"
14263    );
14264    assert_eq!(
14265        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14266        16usize,
14267        "Offset of field: rand_meth_st::cleanup"
14268    );
14269    assert_eq!(
14270        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14271        24usize,
14272        "Offset of field: rand_meth_st::add"
14273    );
14274    assert_eq!(
14275        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14276        32usize,
14277        "Offset of field: rand_meth_st::pseudorand"
14278    );
14279    assert_eq!(
14280        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14281        40usize,
14282        "Offset of field: rand_meth_st::status"
14283    );
14284}
14285extern "C" {
14286    #[link_name = "\u{1}aws_lc_0_37_1_RAND_SSLeay"]
14287    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14288}
14289extern "C" {
14290    #[link_name = "\u{1}aws_lc_0_37_1_RAND_OpenSSL"]
14291    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14292}
14293extern "C" {
14294    #[link_name = "\u{1}aws_lc_0_37_1_RAND_get_rand_method"]
14295    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14296}
14297extern "C" {
14298    #[link_name = "\u{1}aws_lc_0_37_1_RAND_set_rand_method"]
14299    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14300}
14301extern "C" {
14302    #[link_name = "\u{1}aws_lc_0_37_1_RAND_keep_random_devices_open"]
14303    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14304}
14305#[repr(C)]
14306#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14307pub struct rc4_key_st {
14308    pub x: u32,
14309    pub y: u32,
14310    pub data: [u32; 256usize],
14311}
14312#[test]
14313fn bindgen_test_layout_rc4_key_st() {
14314    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14315    let ptr = UNINIT.as_ptr();
14316    assert_eq!(
14317        ::std::mem::size_of::<rc4_key_st>(),
14318        1032usize,
14319        "Size of rc4_key_st"
14320    );
14321    assert_eq!(
14322        ::std::mem::align_of::<rc4_key_st>(),
14323        4usize,
14324        "Alignment of rc4_key_st"
14325    );
14326    assert_eq!(
14327        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14328        0usize,
14329        "Offset of field: rc4_key_st::x"
14330    );
14331    assert_eq!(
14332        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14333        4usize,
14334        "Offset of field: rc4_key_st::y"
14335    );
14336    assert_eq!(
14337        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14338        8usize,
14339        "Offset of field: rc4_key_st::data"
14340    );
14341}
14342impl Default for rc4_key_st {
14343    fn default() -> Self {
14344        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14345        unsafe {
14346            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14347            s.assume_init()
14348        }
14349    }
14350}
14351#[repr(C)]
14352#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14353pub struct RIPEMD160state_st {
14354    pub h: [u32; 5usize],
14355    pub Nl: u32,
14356    pub Nh: u32,
14357    pub data: [u8; 64usize],
14358    pub num: ::std::os::raw::c_uint,
14359}
14360#[test]
14361fn bindgen_test_layout_RIPEMD160state_st() {
14362    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14363    let ptr = UNINIT.as_ptr();
14364    assert_eq!(
14365        ::std::mem::size_of::<RIPEMD160state_st>(),
14366        96usize,
14367        "Size of RIPEMD160state_st"
14368    );
14369    assert_eq!(
14370        ::std::mem::align_of::<RIPEMD160state_st>(),
14371        4usize,
14372        "Alignment of RIPEMD160state_st"
14373    );
14374    assert_eq!(
14375        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14376        0usize,
14377        "Offset of field: RIPEMD160state_st::h"
14378    );
14379    assert_eq!(
14380        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14381        20usize,
14382        "Offset of field: RIPEMD160state_st::Nl"
14383    );
14384    assert_eq!(
14385        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14386        24usize,
14387        "Offset of field: RIPEMD160state_st::Nh"
14388    );
14389    assert_eq!(
14390        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14391        28usize,
14392        "Offset of field: RIPEMD160state_st::data"
14393    );
14394    assert_eq!(
14395        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14396        92usize,
14397        "Offset of field: RIPEMD160state_st::num"
14398    );
14399}
14400impl Default for RIPEMD160state_st {
14401    fn default() -> Self {
14402        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14403        unsafe {
14404            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14405            s.assume_init()
14406        }
14407    }
14408}
14409#[repr(C)]
14410#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14411pub struct trust_token_st {
14412    pub data: *mut u8,
14413    pub len: usize,
14414}
14415#[test]
14416fn bindgen_test_layout_trust_token_st() {
14417    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14418    let ptr = UNINIT.as_ptr();
14419    assert_eq!(
14420        ::std::mem::size_of::<trust_token_st>(),
14421        16usize,
14422        "Size of trust_token_st"
14423    );
14424    assert_eq!(
14425        ::std::mem::align_of::<trust_token_st>(),
14426        8usize,
14427        "Alignment of trust_token_st"
14428    );
14429    assert_eq!(
14430        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14431        0usize,
14432        "Offset of field: trust_token_st::data"
14433    );
14434    assert_eq!(
14435        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14436        8usize,
14437        "Offset of field: trust_token_st::len"
14438    );
14439}
14440impl Default for trust_token_st {
14441    fn default() -> Self {
14442        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14443        unsafe {
14444            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14445            s.assume_init()
14446        }
14447    }
14448}
14449extern "C" {
14450    #[link_name = "\u{1}aws_lc_0_37_1_ERR_GET_LIB_RUST"]
14451    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14452}
14453extern "C" {
14454    #[link_name = "\u{1}aws_lc_0_37_1_ERR_GET_REASON_RUST"]
14455    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14456}
14457extern "C" {
14458    #[link_name = "\u{1}aws_lc_0_37_1_ERR_GET_FUNC_RUST"]
14459    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14460}
14461pub type __builtin_va_list = [__va_list_tag; 1usize];
14462#[repr(C)]
14463#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14464pub struct __va_list_tag {
14465    pub gp_offset: ::std::os::raw::c_uint,
14466    pub fp_offset: ::std::os::raw::c_uint,
14467    pub overflow_arg_area: *mut ::std::os::raw::c_void,
14468    pub reg_save_area: *mut ::std::os::raw::c_void,
14469}
14470#[test]
14471fn bindgen_test_layout___va_list_tag() {
14472    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
14473    let ptr = UNINIT.as_ptr();
14474    assert_eq!(
14475        ::std::mem::size_of::<__va_list_tag>(),
14476        24usize,
14477        "Size of __va_list_tag"
14478    );
14479    assert_eq!(
14480        ::std::mem::align_of::<__va_list_tag>(),
14481        8usize,
14482        "Alignment of __va_list_tag"
14483    );
14484    assert_eq!(
14485        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
14486        0usize,
14487        "Offset of field: __va_list_tag::gp_offset"
14488    );
14489    assert_eq!(
14490        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
14491        4usize,
14492        "Offset of field: __va_list_tag::fp_offset"
14493    );
14494    assert_eq!(
14495        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
14496        8usize,
14497        "Offset of field: __va_list_tag::overflow_arg_area"
14498    );
14499    assert_eq!(
14500        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
14501        16usize,
14502        "Offset of field: __va_list_tag::reg_save_area"
14503    );
14504}
14505impl Default for __va_list_tag {
14506    fn default() -> Self {
14507        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14508        unsafe {
14509            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14510            s.assume_init()
14511        }
14512    }
14513}