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.66.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.66.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_KYBER512: &[u8; 9] = b"KYBER512\0";
2842pub const NID_KYBER512: i32 = 971;
2843pub const SN_KYBER512_R3: &[u8; 12] = b"KYBER512_R3\0";
2844pub const NID_KYBER512_R3: i32 = 972;
2845pub const SN_KYBER768_R3: &[u8; 12] = b"KYBER768_R3\0";
2846pub const NID_KYBER768_R3: i32 = 973;
2847pub const SN_KYBER1024_R3: &[u8; 13] = b"KYBER1024_R3\0";
2848pub const NID_KYBER1024_R3: i32 = 974;
2849pub const SN_DILITHIUM3_R3: &[u8; 14] = b"DILITHIUM3_R3\0";
2850pub const NID_DILITHIUM3_R3: i32 = 975;
2851pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
2852pub const NID_ffdhe2048: i32 = 976;
2853pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
2854pub const NID_ffdhe4096: i32 = 977;
2855pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
2856pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
2857pub const NID_sha512_224: i32 = 978;
2858pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
2859pub const LN_shake128: &[u8; 9] = b"shake128\0";
2860pub const NID_shake128: i32 = 979;
2861pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
2862pub const LN_shake256: &[u8; 9] = b"shake256\0";
2863pub const NID_shake256: i32 = 980;
2864pub const SN_SecP256r1Kyber768Draft00: &[u8; 25] = b"SecP256r1Kyber768Draft00\0";
2865pub const NID_SecP256r1Kyber768Draft00: i32 = 981;
2866pub const SN_X25519Kyber768Draft00: &[u8; 22] = b"X25519Kyber768Draft00\0";
2867pub const NID_X25519Kyber768Draft00: i32 = 982;
2868pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
2869pub const NID_ffdhe3072: i32 = 983;
2870pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
2871pub const NID_ffdhe8192: i32 = 984;
2872pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
2873pub const NID_MLKEM512IPD: i32 = 985;
2874pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
2875pub const NID_MLKEM768IPD: i32 = 986;
2876pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
2877pub const NID_MLKEM1024IPD: i32 = 987;
2878pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
2879pub const NID_MLKEM512: i32 = 988;
2880pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
2881pub const NID_MLKEM768: i32 = 989;
2882pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
2883pub const NID_MLKEM1024: i32 = 990;
2884pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
2885pub const NID_X25519MLKEM768: i32 = 991;
2886pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
2887pub const NID_SecP256r1MLKEM768: i32 = 992;
2888pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
2889pub const NID_PQDSA: i32 = 993;
2890pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
2891pub const NID_MLDSA44: i32 = 994;
2892pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
2893pub const NID_MLDSA65: i32 = 995;
2894pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
2895pub const NID_MLDSA87: i32 = 996;
2896pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
2897pub const NID_ED25519ph: i32 = 997;
2898pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
2899pub const NID_SecP384r1MLKEM1024: i32 = 998;
2900pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
2901pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
2902pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
2903pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
2904pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
2905pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
2906pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
2907pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
2908pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
2909pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
2910pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
2911pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
2912pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
2913pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
2914pub const EVP_PKEY_NONE: i32 = 0;
2915pub const EVP_PKEY_RSA: i32 = 6;
2916pub const EVP_PKEY_RSA_PSS: i32 = 912;
2917pub const EVP_PKEY_EC: i32 = 408;
2918pub const EVP_PKEY_ED25519: i32 = 949;
2919pub const EVP_PKEY_ED25519PH: i32 = 997;
2920pub const EVP_PKEY_X25519: i32 = 948;
2921pub const EVP_PKEY_HKDF: i32 = 969;
2922pub const EVP_PKEY_HMAC: i32 = 855;
2923pub const EVP_PKEY_DH: i32 = 28;
2924pub const EVP_PKEY_PQDSA: i32 = 993;
2925pub const EVP_PKEY_KEM: i32 = 970;
2926pub const PKCS5_SALT_LEN: i32 = 8;
2927pub const EVP_PKEY_RSA2: i32 = 19;
2928pub const EVP_PKEY_X448: i32 = 961;
2929pub const EVP_PKEY_ED448: i32 = 960;
2930pub const EVP_PKEY_DSA: i32 = 116;
2931pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
2932pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
2933pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
2934pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
2935pub const RSA_PKCS1_PADDING: i32 = 1;
2936pub const RSA_NO_PADDING: i32 = 3;
2937pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
2938pub const RSA_X931_PADDING: i32 = 5;
2939pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
2940pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
2941pub const RSA_FLAG_OPAQUE: i32 = 1;
2942pub const RSA_FLAG_NO_BLINDING: i32 = 8;
2943pub const RSA_FLAG_EXT_PKEY: i32 = 32;
2944pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
2945pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
2946pub const RSA_3: i32 = 3;
2947pub const RSA_F4: i32 = 65537;
2948pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
2949pub const RSA_R_BAD_ENCODING: i32 = 100;
2950pub const RSA_R_BAD_E_VALUE: i32 = 101;
2951pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
2952pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
2953pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
2954pub const RSA_R_BAD_SIGNATURE: i32 = 105;
2955pub const RSA_R_BAD_VERSION: i32 = 106;
2956pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
2957pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
2958pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
2959pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
2960pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
2961pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
2962pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
2963pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
2964pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
2965pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
2966pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
2967pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
2968pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
2969pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
2970pub const RSA_R_ENCODE_ERROR: i32 = 121;
2971pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
2972pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
2973pub const RSA_R_INTERNAL_ERROR: i32 = 124;
2974pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
2975pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
2976pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
2977pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
2978pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
2979pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
2980pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
2981pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
2982pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
2983pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
2984pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
2985pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
2986pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
2987pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
2988pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
2989pub const RSA_R_TOO_LONG: i32 = 140;
2990pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
2991pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
2992pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
2993pub const RSA_R_VALUE_MISSING: i32 = 144;
2994pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
2995pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
2996pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
2997pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
2998pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
2999pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3000pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
3001pub type __off_t = ::std::os::raw::c_long;
3002pub type __off64_t = ::std::os::raw::c_long;
3003pub type ossl_ssize_t = isize;
3004pub type CBS_ASN1_TAG = u32;
3005pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3006#[repr(C)]
3007#[derive(Debug, Copy, Clone)]
3008pub struct asn1_null_st {
3009    _unused: [u8; 0],
3010}
3011pub type ASN1_NULL = asn1_null_st;
3012pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3013pub type ASN1_ITEM = ASN1_ITEM_st;
3014#[repr(C)]
3015#[derive(Debug, Copy, Clone)]
3016pub struct asn1_object_st {
3017    _unused: [u8; 0],
3018}
3019pub type ASN1_OBJECT = asn1_object_st;
3020#[repr(C)]
3021#[derive(Debug, Copy, Clone)]
3022pub struct asn1_pctx_st {
3023    _unused: [u8; 0],
3024}
3025pub type ASN1_PCTX = asn1_pctx_st;
3026pub type ASN1_BIT_STRING = asn1_string_st;
3027pub type ASN1_BMPSTRING = asn1_string_st;
3028pub type ASN1_ENUMERATED = asn1_string_st;
3029pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3030pub type ASN1_GENERALSTRING = asn1_string_st;
3031pub type ASN1_IA5STRING = asn1_string_st;
3032pub type ASN1_INTEGER = asn1_string_st;
3033pub type ASN1_OCTET_STRING = asn1_string_st;
3034pub type ASN1_PRINTABLESTRING = asn1_string_st;
3035pub type ASN1_STRING = asn1_string_st;
3036pub type ASN1_T61STRING = asn1_string_st;
3037pub type ASN1_TIME = asn1_string_st;
3038pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3039pub type ASN1_UTCTIME = asn1_string_st;
3040pub type ASN1_UTF8STRING = asn1_string_st;
3041pub type ASN1_VISIBLESTRING = asn1_string_st;
3042pub type ASN1_TYPE = asn1_type_st;
3043pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3044pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3045pub type DIST_POINT = DIST_POINT_st;
3046pub type DSA_SIG = DSA_SIG_st;
3047pub type GENERAL_NAME = GENERAL_NAME_st;
3048pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3049pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3050pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3051pub type NETSCAPE_SPKI = Netscape_spki_st;
3052pub type RIPEMD160_CTX = RIPEMD160state_st;
3053#[repr(C)]
3054#[derive(Debug, Copy, Clone)]
3055pub struct X509_VERIFY_PARAM_st {
3056    _unused: [u8; 0],
3057}
3058pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3059pub type X509_ALGOR = X509_algor_st;
3060#[repr(C)]
3061#[derive(Debug, Copy, Clone)]
3062pub struct X509_crl_st {
3063    _unused: [u8; 0],
3064}
3065pub type X509_CRL = X509_crl_st;
3066#[repr(C)]
3067#[derive(Debug, Copy, Clone)]
3068pub struct X509_extension_st {
3069    _unused: [u8; 0],
3070}
3071pub type X509_EXTENSION = X509_extension_st;
3072pub type X509_INFO = X509_info_st;
3073#[repr(C)]
3074#[derive(Debug, Copy, Clone)]
3075pub struct X509_name_entry_st {
3076    _unused: [u8; 0],
3077}
3078pub type X509_NAME_ENTRY = X509_name_entry_st;
3079#[repr(C)]
3080#[derive(Debug, Copy, Clone)]
3081pub struct X509_name_st {
3082    _unused: [u8; 0],
3083}
3084pub type X509_NAME = X509_name_st;
3085#[repr(C)]
3086#[derive(Debug, Copy, Clone)]
3087pub struct X509_pubkey_st {
3088    _unused: [u8; 0],
3089}
3090pub type X509_PUBKEY = X509_pubkey_st;
3091#[repr(C)]
3092#[derive(Debug, Copy, Clone)]
3093pub struct X509_req_st {
3094    _unused: [u8; 0],
3095}
3096pub type X509_REQ = X509_req_st;
3097#[repr(C)]
3098#[derive(Debug, Copy, Clone)]
3099pub struct x509_sig_info_st {
3100    _unused: [u8; 0],
3101}
3102pub type X509_SIG_INFO = x509_sig_info_st;
3103#[repr(C)]
3104#[derive(Debug, Copy, Clone)]
3105pub struct X509_sig_st {
3106    _unused: [u8; 0],
3107}
3108pub type X509_SIG = X509_sig_st;
3109#[repr(C)]
3110#[derive(Debug, Copy, Clone)]
3111pub struct bignum_ctx {
3112    _unused: [u8; 0],
3113}
3114pub type BN_CTX = bignum_ctx;
3115pub type BIGNUM = bignum_st;
3116pub type BIO_METHOD = bio_method_st;
3117pub type BIO = bio_st;
3118pub type BLAKE2B_CTX = blake2b_state_st;
3119pub type BN_GENCB = bn_gencb_st;
3120pub type BN_MONT_CTX = bn_mont_ctx_st;
3121pub type BUF_MEM = buf_mem_st;
3122#[repr(C)]
3123#[derive(Debug, Copy, Clone)]
3124pub struct cast_key_st {
3125    _unused: [u8; 0],
3126}
3127pub type CAST_KEY = cast_key_st;
3128pub type CBB = cbb_st;
3129pub type CBS = cbs_st;
3130#[repr(C)]
3131#[derive(Debug, Copy, Clone)]
3132pub struct cmac_ctx_st {
3133    _unused: [u8; 0],
3134}
3135pub type CMAC_CTX = cmac_ctx_st;
3136pub type CONF = conf_st;
3137pub type CONF_VALUE = conf_value_st;
3138#[repr(C)]
3139#[derive(Debug, Copy, Clone)]
3140pub struct crypto_buffer_pool_st {
3141    _unused: [u8; 0],
3142}
3143pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3144#[repr(C)]
3145#[derive(Debug, Copy, Clone)]
3146pub struct crypto_buffer_st {
3147    _unused: [u8; 0],
3148}
3149pub type CRYPTO_BUFFER = crypto_buffer_st;
3150#[repr(C)]
3151#[derive(Debug, Copy, Clone)]
3152pub struct ctr_drbg_state_st {
3153    _unused: [u8; 0],
3154}
3155pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3156#[repr(C)]
3157#[derive(Debug, Copy, Clone)]
3158pub struct dh_st {
3159    _unused: [u8; 0],
3160}
3161pub type DH = dh_st;
3162#[repr(C)]
3163#[derive(Debug, Copy, Clone)]
3164pub struct dsa_st {
3165    _unused: [u8; 0],
3166}
3167pub type DSA = dsa_st;
3168#[repr(C)]
3169#[derive(Debug, Copy, Clone)]
3170pub struct ec_group_st {
3171    _unused: [u8; 0],
3172}
3173pub type EC_GROUP = ec_group_st;
3174#[repr(C)]
3175#[derive(Debug, Copy, Clone)]
3176pub struct ec_key_st {
3177    _unused: [u8; 0],
3178}
3179pub type EC_KEY = ec_key_st;
3180#[repr(C)]
3181#[derive(Debug, Copy, Clone)]
3182pub struct ec_point_st {
3183    _unused: [u8; 0],
3184}
3185pub type EC_POINT = ec_point_st;
3186#[repr(C)]
3187#[derive(Debug, Copy, Clone)]
3188pub struct ec_key_method_st {
3189    _unused: [u8; 0],
3190}
3191pub type EC_KEY_METHOD = ec_key_method_st;
3192pub type ECDSA_SIG = ecdsa_sig_st;
3193#[repr(C)]
3194#[derive(Debug, Copy, Clone)]
3195pub struct engine_st {
3196    _unused: [u8; 0],
3197}
3198pub type ENGINE = engine_st;
3199pub type EVP_MD_CTX = env_md_ctx_st;
3200#[repr(C)]
3201#[derive(Debug, Copy, Clone)]
3202pub struct env_md_st {
3203    _unused: [u8; 0],
3204}
3205pub type EVP_MD = env_md_st;
3206#[repr(C)]
3207#[derive(Debug, Copy, Clone)]
3208pub struct evp_aead_st {
3209    _unused: [u8; 0],
3210}
3211pub type EVP_AEAD = evp_aead_st;
3212pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3213pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3214#[repr(C)]
3215#[derive(Debug, Copy, Clone)]
3216pub struct evp_cipher_st {
3217    _unused: [u8; 0],
3218}
3219pub type EVP_CIPHER = evp_cipher_st;
3220pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3221#[repr(C)]
3222#[derive(Debug, Copy, Clone)]
3223pub struct evp_hpke_aead_st {
3224    _unused: [u8; 0],
3225}
3226pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3227pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3228#[repr(C)]
3229#[derive(Debug, Copy, Clone)]
3230pub struct evp_hpke_kdf_st {
3231    _unused: [u8; 0],
3232}
3233pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3234#[repr(C)]
3235#[derive(Debug, Copy, Clone)]
3236pub struct evp_hpke_kem_st {
3237    _unused: [u8; 0],
3238}
3239pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3240pub type EVP_HPKE_KEY = evp_hpke_key_st;
3241#[repr(C)]
3242#[derive(Debug, Copy, Clone)]
3243pub struct evp_kem_st {
3244    _unused: [u8; 0],
3245}
3246pub type EVP_KEM = evp_kem_st;
3247#[repr(C)]
3248#[derive(Debug, Copy, Clone)]
3249pub struct kem_key_st {
3250    _unused: [u8; 0],
3251}
3252pub type KEM_KEY = kem_key_st;
3253#[repr(C)]
3254#[derive(Debug, Copy, Clone)]
3255pub struct evp_pkey_ctx_st {
3256    _unused: [u8; 0],
3257}
3258pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3259#[repr(C)]
3260#[derive(Debug, Copy, Clone)]
3261pub struct evp_pkey_asn1_method_st {
3262    _unused: [u8; 0],
3263}
3264pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3265#[repr(C)]
3266#[derive(Debug, Copy, Clone)]
3267pub struct evp_pkey_st {
3268    _unused: [u8; 0],
3269}
3270pub type EVP_PKEY = evp_pkey_st;
3271#[repr(C)]
3272#[derive(Debug, Copy, Clone)]
3273pub struct evp_pkey_ctx_signature_context_params_st {
3274    _unused: [u8; 0],
3275}
3276pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3277pub type HMAC_CTX = hmac_ctx_st;
3278pub type MD4_CTX = md4_state_st;
3279pub type MD5_CTX = md5_state_st;
3280#[repr(C)]
3281#[derive(Debug, Copy, Clone)]
3282pub struct pqdsa_key_st {
3283    _unused: [u8; 0],
3284}
3285pub type PQDSA_KEY = pqdsa_key_st;
3286#[repr(C)]
3287#[derive(Debug, Copy, Clone)]
3288pub struct ocsp_req_ctx_st {
3289    _unused: [u8; 0],
3290}
3291pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3292#[repr(C)]
3293#[derive(Debug, Copy, Clone)]
3294pub struct ossl_init_settings_st {
3295    _unused: [u8; 0],
3296}
3297pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3298#[repr(C)]
3299#[derive(Debug, Copy, Clone)]
3300pub struct pkcs7_digest_st {
3301    _unused: [u8; 0],
3302}
3303pub type PKCS7_DIGEST = pkcs7_digest_st;
3304#[repr(C)]
3305#[derive(Debug, Copy, Clone)]
3306pub struct pkcs7_enc_content_st {
3307    _unused: [u8; 0],
3308}
3309pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3310#[repr(C)]
3311#[derive(Debug, Copy, Clone)]
3312pub struct pkcs7_encrypt_st {
3313    _unused: [u8; 0],
3314}
3315pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3316pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3317pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3318pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3319pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3320pub type PKCS7_SIGNED = pkcs7_signed_st;
3321pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3322pub type PKCS7 = pkcs7_st;
3323#[repr(C)]
3324#[derive(Debug, Copy, Clone)]
3325pub struct pkcs12_st {
3326    _unused: [u8; 0],
3327}
3328pub type PKCS12 = pkcs12_st;
3329#[repr(C)]
3330#[derive(Debug, Copy, Clone)]
3331pub struct pkcs8_priv_key_info_st {
3332    _unused: [u8; 0],
3333}
3334pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3335pub type X509_PKEY = private_key_st;
3336pub type RAND_METHOD = rand_meth_st;
3337pub type RC4_KEY = rc4_key_st;
3338#[repr(C)]
3339#[derive(Debug, Copy, Clone)]
3340pub struct rsa_meth_st {
3341    _unused: [u8; 0],
3342}
3343pub type RSA_METHOD = rsa_meth_st;
3344#[repr(C)]
3345#[derive(Debug, Copy, Clone)]
3346pub struct rsassa_pss_params_st {
3347    _unused: [u8; 0],
3348}
3349pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3350pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3351#[repr(C)]
3352#[derive(Debug, Copy, Clone)]
3353pub struct rsa_st {
3354    _unused: [u8; 0],
3355}
3356pub type RSA = rsa_st;
3357pub type SHA256_CTX = sha256_state_st;
3358pub type SHA512_CTX = sha512_state_st;
3359pub type SHA_CTX = sha_state_st;
3360#[repr(C)]
3361#[derive(Debug, Copy, Clone)]
3362pub struct spake2_ctx_st {
3363    _unused: [u8; 0],
3364}
3365pub type SPAKE2_CTX = spake2_ctx_st;
3366#[repr(C)]
3367#[derive(Debug, Copy, Clone)]
3368pub struct srtp_protection_profile_st {
3369    _unused: [u8; 0],
3370}
3371pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3372#[repr(C)]
3373#[derive(Debug, Copy, Clone)]
3374pub struct ssl_cipher_st {
3375    _unused: [u8; 0],
3376}
3377pub type SSL_CIPHER = ssl_cipher_st;
3378#[repr(C)]
3379#[derive(Debug, Copy, Clone)]
3380pub struct ssl_ctx_st {
3381    _unused: [u8; 0],
3382}
3383pub type SSL_CTX = ssl_ctx_st;
3384#[repr(C)]
3385#[derive(Debug, Copy, Clone)]
3386pub struct ssl_early_callback_ctx {
3387    _unused: [u8; 0],
3388}
3389pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3390#[repr(C)]
3391#[derive(Debug, Copy, Clone)]
3392pub struct ssl_ech_keys_st {
3393    _unused: [u8; 0],
3394}
3395pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3396#[repr(C)]
3397#[derive(Debug, Copy, Clone)]
3398pub struct ssl_method_st {
3399    _unused: [u8; 0],
3400}
3401pub type SSL_METHOD = ssl_method_st;
3402#[repr(C)]
3403#[derive(Debug, Copy, Clone)]
3404pub struct ssl_private_key_method_st {
3405    _unused: [u8; 0],
3406}
3407pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3408#[repr(C)]
3409#[derive(Debug, Copy, Clone)]
3410pub struct ssl_quic_method_st {
3411    _unused: [u8; 0],
3412}
3413pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3414#[repr(C)]
3415#[derive(Debug, Copy, Clone)]
3416pub struct ssl_session_st {
3417    _unused: [u8; 0],
3418}
3419pub type SSL_SESSION = ssl_session_st;
3420#[repr(C)]
3421#[derive(Debug, Copy, Clone)]
3422pub struct ssl_st {
3423    _unused: [u8; 0],
3424}
3425pub type SSL = ssl_st;
3426#[repr(C)]
3427#[derive(Debug, Copy, Clone)]
3428pub struct ssl_ticket_aead_method_st {
3429    _unused: [u8; 0],
3430}
3431pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3432#[repr(C)]
3433#[derive(Debug, Copy, Clone)]
3434pub struct st_ERR_FNS {
3435    _unused: [u8; 0],
3436}
3437pub type ERR_FNS = st_ERR_FNS;
3438pub type TRUST_TOKEN = trust_token_st;
3439#[repr(C)]
3440#[derive(Debug, Copy, Clone)]
3441pub struct trust_token_client_st {
3442    _unused: [u8; 0],
3443}
3444pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3445#[repr(C)]
3446#[derive(Debug, Copy, Clone)]
3447pub struct trust_token_issuer_st {
3448    _unused: [u8; 0],
3449}
3450pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3451#[repr(C)]
3452#[derive(Debug, Copy, Clone)]
3453pub struct trust_token_method_st {
3454    _unused: [u8; 0],
3455}
3456pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3457pub type X509V3_CTX = v3_ext_ctx;
3458pub type X509V3_EXT_METHOD = v3_ext_method;
3459#[repr(C)]
3460#[derive(Debug, Copy, Clone)]
3461pub struct x509_attributes_st {
3462    _unused: [u8; 0],
3463}
3464pub type X509_ATTRIBUTE = x509_attributes_st;
3465#[repr(C)]
3466#[derive(Debug, Copy, Clone)]
3467pub struct x509_lookup_st {
3468    _unused: [u8; 0],
3469}
3470pub type X509_LOOKUP = x509_lookup_st;
3471#[repr(C)]
3472#[derive(Debug, Copy, Clone)]
3473pub struct x509_lookup_method_st {
3474    _unused: [u8; 0],
3475}
3476pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3477#[repr(C)]
3478#[derive(Debug, Copy, Clone)]
3479pub struct x509_object_st {
3480    _unused: [u8; 0],
3481}
3482pub type X509_OBJECT = x509_object_st;
3483#[repr(C)]
3484#[derive(Debug, Copy, Clone)]
3485pub struct x509_revoked_st {
3486    _unused: [u8; 0],
3487}
3488pub type X509_REVOKED = x509_revoked_st;
3489#[repr(C)]
3490#[derive(Debug, Copy, Clone)]
3491pub struct x509_st {
3492    _unused: [u8; 0],
3493}
3494pub type X509 = x509_st;
3495#[repr(C)]
3496#[derive(Debug, Copy, Clone)]
3497pub struct x509_store_ctx_st {
3498    _unused: [u8; 0],
3499}
3500pub type X509_STORE_CTX = x509_store_ctx_st;
3501#[repr(C)]
3502#[derive(Debug, Copy, Clone)]
3503pub struct x509_store_st {
3504    _unused: [u8; 0],
3505}
3506pub type X509_STORE = x509_store_st;
3507pub type X509_TRUST = x509_trust_st;
3508pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3509#[repr(C)]
3510#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3511pub struct aes_key_st {
3512    pub rd_key: [u32; 60usize],
3513    pub rounds: ::std::os::raw::c_uint,
3514}
3515#[test]
3516fn bindgen_test_layout_aes_key_st() {
3517    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3518    let ptr = UNINIT.as_ptr();
3519    assert_eq!(
3520        ::std::mem::size_of::<aes_key_st>(),
3521        244usize,
3522        "Size of aes_key_st"
3523    );
3524    assert_eq!(
3525        ::std::mem::align_of::<aes_key_st>(),
3526        4usize,
3527        "Alignment of aes_key_st"
3528    );
3529    assert_eq!(
3530        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3531        0usize,
3532        "Offset of field: aes_key_st::rd_key"
3533    );
3534    assert_eq!(
3535        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3536        240usize,
3537        "Offset of field: aes_key_st::rounds"
3538    );
3539}
3540impl Default for aes_key_st {
3541    fn default() -> Self {
3542        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3543        unsafe {
3544            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3545            s.assume_init()
3546        }
3547    }
3548}
3549pub type AES_KEY = aes_key_st;
3550extern "C" {
3551    #[link_name = "\u{1}aws_lc_0_35_0_AES_set_encrypt_key"]
3552    pub fn AES_set_encrypt_key(
3553        key: *const u8,
3554        bits: ::std::os::raw::c_uint,
3555        aeskey: *mut AES_KEY,
3556    ) -> ::std::os::raw::c_int;
3557}
3558extern "C" {
3559    #[link_name = "\u{1}aws_lc_0_35_0_AES_set_decrypt_key"]
3560    pub fn AES_set_decrypt_key(
3561        key: *const u8,
3562        bits: ::std::os::raw::c_uint,
3563        aeskey: *mut AES_KEY,
3564    ) -> ::std::os::raw::c_int;
3565}
3566extern "C" {
3567    #[link_name = "\u{1}aws_lc_0_35_0_AES_encrypt"]
3568    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3569}
3570extern "C" {
3571    #[link_name = "\u{1}aws_lc_0_35_0_AES_decrypt"]
3572    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3573}
3574extern "C" {
3575    #[link_name = "\u{1}aws_lc_0_35_0_AES_ctr128_encrypt"]
3576    pub fn AES_ctr128_encrypt(
3577        in_: *const u8,
3578        out: *mut u8,
3579        len: usize,
3580        key: *const AES_KEY,
3581        ivec: *mut u8,
3582        ecount_buf: *mut u8,
3583        num: *mut ::std::os::raw::c_uint,
3584    );
3585}
3586extern "C" {
3587    #[link_name = "\u{1}aws_lc_0_35_0_AES_ecb_encrypt"]
3588    pub fn AES_ecb_encrypt(
3589        in_: *const u8,
3590        out: *mut u8,
3591        key: *const AES_KEY,
3592        enc: ::std::os::raw::c_int,
3593    );
3594}
3595extern "C" {
3596    #[link_name = "\u{1}aws_lc_0_35_0_AES_cbc_encrypt"]
3597    pub fn AES_cbc_encrypt(
3598        in_: *const u8,
3599        out: *mut u8,
3600        len: usize,
3601        key: *const AES_KEY,
3602        ivec: *mut u8,
3603        enc: ::std::os::raw::c_int,
3604    );
3605}
3606extern "C" {
3607    #[link_name = "\u{1}aws_lc_0_35_0_AES_ofb128_encrypt"]
3608    pub fn AES_ofb128_encrypt(
3609        in_: *const u8,
3610        out: *mut u8,
3611        len: usize,
3612        key: *const AES_KEY,
3613        ivec: *mut u8,
3614        num: *mut ::std::os::raw::c_int,
3615    );
3616}
3617extern "C" {
3618    #[link_name = "\u{1}aws_lc_0_35_0_AES_cfb1_encrypt"]
3619    pub fn AES_cfb1_encrypt(
3620        in_: *const u8,
3621        out: *mut u8,
3622        bits: usize,
3623        key: *const AES_KEY,
3624        ivec: *mut u8,
3625        num: *mut ::std::os::raw::c_int,
3626        enc: ::std::os::raw::c_int,
3627    );
3628}
3629extern "C" {
3630    #[link_name = "\u{1}aws_lc_0_35_0_AES_cfb8_encrypt"]
3631    pub fn AES_cfb8_encrypt(
3632        in_: *const u8,
3633        out: *mut u8,
3634        len: usize,
3635        key: *const AES_KEY,
3636        ivec: *mut u8,
3637        num: *mut ::std::os::raw::c_int,
3638        enc: ::std::os::raw::c_int,
3639    );
3640}
3641extern "C" {
3642    #[link_name = "\u{1}aws_lc_0_35_0_AES_cfb128_encrypt"]
3643    pub fn AES_cfb128_encrypt(
3644        in_: *const u8,
3645        out: *mut u8,
3646        len: usize,
3647        key: *const AES_KEY,
3648        ivec: *mut u8,
3649        num: *mut ::std::os::raw::c_int,
3650        enc: ::std::os::raw::c_int,
3651    );
3652}
3653extern "C" {
3654    #[link_name = "\u{1}aws_lc_0_35_0_AES_wrap_key"]
3655    pub fn AES_wrap_key(
3656        key: *const AES_KEY,
3657        iv: *const u8,
3658        out: *mut u8,
3659        in_: *const u8,
3660        in_len: usize,
3661    ) -> ::std::os::raw::c_int;
3662}
3663extern "C" {
3664    #[link_name = "\u{1}aws_lc_0_35_0_AES_unwrap_key"]
3665    pub fn AES_unwrap_key(
3666        key: *const AES_KEY,
3667        iv: *const u8,
3668        out: *mut u8,
3669        in_: *const u8,
3670        in_len: usize,
3671    ) -> ::std::os::raw::c_int;
3672}
3673extern "C" {
3674    #[link_name = "\u{1}aws_lc_0_35_0_AES_wrap_key_padded"]
3675    pub fn AES_wrap_key_padded(
3676        key: *const AES_KEY,
3677        out: *mut u8,
3678        out_len: *mut usize,
3679        max_out: usize,
3680        in_: *const u8,
3681        in_len: usize,
3682    ) -> ::std::os::raw::c_int;
3683}
3684extern "C" {
3685    #[link_name = "\u{1}aws_lc_0_35_0_AES_unwrap_key_padded"]
3686    pub fn AES_unwrap_key_padded(
3687        key: *const AES_KEY,
3688        out: *mut u8,
3689        out_len: *mut usize,
3690        max_out: usize,
3691        in_: *const u8,
3692        in_len: usize,
3693    ) -> ::std::os::raw::c_int;
3694}
3695pub type __gnuc_va_list = __builtin_va_list;
3696#[repr(C)]
3697#[derive(Debug, Copy, Clone)]
3698pub struct _IO_marker {
3699    _unused: [u8; 0],
3700}
3701#[repr(C)]
3702#[derive(Debug, Copy, Clone)]
3703pub struct _IO_codecvt {
3704    _unused: [u8; 0],
3705}
3706#[repr(C)]
3707#[derive(Debug, Copy, Clone)]
3708pub struct _IO_wide_data {
3709    _unused: [u8; 0],
3710}
3711pub type _IO_lock_t = ::std::os::raw::c_void;
3712#[repr(C)]
3713#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3714pub struct _IO_FILE {
3715    pub _flags: ::std::os::raw::c_int,
3716    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3717    pub _IO_read_end: *mut ::std::os::raw::c_char,
3718    pub _IO_read_base: *mut ::std::os::raw::c_char,
3719    pub _IO_write_base: *mut ::std::os::raw::c_char,
3720    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3721    pub _IO_write_end: *mut ::std::os::raw::c_char,
3722    pub _IO_buf_base: *mut ::std::os::raw::c_char,
3723    pub _IO_buf_end: *mut ::std::os::raw::c_char,
3724    pub _IO_save_base: *mut ::std::os::raw::c_char,
3725    pub _IO_backup_base: *mut ::std::os::raw::c_char,
3726    pub _IO_save_end: *mut ::std::os::raw::c_char,
3727    pub _markers: *mut _IO_marker,
3728    pub _chain: *mut _IO_FILE,
3729    pub _fileno: ::std::os::raw::c_int,
3730    pub _flags2: ::std::os::raw::c_int,
3731    pub _old_offset: __off_t,
3732    pub _cur_column: ::std::os::raw::c_ushort,
3733    pub _vtable_offset: ::std::os::raw::c_schar,
3734    pub _shortbuf: [::std::os::raw::c_char; 1usize],
3735    pub _lock: *mut _IO_lock_t,
3736    pub _offset: __off64_t,
3737    pub _codecvt: *mut _IO_codecvt,
3738    pub _wide_data: *mut _IO_wide_data,
3739    pub _freeres_list: *mut _IO_FILE,
3740    pub _freeres_buf: *mut ::std::os::raw::c_void,
3741    pub __pad5: usize,
3742    pub _mode: ::std::os::raw::c_int,
3743    pub _unused2: [::std::os::raw::c_char; 20usize],
3744}
3745#[test]
3746fn bindgen_test_layout__IO_FILE() {
3747    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
3748    let ptr = UNINIT.as_ptr();
3749    assert_eq!(
3750        ::std::mem::size_of::<_IO_FILE>(),
3751        216usize,
3752        "Size of _IO_FILE"
3753    );
3754    assert_eq!(
3755        ::std::mem::align_of::<_IO_FILE>(),
3756        8usize,
3757        "Alignment of _IO_FILE"
3758    );
3759    assert_eq!(
3760        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
3761        0usize,
3762        "Offset of field: _IO_FILE::_flags"
3763    );
3764    assert_eq!(
3765        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
3766        8usize,
3767        "Offset of field: _IO_FILE::_IO_read_ptr"
3768    );
3769    assert_eq!(
3770        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
3771        16usize,
3772        "Offset of field: _IO_FILE::_IO_read_end"
3773    );
3774    assert_eq!(
3775        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
3776        24usize,
3777        "Offset of field: _IO_FILE::_IO_read_base"
3778    );
3779    assert_eq!(
3780        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
3781        32usize,
3782        "Offset of field: _IO_FILE::_IO_write_base"
3783    );
3784    assert_eq!(
3785        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
3786        40usize,
3787        "Offset of field: _IO_FILE::_IO_write_ptr"
3788    );
3789    assert_eq!(
3790        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
3791        48usize,
3792        "Offset of field: _IO_FILE::_IO_write_end"
3793    );
3794    assert_eq!(
3795        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
3796        56usize,
3797        "Offset of field: _IO_FILE::_IO_buf_base"
3798    );
3799    assert_eq!(
3800        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
3801        64usize,
3802        "Offset of field: _IO_FILE::_IO_buf_end"
3803    );
3804    assert_eq!(
3805        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
3806        72usize,
3807        "Offset of field: _IO_FILE::_IO_save_base"
3808    );
3809    assert_eq!(
3810        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
3811        80usize,
3812        "Offset of field: _IO_FILE::_IO_backup_base"
3813    );
3814    assert_eq!(
3815        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
3816        88usize,
3817        "Offset of field: _IO_FILE::_IO_save_end"
3818    );
3819    assert_eq!(
3820        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
3821        96usize,
3822        "Offset of field: _IO_FILE::_markers"
3823    );
3824    assert_eq!(
3825        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
3826        104usize,
3827        "Offset of field: _IO_FILE::_chain"
3828    );
3829    assert_eq!(
3830        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
3831        112usize,
3832        "Offset of field: _IO_FILE::_fileno"
3833    );
3834    assert_eq!(
3835        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
3836        116usize,
3837        "Offset of field: _IO_FILE::_flags2"
3838    );
3839    assert_eq!(
3840        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
3841        120usize,
3842        "Offset of field: _IO_FILE::_old_offset"
3843    );
3844    assert_eq!(
3845        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
3846        128usize,
3847        "Offset of field: _IO_FILE::_cur_column"
3848    );
3849    assert_eq!(
3850        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
3851        130usize,
3852        "Offset of field: _IO_FILE::_vtable_offset"
3853    );
3854    assert_eq!(
3855        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
3856        131usize,
3857        "Offset of field: _IO_FILE::_shortbuf"
3858    );
3859    assert_eq!(
3860        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
3861        136usize,
3862        "Offset of field: _IO_FILE::_lock"
3863    );
3864    assert_eq!(
3865        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
3866        144usize,
3867        "Offset of field: _IO_FILE::_offset"
3868    );
3869    assert_eq!(
3870        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
3871        152usize,
3872        "Offset of field: _IO_FILE::_codecvt"
3873    );
3874    assert_eq!(
3875        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
3876        160usize,
3877        "Offset of field: _IO_FILE::_wide_data"
3878    );
3879    assert_eq!(
3880        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
3881        168usize,
3882        "Offset of field: _IO_FILE::_freeres_list"
3883    );
3884    assert_eq!(
3885        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
3886        176usize,
3887        "Offset of field: _IO_FILE::_freeres_buf"
3888    );
3889    assert_eq!(
3890        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
3891        184usize,
3892        "Offset of field: _IO_FILE::__pad5"
3893    );
3894    assert_eq!(
3895        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
3896        192usize,
3897        "Offset of field: _IO_FILE::_mode"
3898    );
3899    assert_eq!(
3900        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
3901        196usize,
3902        "Offset of field: _IO_FILE::_unused2"
3903    );
3904}
3905impl Default for _IO_FILE {
3906    fn default() -> Self {
3907        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3908        unsafe {
3909            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3910            s.assume_init()
3911        }
3912    }
3913}
3914pub type va_list = __gnuc_va_list;
3915#[repr(C)]
3916#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3917pub struct buf_mem_st {
3918    pub length: usize,
3919    pub data: *mut ::std::os::raw::c_char,
3920    pub max: usize,
3921}
3922#[test]
3923fn bindgen_test_layout_buf_mem_st() {
3924    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
3925    let ptr = UNINIT.as_ptr();
3926    assert_eq!(
3927        ::std::mem::size_of::<buf_mem_st>(),
3928        24usize,
3929        "Size of buf_mem_st"
3930    );
3931    assert_eq!(
3932        ::std::mem::align_of::<buf_mem_st>(),
3933        8usize,
3934        "Alignment of buf_mem_st"
3935    );
3936    assert_eq!(
3937        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
3938        0usize,
3939        "Offset of field: buf_mem_st::length"
3940    );
3941    assert_eq!(
3942        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3943        8usize,
3944        "Offset of field: buf_mem_st::data"
3945    );
3946    assert_eq!(
3947        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
3948        16usize,
3949        "Offset of field: buf_mem_st::max"
3950    );
3951}
3952impl Default for buf_mem_st {
3953    fn default() -> Self {
3954        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3955        unsafe {
3956            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3957            s.assume_init()
3958        }
3959    }
3960}
3961extern "C" {
3962    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Init"]
3963    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
3964}
3965extern "C" {
3966    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Update"]
3967    pub fn SHA1_Update(
3968        sha: *mut SHA_CTX,
3969        data: *const ::std::os::raw::c_void,
3970        len: usize,
3971    ) -> ::std::os::raw::c_int;
3972}
3973extern "C" {
3974    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Final"]
3975    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
3976}
3977extern "C" {
3978    #[link_name = "\u{1}aws_lc_0_35_0_SHA1"]
3979    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
3980}
3981extern "C" {
3982    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Transform"]
3983    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
3984}
3985#[repr(C)]
3986#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3987pub struct sha_state_st {
3988    pub h: [u32; 5usize],
3989    pub Nl: u32,
3990    pub Nh: u32,
3991    pub data: [u8; 64usize],
3992    pub num: ::std::os::raw::c_uint,
3993}
3994#[test]
3995fn bindgen_test_layout_sha_state_st() {
3996    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
3997    let ptr = UNINIT.as_ptr();
3998    assert_eq!(
3999        ::std::mem::size_of::<sha_state_st>(),
4000        96usize,
4001        "Size of sha_state_st"
4002    );
4003    assert_eq!(
4004        ::std::mem::align_of::<sha_state_st>(),
4005        4usize,
4006        "Alignment of sha_state_st"
4007    );
4008    assert_eq!(
4009        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4010        0usize,
4011        "Offset of field: sha_state_st::h"
4012    );
4013    assert_eq!(
4014        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4015        20usize,
4016        "Offset of field: sha_state_st::Nl"
4017    );
4018    assert_eq!(
4019        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4020        24usize,
4021        "Offset of field: sha_state_st::Nh"
4022    );
4023    assert_eq!(
4024        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4025        28usize,
4026        "Offset of field: sha_state_st::data"
4027    );
4028    assert_eq!(
4029        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4030        92usize,
4031        "Offset of field: sha_state_st::num"
4032    );
4033}
4034impl Default for sha_state_st {
4035    fn default() -> Self {
4036        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4037        unsafe {
4038            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4039            s.assume_init()
4040        }
4041    }
4042}
4043extern "C" {
4044    #[link_name = "\u{1}aws_lc_0_35_0_SHA224_Init"]
4045    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4046}
4047extern "C" {
4048    #[link_name = "\u{1}aws_lc_0_35_0_SHA224_Update"]
4049    pub fn SHA224_Update(
4050        sha: *mut SHA256_CTX,
4051        data: *const ::std::os::raw::c_void,
4052        len: usize,
4053    ) -> ::std::os::raw::c_int;
4054}
4055extern "C" {
4056    #[link_name = "\u{1}aws_lc_0_35_0_SHA224_Final"]
4057    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4058}
4059extern "C" {
4060    #[link_name = "\u{1}aws_lc_0_35_0_SHA224"]
4061    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4062}
4063extern "C" {
4064    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Init"]
4065    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4066}
4067extern "C" {
4068    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Update"]
4069    pub fn SHA256_Update(
4070        sha: *mut SHA256_CTX,
4071        data: *const ::std::os::raw::c_void,
4072        len: usize,
4073    ) -> ::std::os::raw::c_int;
4074}
4075extern "C" {
4076    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Final"]
4077    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4078}
4079extern "C" {
4080    #[link_name = "\u{1}aws_lc_0_35_0_SHA256"]
4081    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4082}
4083extern "C" {
4084    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Transform"]
4085    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4086}
4087extern "C" {
4088    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_TransformBlocks"]
4089    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4090}
4091#[repr(C)]
4092#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4093pub struct sha256_state_st {
4094    pub h: [u32; 8usize],
4095    pub Nl: u32,
4096    pub Nh: u32,
4097    pub data: [u8; 64usize],
4098    pub num: ::std::os::raw::c_uint,
4099    pub md_len: ::std::os::raw::c_uint,
4100}
4101#[test]
4102fn bindgen_test_layout_sha256_state_st() {
4103    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4104    let ptr = UNINIT.as_ptr();
4105    assert_eq!(
4106        ::std::mem::size_of::<sha256_state_st>(),
4107        112usize,
4108        "Size of sha256_state_st"
4109    );
4110    assert_eq!(
4111        ::std::mem::align_of::<sha256_state_st>(),
4112        4usize,
4113        "Alignment of sha256_state_st"
4114    );
4115    assert_eq!(
4116        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4117        0usize,
4118        "Offset of field: sha256_state_st::h"
4119    );
4120    assert_eq!(
4121        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4122        32usize,
4123        "Offset of field: sha256_state_st::Nl"
4124    );
4125    assert_eq!(
4126        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4127        36usize,
4128        "Offset of field: sha256_state_st::Nh"
4129    );
4130    assert_eq!(
4131        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4132        40usize,
4133        "Offset of field: sha256_state_st::data"
4134    );
4135    assert_eq!(
4136        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4137        104usize,
4138        "Offset of field: sha256_state_st::num"
4139    );
4140    assert_eq!(
4141        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4142        108usize,
4143        "Offset of field: sha256_state_st::md_len"
4144    );
4145}
4146impl Default for sha256_state_st {
4147    fn default() -> Self {
4148        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4149        unsafe {
4150            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4151            s.assume_init()
4152        }
4153    }
4154}
4155extern "C" {
4156    #[link_name = "\u{1}aws_lc_0_35_0_SHA384_Init"]
4157    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4158}
4159extern "C" {
4160    #[link_name = "\u{1}aws_lc_0_35_0_SHA384_Update"]
4161    pub fn SHA384_Update(
4162        sha: *mut SHA512_CTX,
4163        data: *const ::std::os::raw::c_void,
4164        len: usize,
4165    ) -> ::std::os::raw::c_int;
4166}
4167extern "C" {
4168    #[link_name = "\u{1}aws_lc_0_35_0_SHA384_Final"]
4169    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4170}
4171extern "C" {
4172    #[link_name = "\u{1}aws_lc_0_35_0_SHA384"]
4173    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4174}
4175extern "C" {
4176    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Init"]
4177    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4178}
4179extern "C" {
4180    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Update"]
4181    pub fn SHA512_Update(
4182        sha: *mut SHA512_CTX,
4183        data: *const ::std::os::raw::c_void,
4184        len: usize,
4185    ) -> ::std::os::raw::c_int;
4186}
4187extern "C" {
4188    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Final"]
4189    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4190}
4191extern "C" {
4192    #[link_name = "\u{1}aws_lc_0_35_0_SHA512"]
4193    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4194}
4195extern "C" {
4196    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Transform"]
4197    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4198}
4199#[repr(C)]
4200#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4201pub struct sha512_state_st {
4202    pub h: [u64; 8usize],
4203    pub Nl: u64,
4204    pub Nh: u64,
4205    pub p: [u8; 128usize],
4206    pub num: ::std::os::raw::c_uint,
4207    pub md_len: ::std::os::raw::c_uint,
4208}
4209#[test]
4210fn bindgen_test_layout_sha512_state_st() {
4211    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4212    let ptr = UNINIT.as_ptr();
4213    assert_eq!(
4214        ::std::mem::size_of::<sha512_state_st>(),
4215        216usize,
4216        "Size of sha512_state_st"
4217    );
4218    assert_eq!(
4219        ::std::mem::align_of::<sha512_state_st>(),
4220        8usize,
4221        "Alignment of sha512_state_st"
4222    );
4223    assert_eq!(
4224        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4225        0usize,
4226        "Offset of field: sha512_state_st::h"
4227    );
4228    assert_eq!(
4229        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4230        64usize,
4231        "Offset of field: sha512_state_st::Nl"
4232    );
4233    assert_eq!(
4234        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4235        72usize,
4236        "Offset of field: sha512_state_st::Nh"
4237    );
4238    assert_eq!(
4239        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4240        80usize,
4241        "Offset of field: sha512_state_st::p"
4242    );
4243    assert_eq!(
4244        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4245        208usize,
4246        "Offset of field: sha512_state_st::num"
4247    );
4248    assert_eq!(
4249        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4250        212usize,
4251        "Offset of field: sha512_state_st::md_len"
4252    );
4253}
4254impl Default for sha512_state_st {
4255    fn default() -> Self {
4256        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4257        unsafe {
4258            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4259            s.assume_init()
4260        }
4261    }
4262}
4263extern "C" {
4264    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224_Init"]
4265    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4266}
4267extern "C" {
4268    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224_Update"]
4269    pub fn SHA512_224_Update(
4270        sha: *mut SHA512_CTX,
4271        data: *const ::std::os::raw::c_void,
4272        len: usize,
4273    ) -> ::std::os::raw::c_int;
4274}
4275extern "C" {
4276    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224_Final"]
4277    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4278}
4279extern "C" {
4280    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224"]
4281    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4282}
4283extern "C" {
4284    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256_Init"]
4285    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4286}
4287extern "C" {
4288    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256_Update"]
4289    pub fn SHA512_256_Update(
4290        sha: *mut SHA512_CTX,
4291        data: *const ::std::os::raw::c_void,
4292        len: usize,
4293    ) -> ::std::os::raw::c_int;
4294}
4295extern "C" {
4296    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256_Final"]
4297    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4298}
4299extern "C" {
4300    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256"]
4301    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4302}
4303extern "C" {
4304    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_malloc"]
4305    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4306}
4307extern "C" {
4308    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_zalloc"]
4309    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4310}
4311extern "C" {
4312    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_calloc"]
4313    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4314}
4315extern "C" {
4316    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_realloc"]
4317    pub fn OPENSSL_realloc(
4318        ptr: *mut ::std::os::raw::c_void,
4319        new_size: usize,
4320    ) -> *mut ::std::os::raw::c_void;
4321}
4322extern "C" {
4323    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_free"]
4324    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4325}
4326extern "C" {
4327    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_cleanse"]
4328    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4329}
4330extern "C" {
4331    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_memcmp"]
4332    pub fn CRYPTO_memcmp(
4333        a: *const ::std::os::raw::c_void,
4334        b: *const ::std::os::raw::c_void,
4335        len: usize,
4336    ) -> ::std::os::raw::c_int;
4337}
4338extern "C" {
4339    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_hash32"]
4340    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4341}
4342extern "C" {
4343    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strhash"]
4344    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4345}
4346extern "C" {
4347    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strdup"]
4348    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4349}
4350extern "C" {
4351    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strnlen"]
4352    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4353}
4354extern "C" {
4355    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isalpha"]
4356    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4357}
4358extern "C" {
4359    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isdigit"]
4360    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4361}
4362extern "C" {
4363    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isxdigit"]
4364    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4365}
4366extern "C" {
4367    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_fromxdigit"]
4368    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4369}
4370extern "C" {
4371    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_hexstr2buf"]
4372    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4373}
4374extern "C" {
4375    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isalnum"]
4376    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4377}
4378extern "C" {
4379    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_tolower"]
4380    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4381}
4382extern "C" {
4383    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isspace"]
4384    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4385}
4386extern "C" {
4387    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strcasecmp"]
4388    pub fn OPENSSL_strcasecmp(
4389        a: *const ::std::os::raw::c_char,
4390        b: *const ::std::os::raw::c_char,
4391    ) -> ::std::os::raw::c_int;
4392}
4393extern "C" {
4394    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strncasecmp"]
4395    pub fn OPENSSL_strncasecmp(
4396        a: *const ::std::os::raw::c_char,
4397        b: *const ::std::os::raw::c_char,
4398        n: usize,
4399    ) -> ::std::os::raw::c_int;
4400}
4401extern "C" {
4402    #[link_name = "\u{1}aws_lc_0_35_0_BIO_snprintf"]
4403    pub fn BIO_snprintf(
4404        buf: *mut ::std::os::raw::c_char,
4405        n: usize,
4406        format: *const ::std::os::raw::c_char,
4407        ...
4408    ) -> ::std::os::raw::c_int;
4409}
4410extern "C" {
4411    #[link_name = "\u{1}aws_lc_0_35_0_BIO_vsnprintf"]
4412    pub fn BIO_vsnprintf(
4413        buf: *mut ::std::os::raw::c_char,
4414        n: usize,
4415        format: *const ::std::os::raw::c_char,
4416        args: *mut __va_list_tag,
4417    ) -> ::std::os::raw::c_int;
4418}
4419extern "C" {
4420    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_vasprintf"]
4421    pub fn OPENSSL_vasprintf(
4422        str_: *mut *mut ::std::os::raw::c_char,
4423        format: *const ::std::os::raw::c_char,
4424        args: *mut __va_list_tag,
4425    ) -> ::std::os::raw::c_int;
4426}
4427extern "C" {
4428    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_asprintf"]
4429    pub fn OPENSSL_asprintf(
4430        str_: *mut *mut ::std::os::raw::c_char,
4431        format: *const ::std::os::raw::c_char,
4432        ...
4433    ) -> ::std::os::raw::c_int;
4434}
4435extern "C" {
4436    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strndup"]
4437    pub fn OPENSSL_strndup(
4438        str_: *const ::std::os::raw::c_char,
4439        size: usize,
4440    ) -> *mut ::std::os::raw::c_char;
4441}
4442extern "C" {
4443    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_memdup"]
4444    pub fn OPENSSL_memdup(
4445        data: *const ::std::os::raw::c_void,
4446        size: usize,
4447    ) -> *mut ::std::os::raw::c_void;
4448}
4449extern "C" {
4450    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strlcpy"]
4451    pub fn OPENSSL_strlcpy(
4452        dst: *mut ::std::os::raw::c_char,
4453        src: *const ::std::os::raw::c_char,
4454        dst_size: usize,
4455    ) -> usize;
4456}
4457extern "C" {
4458    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strlcat"]
4459    pub fn OPENSSL_strlcat(
4460        dst: *mut ::std::os::raw::c_char,
4461        src: *const ::std::os::raw::c_char,
4462        dst_size: usize,
4463    ) -> usize;
4464}
4465extern "C" {
4466    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_malloc"]
4467    pub fn CRYPTO_malloc(
4468        size: usize,
4469        file: *const ::std::os::raw::c_char,
4470        line: ::std::os::raw::c_int,
4471    ) -> *mut ::std::os::raw::c_void;
4472}
4473extern "C" {
4474    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_realloc"]
4475    pub fn CRYPTO_realloc(
4476        ptr: *mut ::std::os::raw::c_void,
4477        new_size: usize,
4478        file: *const ::std::os::raw::c_char,
4479        line: ::std::os::raw::c_int,
4480    ) -> *mut ::std::os::raw::c_void;
4481}
4482extern "C" {
4483    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_free"]
4484    pub fn CRYPTO_free(
4485        ptr: *mut ::std::os::raw::c_void,
4486        file: *const ::std::os::raw::c_char,
4487        line: ::std::os::raw::c_int,
4488    );
4489}
4490extern "C" {
4491    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_clear_free"]
4492    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4493}
4494extern "C" {
4495    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_mem_functions"]
4496    pub fn CRYPTO_set_mem_functions(
4497        m: ::std::option::Option<
4498            unsafe extern "C" fn(
4499                arg1: usize,
4500                arg2: *const ::std::os::raw::c_char,
4501                arg3: ::std::os::raw::c_int,
4502            ) -> *mut ::std::os::raw::c_void,
4503        >,
4504        r: ::std::option::Option<
4505            unsafe extern "C" fn(
4506                arg1: *mut ::std::os::raw::c_void,
4507                arg2: usize,
4508                arg3: *const ::std::os::raw::c_char,
4509                arg4: ::std::os::raw::c_int,
4510            ) -> *mut ::std::os::raw::c_void,
4511        >,
4512        f: ::std::option::Option<
4513            unsafe extern "C" fn(
4514                arg1: *mut ::std::os::raw::c_void,
4515                arg2: *const ::std::os::raw::c_char,
4516                arg3: ::std::os::raw::c_int,
4517            ),
4518        >,
4519    ) -> ::std::os::raw::c_int;
4520}
4521extern "C" {
4522    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_secure_malloc_init"]
4523    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4524}
4525extern "C" {
4526    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_secure_malloc_initialized"]
4527    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4528}
4529extern "C" {
4530    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_secure_used"]
4531    pub fn CRYPTO_secure_used() -> usize;
4532}
4533extern "C" {
4534    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_secure_malloc"]
4535    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4536}
4537extern "C" {
4538    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_secure_zalloc"]
4539    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4540}
4541extern "C" {
4542    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_secure_clear_free"]
4543    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4544}
4545pub type CRYPTO_refcount_t = u32;
4546extern "C" {
4547    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_library_init"]
4548    pub fn CRYPTO_library_init();
4549}
4550extern "C" {
4551    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_is_confidential_build"]
4552    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4553}
4554extern "C" {
4555    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_has_asm"]
4556    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4557}
4558extern "C" {
4559    #[link_name = "\u{1}aws_lc_0_35_0_BORINGSSL_self_test"]
4560    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4561}
4562extern "C" {
4563    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4564}
4565extern "C" {
4566    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_pre_sandbox_init"]
4567    pub fn CRYPTO_pre_sandbox_init();
4568}
4569extern "C" {
4570    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_mode"]
4571    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4572}
4573extern "C" {
4574    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_is_entropy_cpu_jitter"]
4575    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4576}
4577pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
4578pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
4579pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
4580pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
4581pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
4582pub type fips_counter_t = ::std::os::raw::c_uint;
4583extern "C" {
4584    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_read_counter"]
4585    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
4586}
4587extern "C" {
4588    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_version"]
4589    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4590}
4591extern "C" {
4592    #[link_name = "\u{1}aws_lc_0_35_0_SSLeay_version"]
4593    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4594}
4595extern "C" {
4596    #[link_name = "\u{1}aws_lc_0_35_0_SSLeay"]
4597    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4598}
4599extern "C" {
4600    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_version_num"]
4601    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4602}
4603extern "C" {
4604    #[link_name = "\u{1}aws_lc_0_35_0_awslc_api_version_num"]
4605    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4606}
4607extern "C" {
4608    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_malloc_init"]
4609    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4610}
4611extern "C" {
4612    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_malloc_init"]
4613    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4614}
4615extern "C" {
4616    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_load_builtin_engines"]
4617    pub fn ENGINE_load_builtin_engines();
4618}
4619extern "C" {
4620    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_register_all_ciphers"]
4621    pub fn ENGINE_register_all_ciphers();
4622}
4623extern "C" {
4624    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_register_all_digests"]
4625    pub fn ENGINE_register_all_digests();
4626}
4627extern "C" {
4628    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_register_all_complete"]
4629    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4630}
4631extern "C" {
4632    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_load_builtin_modules"]
4633    pub fn OPENSSL_load_builtin_modules();
4634}
4635extern "C" {
4636    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_init_crypto"]
4637    pub fn OPENSSL_init_crypto(
4638        opts: u64,
4639        settings: *const OPENSSL_INIT_SETTINGS,
4640    ) -> ::std::os::raw::c_int;
4641}
4642extern "C" {
4643    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_init"]
4644    pub fn OPENSSL_init();
4645}
4646extern "C" {
4647    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_cleanup"]
4648    pub fn OPENSSL_cleanup();
4649}
4650extern "C" {
4651    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_mode_set"]
4652    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4653}
4654extern "C" {
4655    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_mem_ctrl"]
4656    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4657}
4658extern "C" {
4659    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_BIO_strings"]
4660    pub fn ERR_load_BIO_strings();
4661}
4662extern "C" {
4663    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_ERR_strings"]
4664    pub fn ERR_load_ERR_strings();
4665}
4666extern "C" {
4667    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_CRYPTO_strings"]
4668    pub fn ERR_load_CRYPTO_strings();
4669}
4670extern "C" {
4671    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_crypto_strings"]
4672    pub fn ERR_load_crypto_strings();
4673}
4674extern "C" {
4675    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_RAND_strings"]
4676    pub fn ERR_load_RAND_strings();
4677}
4678extern "C" {
4679    #[link_name = "\u{1}aws_lc_0_35_0_ERR_free_strings"]
4680    pub fn ERR_free_strings();
4681}
4682extern "C" {
4683    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_error"]
4684    pub fn ERR_get_error() -> u32;
4685}
4686extern "C" {
4687    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_error_line"]
4688    pub fn ERR_get_error_line(
4689        file: *mut *const ::std::os::raw::c_char,
4690        line: *mut ::std::os::raw::c_int,
4691    ) -> u32;
4692}
4693extern "C" {
4694    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_error_line_data"]
4695    pub fn ERR_get_error_line_data(
4696        file: *mut *const ::std::os::raw::c_char,
4697        line: *mut ::std::os::raw::c_int,
4698        data: *mut *const ::std::os::raw::c_char,
4699        flags: *mut ::std::os::raw::c_int,
4700    ) -> u32;
4701}
4702extern "C" {
4703    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_error"]
4704    pub fn ERR_peek_error() -> u32;
4705}
4706extern "C" {
4707    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_error_line"]
4708    pub fn ERR_peek_error_line(
4709        file: *mut *const ::std::os::raw::c_char,
4710        line: *mut ::std::os::raw::c_int,
4711    ) -> u32;
4712}
4713extern "C" {
4714    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_error_line_data"]
4715    pub fn ERR_peek_error_line_data(
4716        file: *mut *const ::std::os::raw::c_char,
4717        line: *mut ::std::os::raw::c_int,
4718        data: *mut *const ::std::os::raw::c_char,
4719        flags: *mut ::std::os::raw::c_int,
4720    ) -> u32;
4721}
4722extern "C" {
4723    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_last_error"]
4724    pub fn ERR_peek_last_error() -> u32;
4725}
4726extern "C" {
4727    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_last_error_line"]
4728    pub fn ERR_peek_last_error_line(
4729        file: *mut *const ::std::os::raw::c_char,
4730        line: *mut ::std::os::raw::c_int,
4731    ) -> u32;
4732}
4733extern "C" {
4734    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_last_error_line_data"]
4735    pub fn ERR_peek_last_error_line_data(
4736        file: *mut *const ::std::os::raw::c_char,
4737        line: *mut ::std::os::raw::c_int,
4738        data: *mut *const ::std::os::raw::c_char,
4739        flags: *mut ::std::os::raw::c_int,
4740    ) -> u32;
4741}
4742extern "C" {
4743    #[link_name = "\u{1}aws_lc_0_35_0_ERR_error_string_n"]
4744    pub fn ERR_error_string_n(
4745        packed_error: u32,
4746        buf: *mut ::std::os::raw::c_char,
4747        len: usize,
4748    ) -> *mut ::std::os::raw::c_char;
4749}
4750extern "C" {
4751    #[link_name = "\u{1}aws_lc_0_35_0_ERR_lib_error_string"]
4752    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4753}
4754extern "C" {
4755    #[link_name = "\u{1}aws_lc_0_35_0_ERR_reason_error_string"]
4756    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4757}
4758pub type ERR_print_errors_callback_t = ::std::option::Option<
4759    unsafe extern "C" fn(
4760        str_: *const ::std::os::raw::c_char,
4761        len: usize,
4762        ctx: *mut ::std::os::raw::c_void,
4763    ) -> ::std::os::raw::c_int,
4764>;
4765extern "C" {
4766    #[link_name = "\u{1}aws_lc_0_35_0_ERR_print_errors_cb"]
4767    pub fn ERR_print_errors_cb(
4768        callback: ERR_print_errors_callback_t,
4769        ctx: *mut ::std::os::raw::c_void,
4770    );
4771}
4772extern "C" {
4773    #[link_name = "\u{1}aws_lc_0_35_0_ERR_clear_error"]
4774    pub fn ERR_clear_error();
4775}
4776extern "C" {
4777    #[link_name = "\u{1}aws_lc_0_35_0_ERR_set_mark"]
4778    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4779}
4780extern "C" {
4781    #[link_name = "\u{1}aws_lc_0_35_0_ERR_pop_to_mark"]
4782    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4783}
4784extern "C" {
4785    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_next_error_library"]
4786    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4787}
4788extern "C" {
4789    #[link_name = "\u{1}aws_lc_0_35_0_ERR_remove_state"]
4790    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4791}
4792extern "C" {
4793    #[link_name = "\u{1}aws_lc_0_35_0_ERR_remove_thread_state"]
4794    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4795}
4796extern "C" {
4797    #[link_name = "\u{1}aws_lc_0_35_0_ERR_func_error_string"]
4798    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4799}
4800extern "C" {
4801    #[link_name = "\u{1}aws_lc_0_35_0_ERR_error_string"]
4802    pub fn ERR_error_string(
4803        packed_error: u32,
4804        buf: *mut ::std::os::raw::c_char,
4805    ) -> *mut ::std::os::raw::c_char;
4806}
4807extern "C" {
4808    #[link_name = "\u{1}aws_lc_0_35_0_ERR_clear_system_error"]
4809    pub fn ERR_clear_system_error();
4810}
4811extern "C" {
4812    #[link_name = "\u{1}aws_lc_0_35_0_ERR_put_error"]
4813    pub fn ERR_put_error(
4814        library: ::std::os::raw::c_int,
4815        unused: ::std::os::raw::c_int,
4816        reason: ::std::os::raw::c_int,
4817        file: *const ::std::os::raw::c_char,
4818        line: ::std::os::raw::c_uint,
4819    );
4820}
4821extern "C" {
4822    #[link_name = "\u{1}aws_lc_0_35_0_ERR_add_error_data"]
4823    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
4824}
4825extern "C" {
4826    #[link_name = "\u{1}aws_lc_0_35_0_ERR_add_error_dataf"]
4827    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
4828}
4829extern "C" {
4830    #[link_name = "\u{1}aws_lc_0_35_0_ERR_set_error_data"]
4831    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
4832}
4833#[repr(C)]
4834#[derive(Debug, Copy, Clone)]
4835pub struct stack_st_void {
4836    _unused: [u8; 0],
4837}
4838pub type CRYPTO_EX_DATA = crypto_ex_data_st;
4839pub type CRYPTO_EX_free = ::std::option::Option<
4840    unsafe extern "C" fn(
4841        parent: *mut ::std::os::raw::c_void,
4842        ptr: *mut ::std::os::raw::c_void,
4843        ad: *mut CRYPTO_EX_DATA,
4844        index: ::std::os::raw::c_int,
4845        argl: ::std::os::raw::c_long,
4846        argp: *mut ::std::os::raw::c_void,
4847    ),
4848>;
4849pub type CRYPTO_EX_dup = ::std::option::Option<
4850    unsafe extern "C" fn(
4851        to: *mut CRYPTO_EX_DATA,
4852        from: *const CRYPTO_EX_DATA,
4853        from_d: *mut *mut ::std::os::raw::c_void,
4854        index: ::std::os::raw::c_int,
4855        argl: ::std::os::raw::c_long,
4856        argp: *mut ::std::os::raw::c_void,
4857    ) -> ::std::os::raw::c_int,
4858>;
4859pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
4860#[repr(C)]
4861#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4862pub struct crypto_ex_data_st {
4863    pub sk: *mut stack_st_void,
4864}
4865#[test]
4866fn bindgen_test_layout_crypto_ex_data_st() {
4867    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
4868    let ptr = UNINIT.as_ptr();
4869    assert_eq!(
4870        ::std::mem::size_of::<crypto_ex_data_st>(),
4871        8usize,
4872        "Size of crypto_ex_data_st"
4873    );
4874    assert_eq!(
4875        ::std::mem::align_of::<crypto_ex_data_st>(),
4876        8usize,
4877        "Alignment of crypto_ex_data_st"
4878    );
4879    assert_eq!(
4880        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
4881        0usize,
4882        "Offset of field: crypto_ex_data_st::sk"
4883    );
4884}
4885impl Default for crypto_ex_data_st {
4886    fn default() -> Self {
4887        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4888        unsafe {
4889            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4890            s.assume_init()
4891        }
4892    }
4893}
4894pub type bio_info_cb = ::std::option::Option<
4895    unsafe extern "C" fn(
4896        b: *mut BIO,
4897        state: ::std::os::raw::c_int,
4898        res: ::std::os::raw::c_int,
4899    ) -> ::std::os::raw::c_long,
4900>;
4901pub type BIO_callback_fn_ex = ::std::option::Option<
4902    unsafe extern "C" fn(
4903        bio: *mut BIO,
4904        oper: ::std::os::raw::c_int,
4905        argp: *const ::std::os::raw::c_char,
4906        len: usize,
4907        argi: ::std::os::raw::c_int,
4908        argl: ::std::os::raw::c_long,
4909        bio_ret: ::std::os::raw::c_int,
4910        processed: *mut usize,
4911    ) -> ::std::os::raw::c_long,
4912>;
4913pub type BIO_callback_fn = ::std::option::Option<
4914    unsafe extern "C" fn(
4915        bio: *mut BIO,
4916        oper: ::std::os::raw::c_int,
4917        argp: *const ::std::os::raw::c_char,
4918        argi: ::std::os::raw::c_int,
4919        argl: ::std::os::raw::c_long,
4920        bio_ret: ::std::os::raw::c_long,
4921    ) -> ::std::os::raw::c_long,
4922>;
4923#[repr(C)]
4924#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4925pub struct bio_method_st {
4926    pub type_: ::std::os::raw::c_int,
4927    pub name: *const ::std::os::raw::c_char,
4928    pub bwrite: ::std::option::Option<
4929        unsafe extern "C" fn(
4930            arg1: *mut BIO,
4931            arg2: *const ::std::os::raw::c_char,
4932            arg3: ::std::os::raw::c_int,
4933        ) -> ::std::os::raw::c_int,
4934    >,
4935    pub bread: ::std::option::Option<
4936        unsafe extern "C" fn(
4937            arg1: *mut BIO,
4938            arg2: *mut ::std::os::raw::c_char,
4939            arg3: ::std::os::raw::c_int,
4940        ) -> ::std::os::raw::c_int,
4941    >,
4942    pub bputs: ::std::option::Option<
4943        unsafe extern "C" fn(
4944            arg1: *mut BIO,
4945            arg2: *const ::std::os::raw::c_char,
4946        ) -> ::std::os::raw::c_int,
4947    >,
4948    pub bgets: ::std::option::Option<
4949        unsafe extern "C" fn(
4950            arg1: *mut BIO,
4951            arg2: *mut ::std::os::raw::c_char,
4952            arg3: ::std::os::raw::c_int,
4953        ) -> ::std::os::raw::c_int,
4954    >,
4955    pub ctrl: ::std::option::Option<
4956        unsafe extern "C" fn(
4957            arg1: *mut BIO,
4958            arg2: ::std::os::raw::c_int,
4959            arg3: ::std::os::raw::c_long,
4960            arg4: *mut ::std::os::raw::c_void,
4961        ) -> ::std::os::raw::c_long,
4962    >,
4963    pub create:
4964        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
4965    pub destroy:
4966        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
4967    pub callback_ctrl: ::std::option::Option<
4968        unsafe extern "C" fn(
4969            arg1: *mut BIO,
4970            arg2: ::std::os::raw::c_int,
4971            arg3: bio_info_cb,
4972        ) -> ::std::os::raw::c_long,
4973    >,
4974}
4975#[test]
4976fn bindgen_test_layout_bio_method_st() {
4977    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
4978    let ptr = UNINIT.as_ptr();
4979    assert_eq!(
4980        ::std::mem::size_of::<bio_method_st>(),
4981        80usize,
4982        "Size of bio_method_st"
4983    );
4984    assert_eq!(
4985        ::std::mem::align_of::<bio_method_st>(),
4986        8usize,
4987        "Alignment of bio_method_st"
4988    );
4989    assert_eq!(
4990        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4991        0usize,
4992        "Offset of field: bio_method_st::type_"
4993    );
4994    assert_eq!(
4995        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4996        8usize,
4997        "Offset of field: bio_method_st::name"
4998    );
4999    assert_eq!(
5000        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5001        16usize,
5002        "Offset of field: bio_method_st::bwrite"
5003    );
5004    assert_eq!(
5005        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5006        24usize,
5007        "Offset of field: bio_method_st::bread"
5008    );
5009    assert_eq!(
5010        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5011        32usize,
5012        "Offset of field: bio_method_st::bputs"
5013    );
5014    assert_eq!(
5015        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5016        40usize,
5017        "Offset of field: bio_method_st::bgets"
5018    );
5019    assert_eq!(
5020        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5021        48usize,
5022        "Offset of field: bio_method_st::ctrl"
5023    );
5024    assert_eq!(
5025        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5026        56usize,
5027        "Offset of field: bio_method_st::create"
5028    );
5029    assert_eq!(
5030        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5031        64usize,
5032        "Offset of field: bio_method_st::destroy"
5033    );
5034    assert_eq!(
5035        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5036        72usize,
5037        "Offset of field: bio_method_st::callback_ctrl"
5038    );
5039}
5040impl Default for bio_method_st {
5041    fn default() -> Self {
5042        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5043        unsafe {
5044            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5045            s.assume_init()
5046        }
5047    }
5048}
5049#[repr(C)]
5050#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5051pub struct bio_st {
5052    pub method: *const BIO_METHOD,
5053    pub ex_data: CRYPTO_EX_DATA,
5054    pub callback_ex: BIO_callback_fn_ex,
5055    pub callback: BIO_callback_fn,
5056    pub cb_arg: *mut ::std::os::raw::c_char,
5057    pub init: ::std::os::raw::c_int,
5058    pub shutdown: ::std::os::raw::c_int,
5059    pub flags: ::std::os::raw::c_int,
5060    pub retry_reason: ::std::os::raw::c_int,
5061    pub num: ::std::os::raw::c_int,
5062    pub references: CRYPTO_refcount_t,
5063    pub ptr: *mut ::std::os::raw::c_void,
5064    pub next_bio: *mut BIO,
5065    pub num_read: u64,
5066    pub num_write: u64,
5067}
5068#[test]
5069fn bindgen_test_layout_bio_st() {
5070    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5071    let ptr = UNINIT.as_ptr();
5072    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5073    assert_eq!(
5074        ::std::mem::align_of::<bio_st>(),
5075        8usize,
5076        "Alignment of bio_st"
5077    );
5078    assert_eq!(
5079        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5080        0usize,
5081        "Offset of field: bio_st::method"
5082    );
5083    assert_eq!(
5084        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5085        8usize,
5086        "Offset of field: bio_st::ex_data"
5087    );
5088    assert_eq!(
5089        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5090        16usize,
5091        "Offset of field: bio_st::callback_ex"
5092    );
5093    assert_eq!(
5094        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5095        24usize,
5096        "Offset of field: bio_st::callback"
5097    );
5098    assert_eq!(
5099        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5100        32usize,
5101        "Offset of field: bio_st::cb_arg"
5102    );
5103    assert_eq!(
5104        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5105        40usize,
5106        "Offset of field: bio_st::init"
5107    );
5108    assert_eq!(
5109        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5110        44usize,
5111        "Offset of field: bio_st::shutdown"
5112    );
5113    assert_eq!(
5114        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5115        48usize,
5116        "Offset of field: bio_st::flags"
5117    );
5118    assert_eq!(
5119        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5120        52usize,
5121        "Offset of field: bio_st::retry_reason"
5122    );
5123    assert_eq!(
5124        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5125        56usize,
5126        "Offset of field: bio_st::num"
5127    );
5128    assert_eq!(
5129        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5130        60usize,
5131        "Offset of field: bio_st::references"
5132    );
5133    assert_eq!(
5134        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5135        64usize,
5136        "Offset of field: bio_st::ptr"
5137    );
5138    assert_eq!(
5139        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5140        72usize,
5141        "Offset of field: bio_st::next_bio"
5142    );
5143    assert_eq!(
5144        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5145        80usize,
5146        "Offset of field: bio_st::num_read"
5147    );
5148    assert_eq!(
5149        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5150        88usize,
5151        "Offset of field: bio_st::num_write"
5152    );
5153}
5154impl Default for bio_st {
5155    fn default() -> Self {
5156        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5157        unsafe {
5158            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5159            s.assume_init()
5160        }
5161    }
5162}
5163pub type BN_ULONG = u64;
5164extern "C" {
5165    #[link_name = "\u{1}aws_lc_0_35_0_BN_new"]
5166    pub fn BN_new() -> *mut BIGNUM;
5167}
5168extern "C" {
5169    #[link_name = "\u{1}aws_lc_0_35_0_BN_init"]
5170    pub fn BN_init(bn: *mut BIGNUM);
5171}
5172extern "C" {
5173    #[link_name = "\u{1}aws_lc_0_35_0_BN_free"]
5174    pub fn BN_free(bn: *mut BIGNUM);
5175}
5176extern "C" {
5177    #[link_name = "\u{1}aws_lc_0_35_0_BN_clear_free"]
5178    pub fn BN_clear_free(bn: *mut BIGNUM);
5179}
5180extern "C" {
5181    #[link_name = "\u{1}aws_lc_0_35_0_BN_dup"]
5182    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5183}
5184extern "C" {
5185    #[link_name = "\u{1}aws_lc_0_35_0_BN_copy"]
5186    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5187}
5188extern "C" {
5189    #[link_name = "\u{1}aws_lc_0_35_0_BN_clear"]
5190    pub fn BN_clear(bn: *mut BIGNUM);
5191}
5192extern "C" {
5193    #[link_name = "\u{1}aws_lc_0_35_0_BN_value_one"]
5194    pub fn BN_value_one() -> *const BIGNUM;
5195}
5196extern "C" {
5197    #[link_name = "\u{1}aws_lc_0_35_0_BN_num_bits"]
5198    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5199}
5200extern "C" {
5201    #[link_name = "\u{1}aws_lc_0_35_0_BN_num_bytes"]
5202    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5203}
5204extern "C" {
5205    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_minimal_width"]
5206    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5207}
5208extern "C" {
5209    #[link_name = "\u{1}aws_lc_0_35_0_BN_zero"]
5210    pub fn BN_zero(bn: *mut BIGNUM);
5211}
5212extern "C" {
5213    #[link_name = "\u{1}aws_lc_0_35_0_BN_one"]
5214    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5215}
5216extern "C" {
5217    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_word"]
5218    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5219}
5220extern "C" {
5221    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_u64"]
5222    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5223}
5224extern "C" {
5225    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_negative"]
5226    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5227}
5228extern "C" {
5229    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_negative"]
5230    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5231}
5232extern "C" {
5233    #[link_name = "\u{1}aws_lc_0_35_0_BN_bin2bn"]
5234    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5235}
5236extern "C" {
5237    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2bin"]
5238    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5239}
5240extern "C" {
5241    #[link_name = "\u{1}aws_lc_0_35_0_BN_le2bn"]
5242    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5243}
5244extern "C" {
5245    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2le_padded"]
5246    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5247}
5248extern "C" {
5249    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2bin_padded"]
5250    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5251}
5252extern "C" {
5253    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2cbb_padded"]
5254    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5255        -> ::std::os::raw::c_int;
5256}
5257extern "C" {
5258    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2hex"]
5259    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5260}
5261extern "C" {
5262    #[link_name = "\u{1}aws_lc_0_35_0_BN_hex2bn"]
5263    pub fn BN_hex2bn(
5264        outp: *mut *mut BIGNUM,
5265        in_: *const ::std::os::raw::c_char,
5266    ) -> ::std::os::raw::c_int;
5267}
5268extern "C" {
5269    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2dec"]
5270    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5271}
5272extern "C" {
5273    #[link_name = "\u{1}aws_lc_0_35_0_BN_dec2bn"]
5274    pub fn BN_dec2bn(
5275        outp: *mut *mut BIGNUM,
5276        in_: *const ::std::os::raw::c_char,
5277    ) -> ::std::os::raw::c_int;
5278}
5279extern "C" {
5280    #[link_name = "\u{1}aws_lc_0_35_0_BN_asc2bn"]
5281    pub fn BN_asc2bn(
5282        outp: *mut *mut BIGNUM,
5283        in_: *const ::std::os::raw::c_char,
5284    ) -> ::std::os::raw::c_int;
5285}
5286extern "C" {
5287    #[link_name = "\u{1}aws_lc_0_35_0_BN_print"]
5288    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5289}
5290extern "C" {
5291    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_word"]
5292    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5293}
5294extern "C" {
5295    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_u64"]
5296    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5297}
5298extern "C" {
5299    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_flags"]
5300    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5301}
5302extern "C" {
5303    #[link_name = "\u{1}aws_lc_0_35_0_BN_parse_asn1_unsigned"]
5304    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5305}
5306extern "C" {
5307    #[link_name = "\u{1}aws_lc_0_35_0_BN_marshal_asn1"]
5308    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5309}
5310extern "C" {
5311    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_new"]
5312    pub fn BN_CTX_new() -> *mut BN_CTX;
5313}
5314extern "C" {
5315    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_free"]
5316    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5317}
5318extern "C" {
5319    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_start"]
5320    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5321}
5322extern "C" {
5323    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_get"]
5324    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5325}
5326extern "C" {
5327    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_end"]
5328    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5329}
5330extern "C" {
5331    #[link_name = "\u{1}aws_lc_0_35_0_BN_add"]
5332    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5333}
5334extern "C" {
5335    #[link_name = "\u{1}aws_lc_0_35_0_BN_uadd"]
5336    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5337}
5338extern "C" {
5339    #[link_name = "\u{1}aws_lc_0_35_0_BN_add_word"]
5340    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5341}
5342extern "C" {
5343    #[link_name = "\u{1}aws_lc_0_35_0_BN_sub"]
5344    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5345}
5346extern "C" {
5347    #[link_name = "\u{1}aws_lc_0_35_0_BN_usub"]
5348    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5349}
5350extern "C" {
5351    #[link_name = "\u{1}aws_lc_0_35_0_BN_sub_word"]
5352    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5353}
5354extern "C" {
5355    #[link_name = "\u{1}aws_lc_0_35_0_BN_mul"]
5356    pub fn BN_mul(
5357        r: *mut BIGNUM,
5358        a: *const BIGNUM,
5359        b: *const BIGNUM,
5360        ctx: *mut BN_CTX,
5361    ) -> ::std::os::raw::c_int;
5362}
5363extern "C" {
5364    #[link_name = "\u{1}aws_lc_0_35_0_BN_mul_word"]
5365    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5366}
5367extern "C" {
5368    #[link_name = "\u{1}aws_lc_0_35_0_BN_sqr"]
5369    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5370}
5371extern "C" {
5372    #[link_name = "\u{1}aws_lc_0_35_0_BN_div"]
5373    pub fn BN_div(
5374        quotient: *mut BIGNUM,
5375        rem: *mut BIGNUM,
5376        numerator: *const BIGNUM,
5377        divisor: *const BIGNUM,
5378        ctx: *mut BN_CTX,
5379    ) -> ::std::os::raw::c_int;
5380}
5381extern "C" {
5382    #[link_name = "\u{1}aws_lc_0_35_0_BN_div_word"]
5383    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5384}
5385extern "C" {
5386    #[link_name = "\u{1}aws_lc_0_35_0_BN_sqrt"]
5387    pub fn BN_sqrt(
5388        out_sqrt: *mut BIGNUM,
5389        in_: *const BIGNUM,
5390        ctx: *mut BN_CTX,
5391    ) -> ::std::os::raw::c_int;
5392}
5393extern "C" {
5394    #[link_name = "\u{1}aws_lc_0_35_0_BN_cmp"]
5395    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5396}
5397extern "C" {
5398    #[link_name = "\u{1}aws_lc_0_35_0_BN_cmp_word"]
5399    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5400}
5401extern "C" {
5402    #[link_name = "\u{1}aws_lc_0_35_0_BN_ucmp"]
5403    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5404}
5405extern "C" {
5406    #[link_name = "\u{1}aws_lc_0_35_0_BN_equal_consttime"]
5407    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5408}
5409extern "C" {
5410    #[link_name = "\u{1}aws_lc_0_35_0_BN_abs_is_word"]
5411    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5412}
5413extern "C" {
5414    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_zero"]
5415    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5416}
5417extern "C" {
5418    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_one"]
5419    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5420}
5421extern "C" {
5422    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_word"]
5423    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5424}
5425extern "C" {
5426    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_odd"]
5427    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5428}
5429extern "C" {
5430    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_pow2"]
5431    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5432}
5433extern "C" {
5434    #[link_name = "\u{1}aws_lc_0_35_0_BN_lshift"]
5435    pub fn BN_lshift(
5436        r: *mut BIGNUM,
5437        a: *const BIGNUM,
5438        n: ::std::os::raw::c_int,
5439    ) -> ::std::os::raw::c_int;
5440}
5441extern "C" {
5442    #[link_name = "\u{1}aws_lc_0_35_0_BN_lshift1"]
5443    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5444}
5445extern "C" {
5446    #[link_name = "\u{1}aws_lc_0_35_0_BN_rshift"]
5447    pub fn BN_rshift(
5448        r: *mut BIGNUM,
5449        a: *const BIGNUM,
5450        n: ::std::os::raw::c_int,
5451    ) -> ::std::os::raw::c_int;
5452}
5453extern "C" {
5454    #[link_name = "\u{1}aws_lc_0_35_0_BN_rshift1"]
5455    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5456}
5457extern "C" {
5458    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_bit"]
5459    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5460}
5461extern "C" {
5462    #[link_name = "\u{1}aws_lc_0_35_0_BN_clear_bit"]
5463    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5464}
5465extern "C" {
5466    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_bit_set"]
5467    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5468}
5469extern "C" {
5470    #[link_name = "\u{1}aws_lc_0_35_0_BN_mask_bits"]
5471    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5472}
5473extern "C" {
5474    #[link_name = "\u{1}aws_lc_0_35_0_BN_count_low_zero_bits"]
5475    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5476}
5477extern "C" {
5478    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_word"]
5479    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5480}
5481extern "C" {
5482    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_pow2"]
5483    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5484}
5485extern "C" {
5486    #[link_name = "\u{1}aws_lc_0_35_0_BN_nnmod_pow2"]
5487    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5488}
5489extern "C" {
5490    #[link_name = "\u{1}aws_lc_0_35_0_BN_nnmod"]
5491    pub fn BN_nnmod(
5492        rem: *mut BIGNUM,
5493        numerator: *const BIGNUM,
5494        divisor: *const BIGNUM,
5495        ctx: *mut BN_CTX,
5496    ) -> ::std::os::raw::c_int;
5497}
5498extern "C" {
5499    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_add"]
5500    pub fn BN_mod_add(
5501        r: *mut BIGNUM,
5502        a: *const BIGNUM,
5503        b: *const BIGNUM,
5504        m: *const BIGNUM,
5505        ctx: *mut BN_CTX,
5506    ) -> ::std::os::raw::c_int;
5507}
5508extern "C" {
5509    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_add_quick"]
5510    pub fn BN_mod_add_quick(
5511        r: *mut BIGNUM,
5512        a: *const BIGNUM,
5513        b: *const BIGNUM,
5514        m: *const BIGNUM,
5515    ) -> ::std::os::raw::c_int;
5516}
5517extern "C" {
5518    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sub"]
5519    pub fn BN_mod_sub(
5520        r: *mut BIGNUM,
5521        a: *const BIGNUM,
5522        b: *const BIGNUM,
5523        m: *const BIGNUM,
5524        ctx: *mut BN_CTX,
5525    ) -> ::std::os::raw::c_int;
5526}
5527extern "C" {
5528    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sub_quick"]
5529    pub fn BN_mod_sub_quick(
5530        r: *mut BIGNUM,
5531        a: *const BIGNUM,
5532        b: *const BIGNUM,
5533        m: *const BIGNUM,
5534    ) -> ::std::os::raw::c_int;
5535}
5536extern "C" {
5537    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_mul"]
5538    pub fn BN_mod_mul(
5539        r: *mut BIGNUM,
5540        a: *const BIGNUM,
5541        b: *const BIGNUM,
5542        m: *const BIGNUM,
5543        ctx: *mut BN_CTX,
5544    ) -> ::std::os::raw::c_int;
5545}
5546extern "C" {
5547    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sqr"]
5548    pub fn BN_mod_sqr(
5549        r: *mut BIGNUM,
5550        a: *const BIGNUM,
5551        m: *const BIGNUM,
5552        ctx: *mut BN_CTX,
5553    ) -> ::std::os::raw::c_int;
5554}
5555extern "C" {
5556    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift"]
5557    pub fn BN_mod_lshift(
5558        r: *mut BIGNUM,
5559        a: *const BIGNUM,
5560        n: ::std::os::raw::c_int,
5561        m: *const BIGNUM,
5562        ctx: *mut BN_CTX,
5563    ) -> ::std::os::raw::c_int;
5564}
5565extern "C" {
5566    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift_quick"]
5567    pub fn BN_mod_lshift_quick(
5568        r: *mut BIGNUM,
5569        a: *const BIGNUM,
5570        n: ::std::os::raw::c_int,
5571        m: *const BIGNUM,
5572    ) -> ::std::os::raw::c_int;
5573}
5574extern "C" {
5575    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift1"]
5576    pub fn BN_mod_lshift1(
5577        r: *mut BIGNUM,
5578        a: *const BIGNUM,
5579        m: *const BIGNUM,
5580        ctx: *mut BN_CTX,
5581    ) -> ::std::os::raw::c_int;
5582}
5583extern "C" {
5584    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift1_quick"]
5585    pub fn BN_mod_lshift1_quick(
5586        r: *mut BIGNUM,
5587        a: *const BIGNUM,
5588        m: *const BIGNUM,
5589    ) -> ::std::os::raw::c_int;
5590}
5591extern "C" {
5592    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sqrt"]
5593    pub fn BN_mod_sqrt(
5594        in_: *mut BIGNUM,
5595        a: *const BIGNUM,
5596        p: *const BIGNUM,
5597        ctx: *mut BN_CTX,
5598    ) -> *mut BIGNUM;
5599}
5600extern "C" {
5601    #[link_name = "\u{1}aws_lc_0_35_0_BN_rand"]
5602    pub fn BN_rand(
5603        rnd: *mut BIGNUM,
5604        bits: ::std::os::raw::c_int,
5605        top: ::std::os::raw::c_int,
5606        bottom: ::std::os::raw::c_int,
5607    ) -> ::std::os::raw::c_int;
5608}
5609extern "C" {
5610    #[link_name = "\u{1}aws_lc_0_35_0_BN_pseudo_rand"]
5611    pub fn BN_pseudo_rand(
5612        rnd: *mut BIGNUM,
5613        bits: ::std::os::raw::c_int,
5614        top: ::std::os::raw::c_int,
5615        bottom: ::std::os::raw::c_int,
5616    ) -> ::std::os::raw::c_int;
5617}
5618extern "C" {
5619    #[link_name = "\u{1}aws_lc_0_35_0_BN_rand_range"]
5620    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5621}
5622extern "C" {
5623    #[link_name = "\u{1}aws_lc_0_35_0_BN_rand_range_ex"]
5624    pub fn BN_rand_range_ex(
5625        r: *mut BIGNUM,
5626        min_inclusive: BN_ULONG,
5627        max_exclusive: *const BIGNUM,
5628    ) -> ::std::os::raw::c_int;
5629}
5630extern "C" {
5631    #[link_name = "\u{1}aws_lc_0_35_0_BN_pseudo_rand_range"]
5632    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5633}
5634#[repr(C)]
5635#[derive(Copy, Clone)]
5636pub struct bn_gencb_st {
5637    pub type_: u8,
5638    pub arg: *mut ::std::os::raw::c_void,
5639    pub callback: bn_gencb_st__bindgen_ty_1,
5640}
5641#[repr(C)]
5642#[derive(Copy, Clone)]
5643pub union bn_gencb_st__bindgen_ty_1 {
5644    pub new_style: ::std::option::Option<
5645        unsafe extern "C" fn(
5646            event: ::std::os::raw::c_int,
5647            n: ::std::os::raw::c_int,
5648            arg1: *mut bn_gencb_st,
5649        ) -> ::std::os::raw::c_int,
5650    >,
5651    pub old_style: ::std::option::Option<
5652        unsafe extern "C" fn(
5653            arg1: ::std::os::raw::c_int,
5654            arg2: ::std::os::raw::c_int,
5655            arg3: *mut ::std::os::raw::c_void,
5656        ),
5657    >,
5658}
5659#[test]
5660fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5661    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5662        ::std::mem::MaybeUninit::uninit();
5663    let ptr = UNINIT.as_ptr();
5664    assert_eq!(
5665        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5666        8usize,
5667        "Size of bn_gencb_st__bindgen_ty_1"
5668    );
5669    assert_eq!(
5670        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5671        8usize,
5672        "Alignment of bn_gencb_st__bindgen_ty_1"
5673    );
5674    assert_eq!(
5675        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5676        0usize,
5677        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5678    );
5679    assert_eq!(
5680        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5681        0usize,
5682        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5683    );
5684}
5685impl Default for bn_gencb_st__bindgen_ty_1 {
5686    fn default() -> Self {
5687        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5688        unsafe {
5689            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5690            s.assume_init()
5691        }
5692    }
5693}
5694#[test]
5695fn bindgen_test_layout_bn_gencb_st() {
5696    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5697    let ptr = UNINIT.as_ptr();
5698    assert_eq!(
5699        ::std::mem::size_of::<bn_gencb_st>(),
5700        24usize,
5701        "Size of bn_gencb_st"
5702    );
5703    assert_eq!(
5704        ::std::mem::align_of::<bn_gencb_st>(),
5705        8usize,
5706        "Alignment of bn_gencb_st"
5707    );
5708    assert_eq!(
5709        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5710        0usize,
5711        "Offset of field: bn_gencb_st::type_"
5712    );
5713    assert_eq!(
5714        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5715        8usize,
5716        "Offset of field: bn_gencb_st::arg"
5717    );
5718    assert_eq!(
5719        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5720        16usize,
5721        "Offset of field: bn_gencb_st::callback"
5722    );
5723}
5724impl Default for bn_gencb_st {
5725    fn default() -> Self {
5726        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5727        unsafe {
5728            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5729            s.assume_init()
5730        }
5731    }
5732}
5733extern "C" {
5734    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_new"]
5735    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5736}
5737extern "C" {
5738    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_free"]
5739    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5740}
5741extern "C" {
5742    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_set"]
5743    pub fn BN_GENCB_set(
5744        callback: *mut BN_GENCB,
5745        f: ::std::option::Option<
5746            unsafe extern "C" fn(
5747                event: ::std::os::raw::c_int,
5748                n: ::std::os::raw::c_int,
5749                arg1: *mut BN_GENCB,
5750            ) -> ::std::os::raw::c_int,
5751        >,
5752        arg: *mut ::std::os::raw::c_void,
5753    );
5754}
5755extern "C" {
5756    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_call"]
5757    pub fn BN_GENCB_call(
5758        callback: *mut BN_GENCB,
5759        event: ::std::os::raw::c_int,
5760        n: ::std::os::raw::c_int,
5761    ) -> ::std::os::raw::c_int;
5762}
5763extern "C" {
5764    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_get_arg"]
5765    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5766}
5767extern "C" {
5768    #[link_name = "\u{1}aws_lc_0_35_0_BN_generate_prime_ex"]
5769    pub fn BN_generate_prime_ex(
5770        ret: *mut BIGNUM,
5771        bits: ::std::os::raw::c_int,
5772        safe: ::std::os::raw::c_int,
5773        add: *const BIGNUM,
5774        rem: *const BIGNUM,
5775        cb: *mut BN_GENCB,
5776    ) -> ::std::os::raw::c_int;
5777}
5778pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5779pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5780pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5781pub type bn_primality_result_t = ::std::os::raw::c_uint;
5782extern "C" {
5783    #[link_name = "\u{1}aws_lc_0_35_0_BN_enhanced_miller_rabin_primality_test"]
5784    pub fn BN_enhanced_miller_rabin_primality_test(
5785        out_result: *mut bn_primality_result_t,
5786        w: *const BIGNUM,
5787        checks: ::std::os::raw::c_int,
5788        ctx: *mut BN_CTX,
5789        cb: *mut BN_GENCB,
5790    ) -> ::std::os::raw::c_int;
5791}
5792extern "C" {
5793    #[link_name = "\u{1}aws_lc_0_35_0_BN_primality_test"]
5794    pub fn BN_primality_test(
5795        is_probably_prime: *mut ::std::os::raw::c_int,
5796        candidate: *const BIGNUM,
5797        checks: ::std::os::raw::c_int,
5798        ctx: *mut BN_CTX,
5799        do_trial_division: ::std::os::raw::c_int,
5800        cb: *mut BN_GENCB,
5801    ) -> ::std::os::raw::c_int;
5802}
5803extern "C" {
5804    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_prime_fasttest_ex"]
5805    pub fn BN_is_prime_fasttest_ex(
5806        candidate: *const BIGNUM,
5807        checks: ::std::os::raw::c_int,
5808        ctx: *mut BN_CTX,
5809        do_trial_division: ::std::os::raw::c_int,
5810        cb: *mut BN_GENCB,
5811    ) -> ::std::os::raw::c_int;
5812}
5813extern "C" {
5814    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_prime_ex"]
5815    pub fn BN_is_prime_ex(
5816        candidate: *const BIGNUM,
5817        checks: ::std::os::raw::c_int,
5818        ctx: *mut BN_CTX,
5819        cb: *mut BN_GENCB,
5820    ) -> ::std::os::raw::c_int;
5821}
5822extern "C" {
5823    #[link_name = "\u{1}aws_lc_0_35_0_BN_gcd"]
5824    pub fn BN_gcd(
5825        r: *mut BIGNUM,
5826        a: *const BIGNUM,
5827        b: *const BIGNUM,
5828        ctx: *mut BN_CTX,
5829    ) -> ::std::os::raw::c_int;
5830}
5831extern "C" {
5832    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_inverse"]
5833    pub fn BN_mod_inverse(
5834        out: *mut BIGNUM,
5835        a: *const BIGNUM,
5836        n: *const BIGNUM,
5837        ctx: *mut BN_CTX,
5838    ) -> *mut BIGNUM;
5839}
5840extern "C" {
5841    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_inverse_blinded"]
5842    pub fn BN_mod_inverse_blinded(
5843        out: *mut BIGNUM,
5844        out_no_inverse: *mut ::std::os::raw::c_int,
5845        a: *const BIGNUM,
5846        mont: *const BN_MONT_CTX,
5847        ctx: *mut BN_CTX,
5848    ) -> ::std::os::raw::c_int;
5849}
5850extern "C" {
5851    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_inverse_odd"]
5852    pub fn BN_mod_inverse_odd(
5853        out: *mut BIGNUM,
5854        out_no_inverse: *mut ::std::os::raw::c_int,
5855        a: *const BIGNUM,
5856        n: *const BIGNUM,
5857        ctx: *mut BN_CTX,
5858    ) -> ::std::os::raw::c_int;
5859}
5860extern "C" {
5861    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_new_for_modulus"]
5862    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5863}
5864extern "C" {
5865    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_new_consttime"]
5866    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5867}
5868extern "C" {
5869    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_free"]
5870    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
5871}
5872extern "C" {
5873    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_copy"]
5874    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
5875}
5876extern "C" {
5877    #[link_name = "\u{1}aws_lc_0_35_0_BN_to_montgomery"]
5878    pub fn BN_to_montgomery(
5879        ret: *mut BIGNUM,
5880        a: *const BIGNUM,
5881        mont: *const BN_MONT_CTX,
5882        ctx: *mut BN_CTX,
5883    ) -> ::std::os::raw::c_int;
5884}
5885extern "C" {
5886    #[link_name = "\u{1}aws_lc_0_35_0_BN_from_montgomery"]
5887    pub fn BN_from_montgomery(
5888        ret: *mut BIGNUM,
5889        a: *const BIGNUM,
5890        mont: *const BN_MONT_CTX,
5891        ctx: *mut BN_CTX,
5892    ) -> ::std::os::raw::c_int;
5893}
5894extern "C" {
5895    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_mul_montgomery"]
5896    pub fn BN_mod_mul_montgomery(
5897        r: *mut BIGNUM,
5898        a: *const BIGNUM,
5899        b: *const BIGNUM,
5900        mont: *const BN_MONT_CTX,
5901        ctx: *mut BN_CTX,
5902    ) -> ::std::os::raw::c_int;
5903}
5904extern "C" {
5905    #[link_name = "\u{1}aws_lc_0_35_0_BN_exp"]
5906    pub fn BN_exp(
5907        r: *mut BIGNUM,
5908        a: *const BIGNUM,
5909        p: *const BIGNUM,
5910        ctx: *mut BN_CTX,
5911    ) -> ::std::os::raw::c_int;
5912}
5913extern "C" {
5914    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp"]
5915    pub fn BN_mod_exp(
5916        r: *mut BIGNUM,
5917        a: *const BIGNUM,
5918        p: *const BIGNUM,
5919        m: *const BIGNUM,
5920        ctx: *mut BN_CTX,
5921    ) -> ::std::os::raw::c_int;
5922}
5923extern "C" {
5924    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont"]
5925    pub fn BN_mod_exp_mont(
5926        r: *mut BIGNUM,
5927        a: *const BIGNUM,
5928        p: *const BIGNUM,
5929        m: *const BIGNUM,
5930        ctx: *mut BN_CTX,
5931        mont: *const BN_MONT_CTX,
5932    ) -> ::std::os::raw::c_int;
5933}
5934extern "C" {
5935    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont_consttime"]
5936    pub fn BN_mod_exp_mont_consttime(
5937        rr: *mut BIGNUM,
5938        a: *const BIGNUM,
5939        p: *const BIGNUM,
5940        m: *const BIGNUM,
5941        ctx: *mut BN_CTX,
5942        mont: *const BN_MONT_CTX,
5943    ) -> ::std::os::raw::c_int;
5944}
5945extern "C" {
5946    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_set_old"]
5947    pub fn BN_GENCB_set_old(
5948        callback: *mut BN_GENCB,
5949        f: ::std::option::Option<
5950            unsafe extern "C" fn(
5951                arg1: ::std::os::raw::c_int,
5952                arg2: ::std::os::raw::c_int,
5953                arg3: *mut ::std::os::raw::c_void,
5954            ),
5955        >,
5956        cb_arg: *mut ::std::os::raw::c_void,
5957    );
5958}
5959extern "C" {
5960    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2mpi"]
5961    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
5962}
5963extern "C" {
5964    #[link_name = "\u{1}aws_lc_0_35_0_BN_mpi2bn"]
5965    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
5966}
5967extern "C" {
5968    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont_word"]
5969    pub fn BN_mod_exp_mont_word(
5970        r: *mut BIGNUM,
5971        a: BN_ULONG,
5972        p: *const BIGNUM,
5973        m: *const BIGNUM,
5974        ctx: *mut BN_CTX,
5975        mont: *const BN_MONT_CTX,
5976    ) -> ::std::os::raw::c_int;
5977}
5978extern "C" {
5979    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp2_mont"]
5980    pub fn BN_mod_exp2_mont(
5981        r: *mut BIGNUM,
5982        a1: *const BIGNUM,
5983        p1: *const BIGNUM,
5984        a2: *const BIGNUM,
5985        p2: *const BIGNUM,
5986        m: *const BIGNUM,
5987        ctx: *mut BN_CTX,
5988        mont: *const BN_MONT_CTX,
5989    ) -> ::std::os::raw::c_int;
5990}
5991extern "C" {
5992    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_new"]
5993    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
5994}
5995extern "C" {
5996    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_set"]
5997    pub fn BN_MONT_CTX_set(
5998        mont: *mut BN_MONT_CTX,
5999        mod_: *const BIGNUM,
6000        ctx: *mut BN_CTX,
6001    ) -> ::std::os::raw::c_int;
6002}
6003extern "C" {
6004    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2binpad"]
6005    pub fn BN_bn2binpad(
6006        in_: *const BIGNUM,
6007        out: *mut u8,
6008        len: ::std::os::raw::c_int,
6009    ) -> ::std::os::raw::c_int;
6010}
6011extern "C" {
6012    #[link_name = "\u{1}aws_lc_0_35_0_BN_secure_new"]
6013    pub fn BN_secure_new() -> *mut BIGNUM;
6014}
6015extern "C" {
6016    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_secure_new"]
6017    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6018}
6019extern "C" {
6020    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont_consttime_x2"]
6021    pub fn BN_mod_exp_mont_consttime_x2(
6022        rr1: *mut BIGNUM,
6023        a1: *const BIGNUM,
6024        p1: *const BIGNUM,
6025        m1: *const BIGNUM,
6026        in_mont1: *const BN_MONT_CTX,
6027        rr2: *mut BIGNUM,
6028        a2: *const BIGNUM,
6029        p2: *const BIGNUM,
6030        m2: *const BIGNUM,
6031        in_mont2: *const BN_MONT_CTX,
6032        ctx: *mut BN_CTX,
6033    ) -> ::std::os::raw::c_int;
6034}
6035extern "C" {
6036    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_flags"]
6037    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6038}
6039#[repr(C)]
6040#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6041pub struct bignum_st {
6042    pub d: *mut BN_ULONG,
6043    pub width: ::std::os::raw::c_int,
6044    pub dmax: ::std::os::raw::c_int,
6045    pub neg: ::std::os::raw::c_int,
6046    pub flags: ::std::os::raw::c_int,
6047}
6048#[test]
6049fn bindgen_test_layout_bignum_st() {
6050    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6051    let ptr = UNINIT.as_ptr();
6052    assert_eq!(
6053        ::std::mem::size_of::<bignum_st>(),
6054        24usize,
6055        "Size of bignum_st"
6056    );
6057    assert_eq!(
6058        ::std::mem::align_of::<bignum_st>(),
6059        8usize,
6060        "Alignment of bignum_st"
6061    );
6062    assert_eq!(
6063        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6064        0usize,
6065        "Offset of field: bignum_st::d"
6066    );
6067    assert_eq!(
6068        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6069        8usize,
6070        "Offset of field: bignum_st::width"
6071    );
6072    assert_eq!(
6073        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6074        12usize,
6075        "Offset of field: bignum_st::dmax"
6076    );
6077    assert_eq!(
6078        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6079        16usize,
6080        "Offset of field: bignum_st::neg"
6081    );
6082    assert_eq!(
6083        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6084        20usize,
6085        "Offset of field: bignum_st::flags"
6086    );
6087}
6088impl Default for bignum_st {
6089    fn default() -> Self {
6090        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6091        unsafe {
6092            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6093            s.assume_init()
6094        }
6095    }
6096}
6097#[repr(C)]
6098#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6099pub struct bn_mont_ctx_st {
6100    pub RR: BIGNUM,
6101    pub N: BIGNUM,
6102    pub n0: [BN_ULONG; 2usize],
6103}
6104#[test]
6105fn bindgen_test_layout_bn_mont_ctx_st() {
6106    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6107    let ptr = UNINIT.as_ptr();
6108    assert_eq!(
6109        ::std::mem::size_of::<bn_mont_ctx_st>(),
6110        64usize,
6111        "Size of bn_mont_ctx_st"
6112    );
6113    assert_eq!(
6114        ::std::mem::align_of::<bn_mont_ctx_st>(),
6115        8usize,
6116        "Alignment of bn_mont_ctx_st"
6117    );
6118    assert_eq!(
6119        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6120        0usize,
6121        "Offset of field: bn_mont_ctx_st::RR"
6122    );
6123    assert_eq!(
6124        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6125        24usize,
6126        "Offset of field: bn_mont_ctx_st::N"
6127    );
6128    assert_eq!(
6129        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6130        48usize,
6131        "Offset of field: bn_mont_ctx_st::n0"
6132    );
6133}
6134impl Default for bn_mont_ctx_st {
6135    fn default() -> Self {
6136        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6137        unsafe {
6138            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6139            s.assume_init()
6140        }
6141    }
6142}
6143extern "C" {
6144    #[link_name = "\u{1}aws_lc_0_35_0_BN_num_bits_word"]
6145    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6146}
6147#[repr(C)]
6148#[derive(Debug, Copy, Clone)]
6149pub struct ASN1_VALUE_st {
6150    _unused: [u8; 0],
6151}
6152pub type ASN1_VALUE = ASN1_VALUE_st;
6153#[repr(C)]
6154#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6155pub struct asn1_string_st {
6156    pub length: ::std::os::raw::c_int,
6157    pub type_: ::std::os::raw::c_int,
6158    pub data: *mut ::std::os::raw::c_uchar,
6159    pub flags: ::std::os::raw::c_long,
6160}
6161#[test]
6162fn bindgen_test_layout_asn1_string_st() {
6163    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6164    let ptr = UNINIT.as_ptr();
6165    assert_eq!(
6166        ::std::mem::size_of::<asn1_string_st>(),
6167        24usize,
6168        "Size of asn1_string_st"
6169    );
6170    assert_eq!(
6171        ::std::mem::align_of::<asn1_string_st>(),
6172        8usize,
6173        "Alignment of asn1_string_st"
6174    );
6175    assert_eq!(
6176        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6177        0usize,
6178        "Offset of field: asn1_string_st::length"
6179    );
6180    assert_eq!(
6181        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6182        4usize,
6183        "Offset of field: asn1_string_st::type_"
6184    );
6185    assert_eq!(
6186        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6187        8usize,
6188        "Offset of field: asn1_string_st::data"
6189    );
6190    assert_eq!(
6191        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6192        16usize,
6193        "Offset of field: asn1_string_st::flags"
6194    );
6195}
6196impl Default for asn1_string_st {
6197    fn default() -> Self {
6198        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6199        unsafe {
6200            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6201            s.assume_init()
6202        }
6203    }
6204}
6205#[repr(C)]
6206#[derive(Copy, Clone)]
6207pub struct asn1_type_st {
6208    pub type_: ::std::os::raw::c_int,
6209    pub value: asn1_type_st__bindgen_ty_1,
6210}
6211#[repr(C)]
6212#[derive(Copy, Clone)]
6213pub union asn1_type_st__bindgen_ty_1 {
6214    pub ptr: *mut ::std::os::raw::c_char,
6215    pub boolean: ASN1_BOOLEAN,
6216    pub asn1_string: *mut ASN1_STRING,
6217    pub object: *mut ASN1_OBJECT,
6218    pub integer: *mut ASN1_INTEGER,
6219    pub enumerated: *mut ASN1_ENUMERATED,
6220    pub bit_string: *mut ASN1_BIT_STRING,
6221    pub octet_string: *mut ASN1_OCTET_STRING,
6222    pub printablestring: *mut ASN1_PRINTABLESTRING,
6223    pub t61string: *mut ASN1_T61STRING,
6224    pub ia5string: *mut ASN1_IA5STRING,
6225    pub generalstring: *mut ASN1_GENERALSTRING,
6226    pub bmpstring: *mut ASN1_BMPSTRING,
6227    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6228    pub utctime: *mut ASN1_UTCTIME,
6229    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6230    pub visiblestring: *mut ASN1_VISIBLESTRING,
6231    pub utf8string: *mut ASN1_UTF8STRING,
6232    pub set: *mut ASN1_STRING,
6233    pub sequence: *mut ASN1_STRING,
6234    pub asn1_value: *mut ASN1_VALUE,
6235}
6236#[test]
6237fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6238    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6239        ::std::mem::MaybeUninit::uninit();
6240    let ptr = UNINIT.as_ptr();
6241    assert_eq!(
6242        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6243        8usize,
6244        "Size of asn1_type_st__bindgen_ty_1"
6245    );
6246    assert_eq!(
6247        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6248        8usize,
6249        "Alignment of asn1_type_st__bindgen_ty_1"
6250    );
6251    assert_eq!(
6252        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6253        0usize,
6254        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6255    );
6256    assert_eq!(
6257        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6258        0usize,
6259        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6260    );
6261    assert_eq!(
6262        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6263        0usize,
6264        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6265    );
6266    assert_eq!(
6267        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6268        0usize,
6269        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6270    );
6271    assert_eq!(
6272        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6273        0usize,
6274        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6275    );
6276    assert_eq!(
6277        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6278        0usize,
6279        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6280    );
6281    assert_eq!(
6282        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6283        0usize,
6284        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6285    );
6286    assert_eq!(
6287        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6288        0usize,
6289        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6290    );
6291    assert_eq!(
6292        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6293        0usize,
6294        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6295    );
6296    assert_eq!(
6297        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6298        0usize,
6299        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6300    );
6301    assert_eq!(
6302        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6303        0usize,
6304        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6305    );
6306    assert_eq!(
6307        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6308        0usize,
6309        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6310    );
6311    assert_eq!(
6312        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6313        0usize,
6314        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6315    );
6316    assert_eq!(
6317        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6318        0usize,
6319        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6320    );
6321    assert_eq!(
6322        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6323        0usize,
6324        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6325    );
6326    assert_eq!(
6327        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6328        0usize,
6329        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6330    );
6331    assert_eq!(
6332        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6333        0usize,
6334        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6335    );
6336    assert_eq!(
6337        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6338        0usize,
6339        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6340    );
6341    assert_eq!(
6342        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6343        0usize,
6344        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6345    );
6346    assert_eq!(
6347        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6348        0usize,
6349        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6350    );
6351    assert_eq!(
6352        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6353        0usize,
6354        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6355    );
6356}
6357impl Default for asn1_type_st__bindgen_ty_1 {
6358    fn default() -> Self {
6359        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6360        unsafe {
6361            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6362            s.assume_init()
6363        }
6364    }
6365}
6366#[test]
6367fn bindgen_test_layout_asn1_type_st() {
6368    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6369    let ptr = UNINIT.as_ptr();
6370    assert_eq!(
6371        ::std::mem::size_of::<asn1_type_st>(),
6372        16usize,
6373        "Size of asn1_type_st"
6374    );
6375    assert_eq!(
6376        ::std::mem::align_of::<asn1_type_st>(),
6377        8usize,
6378        "Alignment of asn1_type_st"
6379    );
6380    assert_eq!(
6381        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6382        0usize,
6383        "Offset of field: asn1_type_st::type_"
6384    );
6385    assert_eq!(
6386        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6387        8usize,
6388        "Offset of field: asn1_type_st::value"
6389    );
6390}
6391impl Default for asn1_type_st {
6392    fn default() -> Self {
6393        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6394        unsafe {
6395            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6396            s.assume_init()
6397        }
6398    }
6399}
6400pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6401#[repr(C)]
6402#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6403pub struct ASN1_TEMPLATE_st {
6404    pub flags: u32,
6405    pub tag: ::std::os::raw::c_int,
6406    pub offset: ::std::os::raw::c_ulong,
6407    pub field_name: *const ::std::os::raw::c_char,
6408    pub item: *const ASN1_ITEM_st,
6409}
6410#[test]
6411fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6412    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6413    let ptr = UNINIT.as_ptr();
6414    assert_eq!(
6415        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6416        32usize,
6417        "Size of ASN1_TEMPLATE_st"
6418    );
6419    assert_eq!(
6420        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6421        8usize,
6422        "Alignment of ASN1_TEMPLATE_st"
6423    );
6424    assert_eq!(
6425        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6426        0usize,
6427        "Offset of field: ASN1_TEMPLATE_st::flags"
6428    );
6429    assert_eq!(
6430        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6431        4usize,
6432        "Offset of field: ASN1_TEMPLATE_st::tag"
6433    );
6434    assert_eq!(
6435        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6436        8usize,
6437        "Offset of field: ASN1_TEMPLATE_st::offset"
6438    );
6439    assert_eq!(
6440        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6441        16usize,
6442        "Offset of field: ASN1_TEMPLATE_st::field_name"
6443    );
6444    assert_eq!(
6445        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6446        24usize,
6447        "Offset of field: ASN1_TEMPLATE_st::item"
6448    );
6449}
6450impl Default for ASN1_TEMPLATE_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}
6459#[repr(C)]
6460#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6461pub struct ASN1_ITEM_st {
6462    pub itype: ::std::os::raw::c_char,
6463    pub utype: ::std::os::raw::c_int,
6464    pub templates: *const ASN1_TEMPLATE,
6465    pub tcount: ::std::os::raw::c_long,
6466    pub funcs: *const ::std::os::raw::c_void,
6467    pub size: ::std::os::raw::c_long,
6468    pub sname: *const ::std::os::raw::c_char,
6469}
6470#[test]
6471fn bindgen_test_layout_ASN1_ITEM_st() {
6472    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6473    let ptr = UNINIT.as_ptr();
6474    assert_eq!(
6475        ::std::mem::size_of::<ASN1_ITEM_st>(),
6476        48usize,
6477        "Size of ASN1_ITEM_st"
6478    );
6479    assert_eq!(
6480        ::std::mem::align_of::<ASN1_ITEM_st>(),
6481        8usize,
6482        "Alignment of ASN1_ITEM_st"
6483    );
6484    assert_eq!(
6485        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6486        0usize,
6487        "Offset of field: ASN1_ITEM_st::itype"
6488    );
6489    assert_eq!(
6490        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6491        4usize,
6492        "Offset of field: ASN1_ITEM_st::utype"
6493    );
6494    assert_eq!(
6495        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6496        8usize,
6497        "Offset of field: ASN1_ITEM_st::templates"
6498    );
6499    assert_eq!(
6500        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6501        16usize,
6502        "Offset of field: ASN1_ITEM_st::tcount"
6503    );
6504    assert_eq!(
6505        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6506        24usize,
6507        "Offset of field: ASN1_ITEM_st::funcs"
6508    );
6509    assert_eq!(
6510        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6511        32usize,
6512        "Offset of field: ASN1_ITEM_st::size"
6513    );
6514    assert_eq!(
6515        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6516        40usize,
6517        "Offset of field: ASN1_ITEM_st::sname"
6518    );
6519}
6520impl Default for ASN1_ITEM_st {
6521    fn default() -> Self {
6522        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6523        unsafe {
6524            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6525            s.assume_init()
6526        }
6527    }
6528}
6529#[repr(C)]
6530#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6531pub struct evp_encode_ctx_st {
6532    pub data_used: ::std::os::raw::c_uint,
6533    pub data: [u8; 48usize],
6534    pub eof_seen: ::std::os::raw::c_char,
6535    pub error_encountered: ::std::os::raw::c_char,
6536}
6537#[test]
6538fn bindgen_test_layout_evp_encode_ctx_st() {
6539    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6540    let ptr = UNINIT.as_ptr();
6541    assert_eq!(
6542        ::std::mem::size_of::<evp_encode_ctx_st>(),
6543        56usize,
6544        "Size of evp_encode_ctx_st"
6545    );
6546    assert_eq!(
6547        ::std::mem::align_of::<evp_encode_ctx_st>(),
6548        4usize,
6549        "Alignment of evp_encode_ctx_st"
6550    );
6551    assert_eq!(
6552        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6553        0usize,
6554        "Offset of field: evp_encode_ctx_st::data_used"
6555    );
6556    assert_eq!(
6557        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6558        4usize,
6559        "Offset of field: evp_encode_ctx_st::data"
6560    );
6561    assert_eq!(
6562        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6563        52usize,
6564        "Offset of field: evp_encode_ctx_st::eof_seen"
6565    );
6566    assert_eq!(
6567        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6568        53usize,
6569        "Offset of field: evp_encode_ctx_st::error_encountered"
6570    );
6571}
6572impl Default for evp_encode_ctx_st {
6573    fn default() -> Self {
6574        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6575        unsafe {
6576            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6577            s.assume_init()
6578        }
6579    }
6580}
6581#[repr(C)]
6582#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6583pub struct blake2b_state_st {
6584    pub h: [u64; 8usize],
6585    pub t_low: u64,
6586    pub t_high: u64,
6587    pub block: [u8; 128usize],
6588    pub block_used: usize,
6589}
6590#[test]
6591fn bindgen_test_layout_blake2b_state_st() {
6592    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6593    let ptr = UNINIT.as_ptr();
6594    assert_eq!(
6595        ::std::mem::size_of::<blake2b_state_st>(),
6596        216usize,
6597        "Size of blake2b_state_st"
6598    );
6599    assert_eq!(
6600        ::std::mem::align_of::<blake2b_state_st>(),
6601        8usize,
6602        "Alignment of blake2b_state_st"
6603    );
6604    assert_eq!(
6605        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6606        0usize,
6607        "Offset of field: blake2b_state_st::h"
6608    );
6609    assert_eq!(
6610        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6611        64usize,
6612        "Offset of field: blake2b_state_st::t_low"
6613    );
6614    assert_eq!(
6615        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6616        72usize,
6617        "Offset of field: blake2b_state_st::t_high"
6618    );
6619    assert_eq!(
6620        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6621        80usize,
6622        "Offset of field: blake2b_state_st::block"
6623    );
6624    assert_eq!(
6625        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6626        208usize,
6627        "Offset of field: blake2b_state_st::block_used"
6628    );
6629}
6630impl Default for blake2b_state_st {
6631    fn default() -> Self {
6632        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6633        unsafe {
6634            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6635            s.assume_init()
6636        }
6637    }
6638}
6639#[repr(C)]
6640#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6641pub struct cbs_st {
6642    pub data: *const u8,
6643    pub len: usize,
6644}
6645#[test]
6646fn bindgen_test_layout_cbs_st() {
6647    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6648    let ptr = UNINIT.as_ptr();
6649    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6650    assert_eq!(
6651        ::std::mem::align_of::<cbs_st>(),
6652        8usize,
6653        "Alignment of cbs_st"
6654    );
6655    assert_eq!(
6656        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6657        0usize,
6658        "Offset of field: cbs_st::data"
6659    );
6660    assert_eq!(
6661        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6662        8usize,
6663        "Offset of field: cbs_st::len"
6664    );
6665}
6666impl Default for cbs_st {
6667    fn default() -> Self {
6668        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6669        unsafe {
6670            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6671            s.assume_init()
6672        }
6673    }
6674}
6675extern "C" {
6676    #[link_name = "\u{1}aws_lc_0_35_0_CBS_init"]
6677    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6678}
6679extern "C" {
6680    #[link_name = "\u{1}aws_lc_0_35_0_CBS_skip"]
6681    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6682}
6683extern "C" {
6684    #[link_name = "\u{1}aws_lc_0_35_0_CBS_data"]
6685    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6686}
6687extern "C" {
6688    #[link_name = "\u{1}aws_lc_0_35_0_CBS_len"]
6689    pub fn CBS_len(cbs: *const CBS) -> usize;
6690}
6691extern "C" {
6692    #[link_name = "\u{1}aws_lc_0_35_0_CBS_stow"]
6693    pub fn CBS_stow(
6694        cbs: *const CBS,
6695        out_ptr: *mut *mut u8,
6696        out_len: *mut usize,
6697    ) -> ::std::os::raw::c_int;
6698}
6699extern "C" {
6700    #[link_name = "\u{1}aws_lc_0_35_0_CBS_strdup"]
6701    pub fn CBS_strdup(
6702        cbs: *const CBS,
6703        out_ptr: *mut *mut ::std::os::raw::c_char,
6704    ) -> ::std::os::raw::c_int;
6705}
6706extern "C" {
6707    #[link_name = "\u{1}aws_lc_0_35_0_CBS_contains_zero_byte"]
6708    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6709}
6710extern "C" {
6711    #[link_name = "\u{1}aws_lc_0_35_0_CBS_mem_equal"]
6712    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6713}
6714extern "C" {
6715    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u8"]
6716    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6717}
6718extern "C" {
6719    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u16"]
6720    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6721}
6722extern "C" {
6723    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u16le"]
6724    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6725}
6726extern "C" {
6727    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u24"]
6728    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6729}
6730extern "C" {
6731    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u32"]
6732    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6733}
6734extern "C" {
6735    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u32le"]
6736    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6737}
6738extern "C" {
6739    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u64"]
6740    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6741}
6742extern "C" {
6743    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u64le"]
6744    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6745}
6746extern "C" {
6747    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_last_u8"]
6748    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6749}
6750extern "C" {
6751    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_bytes"]
6752    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6753}
6754extern "C" {
6755    #[link_name = "\u{1}aws_lc_0_35_0_CBS_copy_bytes"]
6756    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6757}
6758extern "C" {
6759    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u8_length_prefixed"]
6760    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6761}
6762extern "C" {
6763    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u16_length_prefixed"]
6764    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6765}
6766extern "C" {
6767    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u24_length_prefixed"]
6768    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6769}
6770extern "C" {
6771    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_until_first"]
6772    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6773}
6774extern "C" {
6775    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u64_decimal"]
6776    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6777}
6778extern "C" {
6779    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1"]
6780    pub fn CBS_get_asn1(
6781        cbs: *mut CBS,
6782        out: *mut CBS,
6783        tag_value: CBS_ASN1_TAG,
6784    ) -> ::std::os::raw::c_int;
6785}
6786extern "C" {
6787    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_element"]
6788    pub fn CBS_get_asn1_element(
6789        cbs: *mut CBS,
6790        out: *mut CBS,
6791        tag_value: CBS_ASN1_TAG,
6792    ) -> ::std::os::raw::c_int;
6793}
6794extern "C" {
6795    #[link_name = "\u{1}aws_lc_0_35_0_CBS_peek_asn1_tag"]
6796    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6797}
6798extern "C" {
6799    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_any_asn1"]
6800    pub fn CBS_get_any_asn1(
6801        cbs: *mut CBS,
6802        out: *mut CBS,
6803        out_tag: *mut CBS_ASN1_TAG,
6804    ) -> ::std::os::raw::c_int;
6805}
6806extern "C" {
6807    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_any_asn1_element"]
6808    pub fn CBS_get_any_asn1_element(
6809        cbs: *mut CBS,
6810        out: *mut CBS,
6811        out_tag: *mut CBS_ASN1_TAG,
6812        out_header_len: *mut usize,
6813    ) -> ::std::os::raw::c_int;
6814}
6815extern "C" {
6816    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_any_ber_asn1_element"]
6817    pub fn CBS_get_any_ber_asn1_element(
6818        cbs: *mut CBS,
6819        out: *mut CBS,
6820        out_tag: *mut CBS_ASN1_TAG,
6821        out_header_len: *mut usize,
6822        out_ber_found: *mut ::std::os::raw::c_int,
6823        out_indefinite: *mut ::std::os::raw::c_int,
6824    ) -> ::std::os::raw::c_int;
6825}
6826extern "C" {
6827    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_uint64"]
6828    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6829}
6830extern "C" {
6831    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_int64"]
6832    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
6833}
6834extern "C" {
6835    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_bool"]
6836    pub fn CBS_get_asn1_bool(
6837        cbs: *mut CBS,
6838        out: *mut ::std::os::raw::c_int,
6839    ) -> ::std::os::raw::c_int;
6840}
6841extern "C" {
6842    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1"]
6843    pub fn CBS_get_optional_asn1(
6844        cbs: *mut CBS,
6845        out: *mut CBS,
6846        out_present: *mut ::std::os::raw::c_int,
6847        tag: CBS_ASN1_TAG,
6848    ) -> ::std::os::raw::c_int;
6849}
6850extern "C" {
6851    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_octet_string"]
6852    pub fn CBS_get_optional_asn1_octet_string(
6853        cbs: *mut CBS,
6854        out: *mut CBS,
6855        out_present: *mut ::std::os::raw::c_int,
6856        tag: CBS_ASN1_TAG,
6857    ) -> ::std::os::raw::c_int;
6858}
6859extern "C" {
6860    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_uint64"]
6861    pub fn CBS_get_optional_asn1_uint64(
6862        cbs: *mut CBS,
6863        out: *mut u64,
6864        tag: CBS_ASN1_TAG,
6865        default_value: u64,
6866    ) -> ::std::os::raw::c_int;
6867}
6868extern "C" {
6869    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_bool"]
6870    pub fn CBS_get_optional_asn1_bool(
6871        cbs: *mut CBS,
6872        out: *mut ::std::os::raw::c_int,
6873        tag: CBS_ASN1_TAG,
6874        default_value: ::std::os::raw::c_int,
6875    ) -> ::std::os::raw::c_int;
6876}
6877extern "C" {
6878    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_valid_asn1_bitstring"]
6879    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
6880}
6881extern "C" {
6882    #[link_name = "\u{1}aws_lc_0_35_0_CBS_asn1_bitstring_has_bit"]
6883    pub fn CBS_asn1_bitstring_has_bit(
6884        cbs: *const CBS,
6885        bit: ::std::os::raw::c_uint,
6886    ) -> ::std::os::raw::c_int;
6887}
6888extern "C" {
6889    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_valid_asn1_integer"]
6890    pub fn CBS_is_valid_asn1_integer(
6891        cbs: *const CBS,
6892        out_is_negative: *mut ::std::os::raw::c_int,
6893    ) -> ::std::os::raw::c_int;
6894}
6895extern "C" {
6896    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_unsigned_asn1_integer"]
6897    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
6898}
6899extern "C" {
6900    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_valid_asn1_oid"]
6901    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
6902}
6903extern "C" {
6904    #[link_name = "\u{1}aws_lc_0_35_0_CBS_asn1_oid_to_text"]
6905    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
6906}
6907extern "C" {
6908    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_int64"]
6909    pub fn CBS_get_optional_asn1_int64(
6910        cbs: *mut CBS,
6911        out: *mut i64,
6912        tag: CBS_ASN1_TAG,
6913        default_value: i64,
6914    ) -> ::std::os::raw::c_int;
6915}
6916#[repr(C)]
6917#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6918pub struct cbb_buffer_st {
6919    pub buf: *mut u8,
6920    pub len: usize,
6921    pub cap: usize,
6922    pub _bitfield_align_1: [u8; 0],
6923    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6924    pub __bindgen_padding_0: [u8; 7usize],
6925}
6926#[test]
6927fn bindgen_test_layout_cbb_buffer_st() {
6928    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
6929    let ptr = UNINIT.as_ptr();
6930    assert_eq!(
6931        ::std::mem::size_of::<cbb_buffer_st>(),
6932        32usize,
6933        "Size of cbb_buffer_st"
6934    );
6935    assert_eq!(
6936        ::std::mem::align_of::<cbb_buffer_st>(),
6937        8usize,
6938        "Alignment of cbb_buffer_st"
6939    );
6940    assert_eq!(
6941        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
6942        0usize,
6943        "Offset of field: cbb_buffer_st::buf"
6944    );
6945    assert_eq!(
6946        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6947        8usize,
6948        "Offset of field: cbb_buffer_st::len"
6949    );
6950    assert_eq!(
6951        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
6952        16usize,
6953        "Offset of field: cbb_buffer_st::cap"
6954    );
6955}
6956impl Default for cbb_buffer_st {
6957    fn default() -> Self {
6958        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6959        unsafe {
6960            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6961            s.assume_init()
6962        }
6963    }
6964}
6965impl cbb_buffer_st {
6966    #[inline]
6967    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
6968        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6969    }
6970    #[inline]
6971    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
6972        unsafe {
6973            let val: u32 = ::std::mem::transmute(val);
6974            self._bitfield_1.set(0usize, 1u8, val as u64)
6975        }
6976    }
6977    #[inline]
6978    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
6979        unsafe {
6980            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6981                ::std::ptr::addr_of!((*this)._bitfield_1),
6982                0usize,
6983                1u8,
6984            ) as u32)
6985        }
6986    }
6987    #[inline]
6988    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
6989        unsafe {
6990            let val: u32 = ::std::mem::transmute(val);
6991            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6992                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6993                0usize,
6994                1u8,
6995                val as u64,
6996            )
6997        }
6998    }
6999    #[inline]
7000    pub fn error(&self) -> ::std::os::raw::c_uint {
7001        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7002    }
7003    #[inline]
7004    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7005        unsafe {
7006            let val: u32 = ::std::mem::transmute(val);
7007            self._bitfield_1.set(1usize, 1u8, val as u64)
7008        }
7009    }
7010    #[inline]
7011    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7012        unsafe {
7013            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7014                ::std::ptr::addr_of!((*this)._bitfield_1),
7015                1usize,
7016                1u8,
7017            ) as u32)
7018        }
7019    }
7020    #[inline]
7021    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7022        unsafe {
7023            let val: u32 = ::std::mem::transmute(val);
7024            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7025                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7026                1usize,
7027                1u8,
7028                val as u64,
7029            )
7030        }
7031    }
7032    #[inline]
7033    pub fn new_bitfield_1(
7034        can_resize: ::std::os::raw::c_uint,
7035        error: ::std::os::raw::c_uint,
7036    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7037        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7038        __bindgen_bitfield_unit.set(0usize, 1u8, {
7039            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7040            can_resize as u64
7041        });
7042        __bindgen_bitfield_unit.set(1usize, 1u8, {
7043            let error: u32 = unsafe { ::std::mem::transmute(error) };
7044            error as u64
7045        });
7046        __bindgen_bitfield_unit
7047    }
7048}
7049#[repr(C)]
7050#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7051pub struct cbb_child_st {
7052    pub base: *mut cbb_buffer_st,
7053    pub offset: usize,
7054    pub pending_len_len: u8,
7055    pub _bitfield_align_1: [u8; 0],
7056    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7057    pub __bindgen_padding_0: [u16; 3usize],
7058}
7059#[test]
7060fn bindgen_test_layout_cbb_child_st() {
7061    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7062    let ptr = UNINIT.as_ptr();
7063    assert_eq!(
7064        ::std::mem::size_of::<cbb_child_st>(),
7065        24usize,
7066        "Size of cbb_child_st"
7067    );
7068    assert_eq!(
7069        ::std::mem::align_of::<cbb_child_st>(),
7070        8usize,
7071        "Alignment of cbb_child_st"
7072    );
7073    assert_eq!(
7074        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7075        0usize,
7076        "Offset of field: cbb_child_st::base"
7077    );
7078    assert_eq!(
7079        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7080        8usize,
7081        "Offset of field: cbb_child_st::offset"
7082    );
7083    assert_eq!(
7084        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7085        16usize,
7086        "Offset of field: cbb_child_st::pending_len_len"
7087    );
7088}
7089impl Default for cbb_child_st {
7090    fn default() -> Self {
7091        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7092        unsafe {
7093            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7094            s.assume_init()
7095        }
7096    }
7097}
7098impl cbb_child_st {
7099    #[inline]
7100    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7101        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7102    }
7103    #[inline]
7104    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7105        unsafe {
7106            let val: u32 = ::std::mem::transmute(val);
7107            self._bitfield_1.set(0usize, 1u8, val as u64)
7108        }
7109    }
7110    #[inline]
7111    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7112        unsafe {
7113            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7114                ::std::ptr::addr_of!((*this)._bitfield_1),
7115                0usize,
7116                1u8,
7117            ) as u32)
7118        }
7119    }
7120    #[inline]
7121    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7122        unsafe {
7123            let val: u32 = ::std::mem::transmute(val);
7124            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7125                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7126                0usize,
7127                1u8,
7128                val as u64,
7129            )
7130        }
7131    }
7132    #[inline]
7133    pub fn new_bitfield_1(
7134        pending_is_asn1: ::std::os::raw::c_uint,
7135    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7136        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7137        __bindgen_bitfield_unit.set(0usize, 1u8, {
7138            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7139            pending_is_asn1 as u64
7140        });
7141        __bindgen_bitfield_unit
7142    }
7143}
7144#[repr(C)]
7145#[derive(Copy, Clone)]
7146pub struct cbb_st {
7147    pub child: *mut CBB,
7148    pub is_child: ::std::os::raw::c_char,
7149    pub u: cbb_st__bindgen_ty_1,
7150}
7151#[repr(C)]
7152#[derive(Copy, Clone)]
7153pub union cbb_st__bindgen_ty_1 {
7154    pub base: cbb_buffer_st,
7155    pub child: cbb_child_st,
7156}
7157#[test]
7158fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7159    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7160    let ptr = UNINIT.as_ptr();
7161    assert_eq!(
7162        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7163        32usize,
7164        "Size of cbb_st__bindgen_ty_1"
7165    );
7166    assert_eq!(
7167        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7168        8usize,
7169        "Alignment of cbb_st__bindgen_ty_1"
7170    );
7171    assert_eq!(
7172        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7173        0usize,
7174        "Offset of field: cbb_st__bindgen_ty_1::base"
7175    );
7176    assert_eq!(
7177        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7178        0usize,
7179        "Offset of field: cbb_st__bindgen_ty_1::child"
7180    );
7181}
7182impl Default for cbb_st__bindgen_ty_1 {
7183    fn default() -> Self {
7184        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7185        unsafe {
7186            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7187            s.assume_init()
7188        }
7189    }
7190}
7191#[test]
7192fn bindgen_test_layout_cbb_st() {
7193    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7194    let ptr = UNINIT.as_ptr();
7195    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7196    assert_eq!(
7197        ::std::mem::align_of::<cbb_st>(),
7198        8usize,
7199        "Alignment of cbb_st"
7200    );
7201    assert_eq!(
7202        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7203        0usize,
7204        "Offset of field: cbb_st::child"
7205    );
7206    assert_eq!(
7207        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7208        8usize,
7209        "Offset of field: cbb_st::is_child"
7210    );
7211    assert_eq!(
7212        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7213        16usize,
7214        "Offset of field: cbb_st::u"
7215    );
7216}
7217impl Default for cbb_st {
7218    fn default() -> Self {
7219        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7220        unsafe {
7221            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7222            s.assume_init()
7223        }
7224    }
7225}
7226extern "C" {
7227    #[link_name = "\u{1}aws_lc_0_35_0_CBB_zero"]
7228    pub fn CBB_zero(cbb: *mut CBB);
7229}
7230extern "C" {
7231    #[link_name = "\u{1}aws_lc_0_35_0_CBB_init"]
7232    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7233}
7234extern "C" {
7235    #[link_name = "\u{1}aws_lc_0_35_0_CBB_init_fixed"]
7236    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7237}
7238extern "C" {
7239    #[link_name = "\u{1}aws_lc_0_35_0_CBB_cleanup"]
7240    pub fn CBB_cleanup(cbb: *mut CBB);
7241}
7242extern "C" {
7243    #[link_name = "\u{1}aws_lc_0_35_0_CBB_finish"]
7244    pub fn CBB_finish(
7245        cbb: *mut CBB,
7246        out_data: *mut *mut u8,
7247        out_len: *mut usize,
7248    ) -> ::std::os::raw::c_int;
7249}
7250extern "C" {
7251    #[link_name = "\u{1}aws_lc_0_35_0_CBB_flush"]
7252    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7253}
7254extern "C" {
7255    #[link_name = "\u{1}aws_lc_0_35_0_CBB_data"]
7256    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7257}
7258extern "C" {
7259    #[link_name = "\u{1}aws_lc_0_35_0_CBB_len"]
7260    pub fn CBB_len(cbb: *const CBB) -> usize;
7261}
7262extern "C" {
7263    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u8_length_prefixed"]
7264    pub fn CBB_add_u8_length_prefixed(
7265        cbb: *mut CBB,
7266        out_contents: *mut CBB,
7267    ) -> ::std::os::raw::c_int;
7268}
7269extern "C" {
7270    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u16_length_prefixed"]
7271    pub fn CBB_add_u16_length_prefixed(
7272        cbb: *mut CBB,
7273        out_contents: *mut CBB,
7274    ) -> ::std::os::raw::c_int;
7275}
7276extern "C" {
7277    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u24_length_prefixed"]
7278    pub fn CBB_add_u24_length_prefixed(
7279        cbb: *mut CBB,
7280        out_contents: *mut CBB,
7281    ) -> ::std::os::raw::c_int;
7282}
7283extern "C" {
7284    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1"]
7285    pub fn CBB_add_asn1(
7286        cbb: *mut CBB,
7287        out_contents: *mut CBB,
7288        tag: CBS_ASN1_TAG,
7289    ) -> ::std::os::raw::c_int;
7290}
7291extern "C" {
7292    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_bytes"]
7293    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7294}
7295extern "C" {
7296    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_zeros"]
7297    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7298}
7299extern "C" {
7300    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_space"]
7301    pub fn CBB_add_space(
7302        cbb: *mut CBB,
7303        out_data: *mut *mut u8,
7304        len: usize,
7305    ) -> ::std::os::raw::c_int;
7306}
7307extern "C" {
7308    #[link_name = "\u{1}aws_lc_0_35_0_CBB_reserve"]
7309    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7310}
7311extern "C" {
7312    #[link_name = "\u{1}aws_lc_0_35_0_CBB_did_write"]
7313    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7314}
7315extern "C" {
7316    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u8"]
7317    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7318}
7319extern "C" {
7320    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u16"]
7321    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7322}
7323extern "C" {
7324    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u16le"]
7325    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7326}
7327extern "C" {
7328    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u24"]
7329    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7330}
7331extern "C" {
7332    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u32"]
7333    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7334}
7335extern "C" {
7336    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u32le"]
7337    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7338}
7339extern "C" {
7340    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u64"]
7341    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7342}
7343extern "C" {
7344    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u64le"]
7345    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7346}
7347extern "C" {
7348    #[link_name = "\u{1}aws_lc_0_35_0_CBB_discard_child"]
7349    pub fn CBB_discard_child(cbb: *mut CBB);
7350}
7351extern "C" {
7352    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_uint64"]
7353    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7354}
7355extern "C" {
7356    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_uint64_with_tag"]
7357    pub fn CBB_add_asn1_uint64_with_tag(
7358        cbb: *mut CBB,
7359        value: u64,
7360        tag: CBS_ASN1_TAG,
7361    ) -> ::std::os::raw::c_int;
7362}
7363extern "C" {
7364    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_int64"]
7365    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7366}
7367extern "C" {
7368    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_int64_with_tag"]
7369    pub fn CBB_add_asn1_int64_with_tag(
7370        cbb: *mut CBB,
7371        value: i64,
7372        tag: CBS_ASN1_TAG,
7373    ) -> ::std::os::raw::c_int;
7374}
7375extern "C" {
7376    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_octet_string"]
7377    pub fn CBB_add_asn1_octet_string(
7378        cbb: *mut CBB,
7379        data: *const u8,
7380        data_len: usize,
7381    ) -> ::std::os::raw::c_int;
7382}
7383extern "C" {
7384    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_bool"]
7385    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7386}
7387extern "C" {
7388    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_oid_from_text"]
7389    pub fn CBB_add_asn1_oid_from_text(
7390        cbb: *mut CBB,
7391        text: *const ::std::os::raw::c_char,
7392        len: usize,
7393    ) -> ::std::os::raw::c_int;
7394}
7395extern "C" {
7396    #[link_name = "\u{1}aws_lc_0_35_0_CBB_flush_asn1_set_of"]
7397    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7398}
7399extern "C" {
7400    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7401}
7402extern "C" {
7403    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7404}
7405extern "C" {
7406    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7407}
7408extern "C" {
7409    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7410}
7411extern "C" {
7412    pub fn CBB_get_utf8_len(u: u32) -> usize;
7413}
7414extern "C" {
7415    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7416}
7417extern "C" {
7418    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7419}
7420extern "C" {
7421    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7422}
7423extern "C" {
7424    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7425}
7426extern "C" {
7427    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_chacha_20"]
7428    pub fn CRYPTO_chacha_20(
7429        out: *mut u8,
7430        in_: *const u8,
7431        in_len: usize,
7432        key: *const u8,
7433        nonce: *const u8,
7434        counter: u32,
7435    );
7436}
7437extern "C" {
7438    #[link_name = "\u{1}aws_lc_0_35_0_EVP_rc4"]
7439    pub fn EVP_rc4() -> *const EVP_CIPHER;
7440}
7441extern "C" {
7442    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_cbc"]
7443    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7444}
7445extern "C" {
7446    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ecb"]
7447    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7448}
7449extern "C" {
7450    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede"]
7451    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7452}
7453extern "C" {
7454    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede3"]
7455    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7456}
7457extern "C" {
7458    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede_cbc"]
7459    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7460}
7461extern "C" {
7462    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede3_cbc"]
7463    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7464}
7465extern "C" {
7466    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ecb"]
7467    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7468}
7469extern "C" {
7470    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cbc"]
7471    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7472}
7473extern "C" {
7474    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ctr"]
7475    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7476}
7477extern "C" {
7478    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ofb"]
7479    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7480}
7481extern "C" {
7482    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ecb"]
7483    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7484}
7485extern "C" {
7486    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cbc"]
7487    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7488}
7489extern "C" {
7490    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ctr"]
7491    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7492}
7493extern "C" {
7494    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ofb"]
7495    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7496}
7497extern "C" {
7498    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_xts"]
7499    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7500}
7501extern "C" {
7502    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_wrap"]
7503    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7504}
7505extern "C" {
7506    #[link_name = "\u{1}aws_lc_0_35_0_EVP_enc_null"]
7507    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7508}
7509extern "C" {
7510    #[link_name = "\u{1}aws_lc_0_35_0_EVP_rc2_cbc"]
7511    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7512}
7513extern "C" {
7514    #[link_name = "\u{1}aws_lc_0_35_0_EVP_rc2_40_cbc"]
7515    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7516}
7517extern "C" {
7518    #[link_name = "\u{1}aws_lc_0_35_0_EVP_chacha20_poly1305"]
7519    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7520}
7521extern "C" {
7522    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_cipherbynid"]
7523    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7524}
7525extern "C" {
7526    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_init"]
7527    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7528}
7529extern "C" {
7530    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_new"]
7531    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7532}
7533extern "C" {
7534    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_cleanup"]
7535    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7536}
7537extern "C" {
7538    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_free"]
7539    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7540}
7541extern "C" {
7542    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_copy"]
7543    pub fn EVP_CIPHER_CTX_copy(
7544        out: *mut EVP_CIPHER_CTX,
7545        in_: *const EVP_CIPHER_CTX,
7546    ) -> ::std::os::raw::c_int;
7547}
7548extern "C" {
7549    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_reset"]
7550    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7551}
7552extern "C" {
7553    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherInit_ex"]
7554    pub fn EVP_CipherInit_ex(
7555        ctx: *mut EVP_CIPHER_CTX,
7556        cipher: *const EVP_CIPHER,
7557        engine: *mut ENGINE,
7558        key: *const u8,
7559        iv: *const u8,
7560        enc: ::std::os::raw::c_int,
7561    ) -> ::std::os::raw::c_int;
7562}
7563extern "C" {
7564    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptInit_ex"]
7565    pub fn EVP_EncryptInit_ex(
7566        ctx: *mut EVP_CIPHER_CTX,
7567        cipher: *const EVP_CIPHER,
7568        impl_: *mut ENGINE,
7569        key: *const u8,
7570        iv: *const u8,
7571    ) -> ::std::os::raw::c_int;
7572}
7573extern "C" {
7574    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptInit_ex"]
7575    pub fn EVP_DecryptInit_ex(
7576        ctx: *mut EVP_CIPHER_CTX,
7577        cipher: *const EVP_CIPHER,
7578        impl_: *mut ENGINE,
7579        key: *const u8,
7580        iv: *const u8,
7581    ) -> ::std::os::raw::c_int;
7582}
7583extern "C" {
7584    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptUpdate"]
7585    pub fn EVP_EncryptUpdate(
7586        ctx: *mut EVP_CIPHER_CTX,
7587        out: *mut u8,
7588        out_len: *mut ::std::os::raw::c_int,
7589        in_: *const u8,
7590        in_len: ::std::os::raw::c_int,
7591    ) -> ::std::os::raw::c_int;
7592}
7593extern "C" {
7594    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptFinal_ex"]
7595    pub fn EVP_EncryptFinal_ex(
7596        ctx: *mut EVP_CIPHER_CTX,
7597        out: *mut u8,
7598        out_len: *mut ::std::os::raw::c_int,
7599    ) -> ::std::os::raw::c_int;
7600}
7601extern "C" {
7602    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptUpdate"]
7603    pub fn EVP_DecryptUpdate(
7604        ctx: *mut EVP_CIPHER_CTX,
7605        out: *mut u8,
7606        out_len: *mut ::std::os::raw::c_int,
7607        in_: *const u8,
7608        in_len: ::std::os::raw::c_int,
7609    ) -> ::std::os::raw::c_int;
7610}
7611extern "C" {
7612    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptFinal_ex"]
7613    pub fn EVP_DecryptFinal_ex(
7614        ctx: *mut EVP_CIPHER_CTX,
7615        out: *mut u8,
7616        out_len: *mut ::std::os::raw::c_int,
7617    ) -> ::std::os::raw::c_int;
7618}
7619extern "C" {
7620    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherUpdate"]
7621    pub fn EVP_CipherUpdate(
7622        ctx: *mut EVP_CIPHER_CTX,
7623        out: *mut u8,
7624        out_len: *mut ::std::os::raw::c_int,
7625        in_: *const u8,
7626        in_len: ::std::os::raw::c_int,
7627    ) -> ::std::os::raw::c_int;
7628}
7629extern "C" {
7630    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherFinal_ex"]
7631    pub fn EVP_CipherFinal_ex(
7632        ctx: *mut EVP_CIPHER_CTX,
7633        out: *mut u8,
7634        out_len: *mut ::std::os::raw::c_int,
7635    ) -> ::std::os::raw::c_int;
7636}
7637extern "C" {
7638    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_cipher"]
7639    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7640}
7641extern "C" {
7642    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_nid"]
7643    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7644}
7645extern "C" {
7646    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_encrypting"]
7647    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7648}
7649extern "C" {
7650    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_block_size"]
7651    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7652}
7653extern "C" {
7654    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_key_length"]
7655    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7656}
7657extern "C" {
7658    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_iv_length"]
7659    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7660}
7661extern "C" {
7662    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_get_app_data"]
7663    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7664}
7665extern "C" {
7666    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_app_data"]
7667    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7668}
7669extern "C" {
7670    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_flags"]
7671    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7672}
7673extern "C" {
7674    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_mode"]
7675    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7676}
7677extern "C" {
7678    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_ctrl"]
7679    pub fn EVP_CIPHER_CTX_ctrl(
7680        ctx: *mut EVP_CIPHER_CTX,
7681        command: ::std::os::raw::c_int,
7682        arg: ::std::os::raw::c_int,
7683        ptr: *mut ::std::os::raw::c_void,
7684    ) -> ::std::os::raw::c_int;
7685}
7686extern "C" {
7687    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_padding"]
7688    pub fn EVP_CIPHER_CTX_set_padding(
7689        ctx: *mut EVP_CIPHER_CTX,
7690        pad: ::std::os::raw::c_int,
7691    ) -> ::std::os::raw::c_int;
7692}
7693extern "C" {
7694    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_key_length"]
7695    pub fn EVP_CIPHER_CTX_set_key_length(
7696        ctx: *mut EVP_CIPHER_CTX,
7697        key_len: ::std::os::raw::c_uint,
7698    ) -> ::std::os::raw::c_int;
7699}
7700extern "C" {
7701    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_nid"]
7702    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7703}
7704extern "C" {
7705    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_name"]
7706    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7707}
7708extern "C" {
7709    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_block_size"]
7710    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7711}
7712extern "C" {
7713    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_key_length"]
7714    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7715}
7716extern "C" {
7717    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_iv_length"]
7718    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7719}
7720extern "C" {
7721    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_flags"]
7722    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7723}
7724extern "C" {
7725    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_mode"]
7726    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7727}
7728extern "C" {
7729    #[link_name = "\u{1}aws_lc_0_35_0_EVP_BytesToKey"]
7730    pub fn EVP_BytesToKey(
7731        type_: *const EVP_CIPHER,
7732        md: *const EVP_MD,
7733        salt: *const u8,
7734        data: *const u8,
7735        data_len: usize,
7736        count: ::std::os::raw::c_uint,
7737        key: *mut u8,
7738        iv: *mut u8,
7739    ) -> ::std::os::raw::c_int;
7740}
7741extern "C" {
7742    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cbc_hmac_sha1"]
7743    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7744}
7745extern "C" {
7746    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cbc_hmac_sha1"]
7747    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7748}
7749extern "C" {
7750    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cbc_hmac_sha256"]
7751    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7752}
7753extern "C" {
7754    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cbc_hmac_sha256"]
7755    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7756}
7757extern "C" {
7758    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherInit"]
7759    pub fn EVP_CipherInit(
7760        ctx: *mut EVP_CIPHER_CTX,
7761        cipher: *const EVP_CIPHER,
7762        key: *const u8,
7763        iv: *const u8,
7764        enc: ::std::os::raw::c_int,
7765    ) -> ::std::os::raw::c_int;
7766}
7767extern "C" {
7768    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptInit"]
7769    pub fn EVP_EncryptInit(
7770        ctx: *mut EVP_CIPHER_CTX,
7771        cipher: *const EVP_CIPHER,
7772        key: *const u8,
7773        iv: *const u8,
7774    ) -> ::std::os::raw::c_int;
7775}
7776extern "C" {
7777    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptInit"]
7778    pub fn EVP_DecryptInit(
7779        ctx: *mut EVP_CIPHER_CTX,
7780        cipher: *const EVP_CIPHER,
7781        key: *const u8,
7782        iv: *const u8,
7783    ) -> ::std::os::raw::c_int;
7784}
7785extern "C" {
7786    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherFinal"]
7787    pub fn EVP_CipherFinal(
7788        ctx: *mut EVP_CIPHER_CTX,
7789        out: *mut u8,
7790        out_len: *mut ::std::os::raw::c_int,
7791    ) -> ::std::os::raw::c_int;
7792}
7793extern "C" {
7794    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptFinal"]
7795    pub fn EVP_EncryptFinal(
7796        ctx: *mut EVP_CIPHER_CTX,
7797        out: *mut u8,
7798        out_len: *mut ::std::os::raw::c_int,
7799    ) -> ::std::os::raw::c_int;
7800}
7801extern "C" {
7802    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptFinal"]
7803    pub fn EVP_DecryptFinal(
7804        ctx: *mut EVP_CIPHER_CTX,
7805        out: *mut u8,
7806        out_len: *mut ::std::os::raw::c_int,
7807    ) -> ::std::os::raw::c_int;
7808}
7809extern "C" {
7810    #[link_name = "\u{1}aws_lc_0_35_0_EVP_Cipher"]
7811    pub fn EVP_Cipher(
7812        ctx: *mut EVP_CIPHER_CTX,
7813        out: *mut u8,
7814        in_: *const u8,
7815        in_len: usize,
7816    ) -> ::std::os::raw::c_int;
7817}
7818extern "C" {
7819    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_cipherbyname"]
7820    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7821}
7822extern "C" {
7823    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_gcm"]
7824    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7825}
7826extern "C" {
7827    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_gcm"]
7828    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7829}
7830extern "C" {
7831    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ccm"]
7832    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
7833}
7834extern "C" {
7835    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ccm"]
7836    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
7837}
7838extern "C" {
7839    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ccm"]
7840    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
7841}
7842extern "C" {
7843    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ecb"]
7844    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
7845}
7846extern "C" {
7847    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cbc"]
7848    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
7849}
7850extern "C" {
7851    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ctr"]
7852    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
7853}
7854extern "C" {
7855    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_gcm"]
7856    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
7857}
7858extern "C" {
7859    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ofb"]
7860    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
7861}
7862extern "C" {
7863    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede3_ecb"]
7864    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
7865}
7866extern "C" {
7867    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb128"]
7868    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
7869}
7870extern "C" {
7871    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb"]
7872    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
7873}
7874extern "C" {
7875    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb1"]
7876    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
7877}
7878extern "C" {
7879    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb8"]
7880    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
7881}
7882extern "C" {
7883    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb128"]
7884    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
7885}
7886extern "C" {
7887    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb"]
7888    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
7889}
7890extern "C" {
7891    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb1"]
7892    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
7893}
7894extern "C" {
7895    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb8"]
7896    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
7897}
7898extern "C" {
7899    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb128"]
7900    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
7901}
7902extern "C" {
7903    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb"]
7904    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
7905}
7906extern "C" {
7907    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb1"]
7908    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
7909}
7910extern "C" {
7911    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb8"]
7912    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
7913}
7914extern "C" {
7915    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_ecb"]
7916    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
7917}
7918extern "C" {
7919    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_cbc"]
7920    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
7921}
7922extern "C" {
7923    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_cfb"]
7924    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
7925}
7926extern "C" {
7927    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_cfb64"]
7928    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
7929}
7930extern "C" {
7931    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_ofb"]
7932    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
7933}
7934extern "C" {
7935    #[link_name = "\u{1}aws_lc_0_35_0_EVP_cast5_ecb"]
7936    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
7937}
7938extern "C" {
7939    #[link_name = "\u{1}aws_lc_0_35_0_EVP_cast5_cbc"]
7940    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
7941}
7942extern "C" {
7943    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_flags"]
7944    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
7945}
7946extern "C" {
7947    #[link_name = "\u{1}aws_lc_0_35_0_EVP_add_cipher_alias"]
7948    pub fn EVP_add_cipher_alias(
7949        a: *const ::std::os::raw::c_char,
7950        b: *const ::std::os::raw::c_char,
7951    ) -> ::std::os::raw::c_int;
7952}
7953#[repr(C)]
7954#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7955pub struct evp_cipher_ctx_st {
7956    pub cipher: *const EVP_CIPHER,
7957    pub app_data: *mut ::std::os::raw::c_void,
7958    pub cipher_data: *mut ::std::os::raw::c_void,
7959    pub key_len: ::std::os::raw::c_uint,
7960    pub encrypt: ::std::os::raw::c_int,
7961    pub flags: u32,
7962    pub oiv: [u8; 16usize],
7963    pub iv: [u8; 16usize],
7964    pub buf: [u8; 32usize],
7965    pub buf_len: ::std::os::raw::c_int,
7966    pub num: ::std::os::raw::c_uint,
7967    pub final_used: ::std::os::raw::c_int,
7968    pub final_: [u8; 32usize],
7969    pub poisoned: ::std::os::raw::c_int,
7970}
7971#[test]
7972fn bindgen_test_layout_evp_cipher_ctx_st() {
7973    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
7974    let ptr = UNINIT.as_ptr();
7975    assert_eq!(
7976        ::std::mem::size_of::<evp_cipher_ctx_st>(),
7977        152usize,
7978        "Size of evp_cipher_ctx_st"
7979    );
7980    assert_eq!(
7981        ::std::mem::align_of::<evp_cipher_ctx_st>(),
7982        8usize,
7983        "Alignment of evp_cipher_ctx_st"
7984    );
7985    assert_eq!(
7986        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
7987        0usize,
7988        "Offset of field: evp_cipher_ctx_st::cipher"
7989    );
7990    assert_eq!(
7991        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
7992        8usize,
7993        "Offset of field: evp_cipher_ctx_st::app_data"
7994    );
7995    assert_eq!(
7996        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
7997        16usize,
7998        "Offset of field: evp_cipher_ctx_st::cipher_data"
7999    );
8000    assert_eq!(
8001        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8002        24usize,
8003        "Offset of field: evp_cipher_ctx_st::key_len"
8004    );
8005    assert_eq!(
8006        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8007        28usize,
8008        "Offset of field: evp_cipher_ctx_st::encrypt"
8009    );
8010    assert_eq!(
8011        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8012        32usize,
8013        "Offset of field: evp_cipher_ctx_st::flags"
8014    );
8015    assert_eq!(
8016        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8017        36usize,
8018        "Offset of field: evp_cipher_ctx_st::oiv"
8019    );
8020    assert_eq!(
8021        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8022        52usize,
8023        "Offset of field: evp_cipher_ctx_st::iv"
8024    );
8025    assert_eq!(
8026        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8027        68usize,
8028        "Offset of field: evp_cipher_ctx_st::buf"
8029    );
8030    assert_eq!(
8031        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8032        100usize,
8033        "Offset of field: evp_cipher_ctx_st::buf_len"
8034    );
8035    assert_eq!(
8036        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8037        104usize,
8038        "Offset of field: evp_cipher_ctx_st::num"
8039    );
8040    assert_eq!(
8041        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8042        108usize,
8043        "Offset of field: evp_cipher_ctx_st::final_used"
8044    );
8045    assert_eq!(
8046        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8047        112usize,
8048        "Offset of field: evp_cipher_ctx_st::final_"
8049    );
8050    assert_eq!(
8051        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8052        144usize,
8053        "Offset of field: evp_cipher_ctx_st::poisoned"
8054    );
8055}
8056impl Default for evp_cipher_ctx_st {
8057    fn default() -> Self {
8058        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8059        unsafe {
8060            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8061            s.assume_init()
8062        }
8063    }
8064}
8065#[repr(C)]
8066#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8067pub struct evp_cipher_info_st {
8068    pub cipher: *const EVP_CIPHER,
8069    pub iv: [::std::os::raw::c_uchar; 16usize],
8070}
8071#[test]
8072fn bindgen_test_layout_evp_cipher_info_st() {
8073    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8074    let ptr = UNINIT.as_ptr();
8075    assert_eq!(
8076        ::std::mem::size_of::<evp_cipher_info_st>(),
8077        24usize,
8078        "Size of evp_cipher_info_st"
8079    );
8080    assert_eq!(
8081        ::std::mem::align_of::<evp_cipher_info_st>(),
8082        8usize,
8083        "Alignment of evp_cipher_info_st"
8084    );
8085    assert_eq!(
8086        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8087        0usize,
8088        "Offset of field: evp_cipher_info_st::cipher"
8089    );
8090    assert_eq!(
8091        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8092        8usize,
8093        "Offset of field: evp_cipher_info_st::iv"
8094    );
8095}
8096impl Default for evp_cipher_info_st {
8097    fn default() -> Self {
8098        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8099        unsafe {
8100            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8101            s.assume_init()
8102        }
8103    }
8104}
8105pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8106extern "C" {
8107    #[link_name = "\u{1}aws_lc_0_35_0_AES_CMAC"]
8108    pub fn AES_CMAC(
8109        out: *mut u8,
8110        key: *const u8,
8111        key_len: usize,
8112        in_: *const u8,
8113        in_len: usize,
8114    ) -> ::std::os::raw::c_int;
8115}
8116extern "C" {
8117    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_new"]
8118    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8119}
8120extern "C" {
8121    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_free"]
8122    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8123}
8124extern "C" {
8125    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_copy"]
8126    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8127}
8128extern "C" {
8129    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Init"]
8130    pub fn CMAC_Init(
8131        ctx: *mut CMAC_CTX,
8132        key: *const ::std::os::raw::c_void,
8133        key_len: usize,
8134        cipher: *const EVP_CIPHER,
8135        engine: *mut ENGINE,
8136    ) -> ::std::os::raw::c_int;
8137}
8138extern "C" {
8139    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Reset"]
8140    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8141}
8142extern "C" {
8143    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Update"]
8144    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8145}
8146extern "C" {
8147    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Final"]
8148    pub fn CMAC_Final(
8149        ctx: *mut CMAC_CTX,
8150        out: *mut u8,
8151        out_len: *mut usize,
8152    ) -> ::std::os::raw::c_int;
8153}
8154extern "C" {
8155    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_get0_cipher_ctx"]
8156    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8157}
8158#[repr(C)]
8159#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8160pub struct conf_value_st {
8161    pub section: *mut ::std::os::raw::c_char,
8162    pub name: *mut ::std::os::raw::c_char,
8163    pub value: *mut ::std::os::raw::c_char,
8164}
8165#[test]
8166fn bindgen_test_layout_conf_value_st() {
8167    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8168    let ptr = UNINIT.as_ptr();
8169    assert_eq!(
8170        ::std::mem::size_of::<conf_value_st>(),
8171        24usize,
8172        "Size of conf_value_st"
8173    );
8174    assert_eq!(
8175        ::std::mem::align_of::<conf_value_st>(),
8176        8usize,
8177        "Alignment of conf_value_st"
8178    );
8179    assert_eq!(
8180        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8181        0usize,
8182        "Offset of field: conf_value_st::section"
8183    );
8184    assert_eq!(
8185        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8186        8usize,
8187        "Offset of field: conf_value_st::name"
8188    );
8189    assert_eq!(
8190        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8191        16usize,
8192        "Offset of field: conf_value_st::value"
8193    );
8194}
8195impl Default for conf_value_st {
8196    fn default() -> Self {
8197        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8198        unsafe {
8199            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8200            s.assume_init()
8201        }
8202    }
8203}
8204#[repr(C)]
8205#[derive(Debug, Copy, Clone)]
8206pub struct stack_st_CONF_VALUE {
8207    _unused: [u8; 0],
8208}
8209#[repr(C)]
8210#[derive(Debug, Copy, Clone)]
8211pub struct lhash_st_CONF_VALUE {
8212    _unused: [u8; 0],
8213}
8214#[repr(C)]
8215#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8216pub struct conf_st {
8217    pub data: *mut lhash_st_CONF_VALUE,
8218}
8219#[test]
8220fn bindgen_test_layout_conf_st() {
8221    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8222    let ptr = UNINIT.as_ptr();
8223    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8224    assert_eq!(
8225        ::std::mem::align_of::<conf_st>(),
8226        8usize,
8227        "Alignment of conf_st"
8228    );
8229    assert_eq!(
8230        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8231        0usize,
8232        "Offset of field: conf_st::data"
8233    );
8234}
8235impl Default for conf_st {
8236    fn default() -> Self {
8237        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8238        unsafe {
8239            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8240            s.assume_init()
8241        }
8242    }
8243}
8244extern "C" {
8245    #[link_name = "\u{1}aws_lc_0_35_0_X25519_keypair"]
8246    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8247}
8248extern "C" {
8249    #[link_name = "\u{1}aws_lc_0_35_0_X25519"]
8250    pub fn X25519(
8251        out_shared_key: *mut u8,
8252        private_key: *const u8,
8253        peer_public_value: *const u8,
8254    ) -> ::std::os::raw::c_int;
8255}
8256extern "C" {
8257    #[link_name = "\u{1}aws_lc_0_35_0_X25519_public_from_private"]
8258    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8259}
8260extern "C" {
8261    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_keypair"]
8262    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8263}
8264extern "C" {
8265    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_sign"]
8266    pub fn ED25519_sign(
8267        out_sig: *mut u8,
8268        message: *const u8,
8269        message_len: usize,
8270        private_key: *const u8,
8271    ) -> ::std::os::raw::c_int;
8272}
8273extern "C" {
8274    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_verify"]
8275    pub fn ED25519_verify(
8276        message: *const u8,
8277        message_len: usize,
8278        signature: *const u8,
8279        public_key: *const u8,
8280    ) -> ::std::os::raw::c_int;
8281}
8282extern "C" {
8283    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ctx_sign"]
8284    pub fn ED25519ctx_sign(
8285        out_sig: *mut u8,
8286        message: *const u8,
8287        message_len: usize,
8288        private_key: *const u8,
8289        context: *const u8,
8290        context_len: usize,
8291    ) -> ::std::os::raw::c_int;
8292}
8293extern "C" {
8294    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ctx_verify"]
8295    pub fn ED25519ctx_verify(
8296        message: *const u8,
8297        message_len: usize,
8298        signature: *const u8,
8299        public_key: *const u8,
8300        context: *const u8,
8301        context_len: usize,
8302    ) -> ::std::os::raw::c_int;
8303}
8304extern "C" {
8305    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_sign"]
8306    pub fn ED25519ph_sign(
8307        out_sig: *mut u8,
8308        message: *const u8,
8309        message_len: usize,
8310        private_key: *const u8,
8311        context: *const u8,
8312        context_len: usize,
8313    ) -> ::std::os::raw::c_int;
8314}
8315extern "C" {
8316    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_verify"]
8317    pub fn ED25519ph_verify(
8318        message: *const u8,
8319        message_len: usize,
8320        signature: *const u8,
8321        public_key: *const u8,
8322        context: *const u8,
8323        context_len: usize,
8324    ) -> ::std::os::raw::c_int;
8325}
8326extern "C" {
8327    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_sign_digest"]
8328    pub fn ED25519ph_sign_digest(
8329        out_sig: *mut u8,
8330        digest: *const u8,
8331        private_key: *const u8,
8332        context: *const u8,
8333        context_len: usize,
8334    ) -> ::std::os::raw::c_int;
8335}
8336extern "C" {
8337    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_verify_digest"]
8338    pub fn ED25519ph_verify_digest(
8339        digest: *const u8,
8340        signature: *const u8,
8341        public_key: *const u8,
8342        context: *const u8,
8343        context_len: usize,
8344    ) -> ::std::os::raw::c_int;
8345}
8346extern "C" {
8347    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_keypair_from_seed"]
8348    pub fn ED25519_keypair_from_seed(
8349        out_public_key: *mut u8,
8350        out_private_key: *mut u8,
8351        seed: *const u8,
8352    );
8353}
8354pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8355pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8356pub type spake2_role_t = ::std::os::raw::c_uint;
8357extern "C" {
8358    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_CTX_new"]
8359    pub fn SPAKE2_CTX_new(
8360        my_role: spake2_role_t,
8361        my_name: *const u8,
8362        my_name_len: usize,
8363        their_name: *const u8,
8364        their_name_len: usize,
8365    ) -> *mut SPAKE2_CTX;
8366}
8367extern "C" {
8368    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_CTX_free"]
8369    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8370}
8371extern "C" {
8372    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_generate_msg"]
8373    pub fn SPAKE2_generate_msg(
8374        ctx: *mut SPAKE2_CTX,
8375        out: *mut u8,
8376        out_len: *mut usize,
8377        max_out_len: usize,
8378        password: *const u8,
8379        password_len: usize,
8380    ) -> ::std::os::raw::c_int;
8381}
8382extern "C" {
8383    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_process_msg"]
8384    pub fn SPAKE2_process_msg(
8385        ctx: *mut SPAKE2_CTX,
8386        out_key: *mut u8,
8387        out_key_len: *mut usize,
8388        max_out_key_len: usize,
8389        their_msg: *const u8,
8390        their_msg_len: usize,
8391    ) -> ::std::os::raw::c_int;
8392}
8393extern "C" {
8394    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md4"]
8395    pub fn EVP_md4() -> *const EVP_MD;
8396}
8397extern "C" {
8398    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md5"]
8399    pub fn EVP_md5() -> *const EVP_MD;
8400}
8401extern "C" {
8402    #[link_name = "\u{1}aws_lc_0_35_0_EVP_ripemd160"]
8403    pub fn EVP_ripemd160() -> *const EVP_MD;
8404}
8405extern "C" {
8406    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha1"]
8407    pub fn EVP_sha1() -> *const EVP_MD;
8408}
8409extern "C" {
8410    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha224"]
8411    pub fn EVP_sha224() -> *const EVP_MD;
8412}
8413extern "C" {
8414    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha256"]
8415    pub fn EVP_sha256() -> *const EVP_MD;
8416}
8417extern "C" {
8418    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha384"]
8419    pub fn EVP_sha384() -> *const EVP_MD;
8420}
8421extern "C" {
8422    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha512"]
8423    pub fn EVP_sha512() -> *const EVP_MD;
8424}
8425extern "C" {
8426    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha512_224"]
8427    pub fn EVP_sha512_224() -> *const EVP_MD;
8428}
8429extern "C" {
8430    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha512_256"]
8431    pub fn EVP_sha512_256() -> *const EVP_MD;
8432}
8433extern "C" {
8434    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_224"]
8435    pub fn EVP_sha3_224() -> *const EVP_MD;
8436}
8437extern "C" {
8438    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_256"]
8439    pub fn EVP_sha3_256() -> *const EVP_MD;
8440}
8441extern "C" {
8442    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_384"]
8443    pub fn EVP_sha3_384() -> *const EVP_MD;
8444}
8445extern "C" {
8446    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_512"]
8447    pub fn EVP_sha3_512() -> *const EVP_MD;
8448}
8449extern "C" {
8450    #[link_name = "\u{1}aws_lc_0_35_0_EVP_shake128"]
8451    pub fn EVP_shake128() -> *const EVP_MD;
8452}
8453extern "C" {
8454    #[link_name = "\u{1}aws_lc_0_35_0_EVP_shake256"]
8455    pub fn EVP_shake256() -> *const EVP_MD;
8456}
8457extern "C" {
8458    #[link_name = "\u{1}aws_lc_0_35_0_EVP_blake2b256"]
8459    pub fn EVP_blake2b256() -> *const EVP_MD;
8460}
8461extern "C" {
8462    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md5_sha1"]
8463    pub fn EVP_md5_sha1() -> *const EVP_MD;
8464}
8465extern "C" {
8466    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_digestbynid"]
8467    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8468}
8469extern "C" {
8470    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_digestbyobj"]
8471    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8472}
8473extern "C" {
8474    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_init"]
8475    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8476}
8477extern "C" {
8478    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_new"]
8479    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8480}
8481extern "C" {
8482    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_cleanup"]
8483    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8484}
8485extern "C" {
8486    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_cleanse"]
8487    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8488}
8489extern "C" {
8490    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_free"]
8491    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8492}
8493extern "C" {
8494    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_copy_ex"]
8495    pub fn EVP_MD_CTX_copy_ex(
8496        out: *mut EVP_MD_CTX,
8497        in_: *const EVP_MD_CTX,
8498    ) -> ::std::os::raw::c_int;
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_move"]
8502    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8503}
8504extern "C" {
8505    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_reset"]
8506    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8507}
8508extern "C" {
8509    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestInit_ex"]
8510    pub fn EVP_DigestInit_ex(
8511        ctx: *mut EVP_MD_CTX,
8512        type_: *const EVP_MD,
8513        engine: *mut ENGINE,
8514    ) -> ::std::os::raw::c_int;
8515}
8516extern "C" {
8517    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestInit"]
8518    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8519}
8520extern "C" {
8521    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestUpdate"]
8522    pub fn EVP_DigestUpdate(
8523        ctx: *mut EVP_MD_CTX,
8524        data: *const ::std::os::raw::c_void,
8525        len: usize,
8526    ) -> ::std::os::raw::c_int;
8527}
8528extern "C" {
8529    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestFinal_ex"]
8530    pub fn EVP_DigestFinal_ex(
8531        ctx: *mut EVP_MD_CTX,
8532        md_out: *mut u8,
8533        out_size: *mut ::std::os::raw::c_uint,
8534    ) -> ::std::os::raw::c_int;
8535}
8536extern "C" {
8537    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestFinal"]
8538    pub fn EVP_DigestFinal(
8539        ctx: *mut EVP_MD_CTX,
8540        md_out: *mut u8,
8541        out_size: *mut ::std::os::raw::c_uint,
8542    ) -> ::std::os::raw::c_int;
8543}
8544extern "C" {
8545    #[link_name = "\u{1}aws_lc_0_35_0_EVP_Digest"]
8546    pub fn EVP_Digest(
8547        data: *const ::std::os::raw::c_void,
8548        len: usize,
8549        md_out: *mut u8,
8550        out_size: *mut ::std::os::raw::c_uint,
8551        type_: *const EVP_MD,
8552        impl_: *mut ENGINE,
8553    ) -> ::std::os::raw::c_int;
8554}
8555extern "C" {
8556    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_type"]
8557    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8558}
8559extern "C" {
8560    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_flags"]
8561    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8562}
8563extern "C" {
8564    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_size"]
8565    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8566}
8567extern "C" {
8568    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_block_size"]
8569    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8570}
8571extern "C" {
8572    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_md"]
8573    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8574}
8575extern "C" {
8576    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_size"]
8577    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8578}
8579extern "C" {
8580    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_block_size"]
8581    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8582}
8583extern "C" {
8584    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_type"]
8585    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8586}
8587extern "C" {
8588    #[link_name = "\u{1}aws_lc_0_35_0_EVP_parse_digest_algorithm"]
8589    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8590}
8591extern "C" {
8592    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_digest_algorithm"]
8593    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8594}
8595extern "C" {
8596    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_copy"]
8597    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8598}
8599extern "C" {
8600    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_digestbyname"]
8601    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8602}
8603extern "C" {
8604    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_create"]
8605    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8606}
8607extern "C" {
8608    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_destroy"]
8609    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8610}
8611extern "C" {
8612    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestFinalXOF"]
8613    pub fn EVP_DigestFinalXOF(
8614        ctx: *mut EVP_MD_CTX,
8615        out: *mut u8,
8616        len: usize,
8617    ) -> ::std::os::raw::c_int;
8618}
8619extern "C" {
8620    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSqueeze"]
8621    pub fn EVP_DigestSqueeze(
8622        ctx: *mut EVP_MD_CTX,
8623        out: *mut u8,
8624        len: usize,
8625    ) -> ::std::os::raw::c_int;
8626}
8627extern "C" {
8628    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_meth_get_flags"]
8629    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8630}
8631extern "C" {
8632    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_nid"]
8633    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8634}
8635extern "C" {
8636    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_set_pkey_ctx"]
8637    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8638}
8639extern "C" {
8640    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_get_pkey_ctx"]
8641    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8642}
8643extern "C" {
8644    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_pkey_ctx"]
8645    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8646}
8647#[repr(C)]
8648#[derive(Debug, Copy, Clone)]
8649pub struct evp_md_pctx_ops {
8650    _unused: [u8; 0],
8651}
8652#[repr(C)]
8653#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8654pub struct env_md_ctx_st {
8655    pub digest: *const EVP_MD,
8656    pub md_data: *mut ::std::os::raw::c_void,
8657    pub update: ::std::option::Option<
8658        unsafe extern "C" fn(
8659            ctx: *mut EVP_MD_CTX,
8660            data: *const ::std::os::raw::c_void,
8661            count: usize,
8662        ) -> ::std::os::raw::c_int,
8663    >,
8664    pub pctx: *mut EVP_PKEY_CTX,
8665    pub pctx_ops: *const evp_md_pctx_ops,
8666    pub flags: ::std::os::raw::c_ulong,
8667}
8668#[test]
8669fn bindgen_test_layout_env_md_ctx_st() {
8670    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8671    let ptr = UNINIT.as_ptr();
8672    assert_eq!(
8673        ::std::mem::size_of::<env_md_ctx_st>(),
8674        48usize,
8675        "Size of env_md_ctx_st"
8676    );
8677    assert_eq!(
8678        ::std::mem::align_of::<env_md_ctx_st>(),
8679        8usize,
8680        "Alignment of env_md_ctx_st"
8681    );
8682    assert_eq!(
8683        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8684        0usize,
8685        "Offset of field: env_md_ctx_st::digest"
8686    );
8687    assert_eq!(
8688        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8689        8usize,
8690        "Offset of field: env_md_ctx_st::md_data"
8691    );
8692    assert_eq!(
8693        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8694        16usize,
8695        "Offset of field: env_md_ctx_st::update"
8696    );
8697    assert_eq!(
8698        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8699        24usize,
8700        "Offset of field: env_md_ctx_st::pctx"
8701    );
8702    assert_eq!(
8703        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8704        32usize,
8705        "Offset of field: env_md_ctx_st::pctx_ops"
8706    );
8707    assert_eq!(
8708        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8709        40usize,
8710        "Offset of field: env_md_ctx_st::flags"
8711    );
8712}
8713impl Default for env_md_ctx_st {
8714    fn default() -> Self {
8715        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8716        unsafe {
8717            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8718            s.assume_init()
8719        }
8720    }
8721}
8722extern "C" {
8723    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_unstable_sha3_enable"]
8724    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8725}
8726extern "C" {
8727    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_unstable_sha3_is_enabled"]
8728    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8729}
8730extern "C" {
8731    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_set_flags"]
8732    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8733}
8734extern "C" {
8735    #[link_name = "\u{1}aws_lc_0_35_0_EVP_add_digest"]
8736    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8737}
8738extern "C" {
8739    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md_null"]
8740    pub fn EVP_md_null() -> *const EVP_MD;
8741}
8742#[repr(C)]
8743#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8744pub struct DSA_SIG_st {
8745    pub r: *mut BIGNUM,
8746    pub s: *mut BIGNUM,
8747}
8748#[test]
8749fn bindgen_test_layout_DSA_SIG_st() {
8750    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8751    let ptr = UNINIT.as_ptr();
8752    assert_eq!(
8753        ::std::mem::size_of::<DSA_SIG_st>(),
8754        16usize,
8755        "Size of DSA_SIG_st"
8756    );
8757    assert_eq!(
8758        ::std::mem::align_of::<DSA_SIG_st>(),
8759        8usize,
8760        "Alignment of DSA_SIG_st"
8761    );
8762    assert_eq!(
8763        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8764        0usize,
8765        "Offset of field: DSA_SIG_st::r"
8766    );
8767    assert_eq!(
8768        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8769        8usize,
8770        "Offset of field: DSA_SIG_st::s"
8771    );
8772}
8773impl Default for DSA_SIG_st {
8774    fn default() -> Self {
8775        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8776        unsafe {
8777            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8778            s.assume_init()
8779        }
8780    }
8781}
8782#[repr(u32)]
8783#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8784pub enum point_conversion_form_t {
8785    POINT_CONVERSION_COMPRESSED = 2,
8786    POINT_CONVERSION_UNCOMPRESSED = 4,
8787    POINT_CONVERSION_HYBRID = 6,
8788}
8789extern "C" {
8790    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p224"]
8791    pub fn EC_group_p224() -> *const EC_GROUP;
8792}
8793extern "C" {
8794    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p256"]
8795    pub fn EC_group_p256() -> *const EC_GROUP;
8796}
8797extern "C" {
8798    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p384"]
8799    pub fn EC_group_p384() -> *const EC_GROUP;
8800}
8801extern "C" {
8802    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p521"]
8803    pub fn EC_group_p521() -> *const EC_GROUP;
8804}
8805extern "C" {
8806    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_secp256k1"]
8807    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8808}
8809extern "C" {
8810    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_new_by_curve_name"]
8811    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8812}
8813extern "C" {
8814    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_new_by_curve_name_mutable"]
8815    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8816}
8817extern "C" {
8818    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_cmp"]
8819    pub fn EC_GROUP_cmp(
8820        a: *const EC_GROUP,
8821        b: *const EC_GROUP,
8822        ignored: *mut BN_CTX,
8823    ) -> ::std::os::raw::c_int;
8824}
8825extern "C" {
8826    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get0_generator"]
8827    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
8828}
8829extern "C" {
8830    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get0_order"]
8831    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
8832}
8833extern "C" {
8834    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_order_bits"]
8835    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8836}
8837extern "C" {
8838    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_cofactor"]
8839    pub fn EC_GROUP_get_cofactor(
8840        group: *const EC_GROUP,
8841        cofactor: *mut BIGNUM,
8842        ctx: *mut BN_CTX,
8843    ) -> ::std::os::raw::c_int;
8844}
8845extern "C" {
8846    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_curve_GFp"]
8847    pub fn EC_GROUP_get_curve_GFp(
8848        group: *const EC_GROUP,
8849        out_p: *mut BIGNUM,
8850        out_a: *mut BIGNUM,
8851        out_b: *mut BIGNUM,
8852        ctx: *mut BN_CTX,
8853    ) -> ::std::os::raw::c_int;
8854}
8855extern "C" {
8856    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_curve_name"]
8857    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8858}
8859extern "C" {
8860    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_degree"]
8861    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
8862}
8863extern "C" {
8864    #[link_name = "\u{1}aws_lc_0_35_0_EC_curve_nid2nist"]
8865    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8866}
8867extern "C" {
8868    #[link_name = "\u{1}aws_lc_0_35_0_EC_curve_nist2nid"]
8869    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8870}
8871extern "C" {
8872    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_new"]
8873    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
8874}
8875extern "C" {
8876    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_free"]
8877    pub fn EC_POINT_free(point: *mut EC_POINT);
8878}
8879extern "C" {
8880    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_copy"]
8881    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
8882}
8883extern "C" {
8884    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_dup"]
8885    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
8886}
8887extern "C" {
8888    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_to_infinity"]
8889    pub fn EC_POINT_set_to_infinity(
8890        group: *const EC_GROUP,
8891        point: *mut EC_POINT,
8892    ) -> ::std::os::raw::c_int;
8893}
8894extern "C" {
8895    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_is_at_infinity"]
8896    pub fn EC_POINT_is_at_infinity(
8897        group: *const EC_GROUP,
8898        point: *const EC_POINT,
8899    ) -> ::std::os::raw::c_int;
8900}
8901extern "C" {
8902    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_is_on_curve"]
8903    pub fn EC_POINT_is_on_curve(
8904        group: *const EC_GROUP,
8905        point: *const EC_POINT,
8906        ctx: *mut BN_CTX,
8907    ) -> ::std::os::raw::c_int;
8908}
8909extern "C" {
8910    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_cmp"]
8911    pub fn EC_POINT_cmp(
8912        group: *const EC_GROUP,
8913        a: *const EC_POINT,
8914        b: *const EC_POINT,
8915        ctx: *mut BN_CTX,
8916    ) -> ::std::os::raw::c_int;
8917}
8918extern "C" {
8919    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_get_affine_coordinates_GFp"]
8920    pub fn EC_POINT_get_affine_coordinates_GFp(
8921        group: *const EC_GROUP,
8922        point: *const EC_POINT,
8923        x: *mut BIGNUM,
8924        y: *mut BIGNUM,
8925        ctx: *mut BN_CTX,
8926    ) -> ::std::os::raw::c_int;
8927}
8928extern "C" {
8929    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_get_affine_coordinates"]
8930    pub fn EC_POINT_get_affine_coordinates(
8931        group: *const EC_GROUP,
8932        point: *const EC_POINT,
8933        x: *mut BIGNUM,
8934        y: *mut BIGNUM,
8935        ctx: *mut BN_CTX,
8936    ) -> ::std::os::raw::c_int;
8937}
8938extern "C" {
8939    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_affine_coordinates_GFp"]
8940    pub fn EC_POINT_set_affine_coordinates_GFp(
8941        group: *const EC_GROUP,
8942        point: *mut EC_POINT,
8943        x: *const BIGNUM,
8944        y: *const BIGNUM,
8945        ctx: *mut BN_CTX,
8946    ) -> ::std::os::raw::c_int;
8947}
8948extern "C" {
8949    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_affine_coordinates"]
8950    pub fn EC_POINT_set_affine_coordinates(
8951        group: *const EC_GROUP,
8952        point: *mut EC_POINT,
8953        x: *const BIGNUM,
8954        y: *const BIGNUM,
8955        ctx: *mut BN_CTX,
8956    ) -> ::std::os::raw::c_int;
8957}
8958extern "C" {
8959    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_point2oct"]
8960    pub fn EC_POINT_point2oct(
8961        group: *const EC_GROUP,
8962        point: *const EC_POINT,
8963        form: point_conversion_form_t,
8964        buf: *mut u8,
8965        len: usize,
8966        ctx: *mut BN_CTX,
8967    ) -> usize;
8968}
8969extern "C" {
8970    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_point2cbb"]
8971    pub fn EC_POINT_point2cbb(
8972        out: *mut CBB,
8973        group: *const EC_GROUP,
8974        point: *const EC_POINT,
8975        form: point_conversion_form_t,
8976        ctx: *mut BN_CTX,
8977    ) -> ::std::os::raw::c_int;
8978}
8979extern "C" {
8980    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_oct2point"]
8981    pub fn EC_POINT_oct2point(
8982        group: *const EC_GROUP,
8983        point: *mut EC_POINT,
8984        buf: *const u8,
8985        len: usize,
8986        ctx: *mut BN_CTX,
8987    ) -> ::std::os::raw::c_int;
8988}
8989extern "C" {
8990    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_compressed_coordinates_GFp"]
8991    pub fn EC_POINT_set_compressed_coordinates_GFp(
8992        group: *const EC_GROUP,
8993        point: *mut EC_POINT,
8994        x: *const BIGNUM,
8995        y_bit: ::std::os::raw::c_int,
8996        ctx: *mut BN_CTX,
8997    ) -> ::std::os::raw::c_int;
8998}
8999extern "C" {
9000    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_add"]
9001    pub fn EC_POINT_add(
9002        group: *const EC_GROUP,
9003        r: *mut EC_POINT,
9004        a: *const EC_POINT,
9005        b: *const EC_POINT,
9006        ctx: *mut BN_CTX,
9007    ) -> ::std::os::raw::c_int;
9008}
9009extern "C" {
9010    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_dbl"]
9011    pub fn EC_POINT_dbl(
9012        group: *const EC_GROUP,
9013        r: *mut EC_POINT,
9014        a: *const EC_POINT,
9015        ctx: *mut BN_CTX,
9016    ) -> ::std::os::raw::c_int;
9017}
9018extern "C" {
9019    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_invert"]
9020    pub fn EC_POINT_invert(
9021        group: *const EC_GROUP,
9022        a: *mut EC_POINT,
9023        ctx: *mut BN_CTX,
9024    ) -> ::std::os::raw::c_int;
9025}
9026extern "C" {
9027    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_mul"]
9028    pub fn EC_POINT_mul(
9029        group: *const EC_GROUP,
9030        r: *mut EC_POINT,
9031        n: *const BIGNUM,
9032        q: *const EC_POINT,
9033        m: *const BIGNUM,
9034        ctx: *mut BN_CTX,
9035    ) -> ::std::os::raw::c_int;
9036}
9037extern "C" {
9038    #[link_name = "\u{1}aws_lc_0_35_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9039    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9040        group: *const EC_GROUP,
9041        out: *mut EC_POINT,
9042        dst: *const u8,
9043        dst_len: usize,
9044        msg: *const u8,
9045        msg_len: usize,
9046    ) -> ::std::os::raw::c_int;
9047}
9048extern "C" {
9049    #[link_name = "\u{1}aws_lc_0_35_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9050    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9051        group: *const EC_GROUP,
9052        out: *mut EC_POINT,
9053        dst: *const u8,
9054        dst_len: usize,
9055        msg: *const u8,
9056        msg_len: usize,
9057    ) -> ::std::os::raw::c_int;
9058}
9059extern "C" {
9060    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_free"]
9061    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9062}
9063extern "C" {
9064    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_dup"]
9065    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9066}
9067extern "C" {
9068    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_new_curve_GFp"]
9069    pub fn EC_GROUP_new_curve_GFp(
9070        p: *const BIGNUM,
9071        a: *const BIGNUM,
9072        b: *const BIGNUM,
9073        ctx: *mut BN_CTX,
9074    ) -> *mut EC_GROUP;
9075}
9076extern "C" {
9077    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_generator"]
9078    pub fn EC_GROUP_set_generator(
9079        group: *mut EC_GROUP,
9080        generator: *const EC_POINT,
9081        order: *const BIGNUM,
9082        cofactor: *const BIGNUM,
9083    ) -> ::std::os::raw::c_int;
9084}
9085extern "C" {
9086    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_point2bn"]
9087    pub fn EC_POINT_point2bn(
9088        group: *const EC_GROUP,
9089        point: *const EC_POINT,
9090        form: point_conversion_form_t,
9091        ret: *mut BIGNUM,
9092        ctx: *mut BN_CTX,
9093    ) -> *mut BIGNUM;
9094}
9095extern "C" {
9096    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_bn2point"]
9097    pub fn EC_POINT_bn2point(
9098        group: *const EC_GROUP,
9099        bn: *const BIGNUM,
9100        point: *mut EC_POINT,
9101        ctx: *mut BN_CTX,
9102    ) -> *mut EC_POINT;
9103}
9104extern "C" {
9105    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_order"]
9106    pub fn EC_GROUP_get_order(
9107        group: *const EC_GROUP,
9108        order: *mut BIGNUM,
9109        ctx: *mut BN_CTX,
9110    ) -> ::std::os::raw::c_int;
9111}
9112#[repr(C)]
9113#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9114pub struct EC_builtin_curve {
9115    pub nid: ::std::os::raw::c_int,
9116    pub comment: *const ::std::os::raw::c_char,
9117}
9118#[test]
9119fn bindgen_test_layout_EC_builtin_curve() {
9120    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9121    let ptr = UNINIT.as_ptr();
9122    assert_eq!(
9123        ::std::mem::size_of::<EC_builtin_curve>(),
9124        16usize,
9125        "Size of EC_builtin_curve"
9126    );
9127    assert_eq!(
9128        ::std::mem::align_of::<EC_builtin_curve>(),
9129        8usize,
9130        "Alignment of EC_builtin_curve"
9131    );
9132    assert_eq!(
9133        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9134        0usize,
9135        "Offset of field: EC_builtin_curve::nid"
9136    );
9137    assert_eq!(
9138        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9139        8usize,
9140        "Offset of field: EC_builtin_curve::comment"
9141    );
9142}
9143impl Default for EC_builtin_curve {
9144    fn default() -> Self {
9145        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9146        unsafe {
9147            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9148            s.assume_init()
9149        }
9150    }
9151}
9152extern "C" {
9153    #[link_name = "\u{1}aws_lc_0_35_0_EC_get_builtin_curves"]
9154    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9155        -> usize;
9156}
9157extern "C" {
9158    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_clear_free"]
9159    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9160}
9161extern "C" {
9162    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_seed"]
9163    pub fn EC_GROUP_set_seed(
9164        group: *mut EC_GROUP,
9165        p: *const ::std::os::raw::c_uchar,
9166        len: usize,
9167    ) -> usize;
9168}
9169extern "C" {
9170    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get0_seed"]
9171    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9172}
9173extern "C" {
9174    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_seed_len"]
9175    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9176}
9177extern "C" {
9178    #[link_name = "\u{1}aws_lc_0_35_0_ECPKParameters_print"]
9179    pub fn ECPKParameters_print(
9180        bio: *mut BIO,
9181        group: *const EC_GROUP,
9182        offset: ::std::os::raw::c_int,
9183    ) -> ::std::os::raw::c_int;
9184}
9185extern "C" {
9186    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_asn1_flag"]
9187    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9188}
9189extern "C" {
9190    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_asn1_flag"]
9191    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9192}
9193extern "C" {
9194    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_point_conversion_form"]
9195    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9196}
9197extern "C" {
9198    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_point_conversion_form"]
9199    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9200}
9201extern "C" {
9202    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_decoded_from_explicit_params"]
9203    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9204}
9205#[repr(C)]
9206#[derive(Debug, Copy, Clone)]
9207pub struct ec_method_st {
9208    _unused: [u8; 0],
9209}
9210pub type EC_METHOD = ec_method_st;
9211extern "C" {
9212    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_method_of"]
9213    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9214}
9215extern "C" {
9216    #[link_name = "\u{1}aws_lc_0_35_0_EC_METHOD_get_field_type"]
9217    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9218}
9219extern "C" {
9220    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_new"]
9221    pub fn EC_KEY_new() -> *mut EC_KEY;
9222}
9223extern "C" {
9224    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_new_method"]
9225    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9226}
9227extern "C" {
9228    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_new_by_curve_name"]
9229    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9230}
9231extern "C" {
9232    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_free"]
9233    pub fn EC_KEY_free(key: *mut EC_KEY);
9234}
9235extern "C" {
9236    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_dup"]
9237    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9238}
9239extern "C" {
9240    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_up_ref"]
9241    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9242}
9243extern "C" {
9244    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_is_opaque"]
9245    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9246}
9247extern "C" {
9248    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get0_group"]
9249    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9250}
9251extern "C" {
9252    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_group"]
9253    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9254}
9255extern "C" {
9256    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get0_private_key"]
9257    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9258}
9259extern "C" {
9260    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_private_key"]
9261    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9262}
9263extern "C" {
9264    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get0_public_key"]
9265    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9266}
9267extern "C" {
9268    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_public_key"]
9269    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9270}
9271extern "C" {
9272    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_enc_flags"]
9273    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9274}
9275extern "C" {
9276    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_enc_flags"]
9277    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9278}
9279extern "C" {
9280    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_conv_form"]
9281    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9282}
9283extern "C" {
9284    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_conv_form"]
9285    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9286}
9287extern "C" {
9288    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_check_key"]
9289    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9290}
9291extern "C" {
9292    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_check_fips"]
9293    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9294}
9295extern "C" {
9296    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_public_key_affine_coordinates"]
9297    pub fn EC_KEY_set_public_key_affine_coordinates(
9298        key: *mut EC_KEY,
9299        x: *const BIGNUM,
9300        y: *const BIGNUM,
9301    ) -> ::std::os::raw::c_int;
9302}
9303extern "C" {
9304    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_key2buf"]
9305    pub fn EC_KEY_key2buf(
9306        key: *const EC_KEY,
9307        form: point_conversion_form_t,
9308        out_buf: *mut *mut ::std::os::raw::c_uchar,
9309        ctx: *mut BN_CTX,
9310    ) -> usize;
9311}
9312extern "C" {
9313    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_generate_key"]
9314    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9315}
9316extern "C" {
9317    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_generate_key_fips"]
9318    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9319}
9320extern "C" {
9321    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_derive_from_secret"]
9322    pub fn EC_KEY_derive_from_secret(
9323        group: *const EC_GROUP,
9324        secret: *const u8,
9325        secret_len: usize,
9326    ) -> *mut EC_KEY;
9327}
9328extern "C" {
9329    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_parse_private_key"]
9330    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9331}
9332extern "C" {
9333    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_marshal_private_key"]
9334    pub fn EC_KEY_marshal_private_key(
9335        cbb: *mut CBB,
9336        key: *const EC_KEY,
9337        enc_flags: ::std::os::raw::c_uint,
9338    ) -> ::std::os::raw::c_int;
9339}
9340extern "C" {
9341    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_parse_curve_name"]
9342    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9343}
9344extern "C" {
9345    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_marshal_curve_name"]
9346    pub fn EC_KEY_marshal_curve_name(
9347        cbb: *mut CBB,
9348        group: *const EC_GROUP,
9349    ) -> ::std::os::raw::c_int;
9350}
9351extern "C" {
9352    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_parse_parameters"]
9353    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9354}
9355extern "C" {
9356    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_ex_new_index"]
9357    pub fn EC_KEY_get_ex_new_index(
9358        argl: ::std::os::raw::c_long,
9359        argp: *mut ::std::os::raw::c_void,
9360        unused: *mut CRYPTO_EX_unused,
9361        dup_unused: CRYPTO_EX_dup,
9362        free_func: CRYPTO_EX_free,
9363    ) -> ::std::os::raw::c_int;
9364}
9365extern "C" {
9366    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_ex_data"]
9367    pub fn EC_KEY_set_ex_data(
9368        r: *mut EC_KEY,
9369        idx: ::std::os::raw::c_int,
9370        arg: *mut ::std::os::raw::c_void,
9371    ) -> ::std::os::raw::c_int;
9372}
9373extern "C" {
9374    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_ex_data"]
9375    pub fn EC_KEY_get_ex_data(
9376        r: *const EC_KEY,
9377        idx: ::std::os::raw::c_int,
9378    ) -> *mut ::std::os::raw::c_void;
9379}
9380extern "C" {
9381    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECPrivateKey"]
9382    pub fn d2i_ECPrivateKey(
9383        out_key: *mut *mut EC_KEY,
9384        inp: *mut *const u8,
9385        len: ::std::os::raw::c_long,
9386    ) -> *mut EC_KEY;
9387}
9388extern "C" {
9389    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECPrivateKey"]
9390    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9391}
9392extern "C" {
9393    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECParameters"]
9394    pub fn d2i_ECParameters(
9395        out_key: *mut *mut EC_KEY,
9396        inp: *mut *const u8,
9397        len: ::std::os::raw::c_long,
9398    ) -> *mut EC_KEY;
9399}
9400extern "C" {
9401    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECParameters"]
9402    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9403}
9404extern "C" {
9405    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECPKParameters_bio"]
9406    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9407}
9408extern "C" {
9409    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECPKParameters_bio"]
9410    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9411}
9412extern "C" {
9413    #[link_name = "\u{1}aws_lc_0_35_0_o2i_ECPublicKey"]
9414    pub fn o2i_ECPublicKey(
9415        out_key: *mut *mut EC_KEY,
9416        inp: *mut *const u8,
9417        len: ::std::os::raw::c_long,
9418    ) -> *mut EC_KEY;
9419}
9420extern "C" {
9421    #[link_name = "\u{1}aws_lc_0_35_0_i2o_ECPublicKey"]
9422    pub fn i2o_ECPublicKey(
9423        key: *const EC_KEY,
9424        outp: *mut *mut ::std::os::raw::c_uchar,
9425    ) -> ::std::os::raw::c_int;
9426}
9427extern "C" {
9428    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_default_method"]
9429    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9430}
9431extern "C" {
9432    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_OpenSSL"]
9433    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9434}
9435extern "C" {
9436    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_new"]
9437    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9438}
9439extern "C" {
9440    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_free"]
9441    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9442}
9443extern "C" {
9444    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_method"]
9445    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9446}
9447extern "C" {
9448    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_method"]
9449    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9450}
9451extern "C" {
9452    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_set_sign_awslc"]
9453    pub fn EC_KEY_METHOD_set_sign_awslc(
9454        meth: *mut EC_KEY_METHOD,
9455        sign: ::std::option::Option<
9456            unsafe extern "C" fn(
9457                type_: ::std::os::raw::c_int,
9458                digest: *const u8,
9459                digest_len: ::std::os::raw::c_int,
9460                sig: *mut u8,
9461                siglen: *mut ::std::os::raw::c_uint,
9462                k_inv: *const BIGNUM,
9463                r: *const BIGNUM,
9464                eckey: *mut EC_KEY,
9465            ) -> ::std::os::raw::c_int,
9466        >,
9467        sign_sig: ::std::option::Option<
9468            unsafe extern "C" fn(
9469                digest: *const u8,
9470                digest_len: ::std::os::raw::c_int,
9471                in_kinv: *const BIGNUM,
9472                in_r: *const BIGNUM,
9473                eckey: *mut EC_KEY,
9474            ) -> *mut ECDSA_SIG,
9475        >,
9476    );
9477}
9478extern "C" {
9479    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_set_init_awslc"]
9480    pub fn EC_KEY_METHOD_set_init_awslc(
9481        meth: *mut EC_KEY_METHOD,
9482        init: ::std::option::Option<
9483            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9484        >,
9485        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9486    );
9487}
9488extern "C" {
9489    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_set_flags"]
9490    pub fn EC_KEY_METHOD_set_flags(
9491        meth: *mut EC_KEY_METHOD,
9492        flags: ::std::os::raw::c_int,
9493    ) -> ::std::os::raw::c_int;
9494}
9495extern "C" {
9496    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_asn1_flag"]
9497    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9498}
9499extern "C" {
9500    #[link_name = "\u{1}aws_lc_0_35_0_ECDH_compute_key"]
9501    pub fn ECDH_compute_key(
9502        out: *mut ::std::os::raw::c_void,
9503        outlen: usize,
9504        pub_key: *const EC_POINT,
9505        priv_key: *const EC_KEY,
9506        kdf: ::std::option::Option<
9507            unsafe extern "C" fn(
9508                in_: *const ::std::os::raw::c_void,
9509                inlen: usize,
9510                out: *mut ::std::os::raw::c_void,
9511                outlen: *mut usize,
9512            ) -> *mut ::std::os::raw::c_void,
9513        >,
9514    ) -> ::std::os::raw::c_int;
9515}
9516extern "C" {
9517    #[link_name = "\u{1}aws_lc_0_35_0_ECDH_compute_key_fips"]
9518    pub fn ECDH_compute_key_fips(
9519        out: *mut u8,
9520        out_len: usize,
9521        pub_key: *const EC_POINT,
9522        priv_key: *const EC_KEY,
9523    ) -> ::std::os::raw::c_int;
9524}
9525extern "C" {
9526    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_sign"]
9527    pub fn ECDSA_sign(
9528        type_: ::std::os::raw::c_int,
9529        digest: *const u8,
9530        digest_len: usize,
9531        sig: *mut u8,
9532        sig_len: *mut ::std::os::raw::c_uint,
9533        key: *const EC_KEY,
9534    ) -> ::std::os::raw::c_int;
9535}
9536extern "C" {
9537    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_verify"]
9538    pub fn ECDSA_verify(
9539        type_: ::std::os::raw::c_int,
9540        digest: *const u8,
9541        digest_len: usize,
9542        sig: *const u8,
9543        sig_len: usize,
9544        key: *const EC_KEY,
9545    ) -> ::std::os::raw::c_int;
9546}
9547extern "C" {
9548    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_size"]
9549    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9550}
9551#[repr(C)]
9552#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9553pub struct ecdsa_sig_st {
9554    pub r: *mut BIGNUM,
9555    pub s: *mut BIGNUM,
9556}
9557#[test]
9558fn bindgen_test_layout_ecdsa_sig_st() {
9559    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9560    let ptr = UNINIT.as_ptr();
9561    assert_eq!(
9562        ::std::mem::size_of::<ecdsa_sig_st>(),
9563        16usize,
9564        "Size of ecdsa_sig_st"
9565    );
9566    assert_eq!(
9567        ::std::mem::align_of::<ecdsa_sig_st>(),
9568        8usize,
9569        "Alignment of ecdsa_sig_st"
9570    );
9571    assert_eq!(
9572        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9573        0usize,
9574        "Offset of field: ecdsa_sig_st::r"
9575    );
9576    assert_eq!(
9577        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9578        8usize,
9579        "Offset of field: ecdsa_sig_st::s"
9580    );
9581}
9582impl Default for ecdsa_sig_st {
9583    fn default() -> Self {
9584        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9585        unsafe {
9586            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9587            s.assume_init()
9588        }
9589    }
9590}
9591extern "C" {
9592    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_new"]
9593    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9594}
9595extern "C" {
9596    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_free"]
9597    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9598}
9599extern "C" {
9600    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_get0_r"]
9601    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9602}
9603extern "C" {
9604    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_get0_s"]
9605    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9606}
9607extern "C" {
9608    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_get0"]
9609    pub fn ECDSA_SIG_get0(
9610        sig: *const ECDSA_SIG,
9611        out_r: *mut *const BIGNUM,
9612        out_s: *mut *const BIGNUM,
9613    );
9614}
9615extern "C" {
9616    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_set0"]
9617    pub fn ECDSA_SIG_set0(
9618        sig: *mut ECDSA_SIG,
9619        r: *mut BIGNUM,
9620        s: *mut BIGNUM,
9621    ) -> ::std::os::raw::c_int;
9622}
9623extern "C" {
9624    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_do_sign"]
9625    pub fn ECDSA_do_sign(
9626        digest: *const u8,
9627        digest_len: usize,
9628        key: *const EC_KEY,
9629    ) -> *mut ECDSA_SIG;
9630}
9631extern "C" {
9632    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_do_verify"]
9633    pub fn ECDSA_do_verify(
9634        digest: *const u8,
9635        digest_len: usize,
9636        sig: *const ECDSA_SIG,
9637        key: *const EC_KEY,
9638    ) -> ::std::os::raw::c_int;
9639}
9640extern "C" {
9641    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_parse"]
9642    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9643}
9644extern "C" {
9645    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_from_bytes"]
9646    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9647}
9648extern "C" {
9649    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_marshal"]
9650    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9651}
9652extern "C" {
9653    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_to_bytes"]
9654    pub fn ECDSA_SIG_to_bytes(
9655        out_bytes: *mut *mut u8,
9656        out_len: *mut usize,
9657        sig: *const ECDSA_SIG,
9658    ) -> ::std::os::raw::c_int;
9659}
9660extern "C" {
9661    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_max_len"]
9662    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9663}
9664extern "C" {
9665    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9666    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9667        digest: *const u8,
9668        digest_len: usize,
9669        eckey: *const EC_KEY,
9670        nonce: *const u8,
9671        nonce_len: usize,
9672    ) -> *mut ECDSA_SIG;
9673}
9674extern "C" {
9675    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECDSA_SIG"]
9676    pub fn d2i_ECDSA_SIG(
9677        out: *mut *mut ECDSA_SIG,
9678        inp: *mut *const u8,
9679        len: ::std::os::raw::c_long,
9680    ) -> *mut ECDSA_SIG;
9681}
9682extern "C" {
9683    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECDSA_SIG"]
9684    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9685}
9686extern "C" {
9687    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm"]
9688    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9689}
9690extern "C" {
9691    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_192_gcm"]
9692    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9693}
9694extern "C" {
9695    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm"]
9696    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9697}
9698extern "C" {
9699    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_chacha20_poly1305"]
9700    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9701}
9702extern "C" {
9703    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_xchacha20_poly1305"]
9704    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9705}
9706extern "C" {
9707    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ctr_hmac_sha256"]
9708    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9709}
9710extern "C" {
9711    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_ctr_hmac_sha256"]
9712    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9713}
9714extern "C" {
9715    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_siv"]
9716    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9717}
9718extern "C" {
9719    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_siv"]
9720    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9721}
9722extern "C" {
9723    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_randnonce"]
9724    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9725}
9726extern "C" {
9727    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_randnonce"]
9728    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9729}
9730extern "C" {
9731    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ccm_bluetooth"]
9732    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9733}
9734extern "C" {
9735    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ccm_bluetooth_8"]
9736    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9737}
9738extern "C" {
9739    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ccm_matter"]
9740    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9741}
9742extern "C" {
9743    #[link_name = "\u{1}aws_lc_0_35_0_EVP_has_aes_hardware"]
9744    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9745}
9746extern "C" {
9747    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_key_length"]
9748    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9749}
9750extern "C" {
9751    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_nonce_length"]
9752    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9753}
9754extern "C" {
9755    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_max_overhead"]
9756    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9757}
9758extern "C" {
9759    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_max_tag_len"]
9760    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9761}
9762#[repr(C)]
9763#[derive(Copy, Clone)]
9764pub union evp_aead_ctx_st_state {
9765    pub opaque: [u8; 564usize],
9766    pub alignment: u64,
9767    pub ptr: *mut ::std::os::raw::c_void,
9768}
9769#[test]
9770fn bindgen_test_layout_evp_aead_ctx_st_state() {
9771    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9772        ::std::mem::MaybeUninit::uninit();
9773    let ptr = UNINIT.as_ptr();
9774    assert_eq!(
9775        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9776        568usize,
9777        "Size of evp_aead_ctx_st_state"
9778    );
9779    assert_eq!(
9780        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9781        8usize,
9782        "Alignment of evp_aead_ctx_st_state"
9783    );
9784    assert_eq!(
9785        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9786        0usize,
9787        "Offset of field: evp_aead_ctx_st_state::opaque"
9788    );
9789    assert_eq!(
9790        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9791        0usize,
9792        "Offset of field: evp_aead_ctx_st_state::alignment"
9793    );
9794    assert_eq!(
9795        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9796        0usize,
9797        "Offset of field: evp_aead_ctx_st_state::ptr"
9798    );
9799}
9800impl Default for evp_aead_ctx_st_state {
9801    fn default() -> Self {
9802        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9803        unsafe {
9804            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9805            s.assume_init()
9806        }
9807    }
9808}
9809#[repr(C)]
9810#[derive(Copy, Clone)]
9811pub struct evp_aead_ctx_st {
9812    pub aead: *const EVP_AEAD,
9813    pub state: evp_aead_ctx_st_state,
9814    pub state_offset: u8,
9815    pub tag_len: u8,
9816}
9817#[test]
9818fn bindgen_test_layout_evp_aead_ctx_st() {
9819    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
9820    let ptr = UNINIT.as_ptr();
9821    assert_eq!(
9822        ::std::mem::size_of::<evp_aead_ctx_st>(),
9823        584usize,
9824        "Size of evp_aead_ctx_st"
9825    );
9826    assert_eq!(
9827        ::std::mem::align_of::<evp_aead_ctx_st>(),
9828        8usize,
9829        "Alignment of evp_aead_ctx_st"
9830    );
9831    assert_eq!(
9832        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
9833        0usize,
9834        "Offset of field: evp_aead_ctx_st::aead"
9835    );
9836    assert_eq!(
9837        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
9838        8usize,
9839        "Offset of field: evp_aead_ctx_st::state"
9840    );
9841    assert_eq!(
9842        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
9843        576usize,
9844        "Offset of field: evp_aead_ctx_st::state_offset"
9845    );
9846    assert_eq!(
9847        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
9848        577usize,
9849        "Offset of field: evp_aead_ctx_st::tag_len"
9850    );
9851}
9852impl Default for evp_aead_ctx_st {
9853    fn default() -> Self {
9854        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9855        unsafe {
9856            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9857            s.assume_init()
9858        }
9859    }
9860}
9861extern "C" {
9862    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_zero"]
9863    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
9864}
9865extern "C" {
9866    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_new"]
9867    pub fn EVP_AEAD_CTX_new(
9868        aead: *const EVP_AEAD,
9869        key: *const u8,
9870        key_len: usize,
9871        tag_len: usize,
9872    ) -> *mut EVP_AEAD_CTX;
9873}
9874extern "C" {
9875    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_free"]
9876    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
9877}
9878extern "C" {
9879    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_init"]
9880    pub fn EVP_AEAD_CTX_init(
9881        ctx: *mut EVP_AEAD_CTX,
9882        aead: *const EVP_AEAD,
9883        key: *const u8,
9884        key_len: usize,
9885        tag_len: usize,
9886        impl_: *mut ENGINE,
9887    ) -> ::std::os::raw::c_int;
9888}
9889extern "C" {
9890    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_cleanup"]
9891    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
9892}
9893extern "C" {
9894    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_seal"]
9895    pub fn EVP_AEAD_CTX_seal(
9896        ctx: *const EVP_AEAD_CTX,
9897        out: *mut u8,
9898        out_len: *mut usize,
9899        max_out_len: usize,
9900        nonce: *const u8,
9901        nonce_len: usize,
9902        in_: *const u8,
9903        in_len: usize,
9904        ad: *const u8,
9905        ad_len: usize,
9906    ) -> ::std::os::raw::c_int;
9907}
9908extern "C" {
9909    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_open"]
9910    pub fn EVP_AEAD_CTX_open(
9911        ctx: *const EVP_AEAD_CTX,
9912        out: *mut u8,
9913        out_len: *mut usize,
9914        max_out_len: usize,
9915        nonce: *const u8,
9916        nonce_len: usize,
9917        in_: *const u8,
9918        in_len: usize,
9919        ad: *const u8,
9920        ad_len: usize,
9921    ) -> ::std::os::raw::c_int;
9922}
9923extern "C" {
9924    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_seal_scatter"]
9925    pub fn EVP_AEAD_CTX_seal_scatter(
9926        ctx: *const EVP_AEAD_CTX,
9927        out: *mut u8,
9928        out_tag: *mut u8,
9929        out_tag_len: *mut usize,
9930        max_out_tag_len: usize,
9931        nonce: *const u8,
9932        nonce_len: usize,
9933        in_: *const u8,
9934        in_len: usize,
9935        extra_in: *const u8,
9936        extra_in_len: usize,
9937        ad: *const u8,
9938        ad_len: usize,
9939    ) -> ::std::os::raw::c_int;
9940}
9941extern "C" {
9942    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_open_gather"]
9943    pub fn EVP_AEAD_CTX_open_gather(
9944        ctx: *const EVP_AEAD_CTX,
9945        out: *mut u8,
9946        nonce: *const u8,
9947        nonce_len: usize,
9948        in_: *const u8,
9949        in_len: usize,
9950        in_tag: *const u8,
9951        in_tag_len: usize,
9952        ad: *const u8,
9953        ad_len: usize,
9954    ) -> ::std::os::raw::c_int;
9955}
9956extern "C" {
9957    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_aead"]
9958    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
9959}
9960extern "C" {
9961    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha1_tls"]
9962    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
9963}
9964extern "C" {
9965    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
9966    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9967}
9968extern "C" {
9969    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_cbc_sha1_tls"]
9970    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
9971}
9972extern "C" {
9973    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
9974    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9975}
9976extern "C" {
9977    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha256_tls"]
9978    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
9979}
9980extern "C" {
9981    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
9982    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
9983}
9984extern "C" {
9985    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_cbc_sha384_tls"]
9986    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
9987}
9988extern "C" {
9989    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_des_ede3_cbc_sha1_tls"]
9990    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
9991}
9992extern "C" {
9993    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
9994    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9995}
9996extern "C" {
9997    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_null_sha1_tls"]
9998    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
9999}
10000extern "C" {
10001    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_tls12"]
10002    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10003}
10004extern "C" {
10005    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_tls12"]
10006    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10007}
10008extern "C" {
10009    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_tls13"]
10010    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10011}
10012extern "C" {
10013    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_tls13"]
10014    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10015}
10016pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10017pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10018pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10019extern "C" {
10020    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_init_with_direction"]
10021    pub fn EVP_AEAD_CTX_init_with_direction(
10022        ctx: *mut EVP_AEAD_CTX,
10023        aead: *const EVP_AEAD,
10024        key: *const u8,
10025        key_len: usize,
10026        tag_len: usize,
10027        dir: evp_aead_direction_t,
10028    ) -> ::std::os::raw::c_int;
10029}
10030extern "C" {
10031    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_get_iv"]
10032    pub fn EVP_AEAD_CTX_get_iv(
10033        ctx: *const EVP_AEAD_CTX,
10034        out_iv: *mut *const u8,
10035        out_len: *mut usize,
10036    ) -> ::std::os::raw::c_int;
10037}
10038extern "C" {
10039    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_tag_len"]
10040    pub fn EVP_AEAD_CTX_tag_len(
10041        ctx: *const EVP_AEAD_CTX,
10042        out_tag_len: *mut usize,
10043        in_len: usize,
10044        extra_in_len: usize,
10045    ) -> ::std::os::raw::c_int;
10046}
10047extern "C" {
10048    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10049    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10050        ipv4_address: u32,
10051        nanosecs: u64,
10052        out_iv: *mut u8,
10053    ) -> ::std::os::raw::c_int;
10054}
10055#[repr(C)]
10056#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10057pub struct md5_state_st {
10058    pub h: [u32; 4usize],
10059    pub Nl: u32,
10060    pub Nh: u32,
10061    pub data: [u8; 64usize],
10062    pub num: ::std::os::raw::c_uint,
10063}
10064#[test]
10065fn bindgen_test_layout_md5_state_st() {
10066    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10067    let ptr = UNINIT.as_ptr();
10068    assert_eq!(
10069        ::std::mem::size_of::<md5_state_st>(),
10070        92usize,
10071        "Size of md5_state_st"
10072    );
10073    assert_eq!(
10074        ::std::mem::align_of::<md5_state_st>(),
10075        4usize,
10076        "Alignment of md5_state_st"
10077    );
10078    assert_eq!(
10079        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10080        0usize,
10081        "Offset of field: md5_state_st::h"
10082    );
10083    assert_eq!(
10084        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10085        16usize,
10086        "Offset of field: md5_state_st::Nl"
10087    );
10088    assert_eq!(
10089        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10090        20usize,
10091        "Offset of field: md5_state_st::Nh"
10092    );
10093    assert_eq!(
10094        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10095        24usize,
10096        "Offset of field: md5_state_st::data"
10097    );
10098    assert_eq!(
10099        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10100        88usize,
10101        "Offset of field: md5_state_st::num"
10102    );
10103}
10104impl Default for md5_state_st {
10105    fn default() -> Self {
10106        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10107        unsafe {
10108            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10109            s.assume_init()
10110        }
10111    }
10112}
10113extern "C" {
10114    #[link_name = "\u{1}aws_lc_0_35_0_HMAC"]
10115    pub fn HMAC(
10116        evp_md: *const EVP_MD,
10117        key: *const ::std::os::raw::c_void,
10118        key_len: usize,
10119        data: *const u8,
10120        data_len: usize,
10121        out: *mut u8,
10122        out_len: *mut ::std::os::raw::c_uint,
10123    ) -> *mut u8;
10124}
10125extern "C" {
10126    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_init"]
10127    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10128}
10129extern "C" {
10130    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_new"]
10131    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10132}
10133extern "C" {
10134    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_cleanup"]
10135    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10136}
10137extern "C" {
10138    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_cleanse"]
10139    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10140}
10141extern "C" {
10142    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_free"]
10143    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10144}
10145extern "C" {
10146    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Init_ex"]
10147    pub fn HMAC_Init_ex(
10148        ctx: *mut HMAC_CTX,
10149        key: *const ::std::os::raw::c_void,
10150        key_len: usize,
10151        md: *const EVP_MD,
10152        impl_: *mut ENGINE,
10153    ) -> ::std::os::raw::c_int;
10154}
10155extern "C" {
10156    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Update"]
10157    pub fn HMAC_Update(
10158        ctx: *mut HMAC_CTX,
10159        data: *const u8,
10160        data_len: usize,
10161    ) -> ::std::os::raw::c_int;
10162}
10163extern "C" {
10164    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Final"]
10165    pub fn HMAC_Final(
10166        ctx: *mut HMAC_CTX,
10167        out: *mut u8,
10168        out_len: *mut ::std::os::raw::c_uint,
10169    ) -> ::std::os::raw::c_int;
10170}
10171extern "C" {
10172    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_size"]
10173    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10174}
10175extern "C" {
10176    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_get_md"]
10177    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10178}
10179extern "C" {
10180    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_copy_ex"]
10181    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10182}
10183extern "C" {
10184    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_reset"]
10185    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10186}
10187extern "C" {
10188    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_set_precomputed_key_export"]
10189    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10190}
10191extern "C" {
10192    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_get_precomputed_key"]
10193    pub fn HMAC_get_precomputed_key(
10194        ctx: *mut HMAC_CTX,
10195        out: *mut u8,
10196        out_len: *mut usize,
10197    ) -> ::std::os::raw::c_int;
10198}
10199extern "C" {
10200    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Init_from_precomputed_key"]
10201    pub fn HMAC_Init_from_precomputed_key(
10202        ctx: *mut HMAC_CTX,
10203        precomputed_key: *const u8,
10204        precompute_key_len: usize,
10205        md: *const EVP_MD,
10206    ) -> ::std::os::raw::c_int;
10207}
10208extern "C" {
10209    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Init"]
10210    pub fn HMAC_Init(
10211        ctx: *mut HMAC_CTX,
10212        key: *const ::std::os::raw::c_void,
10213        key_len: ::std::os::raw::c_int,
10214        md: *const EVP_MD,
10215    ) -> ::std::os::raw::c_int;
10216}
10217extern "C" {
10218    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_copy"]
10219    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10220}
10221#[repr(C)]
10222#[derive(Debug, Copy, Clone)]
10223pub struct hmac_methods_st {
10224    _unused: [u8; 0],
10225}
10226pub type HmacMethods = hmac_methods_st;
10227#[repr(C)]
10228#[derive(Copy, Clone)]
10229pub union md_ctx_union {
10230    pub md5: MD5_CTX,
10231    pub sha1: SHA_CTX,
10232    pub sha256: SHA256_CTX,
10233    pub sha512: SHA512_CTX,
10234    pub sha3: [u8; 400usize],
10235}
10236#[test]
10237fn bindgen_test_layout_md_ctx_union() {
10238    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10239    let ptr = UNINIT.as_ptr();
10240    assert_eq!(
10241        ::std::mem::size_of::<md_ctx_union>(),
10242        400usize,
10243        "Size of md_ctx_union"
10244    );
10245    assert_eq!(
10246        ::std::mem::align_of::<md_ctx_union>(),
10247        8usize,
10248        "Alignment of md_ctx_union"
10249    );
10250    assert_eq!(
10251        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10252        0usize,
10253        "Offset of field: md_ctx_union::md5"
10254    );
10255    assert_eq!(
10256        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10257        0usize,
10258        "Offset of field: md_ctx_union::sha1"
10259    );
10260    assert_eq!(
10261        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10262        0usize,
10263        "Offset of field: md_ctx_union::sha256"
10264    );
10265    assert_eq!(
10266        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10267        0usize,
10268        "Offset of field: md_ctx_union::sha512"
10269    );
10270    assert_eq!(
10271        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10272        0usize,
10273        "Offset of field: md_ctx_union::sha3"
10274    );
10275}
10276impl Default for md_ctx_union {
10277    fn default() -> Self {
10278        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10279        unsafe {
10280            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10281            s.assume_init()
10282        }
10283    }
10284}
10285#[repr(C)]
10286#[derive(Copy, Clone)]
10287pub struct hmac_ctx_st {
10288    pub md: *const EVP_MD,
10289    pub methods: *const HmacMethods,
10290    pub md_ctx: md_ctx_union,
10291    pub i_ctx: md_ctx_union,
10292    pub o_ctx: md_ctx_union,
10293    pub state: i8,
10294}
10295#[test]
10296fn bindgen_test_layout_hmac_ctx_st() {
10297    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10298    let ptr = UNINIT.as_ptr();
10299    assert_eq!(
10300        ::std::mem::size_of::<hmac_ctx_st>(),
10301        1224usize,
10302        "Size of hmac_ctx_st"
10303    );
10304    assert_eq!(
10305        ::std::mem::align_of::<hmac_ctx_st>(),
10306        8usize,
10307        "Alignment of hmac_ctx_st"
10308    );
10309    assert_eq!(
10310        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10311        0usize,
10312        "Offset of field: hmac_ctx_st::md"
10313    );
10314    assert_eq!(
10315        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10316        8usize,
10317        "Offset of field: hmac_ctx_st::methods"
10318    );
10319    assert_eq!(
10320        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10321        16usize,
10322        "Offset of field: hmac_ctx_st::md_ctx"
10323    );
10324    assert_eq!(
10325        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10326        416usize,
10327        "Offset of field: hmac_ctx_st::i_ctx"
10328    );
10329    assert_eq!(
10330        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10331        816usize,
10332        "Offset of field: hmac_ctx_st::o_ctx"
10333    );
10334    assert_eq!(
10335        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10336        1216usize,
10337        "Offset of field: hmac_ctx_st::state"
10338    );
10339}
10340impl Default for hmac_ctx_st {
10341    fn default() -> Self {
10342        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10343        unsafe {
10344            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10345            s.assume_init()
10346        }
10347    }
10348}
10349extern "C" {
10350    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new"]
10351    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10352}
10353extern "C" {
10354    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_free"]
10355    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10356}
10357extern "C" {
10358    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_up_ref"]
10359    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10360}
10361extern "C" {
10362    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_is_opaque"]
10363    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10364}
10365extern "C" {
10366    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_cmp"]
10367    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10368}
10369extern "C" {
10370    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_copy_parameters"]
10371    pub fn EVP_PKEY_copy_parameters(
10372        to: *mut EVP_PKEY,
10373        from: *const EVP_PKEY,
10374    ) -> ::std::os::raw::c_int;
10375}
10376extern "C" {
10377    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_missing_parameters"]
10378    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10379}
10380extern "C" {
10381    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_size"]
10382    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10383}
10384extern "C" {
10385    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_bits"]
10386    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10387}
10388extern "C" {
10389    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_id"]
10390    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10391}
10392extern "C" {
10393    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_get0_name"]
10394    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10395}
10396extern "C" {
10397    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_name"]
10398    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10399}
10400extern "C" {
10401    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_pw_prompt"]
10402    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10403}
10404extern "C" {
10405    #[link_name = "\u{1}aws_lc_0_35_0_EVP_read_pw_string"]
10406    pub fn EVP_read_pw_string(
10407        buf: *mut ::std::os::raw::c_char,
10408        length: ::std::os::raw::c_int,
10409        prompt: *const ::std::os::raw::c_char,
10410        verify: ::std::os::raw::c_int,
10411    ) -> ::std::os::raw::c_int;
10412}
10413extern "C" {
10414    #[link_name = "\u{1}aws_lc_0_35_0_EVP_read_pw_string_min"]
10415    pub fn EVP_read_pw_string_min(
10416        buf: *mut ::std::os::raw::c_char,
10417        min_length: ::std::os::raw::c_int,
10418        length: ::std::os::raw::c_int,
10419        prompt: *const ::std::os::raw::c_char,
10420        verify: ::std::os::raw::c_int,
10421    ) -> ::std::os::raw::c_int;
10422}
10423extern "C" {
10424    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_RSA"]
10425    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10426}
10427extern "C" {
10428    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_RSA"]
10429    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10430}
10431extern "C" {
10432    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_RSA"]
10433    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10434}
10435extern "C" {
10436    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_RSA"]
10437    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10438}
10439extern "C" {
10440    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_DSA"]
10441    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10442}
10443extern "C" {
10444    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_DSA"]
10445    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10446}
10447extern "C" {
10448    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_DSA"]
10449    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10450}
10451extern "C" {
10452    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_DSA"]
10453    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10454}
10455extern "C" {
10456    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_EC_KEY"]
10457    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10458}
10459extern "C" {
10460    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_EC_KEY"]
10461    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10462}
10463extern "C" {
10464    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_EC_KEY"]
10465    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10466}
10467extern "C" {
10468    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_EC_KEY"]
10469    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10470}
10471extern "C" {
10472    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_DH"]
10473    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10474}
10475extern "C" {
10476    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_DH"]
10477    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10478}
10479extern "C" {
10480    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_DH"]
10481    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10482}
10483extern "C" {
10484    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_DH"]
10485    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10486}
10487extern "C" {
10488    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10489    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10490        ctx: *mut EVP_PKEY_CTX,
10491        pbits: ::std::os::raw::c_int,
10492    ) -> ::std::os::raw::c_int;
10493}
10494extern "C" {
10495    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10496    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10497        ctx: *mut EVP_PKEY_CTX,
10498        gen_: ::std::os::raw::c_int,
10499    ) -> ::std::os::raw::c_int;
10500}
10501extern "C" {
10502    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set_type"]
10503    pub fn EVP_PKEY_set_type(
10504        pkey: *mut EVP_PKEY,
10505        type_: ::std::os::raw::c_int,
10506    ) -> ::std::os::raw::c_int;
10507}
10508extern "C" {
10509    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set_type_str"]
10510    pub fn EVP_PKEY_set_type_str(
10511        pkey: *mut EVP_PKEY,
10512        str_: *const ::std::os::raw::c_char,
10513        len: ::std::os::raw::c_int,
10514    ) -> ::std::os::raw::c_int;
10515}
10516extern "C" {
10517    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_cmp_parameters"]
10518    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10519        -> ::std::os::raw::c_int;
10520}
10521extern "C" {
10522    #[link_name = "\u{1}aws_lc_0_35_0_EVP_parse_public_key"]
10523    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10524}
10525extern "C" {
10526    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_public_key"]
10527    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10528}
10529extern "C" {
10530    #[link_name = "\u{1}aws_lc_0_35_0_EVP_parse_private_key"]
10531    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10532}
10533extern "C" {
10534    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_private_key"]
10535    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10536}
10537extern "C" {
10538    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_private_key_v2"]
10539    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10540        -> ::std::os::raw::c_int;
10541}
10542extern "C" {
10543    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new_raw_private_key"]
10544    pub fn EVP_PKEY_new_raw_private_key(
10545        type_: ::std::os::raw::c_int,
10546        unused: *mut ENGINE,
10547        in_: *const u8,
10548        len: usize,
10549    ) -> *mut EVP_PKEY;
10550}
10551extern "C" {
10552    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new_raw_public_key"]
10553    pub fn EVP_PKEY_new_raw_public_key(
10554        type_: ::std::os::raw::c_int,
10555        unused: *mut ENGINE,
10556        in_: *const u8,
10557        len: usize,
10558    ) -> *mut EVP_PKEY;
10559}
10560extern "C" {
10561    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get_raw_private_key"]
10562    pub fn EVP_PKEY_get_raw_private_key(
10563        pkey: *const EVP_PKEY,
10564        out: *mut u8,
10565        out_len: *mut usize,
10566    ) -> ::std::os::raw::c_int;
10567}
10568extern "C" {
10569    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get_raw_public_key"]
10570    pub fn EVP_PKEY_get_raw_public_key(
10571        pkey: *const EVP_PKEY,
10572        out: *mut u8,
10573        out_len: *mut usize,
10574    ) -> ::std::os::raw::c_int;
10575}
10576extern "C" {
10577    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSignInit"]
10578    pub fn EVP_DigestSignInit(
10579        ctx: *mut EVP_MD_CTX,
10580        pctx: *mut *mut EVP_PKEY_CTX,
10581        type_: *const EVP_MD,
10582        e: *mut ENGINE,
10583        pkey: *mut EVP_PKEY,
10584    ) -> ::std::os::raw::c_int;
10585}
10586extern "C" {
10587    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSignUpdate"]
10588    pub fn EVP_DigestSignUpdate(
10589        ctx: *mut EVP_MD_CTX,
10590        data: *const ::std::os::raw::c_void,
10591        len: usize,
10592    ) -> ::std::os::raw::c_int;
10593}
10594extern "C" {
10595    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSignFinal"]
10596    pub fn EVP_DigestSignFinal(
10597        ctx: *mut EVP_MD_CTX,
10598        out_sig: *mut u8,
10599        out_sig_len: *mut usize,
10600    ) -> ::std::os::raw::c_int;
10601}
10602extern "C" {
10603    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSign"]
10604    pub fn EVP_DigestSign(
10605        ctx: *mut EVP_MD_CTX,
10606        out_sig: *mut u8,
10607        out_sig_len: *mut usize,
10608        data: *const u8,
10609        data_len: usize,
10610    ) -> ::std::os::raw::c_int;
10611}
10612extern "C" {
10613    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerifyInit"]
10614    pub fn EVP_DigestVerifyInit(
10615        ctx: *mut EVP_MD_CTX,
10616        pctx: *mut *mut EVP_PKEY_CTX,
10617        type_: *const EVP_MD,
10618        e: *mut ENGINE,
10619        pkey: *mut EVP_PKEY,
10620    ) -> ::std::os::raw::c_int;
10621}
10622extern "C" {
10623    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerifyUpdate"]
10624    pub fn EVP_DigestVerifyUpdate(
10625        ctx: *mut EVP_MD_CTX,
10626        data: *const ::std::os::raw::c_void,
10627        len: usize,
10628    ) -> ::std::os::raw::c_int;
10629}
10630extern "C" {
10631    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerifyFinal"]
10632    pub fn EVP_DigestVerifyFinal(
10633        ctx: *mut EVP_MD_CTX,
10634        sig: *const u8,
10635        sig_len: usize,
10636    ) -> ::std::os::raw::c_int;
10637}
10638extern "C" {
10639    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerify"]
10640    pub fn EVP_DigestVerify(
10641        ctx: *mut EVP_MD_CTX,
10642        sig: *const u8,
10643        sig_len: usize,
10644        data: *const u8,
10645        len: usize,
10646    ) -> ::std::os::raw::c_int;
10647}
10648extern "C" {
10649    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignInit_ex"]
10650    pub fn EVP_SignInit_ex(
10651        ctx: *mut EVP_MD_CTX,
10652        type_: *const EVP_MD,
10653        impl_: *mut ENGINE,
10654    ) -> ::std::os::raw::c_int;
10655}
10656extern "C" {
10657    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignInit"]
10658    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10659}
10660extern "C" {
10661    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignUpdate"]
10662    pub fn EVP_SignUpdate(
10663        ctx: *mut EVP_MD_CTX,
10664        data: *const ::std::os::raw::c_void,
10665        len: usize,
10666    ) -> ::std::os::raw::c_int;
10667}
10668extern "C" {
10669    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignFinal"]
10670    pub fn EVP_SignFinal(
10671        ctx: *const EVP_MD_CTX,
10672        sig: *mut u8,
10673        out_sig_len: *mut ::std::os::raw::c_uint,
10674        pkey: *mut EVP_PKEY,
10675    ) -> ::std::os::raw::c_int;
10676}
10677extern "C" {
10678    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyInit_ex"]
10679    pub fn EVP_VerifyInit_ex(
10680        ctx: *mut EVP_MD_CTX,
10681        type_: *const EVP_MD,
10682        impl_: *mut ENGINE,
10683    ) -> ::std::os::raw::c_int;
10684}
10685extern "C" {
10686    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyInit"]
10687    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10688}
10689extern "C" {
10690    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyUpdate"]
10691    pub fn EVP_VerifyUpdate(
10692        ctx: *mut EVP_MD_CTX,
10693        data: *const ::std::os::raw::c_void,
10694        len: usize,
10695    ) -> ::std::os::raw::c_int;
10696}
10697extern "C" {
10698    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyFinal"]
10699    pub fn EVP_VerifyFinal(
10700        ctx: *mut EVP_MD_CTX,
10701        sig: *const u8,
10702        sig_len: usize,
10703        pkey: *mut EVP_PKEY,
10704    ) -> ::std::os::raw::c_int;
10705}
10706extern "C" {
10707    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_print_public"]
10708    pub fn EVP_PKEY_print_public(
10709        out: *mut BIO,
10710        pkey: *const EVP_PKEY,
10711        indent: ::std::os::raw::c_int,
10712        pctx: *mut ASN1_PCTX,
10713    ) -> ::std::os::raw::c_int;
10714}
10715extern "C" {
10716    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_print_private"]
10717    pub fn EVP_PKEY_print_private(
10718        out: *mut BIO,
10719        pkey: *const EVP_PKEY,
10720        indent: ::std::os::raw::c_int,
10721        pctx: *mut ASN1_PCTX,
10722    ) -> ::std::os::raw::c_int;
10723}
10724extern "C" {
10725    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_print_params"]
10726    pub fn EVP_PKEY_print_params(
10727        out: *mut BIO,
10728        pkey: *const EVP_PKEY,
10729        indent: ::std::os::raw::c_int,
10730        pctx: *mut ASN1_PCTX,
10731    ) -> ::std::os::raw::c_int;
10732}
10733extern "C" {
10734    #[link_name = "\u{1}aws_lc_0_35_0_PKCS5_PBKDF2_HMAC"]
10735    pub fn PKCS5_PBKDF2_HMAC(
10736        password: *const ::std::os::raw::c_char,
10737        password_len: usize,
10738        salt: *const u8,
10739        salt_len: usize,
10740        iterations: u32,
10741        digest: *const EVP_MD,
10742        key_len: usize,
10743        out_key: *mut u8,
10744    ) -> ::std::os::raw::c_int;
10745}
10746extern "C" {
10747    #[link_name = "\u{1}aws_lc_0_35_0_PKCS5_PBKDF2_HMAC_SHA1"]
10748    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10749        password: *const ::std::os::raw::c_char,
10750        password_len: usize,
10751        salt: *const u8,
10752        salt_len: usize,
10753        iterations: u32,
10754        key_len: usize,
10755        out_key: *mut u8,
10756    ) -> ::std::os::raw::c_int;
10757}
10758extern "C" {
10759    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PBE_scrypt"]
10760    pub fn EVP_PBE_scrypt(
10761        password: *const ::std::os::raw::c_char,
10762        password_len: usize,
10763        salt: *const u8,
10764        salt_len: usize,
10765        N: u64,
10766        r: u64,
10767        p: u64,
10768        max_mem: usize,
10769        out_key: *mut u8,
10770        key_len: usize,
10771    ) -> ::std::os::raw::c_int;
10772}
10773extern "C" {
10774    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_new"]
10775    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10776}
10777extern "C" {
10778    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_new_id"]
10779    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10780}
10781extern "C" {
10782    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_free"]
10783    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
10784}
10785extern "C" {
10786    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_dup"]
10787    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
10788}
10789extern "C" {
10790    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get0_pkey"]
10791    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
10792}
10793extern "C" {
10794    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_sign_init"]
10795    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10796}
10797extern "C" {
10798    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_sign"]
10799    pub fn EVP_PKEY_sign(
10800        ctx: *mut EVP_PKEY_CTX,
10801        sig: *mut u8,
10802        sig_len: *mut usize,
10803        digest: *const u8,
10804        digest_len: usize,
10805    ) -> ::std::os::raw::c_int;
10806}
10807extern "C" {
10808    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify_init"]
10809    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10810}
10811extern "C" {
10812    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify"]
10813    pub fn EVP_PKEY_verify(
10814        ctx: *mut EVP_PKEY_CTX,
10815        sig: *const u8,
10816        sig_len: usize,
10817        digest: *const u8,
10818        digest_len: usize,
10819    ) -> ::std::os::raw::c_int;
10820}
10821extern "C" {
10822    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_encrypt_init"]
10823    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10824}
10825extern "C" {
10826    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_encrypt"]
10827    pub fn EVP_PKEY_encrypt(
10828        ctx: *mut EVP_PKEY_CTX,
10829        out: *mut u8,
10830        out_len: *mut usize,
10831        in_: *const u8,
10832        in_len: usize,
10833    ) -> ::std::os::raw::c_int;
10834}
10835extern "C" {
10836    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_decrypt_init"]
10837    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10838}
10839extern "C" {
10840    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_decrypt"]
10841    pub fn EVP_PKEY_decrypt(
10842        ctx: *mut EVP_PKEY_CTX,
10843        out: *mut u8,
10844        out_len: *mut usize,
10845        in_: *const u8,
10846        in_len: usize,
10847    ) -> ::std::os::raw::c_int;
10848}
10849extern "C" {
10850    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify_recover_init"]
10851    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10852}
10853extern "C" {
10854    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify_recover"]
10855    pub fn EVP_PKEY_verify_recover(
10856        ctx: *mut EVP_PKEY_CTX,
10857        out: *mut u8,
10858        out_len: *mut usize,
10859        sig: *const u8,
10860        siglen: usize,
10861    ) -> ::std::os::raw::c_int;
10862}
10863extern "C" {
10864    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_derive_init"]
10865    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10866}
10867extern "C" {
10868    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_derive_set_peer"]
10869    pub fn EVP_PKEY_derive_set_peer(
10870        ctx: *mut EVP_PKEY_CTX,
10871        peer: *mut EVP_PKEY,
10872    ) -> ::std::os::raw::c_int;
10873}
10874extern "C" {
10875    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_derive"]
10876    pub fn EVP_PKEY_derive(
10877        ctx: *mut EVP_PKEY_CTX,
10878        key: *mut u8,
10879        out_key_len: *mut usize,
10880    ) -> ::std::os::raw::c_int;
10881}
10882extern "C" {
10883    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_check"]
10884    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10885}
10886extern "C" {
10887    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_public_check"]
10888    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10889}
10890extern "C" {
10891    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_param_check"]
10892    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10893}
10894extern "C" {
10895    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_keygen_init"]
10896    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10897}
10898extern "C" {
10899    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_keygen"]
10900    pub fn EVP_PKEY_keygen(
10901        ctx: *mut EVP_PKEY_CTX,
10902        out_pkey: *mut *mut EVP_PKEY,
10903    ) -> ::std::os::raw::c_int;
10904}
10905extern "C" {
10906    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_encapsulate"]
10907    pub fn EVP_PKEY_encapsulate(
10908        ctx: *mut EVP_PKEY_CTX,
10909        ciphertext: *mut u8,
10910        ciphertext_len: *mut usize,
10911        shared_secret: *mut u8,
10912        shared_secret_len: *mut usize,
10913    ) -> ::std::os::raw::c_int;
10914}
10915extern "C" {
10916    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_decapsulate"]
10917    pub fn EVP_PKEY_decapsulate(
10918        ctx: *mut EVP_PKEY_CTX,
10919        shared_secret: *mut u8,
10920        shared_secret_len: *mut usize,
10921        ciphertext: *const u8,
10922        ciphertext_len: usize,
10923    ) -> ::std::os::raw::c_int;
10924}
10925extern "C" {
10926    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_paramgen_init"]
10927    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10928}
10929extern "C" {
10930    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_paramgen"]
10931    pub fn EVP_PKEY_paramgen(
10932        ctx: *mut EVP_PKEY_CTX,
10933        out_pkey: *mut *mut EVP_PKEY,
10934    ) -> ::std::os::raw::c_int;
10935}
10936extern "C" {
10937    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_signature_md"]
10938    pub fn EVP_PKEY_CTX_set_signature_md(
10939        ctx: *mut EVP_PKEY_CTX,
10940        md: *const EVP_MD,
10941    ) -> ::std::os::raw::c_int;
10942}
10943extern "C" {
10944    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_signature_md"]
10945    pub fn EVP_PKEY_CTX_get_signature_md(
10946        ctx: *mut EVP_PKEY_CTX,
10947        out_md: *mut *const EVP_MD,
10948    ) -> ::std::os::raw::c_int;
10949}
10950extern "C" {
10951    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_signature_context"]
10952    pub fn EVP_PKEY_CTX_set_signature_context(
10953        ctx: *mut EVP_PKEY_CTX,
10954        context: *const u8,
10955        context_len: usize,
10956    ) -> ::std::os::raw::c_int;
10957}
10958extern "C" {
10959    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get0_signature_context"]
10960    pub fn EVP_PKEY_CTX_get0_signature_context(
10961        ctx: *mut EVP_PKEY_CTX,
10962        context: *mut *const u8,
10963        context_len: *mut usize,
10964    ) -> ::std::os::raw::c_int;
10965}
10966extern "C" {
10967    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_padding"]
10968    pub fn EVP_PKEY_CTX_set_rsa_padding(
10969        ctx: *mut EVP_PKEY_CTX,
10970        padding: ::std::os::raw::c_int,
10971    ) -> ::std::os::raw::c_int;
10972}
10973extern "C" {
10974    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_padding"]
10975    pub fn EVP_PKEY_CTX_get_rsa_padding(
10976        ctx: *mut EVP_PKEY_CTX,
10977        out_padding: *mut ::std::os::raw::c_int,
10978    ) -> ::std::os::raw::c_int;
10979}
10980extern "C" {
10981    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
10982    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
10983        ctx: *mut EVP_PKEY_CTX,
10984        salt_len: ::std::os::raw::c_int,
10985    ) -> ::std::os::raw::c_int;
10986}
10987extern "C" {
10988    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
10989    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
10990        ctx: *mut EVP_PKEY_CTX,
10991        out_salt_len: *mut ::std::os::raw::c_int,
10992    ) -> ::std::os::raw::c_int;
10993}
10994extern "C" {
10995    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
10996    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
10997        ctx: *mut EVP_PKEY_CTX,
10998        bits: ::std::os::raw::c_int,
10999    ) -> ::std::os::raw::c_int;
11000}
11001extern "C" {
11002    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11003    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11004        ctx: *mut EVP_PKEY_CTX,
11005        e: *mut BIGNUM,
11006    ) -> ::std::os::raw::c_int;
11007}
11008extern "C" {
11009    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
11010    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11011        ctx: *mut EVP_PKEY_CTX,
11012        md: *const EVP_MD,
11013    ) -> ::std::os::raw::c_int;
11014}
11015extern "C" {
11016    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
11017    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11018        ctx: *mut EVP_PKEY_CTX,
11019        out_md: *mut *const EVP_MD,
11020    ) -> ::std::os::raw::c_int;
11021}
11022extern "C" {
11023    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11024    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11025        ctx: *mut EVP_PKEY_CTX,
11026        md: *const EVP_MD,
11027    ) -> ::std::os::raw::c_int;
11028}
11029extern "C" {
11030    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11031    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11032        ctx: *mut EVP_PKEY_CTX,
11033        out_md: *mut *const EVP_MD,
11034    ) -> ::std::os::raw::c_int;
11035}
11036extern "C" {
11037    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11038    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11039        ctx: *mut EVP_PKEY_CTX,
11040        label: *mut u8,
11041        label_len: usize,
11042    ) -> ::std::os::raw::c_int;
11043}
11044extern "C" {
11045    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11046    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11047        ctx: *mut EVP_PKEY_CTX,
11048        out_label: *mut *const u8,
11049    ) -> ::std::os::raw::c_int;
11050}
11051extern "C" {
11052    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11053    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11054        ctx: *mut EVP_PKEY_CTX,
11055        nid: ::std::os::raw::c_int,
11056    ) -> ::std::os::raw::c_int;
11057}
11058extern "C" {
11059    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_kem_set_params"]
11060    pub fn EVP_PKEY_CTX_kem_set_params(
11061        ctx: *mut EVP_PKEY_CTX,
11062        nid: ::std::os::raw::c_int,
11063    ) -> ::std::os::raw::c_int;
11064}
11065extern "C" {
11066    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_new_raw_public_key"]
11067    pub fn EVP_PKEY_kem_new_raw_public_key(
11068        nid: ::std::os::raw::c_int,
11069        in_: *const u8,
11070        len: usize,
11071    ) -> *mut EVP_PKEY;
11072}
11073extern "C" {
11074    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_new_raw_secret_key"]
11075    pub fn EVP_PKEY_kem_new_raw_secret_key(
11076        nid: ::std::os::raw::c_int,
11077        in_: *const u8,
11078        len: usize,
11079    ) -> *mut EVP_PKEY;
11080}
11081extern "C" {
11082    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_new_raw_key"]
11083    pub fn EVP_PKEY_kem_new_raw_key(
11084        nid: ::std::os::raw::c_int,
11085        in_public: *const u8,
11086        len_public: usize,
11087        in_secret: *const u8,
11088        len_secret: usize,
11089    ) -> *mut EVP_PKEY;
11090}
11091extern "C" {
11092    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_check_key"]
11093    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11094}
11095extern "C" {
11096    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_pqdsa_set_params"]
11097    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11098        ctx: *mut EVP_PKEY_CTX,
11099        nid: ::std::os::raw::c_int,
11100    ) -> ::std::os::raw::c_int;
11101}
11102extern "C" {
11103    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_pqdsa_new_raw_public_key"]
11104    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11105        nid: ::std::os::raw::c_int,
11106        in_: *const u8,
11107        len: usize,
11108    ) -> *mut EVP_PKEY;
11109}
11110extern "C" {
11111    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_pqdsa_new_raw_private_key"]
11112    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11113        nid: ::std::os::raw::c_int,
11114        in_: *const u8,
11115        len: usize,
11116    ) -> *mut EVP_PKEY;
11117}
11118extern "C" {
11119    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dh_pad"]
11120    pub fn EVP_PKEY_CTX_set_dh_pad(
11121        ctx: *mut EVP_PKEY_CTX,
11122        pad: ::std::os::raw::c_int,
11123    ) -> ::std::os::raw::c_int;
11124}
11125extern "C" {
11126    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_get_count"]
11127    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11128}
11129extern "C" {
11130    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_get0"]
11131    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11132}
11133extern "C" {
11134    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_find"]
11135    pub fn EVP_PKEY_asn1_find(
11136        _pe: *mut *mut ENGINE,
11137        type_: ::std::os::raw::c_int,
11138    ) -> *const EVP_PKEY_ASN1_METHOD;
11139}
11140extern "C" {
11141    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_find_str"]
11142    pub fn EVP_PKEY_asn1_find_str(
11143        _pe: *mut *mut ENGINE,
11144        name: *const ::std::os::raw::c_char,
11145        len: ::std::os::raw::c_int,
11146    ) -> *const EVP_PKEY_ASN1_METHOD;
11147}
11148extern "C" {
11149    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_get0_info"]
11150    pub fn EVP_PKEY_asn1_get0_info(
11151        ppkey_id: *mut ::std::os::raw::c_int,
11152        pkey_base_id: *mut ::std::os::raw::c_int,
11153        ppkey_flags: *mut ::std::os::raw::c_int,
11154        pinfo: *mut *const ::std::os::raw::c_char,
11155        ppem_str: *mut *const ::std::os::raw::c_char,
11156        ameth: *const EVP_PKEY_ASN1_METHOD,
11157    ) -> ::std::os::raw::c_int;
11158}
11159pub type EVP_PKEY_gen_cb =
11160    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11161extern "C" {
11162    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_cb"]
11163    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11164}
11165extern "C" {
11166    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_keygen_info"]
11167    pub fn EVP_PKEY_CTX_get_keygen_info(
11168        ctx: *mut EVP_PKEY_CTX,
11169        idx: ::std::os::raw::c_int,
11170    ) -> ::std::os::raw::c_int;
11171}
11172extern "C" {
11173    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_app_data"]
11174    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11175}
11176extern "C" {
11177    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_app_data"]
11178    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11179}
11180extern "C" {
11181    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_get_pkey_type"]
11182    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11183}
11184extern "C" {
11185    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_pkey_type"]
11186    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11187}
11188extern "C" {
11189    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_do_all_sorted"]
11190    pub fn EVP_CIPHER_do_all_sorted(
11191        callback: ::std::option::Option<
11192            unsafe extern "C" fn(
11193                cipher: *const EVP_CIPHER,
11194                name: *const ::std::os::raw::c_char,
11195                unused: *const ::std::os::raw::c_char,
11196                arg: *mut ::std::os::raw::c_void,
11197            ),
11198        >,
11199        arg: *mut ::std::os::raw::c_void,
11200    );
11201}
11202extern "C" {
11203    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_do_all_sorted"]
11204    pub fn EVP_MD_do_all_sorted(
11205        callback: ::std::option::Option<
11206            unsafe extern "C" fn(
11207                cipher: *const EVP_MD,
11208                name: *const ::std::os::raw::c_char,
11209                unused: *const ::std::os::raw::c_char,
11210                arg: *mut ::std::os::raw::c_void,
11211            ),
11212        >,
11213        arg: *mut ::std::os::raw::c_void,
11214    );
11215}
11216extern "C" {
11217    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_do_all"]
11218    pub fn EVP_MD_do_all(
11219        callback: ::std::option::Option<
11220            unsafe extern "C" fn(
11221                cipher: *const EVP_MD,
11222                name: *const ::std::os::raw::c_char,
11223                unused: *const ::std::os::raw::c_char,
11224                arg: *mut ::std::os::raw::c_void,
11225            ),
11226        >,
11227        arg: *mut ::std::os::raw::c_void,
11228    );
11229}
11230extern "C" {
11231    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PrivateKey"]
11232    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11233}
11234extern "C" {
11235    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PublicKey"]
11236    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11237}
11238extern "C" {
11239    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PrivateKey"]
11240    pub fn d2i_PrivateKey(
11241        type_: ::std::os::raw::c_int,
11242        out: *mut *mut EVP_PKEY,
11243        inp: *mut *const u8,
11244        len: ::std::os::raw::c_long,
11245    ) -> *mut EVP_PKEY;
11246}
11247extern "C" {
11248    #[link_name = "\u{1}aws_lc_0_35_0_d2i_AutoPrivateKey"]
11249    pub fn d2i_AutoPrivateKey(
11250        out: *mut *mut EVP_PKEY,
11251        inp: *mut *const u8,
11252        len: ::std::os::raw::c_long,
11253    ) -> *mut EVP_PKEY;
11254}
11255extern "C" {
11256    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PublicKey"]
11257    pub fn d2i_PublicKey(
11258        type_: ::std::os::raw::c_int,
11259        out: *mut *mut EVP_PKEY,
11260        inp: *mut *const u8,
11261        len: ::std::os::raw::c_long,
11262    ) -> *mut EVP_PKEY;
11263}
11264extern "C" {
11265    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_ec_param_enc"]
11266    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11267        ctx: *mut EVP_PKEY_CTX,
11268        encoding: ::std::os::raw::c_int,
11269    ) -> ::std::os::raw::c_int;
11270}
11271extern "C" {
11272    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_tls_encodedpoint"]
11273    pub fn EVP_PKEY_set1_tls_encodedpoint(
11274        pkey: *mut EVP_PKEY,
11275        in_: *const u8,
11276        len: usize,
11277    ) -> ::std::os::raw::c_int;
11278}
11279extern "C" {
11280    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_tls_encodedpoint"]
11281    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11282}
11283extern "C" {
11284    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_base_id"]
11285    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11286}
11287extern "C" {
11288    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11289    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11290        ctx: *mut EVP_PKEY_CTX,
11291        md: *const EVP_MD,
11292    ) -> ::std::os::raw::c_int;
11293}
11294extern "C" {
11295    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11296    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11297        ctx: *mut EVP_PKEY_CTX,
11298        salt_len: ::std::os::raw::c_int,
11299    ) -> ::std::os::raw::c_int;
11300}
11301extern "C" {
11302    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11303    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11304        ctx: *mut EVP_PKEY_CTX,
11305        md: *const EVP_MD,
11306    ) -> ::std::os::raw::c_int;
11307}
11308extern "C" {
11309    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PUBKEY"]
11310    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11311}
11312extern "C" {
11313    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PUBKEY"]
11314    pub fn d2i_PUBKEY(
11315        out: *mut *mut EVP_PKEY,
11316        inp: *mut *const u8,
11317        len: ::std::os::raw::c_long,
11318    ) -> *mut EVP_PKEY;
11319}
11320extern "C" {
11321    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSA_PUBKEY"]
11322    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11323}
11324extern "C" {
11325    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSA_PUBKEY"]
11326    pub fn d2i_RSA_PUBKEY(
11327        out: *mut *mut RSA,
11328        inp: *mut *const u8,
11329        len: ::std::os::raw::c_long,
11330    ) -> *mut RSA;
11331}
11332extern "C" {
11333    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSA_PUBKEY"]
11334    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11335}
11336extern "C" {
11337    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSA_PUBKEY"]
11338    pub fn d2i_DSA_PUBKEY(
11339        out: *mut *mut DSA,
11340        inp: *mut *const u8,
11341        len: ::std::os::raw::c_long,
11342    ) -> *mut DSA;
11343}
11344extern "C" {
11345    #[link_name = "\u{1}aws_lc_0_35_0_i2d_EC_PUBKEY"]
11346    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11347}
11348extern "C" {
11349    #[link_name = "\u{1}aws_lc_0_35_0_d2i_EC_PUBKEY"]
11350    pub fn d2i_EC_PUBKEY(
11351        out: *mut *mut EC_KEY,
11352        inp: *mut *const u8,
11353        len: ::std::os::raw::c_long,
11354    ) -> *mut EC_KEY;
11355}
11356extern "C" {
11357    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign"]
11358    pub fn EVP_PKEY_assign(
11359        pkey: *mut EVP_PKEY,
11360        type_: ::std::os::raw::c_int,
11361        key: *mut ::std::os::raw::c_void,
11362    ) -> ::std::os::raw::c_int;
11363}
11364extern "C" {
11365    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_type"]
11366    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11367}
11368extern "C" {
11369    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new_mac_key"]
11370    pub fn EVP_PKEY_new_mac_key(
11371        type_: ::std::os::raw::c_int,
11372        engine: *mut ENGINE,
11373        mac_key: *const u8,
11374        mac_key_len: usize,
11375    ) -> *mut EVP_PKEY;
11376}
11377extern "C" {
11378    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0"]
11379    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11380}
11381extern "C" {
11382    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_add_all_algorithms"]
11383    pub fn OpenSSL_add_all_algorithms();
11384}
11385extern "C" {
11386    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_add_all_algorithms_conf"]
11387    pub fn OPENSSL_add_all_algorithms_conf();
11388}
11389extern "C" {
11390    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_add_all_ciphers"]
11391    pub fn OpenSSL_add_all_ciphers();
11392}
11393extern "C" {
11394    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_add_all_digests"]
11395    pub fn OpenSSL_add_all_digests();
11396}
11397extern "C" {
11398    #[link_name = "\u{1}aws_lc_0_35_0_EVP_cleanup"]
11399    pub fn EVP_cleanup();
11400}
11401extern "C" {
11402    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11403    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11404        ctx: *mut EVP_PKEY_CTX,
11405        nbits: ::std::os::raw::c_int,
11406    ) -> ::std::os::raw::c_int;
11407}
11408extern "C" {
11409    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11410    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11411        ctx: *mut EVP_PKEY_CTX,
11412        md: *const EVP_MD,
11413    ) -> ::std::os::raw::c_int;
11414}
11415extern "C" {
11416    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11417    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11418        ctx: *mut EVP_PKEY_CTX,
11419        qbits: ::std::os::raw::c_int,
11420    ) -> ::std::os::raw::c_int;
11421}
11422extern "C" {
11423    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_ctrl_str"]
11424    pub fn EVP_PKEY_CTX_ctrl_str(
11425        ctx: *mut EVP_PKEY_CTX,
11426        type_: *const ::std::os::raw::c_char,
11427        value: *const ::std::os::raw::c_char,
11428    ) -> ::std::os::raw::c_int;
11429}
11430extern "C" {
11431    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_tls1_prf"]
11432    pub fn CRYPTO_tls1_prf(
11433        digest: *const EVP_MD,
11434        out: *mut u8,
11435        out_len: usize,
11436        secret: *const u8,
11437        secret_len: usize,
11438        label: *const ::std::os::raw::c_char,
11439        label_len: usize,
11440        seed1: *const u8,
11441        seed1_len: usize,
11442        seed2: *const u8,
11443        seed2_len: usize,
11444    ) -> ::std::os::raw::c_int;
11445}
11446extern "C" {
11447    #[link_name = "\u{1}aws_lc_0_35_0_SSKDF_digest"]
11448    pub fn SSKDF_digest(
11449        out_key: *mut u8,
11450        out_len: usize,
11451        digest: *const EVP_MD,
11452        secret: *const u8,
11453        secret_len: usize,
11454        info: *const u8,
11455        info_len: usize,
11456    ) -> ::std::os::raw::c_int;
11457}
11458extern "C" {
11459    #[link_name = "\u{1}aws_lc_0_35_0_SSKDF_hmac"]
11460    pub fn SSKDF_hmac(
11461        out_key: *mut u8,
11462        out_len: usize,
11463        digest: *const EVP_MD,
11464        secret: *const u8,
11465        secret_len: usize,
11466        info: *const u8,
11467        info_len: usize,
11468        salt: *const u8,
11469        salt_len: usize,
11470    ) -> ::std::os::raw::c_int;
11471}
11472extern "C" {
11473    #[link_name = "\u{1}aws_lc_0_35_0_KBKDF_ctr_hmac"]
11474    pub fn KBKDF_ctr_hmac(
11475        out_key: *mut u8,
11476        out_len: usize,
11477        digest: *const EVP_MD,
11478        secret: *const u8,
11479        secret_len: usize,
11480        info: *const u8,
11481        info_len: usize,
11482    ) -> ::std::os::raw::c_int;
11483}
11484extern "C" {
11485    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_hkdf_mode"]
11486    pub fn EVP_PKEY_CTX_hkdf_mode(
11487        ctx: *mut EVP_PKEY_CTX,
11488        mode: ::std::os::raw::c_int,
11489    ) -> ::std::os::raw::c_int;
11490}
11491extern "C" {
11492    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_hkdf_md"]
11493    pub fn EVP_PKEY_CTX_set_hkdf_md(
11494        ctx: *mut EVP_PKEY_CTX,
11495        md: *const EVP_MD,
11496    ) -> ::std::os::raw::c_int;
11497}
11498extern "C" {
11499    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set1_hkdf_key"]
11500    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11501        ctx: *mut EVP_PKEY_CTX,
11502        key: *const u8,
11503        key_len: usize,
11504    ) -> ::std::os::raw::c_int;
11505}
11506extern "C" {
11507    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set1_hkdf_salt"]
11508    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11509        ctx: *mut EVP_PKEY_CTX,
11510        salt: *const u8,
11511        salt_len: usize,
11512    ) -> ::std::os::raw::c_int;
11513}
11514extern "C" {
11515    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_add1_hkdf_info"]
11516    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11517        ctx: *mut EVP_PKEY_CTX,
11518        info: *const u8,
11519        info_len: usize,
11520    ) -> ::std::os::raw::c_int;
11521}
11522extern "C" {
11523    #[link_name = "\u{1}aws_lc_0_35_0_HKDF"]
11524    pub fn HKDF(
11525        out_key: *mut u8,
11526        out_len: usize,
11527        digest: *const EVP_MD,
11528        secret: *const u8,
11529        secret_len: usize,
11530        salt: *const u8,
11531        salt_len: usize,
11532        info: *const u8,
11533        info_len: usize,
11534    ) -> ::std::os::raw::c_int;
11535}
11536extern "C" {
11537    #[link_name = "\u{1}aws_lc_0_35_0_HKDF_extract"]
11538    pub fn HKDF_extract(
11539        out_key: *mut u8,
11540        out_len: *mut usize,
11541        digest: *const EVP_MD,
11542        secret: *const u8,
11543        secret_len: usize,
11544        salt: *const u8,
11545        salt_len: usize,
11546    ) -> ::std::os::raw::c_int;
11547}
11548extern "C" {
11549    #[link_name = "\u{1}aws_lc_0_35_0_HKDF_expand"]
11550    pub fn HKDF_expand(
11551        out_key: *mut u8,
11552        out_len: usize,
11553        digest: *const EVP_MD,
11554        prk: *const u8,
11555        prk_len: usize,
11556        info: *const u8,
11557        info_len: usize,
11558    ) -> ::std::os::raw::c_int;
11559}
11560#[repr(C)]
11561#[derive(Copy, Clone)]
11562pub struct evp_hpke_ctx_st {
11563    pub kem: *const EVP_HPKE_KEM,
11564    pub aead: *const EVP_HPKE_AEAD,
11565    pub kdf: *const EVP_HPKE_KDF,
11566    pub aead_ctx: EVP_AEAD_CTX,
11567    pub base_nonce: [u8; 24usize],
11568    pub exporter_secret: [u8; 64usize],
11569    pub seq: u64,
11570    pub is_sender: ::std::os::raw::c_int,
11571}
11572#[test]
11573fn bindgen_test_layout_evp_hpke_ctx_st() {
11574    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11575    let ptr = UNINIT.as_ptr();
11576    assert_eq!(
11577        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11578        712usize,
11579        "Size of evp_hpke_ctx_st"
11580    );
11581    assert_eq!(
11582        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11583        8usize,
11584        "Alignment of evp_hpke_ctx_st"
11585    );
11586    assert_eq!(
11587        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11588        0usize,
11589        "Offset of field: evp_hpke_ctx_st::kem"
11590    );
11591    assert_eq!(
11592        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11593        8usize,
11594        "Offset of field: evp_hpke_ctx_st::aead"
11595    );
11596    assert_eq!(
11597        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11598        16usize,
11599        "Offset of field: evp_hpke_ctx_st::kdf"
11600    );
11601    assert_eq!(
11602        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11603        24usize,
11604        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11605    );
11606    assert_eq!(
11607        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11608        608usize,
11609        "Offset of field: evp_hpke_ctx_st::base_nonce"
11610    );
11611    assert_eq!(
11612        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11613        632usize,
11614        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11615    );
11616    assert_eq!(
11617        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11618        696usize,
11619        "Offset of field: evp_hpke_ctx_st::seq"
11620    );
11621    assert_eq!(
11622        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11623        704usize,
11624        "Offset of field: evp_hpke_ctx_st::is_sender"
11625    );
11626}
11627impl Default for evp_hpke_ctx_st {
11628    fn default() -> Self {
11629        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11630        unsafe {
11631            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11632            s.assume_init()
11633        }
11634    }
11635}
11636#[repr(C)]
11637#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11638pub struct evp_hpke_key_st {
11639    pub kem: *const EVP_HPKE_KEM,
11640    pub private_key: [u8; 32usize],
11641    pub public_key: [u8; 32usize],
11642}
11643#[test]
11644fn bindgen_test_layout_evp_hpke_key_st() {
11645    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11646    let ptr = UNINIT.as_ptr();
11647    assert_eq!(
11648        ::std::mem::size_of::<evp_hpke_key_st>(),
11649        72usize,
11650        "Size of evp_hpke_key_st"
11651    );
11652    assert_eq!(
11653        ::std::mem::align_of::<evp_hpke_key_st>(),
11654        8usize,
11655        "Alignment of evp_hpke_key_st"
11656    );
11657    assert_eq!(
11658        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11659        0usize,
11660        "Offset of field: evp_hpke_key_st::kem"
11661    );
11662    assert_eq!(
11663        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11664        8usize,
11665        "Offset of field: evp_hpke_key_st::private_key"
11666    );
11667    assert_eq!(
11668        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11669        40usize,
11670        "Offset of field: evp_hpke_key_st::public_key"
11671    );
11672}
11673impl Default for evp_hpke_key_st {
11674    fn default() -> Self {
11675        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11676        unsafe {
11677            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11678            s.assume_init()
11679        }
11680    }
11681}
11682#[repr(C)]
11683#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11684pub struct md4_state_st {
11685    pub h: [u32; 4usize],
11686    pub Nl: u32,
11687    pub Nh: u32,
11688    pub data: [u8; 64usize],
11689    pub num: ::std::os::raw::c_uint,
11690}
11691#[test]
11692fn bindgen_test_layout_md4_state_st() {
11693    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11694    let ptr = UNINIT.as_ptr();
11695    assert_eq!(
11696        ::std::mem::size_of::<md4_state_st>(),
11697        92usize,
11698        "Size of md4_state_st"
11699    );
11700    assert_eq!(
11701        ::std::mem::align_of::<md4_state_st>(),
11702        4usize,
11703        "Alignment of md4_state_st"
11704    );
11705    assert_eq!(
11706        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11707        0usize,
11708        "Offset of field: md4_state_st::h"
11709    );
11710    assert_eq!(
11711        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11712        16usize,
11713        "Offset of field: md4_state_st::Nl"
11714    );
11715    assert_eq!(
11716        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11717        20usize,
11718        "Offset of field: md4_state_st::Nh"
11719    );
11720    assert_eq!(
11721        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11722        24usize,
11723        "Offset of field: md4_state_st::data"
11724    );
11725    assert_eq!(
11726        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11727        88usize,
11728        "Offset of field: md4_state_st::num"
11729    );
11730}
11731impl Default for md4_state_st {
11732    fn default() -> Self {
11733        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11734        unsafe {
11735            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11736            s.assume_init()
11737        }
11738    }
11739}
11740#[repr(C)]
11741#[derive(Debug, Copy, Clone)]
11742pub struct stack_st_X509 {
11743    _unused: [u8; 0],
11744}
11745#[repr(C)]
11746#[derive(Debug, Copy, Clone)]
11747pub struct stack_st_X509_CRL {
11748    _unused: [u8; 0],
11749}
11750#[repr(C)]
11751#[derive(Copy, Clone)]
11752pub struct pkcs7_st {
11753    pub type_: *mut ASN1_OBJECT,
11754    pub d: pkcs7_st__bindgen_ty_1,
11755}
11756#[repr(C)]
11757#[derive(Copy, Clone)]
11758pub union pkcs7_st__bindgen_ty_1 {
11759    pub ptr: *mut ::std::os::raw::c_char,
11760    pub data: *mut ASN1_OCTET_STRING,
11761    pub sign: *mut PKCS7_SIGNED,
11762    pub enveloped: *mut PKCS7_ENVELOPE,
11763    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
11764    pub digest: *mut PKCS7_DIGEST,
11765    pub encrypted: *mut PKCS7_ENCRYPT,
11766    pub other: *mut ASN1_TYPE,
11767}
11768#[test]
11769fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
11770    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
11771        ::std::mem::MaybeUninit::uninit();
11772    let ptr = UNINIT.as_ptr();
11773    assert_eq!(
11774        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
11775        8usize,
11776        "Size of pkcs7_st__bindgen_ty_1"
11777    );
11778    assert_eq!(
11779        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
11780        8usize,
11781        "Alignment of pkcs7_st__bindgen_ty_1"
11782    );
11783    assert_eq!(
11784        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
11785        0usize,
11786        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
11787    );
11788    assert_eq!(
11789        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11790        0usize,
11791        "Offset of field: pkcs7_st__bindgen_ty_1::data"
11792    );
11793    assert_eq!(
11794        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
11795        0usize,
11796        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
11797    );
11798    assert_eq!(
11799        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
11800        0usize,
11801        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
11802    );
11803    assert_eq!(
11804        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
11805        0usize,
11806        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
11807    );
11808    assert_eq!(
11809        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
11810        0usize,
11811        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
11812    );
11813    assert_eq!(
11814        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
11815        0usize,
11816        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
11817    );
11818    assert_eq!(
11819        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
11820        0usize,
11821        "Offset of field: pkcs7_st__bindgen_ty_1::other"
11822    );
11823}
11824impl Default for pkcs7_st__bindgen_ty_1 {
11825    fn default() -> Self {
11826        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11827        unsafe {
11828            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11829            s.assume_init()
11830        }
11831    }
11832}
11833#[test]
11834fn bindgen_test_layout_pkcs7_st() {
11835    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
11836    let ptr = UNINIT.as_ptr();
11837    assert_eq!(
11838        ::std::mem::size_of::<pkcs7_st>(),
11839        16usize,
11840        "Size of pkcs7_st"
11841    );
11842    assert_eq!(
11843        ::std::mem::align_of::<pkcs7_st>(),
11844        8usize,
11845        "Alignment of pkcs7_st"
11846    );
11847    assert_eq!(
11848        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
11849        0usize,
11850        "Offset of field: pkcs7_st::type_"
11851    );
11852    assert_eq!(
11853        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
11854        8usize,
11855        "Offset of field: pkcs7_st::d"
11856    );
11857}
11858impl Default for pkcs7_st {
11859    fn default() -> Self {
11860        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11861        unsafe {
11862            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11863            s.assume_init()
11864        }
11865    }
11866}
11867#[repr(C)]
11868#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11869pub struct pkcs7_signed_st {
11870    pub version: *mut ASN1_INTEGER,
11871    pub md_algs: *mut stack_st_X509_ALGOR,
11872    pub contents: *mut PKCS7,
11873    pub cert: *mut stack_st_X509,
11874    pub crl: *mut stack_st_X509_CRL,
11875    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
11876}
11877#[test]
11878fn bindgen_test_layout_pkcs7_signed_st() {
11879    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
11880    let ptr = UNINIT.as_ptr();
11881    assert_eq!(
11882        ::std::mem::size_of::<pkcs7_signed_st>(),
11883        48usize,
11884        "Size of pkcs7_signed_st"
11885    );
11886    assert_eq!(
11887        ::std::mem::align_of::<pkcs7_signed_st>(),
11888        8usize,
11889        "Alignment of pkcs7_signed_st"
11890    );
11891    assert_eq!(
11892        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11893        0usize,
11894        "Offset of field: pkcs7_signed_st::version"
11895    );
11896    assert_eq!(
11897        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
11898        8usize,
11899        "Offset of field: pkcs7_signed_st::md_algs"
11900    );
11901    assert_eq!(
11902        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
11903        16usize,
11904        "Offset of field: pkcs7_signed_st::contents"
11905    );
11906    assert_eq!(
11907        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
11908        24usize,
11909        "Offset of field: pkcs7_signed_st::cert"
11910    );
11911    assert_eq!(
11912        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
11913        32usize,
11914        "Offset of field: pkcs7_signed_st::crl"
11915    );
11916    assert_eq!(
11917        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
11918        40usize,
11919        "Offset of field: pkcs7_signed_st::signer_info"
11920    );
11921}
11922impl Default for pkcs7_signed_st {
11923    fn default() -> Self {
11924        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11925        unsafe {
11926            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11927            s.assume_init()
11928        }
11929    }
11930}
11931#[repr(C)]
11932#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11933pub struct pkcs7_signer_info_st {
11934    pub version: *mut ASN1_INTEGER,
11935    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
11936    pub digest_alg: *mut X509_ALGOR,
11937    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
11938    pub digest_enc_alg: *mut X509_ALGOR,
11939    pub enc_digest: *mut ASN1_OCTET_STRING,
11940    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
11941    pub pkey: *mut EVP_PKEY,
11942}
11943#[test]
11944fn bindgen_test_layout_pkcs7_signer_info_st() {
11945    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
11946    let ptr = UNINIT.as_ptr();
11947    assert_eq!(
11948        ::std::mem::size_of::<pkcs7_signer_info_st>(),
11949        64usize,
11950        "Size of pkcs7_signer_info_st"
11951    );
11952    assert_eq!(
11953        ::std::mem::align_of::<pkcs7_signer_info_st>(),
11954        8usize,
11955        "Alignment of pkcs7_signer_info_st"
11956    );
11957    assert_eq!(
11958        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11959        0usize,
11960        "Offset of field: pkcs7_signer_info_st::version"
11961    );
11962    assert_eq!(
11963        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
11964        8usize,
11965        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
11966    );
11967    assert_eq!(
11968        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
11969        16usize,
11970        "Offset of field: pkcs7_signer_info_st::digest_alg"
11971    );
11972    assert_eq!(
11973        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
11974        24usize,
11975        "Offset of field: pkcs7_signer_info_st::auth_attr"
11976    );
11977    assert_eq!(
11978        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
11979        32usize,
11980        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
11981    );
11982    assert_eq!(
11983        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
11984        40usize,
11985        "Offset of field: pkcs7_signer_info_st::enc_digest"
11986    );
11987    assert_eq!(
11988        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
11989        48usize,
11990        "Offset of field: pkcs7_signer_info_st::unauth_attr"
11991    );
11992    assert_eq!(
11993        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
11994        56usize,
11995        "Offset of field: pkcs7_signer_info_st::pkey"
11996    );
11997}
11998impl Default for pkcs7_signer_info_st {
11999    fn default() -> Self {
12000        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12001        unsafe {
12002            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12003            s.assume_init()
12004        }
12005    }
12006}
12007#[repr(C)]
12008#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12009pub struct pkcs7_sign_envelope_st {
12010    pub version: *mut ASN1_INTEGER,
12011    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12012    pub md_algs: *mut stack_st_X509_ALGOR,
12013    pub enc_data: *mut PKCS7_ENC_CONTENT,
12014    pub cert: *mut stack_st_X509,
12015    pub crl: *mut stack_st_X509_CRL,
12016    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12017}
12018#[test]
12019fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12020    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12021        ::std::mem::MaybeUninit::uninit();
12022    let ptr = UNINIT.as_ptr();
12023    assert_eq!(
12024        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12025        56usize,
12026        "Size of pkcs7_sign_envelope_st"
12027    );
12028    assert_eq!(
12029        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12030        8usize,
12031        "Alignment of pkcs7_sign_envelope_st"
12032    );
12033    assert_eq!(
12034        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12035        0usize,
12036        "Offset of field: pkcs7_sign_envelope_st::version"
12037    );
12038    assert_eq!(
12039        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12040        8usize,
12041        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12042    );
12043    assert_eq!(
12044        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12045        16usize,
12046        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12047    );
12048    assert_eq!(
12049        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12050        24usize,
12051        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12052    );
12053    assert_eq!(
12054        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12055        32usize,
12056        "Offset of field: pkcs7_sign_envelope_st::cert"
12057    );
12058    assert_eq!(
12059        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12060        40usize,
12061        "Offset of field: pkcs7_sign_envelope_st::crl"
12062    );
12063    assert_eq!(
12064        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12065        48usize,
12066        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12067    );
12068}
12069impl Default for pkcs7_sign_envelope_st {
12070    fn default() -> Self {
12071        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12072        unsafe {
12073            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12074            s.assume_init()
12075        }
12076    }
12077}
12078#[repr(C)]
12079#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12080pub struct pkcs7_envelope_st {
12081    pub version: *mut ASN1_INTEGER,
12082    pub enc_data: *mut PKCS7_ENC_CONTENT,
12083    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12084}
12085#[test]
12086fn bindgen_test_layout_pkcs7_envelope_st() {
12087    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12088    let ptr = UNINIT.as_ptr();
12089    assert_eq!(
12090        ::std::mem::size_of::<pkcs7_envelope_st>(),
12091        24usize,
12092        "Size of pkcs7_envelope_st"
12093    );
12094    assert_eq!(
12095        ::std::mem::align_of::<pkcs7_envelope_st>(),
12096        8usize,
12097        "Alignment of pkcs7_envelope_st"
12098    );
12099    assert_eq!(
12100        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12101        0usize,
12102        "Offset of field: pkcs7_envelope_st::version"
12103    );
12104    assert_eq!(
12105        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12106        8usize,
12107        "Offset of field: pkcs7_envelope_st::enc_data"
12108    );
12109    assert_eq!(
12110        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12111        16usize,
12112        "Offset of field: pkcs7_envelope_st::recipientinfo"
12113    );
12114}
12115impl Default for pkcs7_envelope_st {
12116    fn default() -> Self {
12117        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12118        unsafe {
12119            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12120            s.assume_init()
12121        }
12122    }
12123}
12124#[repr(C)]
12125#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12126pub struct pkcs7_recip_info_st {
12127    pub version: *mut ASN1_INTEGER,
12128    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12129    pub key_enc_algor: *mut X509_ALGOR,
12130    pub enc_key: *mut ASN1_OCTET_STRING,
12131    pub cert: *mut X509,
12132}
12133#[test]
12134fn bindgen_test_layout_pkcs7_recip_info_st() {
12135    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12136    let ptr = UNINIT.as_ptr();
12137    assert_eq!(
12138        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12139        40usize,
12140        "Size of pkcs7_recip_info_st"
12141    );
12142    assert_eq!(
12143        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12144        8usize,
12145        "Alignment of pkcs7_recip_info_st"
12146    );
12147    assert_eq!(
12148        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12149        0usize,
12150        "Offset of field: pkcs7_recip_info_st::version"
12151    );
12152    assert_eq!(
12153        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12154        8usize,
12155        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12156    );
12157    assert_eq!(
12158        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12159        16usize,
12160        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12161    );
12162    assert_eq!(
12163        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12164        24usize,
12165        "Offset of field: pkcs7_recip_info_st::enc_key"
12166    );
12167    assert_eq!(
12168        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12169        32usize,
12170        "Offset of field: pkcs7_recip_info_st::cert"
12171    );
12172}
12173impl Default for pkcs7_recip_info_st {
12174    fn default() -> Self {
12175        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12176        unsafe {
12177            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12178            s.assume_init()
12179        }
12180    }
12181}
12182#[repr(C)]
12183#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12184pub struct pkcs7_issuer_and_serial_st {
12185    pub issuer: *mut X509_NAME,
12186    pub serial: *mut ASN1_INTEGER,
12187}
12188#[test]
12189fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12190    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12191        ::std::mem::MaybeUninit::uninit();
12192    let ptr = UNINIT.as_ptr();
12193    assert_eq!(
12194        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12195        16usize,
12196        "Size of pkcs7_issuer_and_serial_st"
12197    );
12198    assert_eq!(
12199        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12200        8usize,
12201        "Alignment of pkcs7_issuer_and_serial_st"
12202    );
12203    assert_eq!(
12204        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12205        0usize,
12206        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12207    );
12208    assert_eq!(
12209        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12210        8usize,
12211        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12212    );
12213}
12214impl Default for pkcs7_issuer_and_serial_st {
12215    fn default() -> Self {
12216        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12217        unsafe {
12218            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12219            s.assume_init()
12220        }
12221    }
12222}
12223#[repr(C)]
12224#[derive(Debug, Copy, Clone)]
12225pub struct stack_st_PKCS7_RECIP_INFO {
12226    _unused: [u8; 0],
12227}
12228#[repr(C)]
12229#[derive(Debug, Copy, Clone)]
12230pub struct stack_st_PKCS7_SIGNER_INFO {
12231    _unused: [u8; 0],
12232}
12233extern "C" {
12234    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_public_key"]
12235    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12236}
12237extern "C" {
12238    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key"]
12239    pub fn RSA_new_private_key(
12240        n: *const BIGNUM,
12241        e: *const BIGNUM,
12242        d: *const BIGNUM,
12243        p: *const BIGNUM,
12244        q: *const BIGNUM,
12245        dmp1: *const BIGNUM,
12246        dmq1: *const BIGNUM,
12247        iqmp: *const BIGNUM,
12248    ) -> *mut RSA;
12249}
12250extern "C" {
12251    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new"]
12252    pub fn RSA_new() -> *mut RSA;
12253}
12254extern "C" {
12255    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_method"]
12256    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12257}
12258extern "C" {
12259    #[link_name = "\u{1}aws_lc_0_35_0_RSA_free"]
12260    pub fn RSA_free(rsa: *mut RSA);
12261}
12262extern "C" {
12263    #[link_name = "\u{1}aws_lc_0_35_0_RSA_up_ref"]
12264    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12265}
12266extern "C" {
12267    #[link_name = "\u{1}aws_lc_0_35_0_RSA_bits"]
12268    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12269}
12270extern "C" {
12271    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_n"]
12272    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12273}
12274extern "C" {
12275    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_e"]
12276    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12277}
12278extern "C" {
12279    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_d"]
12280    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12281}
12282extern "C" {
12283    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_p"]
12284    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12285}
12286extern "C" {
12287    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_q"]
12288    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12289}
12290extern "C" {
12291    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_dmp1"]
12292    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12293}
12294extern "C" {
12295    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_dmq1"]
12296    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12297}
12298extern "C" {
12299    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_iqmp"]
12300    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12301}
12302extern "C" {
12303    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_key"]
12304    pub fn RSA_get0_key(
12305        rsa: *const RSA,
12306        out_n: *mut *const BIGNUM,
12307        out_e: *mut *const BIGNUM,
12308        out_d: *mut *const BIGNUM,
12309    );
12310}
12311extern "C" {
12312    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_factors"]
12313    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12314}
12315extern "C" {
12316    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_crt_params"]
12317    pub fn RSA_get0_crt_params(
12318        rsa: *const RSA,
12319        out_dmp1: *mut *const BIGNUM,
12320        out_dmq1: *mut *const BIGNUM,
12321        out_iqmp: *mut *const BIGNUM,
12322    );
12323}
12324extern "C" {
12325    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set0_key"]
12326    pub fn RSA_set0_key(
12327        rsa: *mut RSA,
12328        n: *mut BIGNUM,
12329        e: *mut BIGNUM,
12330        d: *mut BIGNUM,
12331    ) -> ::std::os::raw::c_int;
12332}
12333extern "C" {
12334    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set0_factors"]
12335    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12336        -> ::std::os::raw::c_int;
12337}
12338extern "C" {
12339    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set0_crt_params"]
12340    pub fn RSA_set0_crt_params(
12341        rsa: *mut RSA,
12342        dmp1: *mut BIGNUM,
12343        dmq1: *mut BIGNUM,
12344        iqmp: *mut BIGNUM,
12345    ) -> ::std::os::raw::c_int;
12346}
12347extern "C" {
12348    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_default_method"]
12349    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12350}
12351extern "C" {
12352    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_new"]
12353    pub fn RSA_meth_new(
12354        name: *const ::std::os::raw::c_char,
12355        flags: ::std::os::raw::c_int,
12356    ) -> *mut RSA_METHOD;
12357}
12358extern "C" {
12359    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set_method"]
12360    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12361}
12362extern "C" {
12363    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_method"]
12364    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12365}
12366extern "C" {
12367    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_free"]
12368    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12369}
12370extern "C" {
12371    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_init"]
12372    pub fn RSA_meth_set_init(
12373        meth: *mut RSA_METHOD,
12374        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12375    ) -> ::std::os::raw::c_int;
12376}
12377extern "C" {
12378    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_finish"]
12379    pub fn RSA_meth_set_finish(
12380        meth: *mut RSA_METHOD,
12381        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12382    ) -> ::std::os::raw::c_int;
12383}
12384extern "C" {
12385    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_priv_dec"]
12386    pub fn RSA_meth_set_priv_dec(
12387        meth: *mut RSA_METHOD,
12388        priv_dec: ::std::option::Option<
12389            unsafe extern "C" fn(
12390                max_out: ::std::os::raw::c_int,
12391                from: *const u8,
12392                to: *mut u8,
12393                rsa: *mut RSA,
12394                padding: ::std::os::raw::c_int,
12395            ) -> ::std::os::raw::c_int,
12396        >,
12397    ) -> ::std::os::raw::c_int;
12398}
12399extern "C" {
12400    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_priv_enc"]
12401    pub fn RSA_meth_set_priv_enc(
12402        meth: *mut RSA_METHOD,
12403        priv_enc: ::std::option::Option<
12404            unsafe extern "C" fn(
12405                max_out: ::std::os::raw::c_int,
12406                from: *const u8,
12407                to: *mut u8,
12408                rsa: *mut RSA,
12409                padding: ::std::os::raw::c_int,
12410            ) -> ::std::os::raw::c_int,
12411        >,
12412    ) -> ::std::os::raw::c_int;
12413}
12414extern "C" {
12415    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_pub_dec"]
12416    pub fn RSA_meth_set_pub_dec(
12417        meth: *mut RSA_METHOD,
12418        pub_dec: ::std::option::Option<
12419            unsafe extern "C" fn(
12420                max_out: ::std::os::raw::c_int,
12421                from: *const u8,
12422                to: *mut u8,
12423                rsa: *mut RSA,
12424                padding: ::std::os::raw::c_int,
12425            ) -> ::std::os::raw::c_int,
12426        >,
12427    ) -> ::std::os::raw::c_int;
12428}
12429extern "C" {
12430    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_pub_enc"]
12431    pub fn RSA_meth_set_pub_enc(
12432        meth: *mut RSA_METHOD,
12433        pub_enc: ::std::option::Option<
12434            unsafe extern "C" fn(
12435                max_out: ::std::os::raw::c_int,
12436                from: *const u8,
12437                to: *mut u8,
12438                rsa: *mut RSA,
12439                padding: ::std::os::raw::c_int,
12440            ) -> ::std::os::raw::c_int,
12441        >,
12442    ) -> ::std::os::raw::c_int;
12443}
12444extern "C" {
12445    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set0_app_data"]
12446    pub fn RSA_meth_set0_app_data(
12447        meth: *mut RSA_METHOD,
12448        app_data: *mut ::std::os::raw::c_void,
12449    ) -> ::std::os::raw::c_int;
12450}
12451extern "C" {
12452    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_sign"]
12453    pub fn RSA_meth_set_sign(
12454        meth: *mut RSA_METHOD,
12455        sign: ::std::option::Option<
12456            unsafe extern "C" fn(
12457                type_: ::std::os::raw::c_int,
12458                m: *const ::std::os::raw::c_uchar,
12459                m_length: ::std::os::raw::c_uint,
12460                sigret: *mut ::std::os::raw::c_uchar,
12461                siglen: *mut ::std::os::raw::c_uint,
12462                rsa: *const RSA,
12463            ) -> ::std::os::raw::c_int,
12464        >,
12465    ) -> ::std::os::raw::c_int;
12466}
12467extern "C" {
12468    #[link_name = "\u{1}aws_lc_0_35_0_RSA_generate_key_ex"]
12469    pub fn RSA_generate_key_ex(
12470        rsa: *mut RSA,
12471        bits: ::std::os::raw::c_int,
12472        e: *const BIGNUM,
12473        cb: *mut BN_GENCB,
12474    ) -> ::std::os::raw::c_int;
12475}
12476extern "C" {
12477    #[link_name = "\u{1}aws_lc_0_35_0_RSA_generate_key_fips"]
12478    pub fn RSA_generate_key_fips(
12479        rsa: *mut RSA,
12480        bits: ::std::os::raw::c_int,
12481        cb: *mut BN_GENCB,
12482    ) -> ::std::os::raw::c_int;
12483}
12484extern "C" {
12485    #[link_name = "\u{1}aws_lc_0_35_0_RSA_encrypt"]
12486    pub fn RSA_encrypt(
12487        rsa: *mut RSA,
12488        out_len: *mut usize,
12489        out: *mut u8,
12490        max_out: usize,
12491        in_: *const u8,
12492        in_len: usize,
12493        padding: ::std::os::raw::c_int,
12494    ) -> ::std::os::raw::c_int;
12495}
12496extern "C" {
12497    #[link_name = "\u{1}aws_lc_0_35_0_RSA_decrypt"]
12498    pub fn RSA_decrypt(
12499        rsa: *mut RSA,
12500        out_len: *mut usize,
12501        out: *mut u8,
12502        max_out: usize,
12503        in_: *const u8,
12504        in_len: usize,
12505        padding: ::std::os::raw::c_int,
12506    ) -> ::std::os::raw::c_int;
12507}
12508extern "C" {
12509    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_encrypt"]
12510    pub fn RSA_public_encrypt(
12511        flen: usize,
12512        from: *const u8,
12513        to: *mut u8,
12514        rsa: *mut RSA,
12515        padding: ::std::os::raw::c_int,
12516    ) -> ::std::os::raw::c_int;
12517}
12518extern "C" {
12519    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_decrypt"]
12520    pub fn RSA_private_decrypt(
12521        flen: usize,
12522        from: *const u8,
12523        to: *mut u8,
12524        rsa: *mut RSA,
12525        padding: ::std::os::raw::c_int,
12526    ) -> ::std::os::raw::c_int;
12527}
12528extern "C" {
12529    #[link_name = "\u{1}aws_lc_0_35_0_RSA_sign"]
12530    pub fn RSA_sign(
12531        hash_nid: ::std::os::raw::c_int,
12532        digest: *const u8,
12533        digest_len: usize,
12534        out: *mut u8,
12535        out_len: *mut ::std::os::raw::c_uint,
12536        rsa: *mut RSA,
12537    ) -> ::std::os::raw::c_int;
12538}
12539extern "C" {
12540    #[link_name = "\u{1}aws_lc_0_35_0_RSA_sign_pss_mgf1"]
12541    pub fn RSA_sign_pss_mgf1(
12542        rsa: *mut RSA,
12543        out_len: *mut usize,
12544        out: *mut u8,
12545        max_out: usize,
12546        digest: *const u8,
12547        digest_len: usize,
12548        md: *const EVP_MD,
12549        mgf1_md: *const EVP_MD,
12550        salt_len: ::std::os::raw::c_int,
12551    ) -> ::std::os::raw::c_int;
12552}
12553extern "C" {
12554    #[link_name = "\u{1}aws_lc_0_35_0_RSA_sign_raw"]
12555    pub fn RSA_sign_raw(
12556        rsa: *mut RSA,
12557        out_len: *mut usize,
12558        out: *mut u8,
12559        max_out: usize,
12560        in_: *const u8,
12561        in_len: usize,
12562        padding: ::std::os::raw::c_int,
12563    ) -> ::std::os::raw::c_int;
12564}
12565extern "C" {
12566    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify"]
12567    pub fn RSA_verify(
12568        hash_nid: ::std::os::raw::c_int,
12569        digest: *const u8,
12570        digest_len: usize,
12571        sig: *const u8,
12572        sig_len: usize,
12573        rsa: *mut RSA,
12574    ) -> ::std::os::raw::c_int;
12575}
12576extern "C" {
12577    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_pss_mgf1"]
12578    pub fn RSA_verify_pss_mgf1(
12579        rsa: *mut RSA,
12580        digest: *const u8,
12581        digest_len: usize,
12582        md: *const EVP_MD,
12583        mgf1_md: *const EVP_MD,
12584        salt_len: ::std::os::raw::c_int,
12585        sig: *const u8,
12586        sig_len: usize,
12587    ) -> ::std::os::raw::c_int;
12588}
12589extern "C" {
12590    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_raw"]
12591    pub fn RSA_verify_raw(
12592        rsa: *mut RSA,
12593        out_len: *mut usize,
12594        out: *mut u8,
12595        max_out: usize,
12596        in_: *const u8,
12597        in_len: usize,
12598        padding: ::std::os::raw::c_int,
12599    ) -> ::std::os::raw::c_int;
12600}
12601extern "C" {
12602    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_encrypt"]
12603    pub fn RSA_private_encrypt(
12604        flen: usize,
12605        from: *const u8,
12606        to: *mut u8,
12607        rsa: *mut RSA,
12608        padding: ::std::os::raw::c_int,
12609    ) -> ::std::os::raw::c_int;
12610}
12611extern "C" {
12612    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_decrypt"]
12613    pub fn RSA_public_decrypt(
12614        flen: usize,
12615        from: *const u8,
12616        to: *mut u8,
12617        rsa: *mut RSA,
12618        padding: ::std::os::raw::c_int,
12619    ) -> ::std::os::raw::c_int;
12620}
12621extern "C" {
12622    #[link_name = "\u{1}aws_lc_0_35_0_RSA_size"]
12623    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12624}
12625extern "C" {
12626    #[link_name = "\u{1}aws_lc_0_35_0_RSA_is_opaque"]
12627    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12628}
12629extern "C" {
12630    #[link_name = "\u{1}aws_lc_0_35_0_RSAPublicKey_dup"]
12631    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12632}
12633extern "C" {
12634    #[link_name = "\u{1}aws_lc_0_35_0_RSAPrivateKey_dup"]
12635    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12636}
12637extern "C" {
12638    #[link_name = "\u{1}aws_lc_0_35_0_RSA_check_key"]
12639    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12640}
12641extern "C" {
12642    #[link_name = "\u{1}aws_lc_0_35_0_RSA_check_fips"]
12643    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12644}
12645extern "C" {
12646    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_PKCS1_PSS_mgf1"]
12647    pub fn RSA_verify_PKCS1_PSS_mgf1(
12648        rsa: *const RSA,
12649        mHash: *const u8,
12650        Hash: *const EVP_MD,
12651        mgf1Hash: *const EVP_MD,
12652        EM: *const u8,
12653        sLen: ::std::os::raw::c_int,
12654    ) -> ::std::os::raw::c_int;
12655}
12656extern "C" {
12657    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_PSS_mgf1"]
12658    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12659        rsa: *const RSA,
12660        EM: *mut u8,
12661        mHash: *const u8,
12662        Hash: *const EVP_MD,
12663        mgf1Hash: *const EVP_MD,
12664        sLen: ::std::os::raw::c_int,
12665    ) -> ::std::os::raw::c_int;
12666}
12667extern "C" {
12668    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
12669    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12670        to: *mut u8,
12671        to_len: usize,
12672        from: *const u8,
12673        from_len: usize,
12674        param: *const u8,
12675        param_len: usize,
12676        md: *const EVP_MD,
12677        mgf1md: *const EVP_MD,
12678    ) -> ::std::os::raw::c_int;
12679}
12680extern "C" {
12681    #[link_name = "\u{1}aws_lc_0_35_0_PKCS1_MGF1"]
12682    pub fn PKCS1_MGF1(
12683        out: *mut u8,
12684        len: usize,
12685        seed: *const u8,
12686        seed_len: usize,
12687        md: *const EVP_MD,
12688    ) -> ::std::os::raw::c_int;
12689}
12690extern "C" {
12691    #[link_name = "\u{1}aws_lc_0_35_0_RSA_add_pkcs1_prefix"]
12692    pub fn RSA_add_pkcs1_prefix(
12693        out_msg: *mut *mut u8,
12694        out_msg_len: *mut usize,
12695        is_alloced: *mut ::std::os::raw::c_int,
12696        hash_nid: ::std::os::raw::c_int,
12697        digest: *const u8,
12698        digest_len: usize,
12699    ) -> ::std::os::raw::c_int;
12700}
12701extern "C" {
12702    #[link_name = "\u{1}aws_lc_0_35_0_RSA_parse_public_key"]
12703    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12704}
12705extern "C" {
12706    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_key_from_bytes"]
12707    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12708}
12709extern "C" {
12710    #[link_name = "\u{1}aws_lc_0_35_0_RSA_marshal_public_key"]
12711    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12712}
12713extern "C" {
12714    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_key_to_bytes"]
12715    pub fn RSA_public_key_to_bytes(
12716        out_bytes: *mut *mut u8,
12717        out_len: *mut usize,
12718        rsa: *const RSA,
12719    ) -> ::std::os::raw::c_int;
12720}
12721extern "C" {
12722    #[link_name = "\u{1}aws_lc_0_35_0_RSA_parse_private_key"]
12723    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12724}
12725extern "C" {
12726    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_key_from_bytes"]
12727    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12728}
12729extern "C" {
12730    #[link_name = "\u{1}aws_lc_0_35_0_RSA_marshal_private_key"]
12731    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12732}
12733extern "C" {
12734    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_key_to_bytes"]
12735    pub fn RSA_private_key_to_bytes(
12736        out_bytes: *mut *mut u8,
12737        out_len: *mut usize,
12738        rsa: *const RSA,
12739    ) -> ::std::os::raw::c_int;
12740}
12741extern "C" {
12742    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key_no_crt"]
12743    pub fn RSA_new_private_key_no_crt(
12744        n: *const BIGNUM,
12745        e: *const BIGNUM,
12746        d: *const BIGNUM,
12747    ) -> *mut RSA;
12748}
12749extern "C" {
12750    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key_no_e"]
12751    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
12752}
12753extern "C" {
12754    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_public_key_large_e"]
12755    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12756}
12757extern "C" {
12758    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key_large_e"]
12759    pub fn RSA_new_private_key_large_e(
12760        n: *const BIGNUM,
12761        e: *const BIGNUM,
12762        d: *const BIGNUM,
12763        p: *const BIGNUM,
12764        q: *const BIGNUM,
12765        dmp1: *const BIGNUM,
12766        dmq1: *const BIGNUM,
12767        iqmp: *const BIGNUM,
12768    ) -> *mut RSA;
12769}
12770extern "C" {
12771    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_ex_new_index"]
12772    pub fn RSA_get_ex_new_index(
12773        argl: ::std::os::raw::c_long,
12774        argp: *mut ::std::os::raw::c_void,
12775        unused: *mut CRYPTO_EX_unused,
12776        dup_unused: CRYPTO_EX_dup,
12777        free_func: CRYPTO_EX_free,
12778    ) -> ::std::os::raw::c_int;
12779}
12780extern "C" {
12781    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set_ex_data"]
12782    pub fn RSA_set_ex_data(
12783        rsa: *mut RSA,
12784        idx: ::std::os::raw::c_int,
12785        arg: *mut ::std::os::raw::c_void,
12786    ) -> ::std::os::raw::c_int;
12787}
12788extern "C" {
12789    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_ex_data"]
12790    pub fn RSA_get_ex_data(
12791        rsa: *const RSA,
12792        idx: ::std::os::raw::c_int,
12793    ) -> *mut ::std::os::raw::c_void;
12794}
12795extern "C" {
12796    #[link_name = "\u{1}aws_lc_0_35_0_RSA_flags"]
12797    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
12798}
12799extern "C" {
12800    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set_flags"]
12801    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
12802}
12803extern "C" {
12804    #[link_name = "\u{1}aws_lc_0_35_0_RSA_test_flags"]
12805    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12806}
12807extern "C" {
12808    #[link_name = "\u{1}aws_lc_0_35_0_RSA_blinding_on"]
12809    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
12810}
12811extern "C" {
12812    #[link_name = "\u{1}aws_lc_0_35_0_RSA_blinding_off_temp_for_accp_compatibility"]
12813    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
12814}
12815extern "C" {
12816    #[link_name = "\u{1}aws_lc_0_35_0_RSA_pkey_ctx_ctrl"]
12817    pub fn RSA_pkey_ctx_ctrl(
12818        ctx: *mut EVP_PKEY_CTX,
12819        optype: ::std::os::raw::c_int,
12820        cmd: ::std::os::raw::c_int,
12821        p1: ::std::os::raw::c_int,
12822        p2: *mut ::std::os::raw::c_void,
12823    ) -> ::std::os::raw::c_int;
12824}
12825extern "C" {
12826    #[link_name = "\u{1}aws_lc_0_35_0_RSA_generate_key"]
12827    pub fn RSA_generate_key(
12828        bits: ::std::os::raw::c_int,
12829        e: u64,
12830        callback: *mut ::std::os::raw::c_void,
12831        cb_arg: *mut ::std::os::raw::c_void,
12832    ) -> *mut RSA;
12833}
12834extern "C" {
12835    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPublicKey"]
12836    pub fn d2i_RSAPublicKey(
12837        out: *mut *mut RSA,
12838        inp: *mut *const u8,
12839        len: ::std::os::raw::c_long,
12840    ) -> *mut RSA;
12841}
12842extern "C" {
12843    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPublicKey"]
12844    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12845}
12846extern "C" {
12847    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPrivateKey"]
12848    pub fn d2i_RSAPrivateKey(
12849        out: *mut *mut RSA,
12850        inp: *mut *const u8,
12851        len: ::std::os::raw::c_long,
12852    ) -> *mut RSA;
12853}
12854extern "C" {
12855    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPrivateKey"]
12856    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12857}
12858extern "C" {
12859    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_PSS"]
12860    pub fn RSA_padding_add_PKCS1_PSS(
12861        rsa: *const RSA,
12862        EM: *mut u8,
12863        mHash: *const u8,
12864        Hash: *const EVP_MD,
12865        sLen: ::std::os::raw::c_int,
12866    ) -> ::std::os::raw::c_int;
12867}
12868extern "C" {
12869    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_PKCS1_PSS"]
12870    pub fn RSA_verify_PKCS1_PSS(
12871        rsa: *const RSA,
12872        mHash: *const u8,
12873        Hash: *const EVP_MD,
12874        EM: *const u8,
12875        sLen: ::std::os::raw::c_int,
12876    ) -> ::std::os::raw::c_int;
12877}
12878extern "C" {
12879    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_OAEP"]
12880    pub fn RSA_padding_add_PKCS1_OAEP(
12881        to: *mut u8,
12882        to_len: usize,
12883        from: *const u8,
12884        from_len: usize,
12885        param: *const u8,
12886        param_len: usize,
12887    ) -> ::std::os::raw::c_int;
12888}
12889extern "C" {
12890    #[link_name = "\u{1}aws_lc_0_35_0_RSA_print"]
12891    pub fn RSA_print(
12892        bio: *mut BIO,
12893        rsa: *const RSA,
12894        indent: ::std::os::raw::c_int,
12895    ) -> ::std::os::raw::c_int;
12896}
12897extern "C" {
12898    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_pss_params"]
12899    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
12900}
12901extern "C" {
12902    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_method_no_e"]
12903    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
12904}
12905#[repr(C)]
12906#[derive(Debug, Copy, Clone)]
12907pub struct stack_st_GENERAL_NAME {
12908    _unused: [u8; 0],
12909}
12910pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
12911#[repr(C)]
12912#[derive(Debug, Copy, Clone)]
12913pub struct stack_st_X509_NAME_ENTRY {
12914    _unused: [u8; 0],
12915}
12916#[repr(C)]
12917#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12918pub struct otherName_st {
12919    pub type_id: *mut ASN1_OBJECT,
12920    pub value: *mut ASN1_TYPE,
12921}
12922#[test]
12923fn bindgen_test_layout_otherName_st() {
12924    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
12925    let ptr = UNINIT.as_ptr();
12926    assert_eq!(
12927        ::std::mem::size_of::<otherName_st>(),
12928        16usize,
12929        "Size of otherName_st"
12930    );
12931    assert_eq!(
12932        ::std::mem::align_of::<otherName_st>(),
12933        8usize,
12934        "Alignment of otherName_st"
12935    );
12936    assert_eq!(
12937        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
12938        0usize,
12939        "Offset of field: otherName_st::type_id"
12940    );
12941    assert_eq!(
12942        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
12943        8usize,
12944        "Offset of field: otherName_st::value"
12945    );
12946}
12947impl Default for otherName_st {
12948    fn default() -> Self {
12949        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12950        unsafe {
12951            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12952            s.assume_init()
12953        }
12954    }
12955}
12956pub type OTHERNAME = otherName_st;
12957#[repr(C)]
12958#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12959pub struct EDIPartyName_st {
12960    pub nameAssigner: *mut ASN1_STRING,
12961    pub partyName: *mut ASN1_STRING,
12962}
12963#[test]
12964fn bindgen_test_layout_EDIPartyName_st() {
12965    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
12966    let ptr = UNINIT.as_ptr();
12967    assert_eq!(
12968        ::std::mem::size_of::<EDIPartyName_st>(),
12969        16usize,
12970        "Size of EDIPartyName_st"
12971    );
12972    assert_eq!(
12973        ::std::mem::align_of::<EDIPartyName_st>(),
12974        8usize,
12975        "Alignment of EDIPartyName_st"
12976    );
12977    assert_eq!(
12978        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
12979        0usize,
12980        "Offset of field: EDIPartyName_st::nameAssigner"
12981    );
12982    assert_eq!(
12983        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
12984        8usize,
12985        "Offset of field: EDIPartyName_st::partyName"
12986    );
12987}
12988impl Default for EDIPartyName_st {
12989    fn default() -> Self {
12990        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12991        unsafe {
12992            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12993            s.assume_init()
12994        }
12995    }
12996}
12997pub type EDIPARTYNAME = EDIPartyName_st;
12998#[repr(C)]
12999#[derive(Copy, Clone)]
13000pub struct GENERAL_NAME_st {
13001    pub type_: ::std::os::raw::c_int,
13002    pub d: GENERAL_NAME_st__bindgen_ty_1,
13003}
13004#[repr(C)]
13005#[derive(Copy, Clone)]
13006pub union GENERAL_NAME_st__bindgen_ty_1 {
13007    pub ptr: *mut ::std::os::raw::c_char,
13008    pub otherName: *mut OTHERNAME,
13009    pub rfc822Name: *mut ASN1_IA5STRING,
13010    pub dNSName: *mut ASN1_IA5STRING,
13011    pub x400Address: *mut ASN1_STRING,
13012    pub directoryName: *mut X509_NAME,
13013    pub ediPartyName: *mut EDIPARTYNAME,
13014    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13015    pub iPAddress: *mut ASN1_OCTET_STRING,
13016    pub registeredID: *mut ASN1_OBJECT,
13017    pub ip: *mut ASN1_OCTET_STRING,
13018    pub dirn: *mut X509_NAME,
13019    pub ia5: *mut ASN1_IA5STRING,
13020    pub rid: *mut ASN1_OBJECT,
13021}
13022#[test]
13023fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13024    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13025        ::std::mem::MaybeUninit::uninit();
13026    let ptr = UNINIT.as_ptr();
13027    assert_eq!(
13028        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13029        8usize,
13030        "Size of GENERAL_NAME_st__bindgen_ty_1"
13031    );
13032    assert_eq!(
13033        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13034        8usize,
13035        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13036    );
13037    assert_eq!(
13038        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13039        0usize,
13040        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13041    );
13042    assert_eq!(
13043        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13044        0usize,
13045        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13046    );
13047    assert_eq!(
13048        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13049        0usize,
13050        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13051    );
13052    assert_eq!(
13053        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13054        0usize,
13055        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13056    );
13057    assert_eq!(
13058        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13059        0usize,
13060        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13061    );
13062    assert_eq!(
13063        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13064        0usize,
13065        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13066    );
13067    assert_eq!(
13068        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13069        0usize,
13070        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13071    );
13072    assert_eq!(
13073        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13074        0usize,
13075        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13076    );
13077    assert_eq!(
13078        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13079        0usize,
13080        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13081    );
13082    assert_eq!(
13083        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13084        0usize,
13085        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13086    );
13087    assert_eq!(
13088        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13089        0usize,
13090        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13091    );
13092    assert_eq!(
13093        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13094        0usize,
13095        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13096    );
13097    assert_eq!(
13098        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13099        0usize,
13100        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13101    );
13102    assert_eq!(
13103        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13104        0usize,
13105        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13106    );
13107}
13108impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13109    fn default() -> Self {
13110        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13111        unsafe {
13112            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13113            s.assume_init()
13114        }
13115    }
13116}
13117#[test]
13118fn bindgen_test_layout_GENERAL_NAME_st() {
13119    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13120    let ptr = UNINIT.as_ptr();
13121    assert_eq!(
13122        ::std::mem::size_of::<GENERAL_NAME_st>(),
13123        16usize,
13124        "Size of GENERAL_NAME_st"
13125    );
13126    assert_eq!(
13127        ::std::mem::align_of::<GENERAL_NAME_st>(),
13128        8usize,
13129        "Alignment of GENERAL_NAME_st"
13130    );
13131    assert_eq!(
13132        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13133        0usize,
13134        "Offset of field: GENERAL_NAME_st::type_"
13135    );
13136    assert_eq!(
13137        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13138        8usize,
13139        "Offset of field: GENERAL_NAME_st::d"
13140    );
13141}
13142impl Default for GENERAL_NAME_st {
13143    fn default() -> Self {
13144        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13145        unsafe {
13146            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13147            s.assume_init()
13148        }
13149    }
13150}
13151#[repr(C)]
13152#[derive(Debug, Copy, Clone)]
13153pub struct stack_st_X509_ALGOR {
13154    _unused: [u8; 0],
13155}
13156#[repr(C)]
13157#[derive(Debug, Copy, Clone)]
13158pub struct stack_st_X509_ATTRIBUTE {
13159    _unused: [u8; 0],
13160}
13161#[repr(C)]
13162#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13163pub struct Netscape_spki_st {
13164    pub spkac: *mut NETSCAPE_SPKAC,
13165    pub sig_algor: *mut X509_ALGOR,
13166    pub signature: *mut ASN1_BIT_STRING,
13167}
13168#[test]
13169fn bindgen_test_layout_Netscape_spki_st() {
13170    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13171    let ptr = UNINIT.as_ptr();
13172    assert_eq!(
13173        ::std::mem::size_of::<Netscape_spki_st>(),
13174        24usize,
13175        "Size of Netscape_spki_st"
13176    );
13177    assert_eq!(
13178        ::std::mem::align_of::<Netscape_spki_st>(),
13179        8usize,
13180        "Alignment of Netscape_spki_st"
13181    );
13182    assert_eq!(
13183        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13184        0usize,
13185        "Offset of field: Netscape_spki_st::spkac"
13186    );
13187    assert_eq!(
13188        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13189        8usize,
13190        "Offset of field: Netscape_spki_st::sig_algor"
13191    );
13192    assert_eq!(
13193        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13194        16usize,
13195        "Offset of field: Netscape_spki_st::signature"
13196    );
13197}
13198impl Default for Netscape_spki_st {
13199    fn default() -> Self {
13200        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13201        unsafe {
13202            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13203            s.assume_init()
13204        }
13205    }
13206}
13207#[repr(C)]
13208#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13209pub struct Netscape_spkac_st {
13210    pub pubkey: *mut X509_PUBKEY,
13211    pub challenge: *mut ASN1_IA5STRING,
13212}
13213#[test]
13214fn bindgen_test_layout_Netscape_spkac_st() {
13215    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13216    let ptr = UNINIT.as_ptr();
13217    assert_eq!(
13218        ::std::mem::size_of::<Netscape_spkac_st>(),
13219        16usize,
13220        "Size of Netscape_spkac_st"
13221    );
13222    assert_eq!(
13223        ::std::mem::align_of::<Netscape_spkac_st>(),
13224        8usize,
13225        "Alignment of Netscape_spkac_st"
13226    );
13227    assert_eq!(
13228        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13229        0usize,
13230        "Offset of field: Netscape_spkac_st::pubkey"
13231    );
13232    assert_eq!(
13233        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13234        8usize,
13235        "Offset of field: Netscape_spkac_st::challenge"
13236    );
13237}
13238impl Default for Netscape_spkac_st {
13239    fn default() -> Self {
13240        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13241        unsafe {
13242            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13243            s.assume_init()
13244        }
13245    }
13246}
13247#[repr(C)]
13248#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13249pub struct rsa_pss_params_st {
13250    pub hashAlgorithm: *mut X509_ALGOR,
13251    pub maskGenAlgorithm: *mut X509_ALGOR,
13252    pub saltLength: *mut ASN1_INTEGER,
13253    pub trailerField: *mut ASN1_INTEGER,
13254    pub maskHash: *mut X509_ALGOR,
13255}
13256#[test]
13257fn bindgen_test_layout_rsa_pss_params_st() {
13258    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13259    let ptr = UNINIT.as_ptr();
13260    assert_eq!(
13261        ::std::mem::size_of::<rsa_pss_params_st>(),
13262        40usize,
13263        "Size of rsa_pss_params_st"
13264    );
13265    assert_eq!(
13266        ::std::mem::align_of::<rsa_pss_params_st>(),
13267        8usize,
13268        "Alignment of rsa_pss_params_st"
13269    );
13270    assert_eq!(
13271        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13272        0usize,
13273        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13274    );
13275    assert_eq!(
13276        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13277        8usize,
13278        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13279    );
13280    assert_eq!(
13281        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13282        16usize,
13283        "Offset of field: rsa_pss_params_st::saltLength"
13284    );
13285    assert_eq!(
13286        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13287        24usize,
13288        "Offset of field: rsa_pss_params_st::trailerField"
13289    );
13290    assert_eq!(
13291        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13292        32usize,
13293        "Offset of field: rsa_pss_params_st::maskHash"
13294    );
13295}
13296impl Default for rsa_pss_params_st {
13297    fn default() -> Self {
13298        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13299        unsafe {
13300            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13301            s.assume_init()
13302        }
13303    }
13304}
13305#[repr(C)]
13306#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13307pub struct private_key_st {
13308    pub dec_pkey: *mut EVP_PKEY,
13309}
13310#[test]
13311fn bindgen_test_layout_private_key_st() {
13312    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13313    let ptr = UNINIT.as_ptr();
13314    assert_eq!(
13315        ::std::mem::size_of::<private_key_st>(),
13316        8usize,
13317        "Size of private_key_st"
13318    );
13319    assert_eq!(
13320        ::std::mem::align_of::<private_key_st>(),
13321        8usize,
13322        "Alignment of private_key_st"
13323    );
13324    assert_eq!(
13325        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13326        0usize,
13327        "Offset of field: private_key_st::dec_pkey"
13328    );
13329}
13330impl Default for private_key_st {
13331    fn default() -> Self {
13332        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13333        unsafe {
13334            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13335            s.assume_init()
13336        }
13337    }
13338}
13339#[repr(C)]
13340#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13341pub struct X509_info_st {
13342    pub x509: *mut X509,
13343    pub crl: *mut X509_CRL,
13344    pub x_pkey: *mut X509_PKEY,
13345    pub enc_cipher: EVP_CIPHER_INFO,
13346    pub enc_len: ::std::os::raw::c_int,
13347    pub enc_data: *mut ::std::os::raw::c_char,
13348}
13349#[test]
13350fn bindgen_test_layout_X509_info_st() {
13351    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13352    let ptr = UNINIT.as_ptr();
13353    assert_eq!(
13354        ::std::mem::size_of::<X509_info_st>(),
13355        64usize,
13356        "Size of X509_info_st"
13357    );
13358    assert_eq!(
13359        ::std::mem::align_of::<X509_info_st>(),
13360        8usize,
13361        "Alignment of X509_info_st"
13362    );
13363    assert_eq!(
13364        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13365        0usize,
13366        "Offset of field: X509_info_st::x509"
13367    );
13368    assert_eq!(
13369        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13370        8usize,
13371        "Offset of field: X509_info_st::crl"
13372    );
13373    assert_eq!(
13374        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13375        16usize,
13376        "Offset of field: X509_info_st::x_pkey"
13377    );
13378    assert_eq!(
13379        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13380        24usize,
13381        "Offset of field: X509_info_st::enc_cipher"
13382    );
13383    assert_eq!(
13384        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13385        48usize,
13386        "Offset of field: X509_info_st::enc_len"
13387    );
13388    assert_eq!(
13389        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13390        56usize,
13391        "Offset of field: X509_info_st::enc_data"
13392    );
13393}
13394impl Default for X509_info_st {
13395    fn default() -> Self {
13396        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13397        unsafe {
13398            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13399            s.assume_init()
13400        }
13401    }
13402}
13403pub type X509V3_EXT_NEW =
13404    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13405pub type X509V3_EXT_FREE =
13406    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13407pub type X509V3_EXT_D2I = ::std::option::Option<
13408    unsafe extern "C" fn(
13409        ext: *mut ::std::os::raw::c_void,
13410        inp: *mut *const u8,
13411        len: ::std::os::raw::c_long,
13412    ) -> *mut ::std::os::raw::c_void,
13413>;
13414pub type X509V3_EXT_I2D = ::std::option::Option<
13415    unsafe extern "C" fn(
13416        ext: *mut ::std::os::raw::c_void,
13417        outp: *mut *mut u8,
13418    ) -> ::std::os::raw::c_int,
13419>;
13420pub type X509V3_EXT_I2V = ::std::option::Option<
13421    unsafe extern "C" fn(
13422        method: *const X509V3_EXT_METHOD,
13423        ext: *mut ::std::os::raw::c_void,
13424        extlist: *mut stack_st_CONF_VALUE,
13425    ) -> *mut stack_st_CONF_VALUE,
13426>;
13427pub type X509V3_EXT_V2I = ::std::option::Option<
13428    unsafe extern "C" fn(
13429        method: *const X509V3_EXT_METHOD,
13430        ctx: *const X509V3_CTX,
13431        values: *const stack_st_CONF_VALUE,
13432    ) -> *mut ::std::os::raw::c_void,
13433>;
13434pub type X509V3_EXT_I2S = ::std::option::Option<
13435    unsafe extern "C" fn(
13436        method: *const X509V3_EXT_METHOD,
13437        ext: *mut ::std::os::raw::c_void,
13438    ) -> *mut ::std::os::raw::c_char,
13439>;
13440pub type X509V3_EXT_S2I = ::std::option::Option<
13441    unsafe extern "C" fn(
13442        method: *const X509V3_EXT_METHOD,
13443        ctx: *const X509V3_CTX,
13444        str_: *const ::std::os::raw::c_char,
13445    ) -> *mut ::std::os::raw::c_void,
13446>;
13447pub type X509V3_EXT_I2R = ::std::option::Option<
13448    unsafe extern "C" fn(
13449        method: *const X509V3_EXT_METHOD,
13450        ext: *mut ::std::os::raw::c_void,
13451        out: *mut BIO,
13452        indent: ::std::os::raw::c_int,
13453    ) -> ::std::os::raw::c_int,
13454>;
13455pub type X509V3_EXT_R2I = ::std::option::Option<
13456    unsafe extern "C" fn(
13457        method: *const X509V3_EXT_METHOD,
13458        ctx: *const X509V3_CTX,
13459        str_: *const ::std::os::raw::c_char,
13460    ) -> *mut ::std::os::raw::c_void,
13461>;
13462#[repr(C)]
13463#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13464pub struct v3_ext_method {
13465    pub ext_nid: ::std::os::raw::c_int,
13466    pub ext_flags: ::std::os::raw::c_int,
13467    pub it: *const ASN1_ITEM_st,
13468    pub ext_new: X509V3_EXT_NEW,
13469    pub ext_free: X509V3_EXT_FREE,
13470    pub d2i: X509V3_EXT_D2I,
13471    pub i2d: X509V3_EXT_I2D,
13472    pub i2s: X509V3_EXT_I2S,
13473    pub s2i: X509V3_EXT_S2I,
13474    pub i2v: X509V3_EXT_I2V,
13475    pub v2i: X509V3_EXT_V2I,
13476    pub i2r: X509V3_EXT_I2R,
13477    pub r2i: X509V3_EXT_R2I,
13478    pub usr_data: *mut ::std::os::raw::c_void,
13479}
13480#[test]
13481fn bindgen_test_layout_v3_ext_method() {
13482    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13483    let ptr = UNINIT.as_ptr();
13484    assert_eq!(
13485        ::std::mem::size_of::<v3_ext_method>(),
13486        104usize,
13487        "Size of v3_ext_method"
13488    );
13489    assert_eq!(
13490        ::std::mem::align_of::<v3_ext_method>(),
13491        8usize,
13492        "Alignment of v3_ext_method"
13493    );
13494    assert_eq!(
13495        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13496        0usize,
13497        "Offset of field: v3_ext_method::ext_nid"
13498    );
13499    assert_eq!(
13500        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13501        4usize,
13502        "Offset of field: v3_ext_method::ext_flags"
13503    );
13504    assert_eq!(
13505        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13506        8usize,
13507        "Offset of field: v3_ext_method::it"
13508    );
13509    assert_eq!(
13510        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13511        16usize,
13512        "Offset of field: v3_ext_method::ext_new"
13513    );
13514    assert_eq!(
13515        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13516        24usize,
13517        "Offset of field: v3_ext_method::ext_free"
13518    );
13519    assert_eq!(
13520        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13521        32usize,
13522        "Offset of field: v3_ext_method::d2i"
13523    );
13524    assert_eq!(
13525        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13526        40usize,
13527        "Offset of field: v3_ext_method::i2d"
13528    );
13529    assert_eq!(
13530        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13531        48usize,
13532        "Offset of field: v3_ext_method::i2s"
13533    );
13534    assert_eq!(
13535        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13536        56usize,
13537        "Offset of field: v3_ext_method::s2i"
13538    );
13539    assert_eq!(
13540        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13541        64usize,
13542        "Offset of field: v3_ext_method::i2v"
13543    );
13544    assert_eq!(
13545        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13546        72usize,
13547        "Offset of field: v3_ext_method::v2i"
13548    );
13549    assert_eq!(
13550        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13551        80usize,
13552        "Offset of field: v3_ext_method::i2r"
13553    );
13554    assert_eq!(
13555        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13556        88usize,
13557        "Offset of field: v3_ext_method::r2i"
13558    );
13559    assert_eq!(
13560        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13561        96usize,
13562        "Offset of field: v3_ext_method::usr_data"
13563    );
13564}
13565impl Default for v3_ext_method {
13566    fn default() -> Self {
13567        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13568        unsafe {
13569            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13570            s.assume_init()
13571        }
13572    }
13573}
13574#[repr(C)]
13575#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13576pub struct v3_ext_ctx {
13577    pub flags: ::std::os::raw::c_int,
13578    pub issuer_cert: *const X509,
13579    pub subject_cert: *const X509,
13580    pub subject_req: *const X509_REQ,
13581    pub crl: *const X509_CRL,
13582    pub db: *const CONF,
13583}
13584#[test]
13585fn bindgen_test_layout_v3_ext_ctx() {
13586    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13587    let ptr = UNINIT.as_ptr();
13588    assert_eq!(
13589        ::std::mem::size_of::<v3_ext_ctx>(),
13590        48usize,
13591        "Size of v3_ext_ctx"
13592    );
13593    assert_eq!(
13594        ::std::mem::align_of::<v3_ext_ctx>(),
13595        8usize,
13596        "Alignment of v3_ext_ctx"
13597    );
13598    assert_eq!(
13599        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13600        0usize,
13601        "Offset of field: v3_ext_ctx::flags"
13602    );
13603    assert_eq!(
13604        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13605        8usize,
13606        "Offset of field: v3_ext_ctx::issuer_cert"
13607    );
13608    assert_eq!(
13609        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13610        16usize,
13611        "Offset of field: v3_ext_ctx::subject_cert"
13612    );
13613    assert_eq!(
13614        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13615        24usize,
13616        "Offset of field: v3_ext_ctx::subject_req"
13617    );
13618    assert_eq!(
13619        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13620        32usize,
13621        "Offset of field: v3_ext_ctx::crl"
13622    );
13623    assert_eq!(
13624        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13625        40usize,
13626        "Offset of field: v3_ext_ctx::db"
13627    );
13628}
13629impl Default for v3_ext_ctx {
13630    fn default() -> Self {
13631        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13632        unsafe {
13633            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13634            s.assume_init()
13635        }
13636    }
13637}
13638#[repr(C)]
13639#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13640pub struct X509_algor_st {
13641    pub algorithm: *mut ASN1_OBJECT,
13642    pub parameter: *mut ASN1_TYPE,
13643}
13644#[test]
13645fn bindgen_test_layout_X509_algor_st() {
13646    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13647    let ptr = UNINIT.as_ptr();
13648    assert_eq!(
13649        ::std::mem::size_of::<X509_algor_st>(),
13650        16usize,
13651        "Size of X509_algor_st"
13652    );
13653    assert_eq!(
13654        ::std::mem::align_of::<X509_algor_st>(),
13655        8usize,
13656        "Alignment of X509_algor_st"
13657    );
13658    assert_eq!(
13659        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13660        0usize,
13661        "Offset of field: X509_algor_st::algorithm"
13662    );
13663    assert_eq!(
13664        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13665        8usize,
13666        "Offset of field: X509_algor_st::parameter"
13667    );
13668}
13669impl Default for X509_algor_st {
13670    fn default() -> Self {
13671        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13672        unsafe {
13673            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13674            s.assume_init()
13675        }
13676    }
13677}
13678#[repr(C)]
13679#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13680pub struct x509_trust_st {
13681    pub trust: ::std::os::raw::c_int,
13682    pub flags: ::std::os::raw::c_int,
13683    pub check_trust: ::std::option::Option<
13684        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13685    >,
13686    pub name: *mut ::std::os::raw::c_char,
13687    pub arg1: ::std::os::raw::c_int,
13688    pub arg2: *mut ::std::os::raw::c_void,
13689}
13690#[test]
13691fn bindgen_test_layout_x509_trust_st() {
13692    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13693    let ptr = UNINIT.as_ptr();
13694    assert_eq!(
13695        ::std::mem::size_of::<x509_trust_st>(),
13696        40usize,
13697        "Size of x509_trust_st"
13698    );
13699    assert_eq!(
13700        ::std::mem::align_of::<x509_trust_st>(),
13701        8usize,
13702        "Alignment of x509_trust_st"
13703    );
13704    assert_eq!(
13705        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13706        0usize,
13707        "Offset of field: x509_trust_st::trust"
13708    );
13709    assert_eq!(
13710        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13711        4usize,
13712        "Offset of field: x509_trust_st::flags"
13713    );
13714    assert_eq!(
13715        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13716        8usize,
13717        "Offset of field: x509_trust_st::check_trust"
13718    );
13719    assert_eq!(
13720        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13721        16usize,
13722        "Offset of field: x509_trust_st::name"
13723    );
13724    assert_eq!(
13725        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13726        24usize,
13727        "Offset of field: x509_trust_st::arg1"
13728    );
13729    assert_eq!(
13730        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13731        32usize,
13732        "Offset of field: x509_trust_st::arg2"
13733    );
13734}
13735impl Default for x509_trust_st {
13736    fn default() -> Self {
13737        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13738        unsafe {
13739            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13740            s.assume_init()
13741        }
13742    }
13743}
13744#[repr(C)]
13745#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13746pub struct BASIC_CONSTRAINTS_st {
13747    pub ca: ASN1_BOOLEAN,
13748    pub pathlen: *mut ASN1_INTEGER,
13749}
13750#[test]
13751fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
13752    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13753    let ptr = UNINIT.as_ptr();
13754    assert_eq!(
13755        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
13756        16usize,
13757        "Size of BASIC_CONSTRAINTS_st"
13758    );
13759    assert_eq!(
13760        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
13761        8usize,
13762        "Alignment of BASIC_CONSTRAINTS_st"
13763    );
13764    assert_eq!(
13765        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
13766        0usize,
13767        "Offset of field: BASIC_CONSTRAINTS_st::ca"
13768    );
13769    assert_eq!(
13770        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
13771        8usize,
13772        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
13773    );
13774}
13775impl Default for BASIC_CONSTRAINTS_st {
13776    fn default() -> Self {
13777        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13778        unsafe {
13779            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13780            s.assume_init()
13781        }
13782    }
13783}
13784#[repr(C)]
13785#[derive(Copy, Clone)]
13786pub struct DIST_POINT_NAME_st {
13787    pub type_: ::std::os::raw::c_int,
13788    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
13789    pub dpname: *mut X509_NAME,
13790}
13791#[repr(C)]
13792#[derive(Copy, Clone)]
13793pub union DIST_POINT_NAME_st__bindgen_ty_1 {
13794    pub fullname: *mut GENERAL_NAMES,
13795    pub relativename: *mut stack_st_X509_NAME_ENTRY,
13796}
13797#[test]
13798fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
13799    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
13800        ::std::mem::MaybeUninit::uninit();
13801    let ptr = UNINIT.as_ptr();
13802    assert_eq!(
13803        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13804        8usize,
13805        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
13806    );
13807    assert_eq!(
13808        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13809        8usize,
13810        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
13811    );
13812    assert_eq!(
13813        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
13814        0usize,
13815        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
13816    );
13817    assert_eq!(
13818        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
13819        0usize,
13820        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
13821    );
13822}
13823impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
13824    fn default() -> Self {
13825        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13826        unsafe {
13827            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13828            s.assume_init()
13829        }
13830    }
13831}
13832#[test]
13833fn bindgen_test_layout_DIST_POINT_NAME_st() {
13834    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
13835    let ptr = UNINIT.as_ptr();
13836    assert_eq!(
13837        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
13838        24usize,
13839        "Size of DIST_POINT_NAME_st"
13840    );
13841    assert_eq!(
13842        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
13843        8usize,
13844        "Alignment of DIST_POINT_NAME_st"
13845    );
13846    assert_eq!(
13847        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13848        0usize,
13849        "Offset of field: DIST_POINT_NAME_st::type_"
13850    );
13851    assert_eq!(
13852        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13853        8usize,
13854        "Offset of field: DIST_POINT_NAME_st::name"
13855    );
13856    assert_eq!(
13857        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
13858        16usize,
13859        "Offset of field: DIST_POINT_NAME_st::dpname"
13860    );
13861}
13862impl Default for DIST_POINT_NAME_st {
13863    fn default() -> Self {
13864        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13865        unsafe {
13866            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13867            s.assume_init()
13868        }
13869    }
13870}
13871pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
13872#[repr(C)]
13873#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13874pub struct DIST_POINT_st {
13875    pub distpoint: *mut DIST_POINT_NAME,
13876    pub reasons: *mut ASN1_BIT_STRING,
13877    pub CRLissuer: *mut GENERAL_NAMES,
13878}
13879#[test]
13880fn bindgen_test_layout_DIST_POINT_st() {
13881    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
13882    let ptr = UNINIT.as_ptr();
13883    assert_eq!(
13884        ::std::mem::size_of::<DIST_POINT_st>(),
13885        24usize,
13886        "Size of DIST_POINT_st"
13887    );
13888    assert_eq!(
13889        ::std::mem::align_of::<DIST_POINT_st>(),
13890        8usize,
13891        "Alignment of DIST_POINT_st"
13892    );
13893    assert_eq!(
13894        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
13895        0usize,
13896        "Offset of field: DIST_POINT_st::distpoint"
13897    );
13898    assert_eq!(
13899        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
13900        8usize,
13901        "Offset of field: DIST_POINT_st::reasons"
13902    );
13903    assert_eq!(
13904        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
13905        16usize,
13906        "Offset of field: DIST_POINT_st::CRLissuer"
13907    );
13908}
13909impl Default for DIST_POINT_st {
13910    fn default() -> Self {
13911        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13912        unsafe {
13913            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13914            s.assume_init()
13915        }
13916    }
13917}
13918#[repr(C)]
13919#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13920pub struct AUTHORITY_KEYID_st {
13921    pub keyid: *mut ASN1_OCTET_STRING,
13922    pub issuer: *mut GENERAL_NAMES,
13923    pub serial: *mut ASN1_INTEGER,
13924}
13925#[test]
13926fn bindgen_test_layout_AUTHORITY_KEYID_st() {
13927    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
13928    let ptr = UNINIT.as_ptr();
13929    assert_eq!(
13930        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
13931        24usize,
13932        "Size of AUTHORITY_KEYID_st"
13933    );
13934    assert_eq!(
13935        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
13936        8usize,
13937        "Alignment of AUTHORITY_KEYID_st"
13938    );
13939    assert_eq!(
13940        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
13941        0usize,
13942        "Offset of field: AUTHORITY_KEYID_st::keyid"
13943    );
13944    assert_eq!(
13945        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
13946        8usize,
13947        "Offset of field: AUTHORITY_KEYID_st::issuer"
13948    );
13949    assert_eq!(
13950        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
13951        16usize,
13952        "Offset of field: AUTHORITY_KEYID_st::serial"
13953    );
13954}
13955impl Default for AUTHORITY_KEYID_st {
13956    fn default() -> Self {
13957        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13958        unsafe {
13959            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13960            s.assume_init()
13961        }
13962    }
13963}
13964#[repr(C)]
13965#[derive(Debug, Copy, Clone)]
13966pub struct stack_st_GENERAL_SUBTREE {
13967    _unused: [u8; 0],
13968}
13969#[repr(C)]
13970#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13971pub struct NAME_CONSTRAINTS_st {
13972    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
13973    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
13974}
13975#[test]
13976fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
13977    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13978    let ptr = UNINIT.as_ptr();
13979    assert_eq!(
13980        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
13981        16usize,
13982        "Size of NAME_CONSTRAINTS_st"
13983    );
13984    assert_eq!(
13985        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
13986        8usize,
13987        "Alignment of NAME_CONSTRAINTS_st"
13988    );
13989    assert_eq!(
13990        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
13991        0usize,
13992        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
13993    );
13994    assert_eq!(
13995        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
13996        8usize,
13997        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
13998    );
13999}
14000impl Default for NAME_CONSTRAINTS_st {
14001    fn default() -> Self {
14002        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14003        unsafe {
14004            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14005            s.assume_init()
14006        }
14007    }
14008}
14009#[repr(C)]
14010#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14011pub struct ISSUING_DIST_POINT_st {
14012    pub distpoint: *mut DIST_POINT_NAME,
14013    pub onlyuser: ASN1_BOOLEAN,
14014    pub onlyCA: ASN1_BOOLEAN,
14015    pub onlysomereasons: *mut ASN1_BIT_STRING,
14016    pub indirectCRL: ASN1_BOOLEAN,
14017    pub onlyattr: ASN1_BOOLEAN,
14018}
14019#[test]
14020fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14021    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14022        ::std::mem::MaybeUninit::uninit();
14023    let ptr = UNINIT.as_ptr();
14024    assert_eq!(
14025        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14026        32usize,
14027        "Size of ISSUING_DIST_POINT_st"
14028    );
14029    assert_eq!(
14030        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14031        8usize,
14032        "Alignment of ISSUING_DIST_POINT_st"
14033    );
14034    assert_eq!(
14035        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14036        0usize,
14037        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14038    );
14039    assert_eq!(
14040        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14041        8usize,
14042        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14043    );
14044    assert_eq!(
14045        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14046        12usize,
14047        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14048    );
14049    assert_eq!(
14050        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14051        16usize,
14052        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14053    );
14054    assert_eq!(
14055        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14056        24usize,
14057        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14058    );
14059    assert_eq!(
14060        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14061        28usize,
14062        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14063    );
14064}
14065impl Default for ISSUING_DIST_POINT_st {
14066    fn default() -> Self {
14067        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14068        unsafe {
14069            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14070            s.assume_init()
14071        }
14072    }
14073}
14074pub type poly1305_state = [u8; 512usize];
14075extern "C" {
14076    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_poly1305_init"]
14077    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14078}
14079extern "C" {
14080    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_poly1305_update"]
14081    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14082}
14083extern "C" {
14084    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_poly1305_finish"]
14085    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14086}
14087extern "C" {
14088    #[link_name = "\u{1}aws_lc_0_35_0_RAND_bytes"]
14089    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14090}
14091extern "C" {
14092    #[link_name = "\u{1}aws_lc_0_35_0_RAND_priv_bytes"]
14093    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14094}
14095extern "C" {
14096    #[link_name = "\u{1}aws_lc_0_35_0_RAND_bytes_with_user_prediction_resistance"]
14097    pub fn RAND_bytes_with_user_prediction_resistance(
14098        out: *mut u8,
14099        out_len: usize,
14100        user_pred_resistance: *const u8,
14101    ) -> ::std::os::raw::c_int;
14102}
14103extern "C" {
14104    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
14105}
14106extern "C" {
14107    #[link_name = "\u{1}aws_lc_0_35_0_RAND_pseudo_bytes"]
14108    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14109}
14110extern "C" {
14111    #[link_name = "\u{1}aws_lc_0_35_0_RAND_seed"]
14112    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14113}
14114extern "C" {
14115    #[link_name = "\u{1}aws_lc_0_35_0_RAND_load_file"]
14116    pub fn RAND_load_file(
14117        path: *const ::std::os::raw::c_char,
14118        num: ::std::os::raw::c_long,
14119    ) -> ::std::os::raw::c_int;
14120}
14121extern "C" {
14122    #[link_name = "\u{1}aws_lc_0_35_0_RAND_write_file"]
14123    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14124}
14125extern "C" {
14126    #[link_name = "\u{1}aws_lc_0_35_0_RAND_file_name"]
14127    pub fn RAND_file_name(
14128        buf: *mut ::std::os::raw::c_char,
14129        num: usize,
14130    ) -> *const ::std::os::raw::c_char;
14131}
14132extern "C" {
14133    #[link_name = "\u{1}aws_lc_0_35_0_RAND_add"]
14134    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14135}
14136extern "C" {
14137    #[link_name = "\u{1}aws_lc_0_35_0_RAND_egd"]
14138    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14139}
14140extern "C" {
14141    #[link_name = "\u{1}aws_lc_0_35_0_RAND_egd_bytes"]
14142    pub fn RAND_egd_bytes(
14143        arg1: *const ::std::os::raw::c_char,
14144        bytes: ::std::os::raw::c_int,
14145    ) -> ::std::os::raw::c_int;
14146}
14147extern "C" {
14148    #[link_name = "\u{1}aws_lc_0_35_0_RAND_poll"]
14149    pub fn RAND_poll() -> ::std::os::raw::c_int;
14150}
14151extern "C" {
14152    #[link_name = "\u{1}aws_lc_0_35_0_RAND_status"]
14153    pub fn RAND_status() -> ::std::os::raw::c_int;
14154}
14155extern "C" {
14156    #[link_name = "\u{1}aws_lc_0_35_0_RAND_cleanup"]
14157    pub fn RAND_cleanup();
14158}
14159#[repr(C)]
14160#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14161pub struct rand_meth_st {
14162    pub seed: ::std::option::Option<
14163        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14164    >,
14165    pub bytes: ::std::option::Option<
14166        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14167    >,
14168    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14169    pub add: ::std::option::Option<
14170        unsafe extern "C" fn(
14171            buf: *const ::std::os::raw::c_void,
14172            num: ::std::os::raw::c_int,
14173            entropy: f64,
14174        ),
14175    >,
14176    pub pseudorand: ::std::option::Option<
14177        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14178    >,
14179    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14180}
14181#[test]
14182fn bindgen_test_layout_rand_meth_st() {
14183    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14184    let ptr = UNINIT.as_ptr();
14185    assert_eq!(
14186        ::std::mem::size_of::<rand_meth_st>(),
14187        48usize,
14188        "Size of rand_meth_st"
14189    );
14190    assert_eq!(
14191        ::std::mem::align_of::<rand_meth_st>(),
14192        8usize,
14193        "Alignment of rand_meth_st"
14194    );
14195    assert_eq!(
14196        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14197        0usize,
14198        "Offset of field: rand_meth_st::seed"
14199    );
14200    assert_eq!(
14201        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14202        8usize,
14203        "Offset of field: rand_meth_st::bytes"
14204    );
14205    assert_eq!(
14206        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14207        16usize,
14208        "Offset of field: rand_meth_st::cleanup"
14209    );
14210    assert_eq!(
14211        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14212        24usize,
14213        "Offset of field: rand_meth_st::add"
14214    );
14215    assert_eq!(
14216        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14217        32usize,
14218        "Offset of field: rand_meth_st::pseudorand"
14219    );
14220    assert_eq!(
14221        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14222        40usize,
14223        "Offset of field: rand_meth_st::status"
14224    );
14225}
14226extern "C" {
14227    #[link_name = "\u{1}aws_lc_0_35_0_RAND_SSLeay"]
14228    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14229}
14230extern "C" {
14231    #[link_name = "\u{1}aws_lc_0_35_0_RAND_OpenSSL"]
14232    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14233}
14234extern "C" {
14235    #[link_name = "\u{1}aws_lc_0_35_0_RAND_get_rand_method"]
14236    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14237}
14238extern "C" {
14239    #[link_name = "\u{1}aws_lc_0_35_0_RAND_set_rand_method"]
14240    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14241}
14242extern "C" {
14243    #[link_name = "\u{1}aws_lc_0_35_0_RAND_keep_random_devices_open"]
14244    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14245}
14246#[repr(C)]
14247#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14248pub struct rc4_key_st {
14249    pub x: u32,
14250    pub y: u32,
14251    pub data: [u32; 256usize],
14252}
14253#[test]
14254fn bindgen_test_layout_rc4_key_st() {
14255    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14256    let ptr = UNINIT.as_ptr();
14257    assert_eq!(
14258        ::std::mem::size_of::<rc4_key_st>(),
14259        1032usize,
14260        "Size of rc4_key_st"
14261    );
14262    assert_eq!(
14263        ::std::mem::align_of::<rc4_key_st>(),
14264        4usize,
14265        "Alignment of rc4_key_st"
14266    );
14267    assert_eq!(
14268        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14269        0usize,
14270        "Offset of field: rc4_key_st::x"
14271    );
14272    assert_eq!(
14273        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14274        4usize,
14275        "Offset of field: rc4_key_st::y"
14276    );
14277    assert_eq!(
14278        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14279        8usize,
14280        "Offset of field: rc4_key_st::data"
14281    );
14282}
14283impl Default for rc4_key_st {
14284    fn default() -> Self {
14285        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14286        unsafe {
14287            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14288            s.assume_init()
14289        }
14290    }
14291}
14292#[repr(C)]
14293#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14294pub struct RIPEMD160state_st {
14295    pub h: [u32; 5usize],
14296    pub Nl: u32,
14297    pub Nh: u32,
14298    pub data: [u8; 64usize],
14299    pub num: ::std::os::raw::c_uint,
14300}
14301#[test]
14302fn bindgen_test_layout_RIPEMD160state_st() {
14303    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14304    let ptr = UNINIT.as_ptr();
14305    assert_eq!(
14306        ::std::mem::size_of::<RIPEMD160state_st>(),
14307        96usize,
14308        "Size of RIPEMD160state_st"
14309    );
14310    assert_eq!(
14311        ::std::mem::align_of::<RIPEMD160state_st>(),
14312        4usize,
14313        "Alignment of RIPEMD160state_st"
14314    );
14315    assert_eq!(
14316        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14317        0usize,
14318        "Offset of field: RIPEMD160state_st::h"
14319    );
14320    assert_eq!(
14321        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14322        20usize,
14323        "Offset of field: RIPEMD160state_st::Nl"
14324    );
14325    assert_eq!(
14326        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14327        24usize,
14328        "Offset of field: RIPEMD160state_st::Nh"
14329    );
14330    assert_eq!(
14331        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14332        28usize,
14333        "Offset of field: RIPEMD160state_st::data"
14334    );
14335    assert_eq!(
14336        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14337        92usize,
14338        "Offset of field: RIPEMD160state_st::num"
14339    );
14340}
14341impl Default for RIPEMD160state_st {
14342    fn default() -> Self {
14343        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14344        unsafe {
14345            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14346            s.assume_init()
14347        }
14348    }
14349}
14350#[repr(C)]
14351#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14352pub struct trust_token_st {
14353    pub data: *mut u8,
14354    pub len: usize,
14355}
14356#[test]
14357fn bindgen_test_layout_trust_token_st() {
14358    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14359    let ptr = UNINIT.as_ptr();
14360    assert_eq!(
14361        ::std::mem::size_of::<trust_token_st>(),
14362        16usize,
14363        "Size of trust_token_st"
14364    );
14365    assert_eq!(
14366        ::std::mem::align_of::<trust_token_st>(),
14367        8usize,
14368        "Alignment of trust_token_st"
14369    );
14370    assert_eq!(
14371        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14372        0usize,
14373        "Offset of field: trust_token_st::data"
14374    );
14375    assert_eq!(
14376        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14377        8usize,
14378        "Offset of field: trust_token_st::len"
14379    );
14380}
14381impl Default for trust_token_st {
14382    fn default() -> Self {
14383        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14384        unsafe {
14385            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14386            s.assume_init()
14387        }
14388    }
14389}
14390extern "C" {
14391    #[link_name = "\u{1}aws_lc_0_35_0_ERR_GET_LIB_RUST"]
14392    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14393}
14394extern "C" {
14395    #[link_name = "\u{1}aws_lc_0_35_0_ERR_GET_REASON_RUST"]
14396    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14397}
14398extern "C" {
14399    #[link_name = "\u{1}aws_lc_0_35_0_ERR_GET_FUNC_RUST"]
14400    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14401}
14402pub type __builtin_va_list = [__va_list_tag; 1usize];
14403#[repr(C)]
14404#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14405pub struct __va_list_tag {
14406    pub gp_offset: ::std::os::raw::c_uint,
14407    pub fp_offset: ::std::os::raw::c_uint,
14408    pub overflow_arg_area: *mut ::std::os::raw::c_void,
14409    pub reg_save_area: *mut ::std::os::raw::c_void,
14410}
14411#[test]
14412fn bindgen_test_layout___va_list_tag() {
14413    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
14414    let ptr = UNINIT.as_ptr();
14415    assert_eq!(
14416        ::std::mem::size_of::<__va_list_tag>(),
14417        24usize,
14418        "Size of __va_list_tag"
14419    );
14420    assert_eq!(
14421        ::std::mem::align_of::<__va_list_tag>(),
14422        8usize,
14423        "Alignment of __va_list_tag"
14424    );
14425    assert_eq!(
14426        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
14427        0usize,
14428        "Offset of field: __va_list_tag::gp_offset"
14429    );
14430    assert_eq!(
14431        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
14432        4usize,
14433        "Offset of field: __va_list_tag::fp_offset"
14434    );
14435    assert_eq!(
14436        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
14437        8usize,
14438        "Offset of field: __va_list_tag::overflow_arg_area"
14439    );
14440    assert_eq!(
14441        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
14442        16usize,
14443        "Offset of field: __va_list_tag::reg_save_area"
14444    );
14445}
14446impl Default for __va_list_tag {
14447    fn default() -> Self {
14448        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14449        unsafe {
14450            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14451            s.assume_init()
14452        }
14453    }
14454}