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.65.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.65.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_PKCS1_PSS_PADDING: i32 = 6;
2939pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
2940pub const RSA_FLAG_OPAQUE: i32 = 1;
2941pub const RSA_FLAG_NO_BLINDING: i32 = 8;
2942pub const RSA_FLAG_EXT_PKEY: i32 = 32;
2943pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
2944pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
2945pub const RSA_3: i32 = 3;
2946pub const RSA_F4: i32 = 65537;
2947pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
2948pub const RSA_R_BAD_ENCODING: i32 = 100;
2949pub const RSA_R_BAD_E_VALUE: i32 = 101;
2950pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
2951pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
2952pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
2953pub const RSA_R_BAD_SIGNATURE: i32 = 105;
2954pub const RSA_R_BAD_VERSION: i32 = 106;
2955pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
2956pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
2957pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
2958pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
2959pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
2960pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
2961pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
2962pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
2963pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
2964pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
2965pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
2966pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
2967pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
2968pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
2969pub const RSA_R_ENCODE_ERROR: i32 = 121;
2970pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
2971pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
2972pub const RSA_R_INTERNAL_ERROR: i32 = 124;
2973pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
2974pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
2975pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
2976pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
2977pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
2978pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
2979pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
2980pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
2981pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
2982pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
2983pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
2984pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
2985pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
2986pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
2987pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
2988pub const RSA_R_TOO_LONG: i32 = 140;
2989pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
2990pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
2991pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
2992pub const RSA_R_VALUE_MISSING: i32 = 144;
2993pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
2994pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
2995pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
2996pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
2997pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
2998pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
2999pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
3000pub type __off_t = ::std::os::raw::c_long;
3001pub type __off64_t = ::std::os::raw::c_long;
3002pub type ossl_ssize_t = isize;
3003pub type CBS_ASN1_TAG = u32;
3004pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3005#[repr(C)]
3006#[derive(Debug, Copy, Clone)]
3007pub struct asn1_null_st {
3008    _unused: [u8; 0],
3009}
3010pub type ASN1_NULL = asn1_null_st;
3011pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3012pub type ASN1_ITEM = ASN1_ITEM_st;
3013#[repr(C)]
3014#[derive(Debug, Copy, Clone)]
3015pub struct asn1_object_st {
3016    _unused: [u8; 0],
3017}
3018pub type ASN1_OBJECT = asn1_object_st;
3019#[repr(C)]
3020#[derive(Debug, Copy, Clone)]
3021pub struct asn1_pctx_st {
3022    _unused: [u8; 0],
3023}
3024pub type ASN1_PCTX = asn1_pctx_st;
3025pub type ASN1_BIT_STRING = asn1_string_st;
3026pub type ASN1_BMPSTRING = asn1_string_st;
3027pub type ASN1_ENUMERATED = asn1_string_st;
3028pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3029pub type ASN1_GENERALSTRING = asn1_string_st;
3030pub type ASN1_IA5STRING = asn1_string_st;
3031pub type ASN1_INTEGER = asn1_string_st;
3032pub type ASN1_OCTET_STRING = asn1_string_st;
3033pub type ASN1_PRINTABLESTRING = asn1_string_st;
3034pub type ASN1_STRING = asn1_string_st;
3035pub type ASN1_T61STRING = asn1_string_st;
3036pub type ASN1_TIME = asn1_string_st;
3037pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3038pub type ASN1_UTCTIME = asn1_string_st;
3039pub type ASN1_UTF8STRING = asn1_string_st;
3040pub type ASN1_VISIBLESTRING = asn1_string_st;
3041pub type ASN1_TYPE = asn1_type_st;
3042pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3043pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3044pub type DIST_POINT = DIST_POINT_st;
3045pub type DSA_SIG = DSA_SIG_st;
3046pub type GENERAL_NAME = GENERAL_NAME_st;
3047pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3048pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3049pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3050pub type NETSCAPE_SPKI = Netscape_spki_st;
3051pub type RIPEMD160_CTX = RIPEMD160state_st;
3052#[repr(C)]
3053#[derive(Debug, Copy, Clone)]
3054pub struct X509_VERIFY_PARAM_st {
3055    _unused: [u8; 0],
3056}
3057pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3058pub type X509_ALGOR = X509_algor_st;
3059#[repr(C)]
3060#[derive(Debug, Copy, Clone)]
3061pub struct X509_crl_st {
3062    _unused: [u8; 0],
3063}
3064pub type X509_CRL = X509_crl_st;
3065#[repr(C)]
3066#[derive(Debug, Copy, Clone)]
3067pub struct X509_extension_st {
3068    _unused: [u8; 0],
3069}
3070pub type X509_EXTENSION = X509_extension_st;
3071pub type X509_INFO = X509_info_st;
3072#[repr(C)]
3073#[derive(Debug, Copy, Clone)]
3074pub struct X509_name_entry_st {
3075    _unused: [u8; 0],
3076}
3077pub type X509_NAME_ENTRY = X509_name_entry_st;
3078#[repr(C)]
3079#[derive(Debug, Copy, Clone)]
3080pub struct X509_name_st {
3081    _unused: [u8; 0],
3082}
3083pub type X509_NAME = X509_name_st;
3084#[repr(C)]
3085#[derive(Debug, Copy, Clone)]
3086pub struct X509_pubkey_st {
3087    _unused: [u8; 0],
3088}
3089pub type X509_PUBKEY = X509_pubkey_st;
3090#[repr(C)]
3091#[derive(Debug, Copy, Clone)]
3092pub struct X509_req_st {
3093    _unused: [u8; 0],
3094}
3095pub type X509_REQ = X509_req_st;
3096#[repr(C)]
3097#[derive(Debug, Copy, Clone)]
3098pub struct x509_sig_info_st {
3099    _unused: [u8; 0],
3100}
3101pub type X509_SIG_INFO = x509_sig_info_st;
3102#[repr(C)]
3103#[derive(Debug, Copy, Clone)]
3104pub struct X509_sig_st {
3105    _unused: [u8; 0],
3106}
3107pub type X509_SIG = X509_sig_st;
3108#[repr(C)]
3109#[derive(Debug, Copy, Clone)]
3110pub struct bignum_ctx {
3111    _unused: [u8; 0],
3112}
3113pub type BN_CTX = bignum_ctx;
3114pub type BIGNUM = bignum_st;
3115pub type BIO_METHOD = bio_method_st;
3116pub type BIO = bio_st;
3117pub type BLAKE2B_CTX = blake2b_state_st;
3118pub type BN_GENCB = bn_gencb_st;
3119pub type BN_MONT_CTX = bn_mont_ctx_st;
3120pub type BUF_MEM = buf_mem_st;
3121#[repr(C)]
3122#[derive(Debug, Copy, Clone)]
3123pub struct cast_key_st {
3124    _unused: [u8; 0],
3125}
3126pub type CAST_KEY = cast_key_st;
3127pub type CBB = cbb_st;
3128pub type CBS = cbs_st;
3129#[repr(C)]
3130#[derive(Debug, Copy, Clone)]
3131pub struct cmac_ctx_st {
3132    _unused: [u8; 0],
3133}
3134pub type CMAC_CTX = cmac_ctx_st;
3135pub type CONF = conf_st;
3136pub type CONF_VALUE = conf_value_st;
3137#[repr(C)]
3138#[derive(Debug, Copy, Clone)]
3139pub struct crypto_buffer_pool_st {
3140    _unused: [u8; 0],
3141}
3142pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3143#[repr(C)]
3144#[derive(Debug, Copy, Clone)]
3145pub struct crypto_buffer_st {
3146    _unused: [u8; 0],
3147}
3148pub type CRYPTO_BUFFER = crypto_buffer_st;
3149#[repr(C)]
3150#[derive(Debug, Copy, Clone)]
3151pub struct ctr_drbg_state_st {
3152    _unused: [u8; 0],
3153}
3154pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3155#[repr(C)]
3156#[derive(Debug, Copy, Clone)]
3157pub struct dh_st {
3158    _unused: [u8; 0],
3159}
3160pub type DH = dh_st;
3161#[repr(C)]
3162#[derive(Debug, Copy, Clone)]
3163pub struct dsa_st {
3164    _unused: [u8; 0],
3165}
3166pub type DSA = dsa_st;
3167#[repr(C)]
3168#[derive(Debug, Copy, Clone)]
3169pub struct ec_group_st {
3170    _unused: [u8; 0],
3171}
3172pub type EC_GROUP = ec_group_st;
3173#[repr(C)]
3174#[derive(Debug, Copy, Clone)]
3175pub struct ec_key_st {
3176    _unused: [u8; 0],
3177}
3178pub type EC_KEY = ec_key_st;
3179#[repr(C)]
3180#[derive(Debug, Copy, Clone)]
3181pub struct ec_point_st {
3182    _unused: [u8; 0],
3183}
3184pub type EC_POINT = ec_point_st;
3185#[repr(C)]
3186#[derive(Debug, Copy, Clone)]
3187pub struct ec_key_method_st {
3188    _unused: [u8; 0],
3189}
3190pub type EC_KEY_METHOD = ec_key_method_st;
3191pub type ECDSA_SIG = ecdsa_sig_st;
3192#[repr(C)]
3193#[derive(Debug, Copy, Clone)]
3194pub struct engine_st {
3195    _unused: [u8; 0],
3196}
3197pub type ENGINE = engine_st;
3198pub type EVP_MD_CTX = env_md_ctx_st;
3199#[repr(C)]
3200#[derive(Debug, Copy, Clone)]
3201pub struct env_md_st {
3202    _unused: [u8; 0],
3203}
3204pub type EVP_MD = env_md_st;
3205#[repr(C)]
3206#[derive(Debug, Copy, Clone)]
3207pub struct evp_aead_st {
3208    _unused: [u8; 0],
3209}
3210pub type EVP_AEAD = evp_aead_st;
3211pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3212pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3213#[repr(C)]
3214#[derive(Debug, Copy, Clone)]
3215pub struct evp_cipher_st {
3216    _unused: [u8; 0],
3217}
3218pub type EVP_CIPHER = evp_cipher_st;
3219pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3220#[repr(C)]
3221#[derive(Debug, Copy, Clone)]
3222pub struct evp_hpke_aead_st {
3223    _unused: [u8; 0],
3224}
3225pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3226pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3227#[repr(C)]
3228#[derive(Debug, Copy, Clone)]
3229pub struct evp_hpke_kdf_st {
3230    _unused: [u8; 0],
3231}
3232pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3233#[repr(C)]
3234#[derive(Debug, Copy, Clone)]
3235pub struct evp_hpke_kem_st {
3236    _unused: [u8; 0],
3237}
3238pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3239pub type EVP_HPKE_KEY = evp_hpke_key_st;
3240#[repr(C)]
3241#[derive(Debug, Copy, Clone)]
3242pub struct evp_kem_st {
3243    _unused: [u8; 0],
3244}
3245pub type EVP_KEM = evp_kem_st;
3246#[repr(C)]
3247#[derive(Debug, Copy, Clone)]
3248pub struct kem_key_st {
3249    _unused: [u8; 0],
3250}
3251pub type KEM_KEY = kem_key_st;
3252#[repr(C)]
3253#[derive(Debug, Copy, Clone)]
3254pub struct evp_pkey_ctx_st {
3255    _unused: [u8; 0],
3256}
3257pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3258#[repr(C)]
3259#[derive(Debug, Copy, Clone)]
3260pub struct evp_pkey_asn1_method_st {
3261    _unused: [u8; 0],
3262}
3263pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3264#[repr(C)]
3265#[derive(Debug, Copy, Clone)]
3266pub struct evp_pkey_st {
3267    _unused: [u8; 0],
3268}
3269pub type EVP_PKEY = evp_pkey_st;
3270#[repr(C)]
3271#[derive(Debug, Copy, Clone)]
3272pub struct evp_pkey_ctx_signature_context_params_st {
3273    _unused: [u8; 0],
3274}
3275pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3276pub type HMAC_CTX = hmac_ctx_st;
3277pub type MD4_CTX = md4_state_st;
3278pub type MD5_CTX = md5_state_st;
3279#[repr(C)]
3280#[derive(Debug, Copy, Clone)]
3281pub struct pqdsa_key_st {
3282    _unused: [u8; 0],
3283}
3284pub type PQDSA_KEY = pqdsa_key_st;
3285#[repr(C)]
3286#[derive(Debug, Copy, Clone)]
3287pub struct ocsp_req_ctx_st {
3288    _unused: [u8; 0],
3289}
3290pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3291#[repr(C)]
3292#[derive(Debug, Copy, Clone)]
3293pub struct ossl_init_settings_st {
3294    _unused: [u8; 0],
3295}
3296pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3297#[repr(C)]
3298#[derive(Debug, Copy, Clone)]
3299pub struct pkcs7_digest_st {
3300    _unused: [u8; 0],
3301}
3302pub type PKCS7_DIGEST = pkcs7_digest_st;
3303#[repr(C)]
3304#[derive(Debug, Copy, Clone)]
3305pub struct pkcs7_enc_content_st {
3306    _unused: [u8; 0],
3307}
3308pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3309#[repr(C)]
3310#[derive(Debug, Copy, Clone)]
3311pub struct pkcs7_encrypt_st {
3312    _unused: [u8; 0],
3313}
3314pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3315pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3316pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3317pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3318pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3319pub type PKCS7_SIGNED = pkcs7_signed_st;
3320pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3321pub type PKCS7 = pkcs7_st;
3322#[repr(C)]
3323#[derive(Debug, Copy, Clone)]
3324pub struct pkcs12_st {
3325    _unused: [u8; 0],
3326}
3327pub type PKCS12 = pkcs12_st;
3328#[repr(C)]
3329#[derive(Debug, Copy, Clone)]
3330pub struct pkcs8_priv_key_info_st {
3331    _unused: [u8; 0],
3332}
3333pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3334pub type X509_PKEY = private_key_st;
3335pub type RAND_METHOD = rand_meth_st;
3336pub type RC4_KEY = rc4_key_st;
3337#[repr(C)]
3338#[derive(Debug, Copy, Clone)]
3339pub struct rsa_meth_st {
3340    _unused: [u8; 0],
3341}
3342pub type RSA_METHOD = rsa_meth_st;
3343#[repr(C)]
3344#[derive(Debug, Copy, Clone)]
3345pub struct rsassa_pss_params_st {
3346    _unused: [u8; 0],
3347}
3348pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3349pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3350#[repr(C)]
3351#[derive(Debug, Copy, Clone)]
3352pub struct rsa_st {
3353    _unused: [u8; 0],
3354}
3355pub type RSA = rsa_st;
3356pub type SHA256_CTX = sha256_state_st;
3357pub type SHA512_CTX = sha512_state_st;
3358pub type SHA_CTX = sha_state_st;
3359#[repr(C)]
3360#[derive(Debug, Copy, Clone)]
3361pub struct spake2_ctx_st {
3362    _unused: [u8; 0],
3363}
3364pub type SPAKE2_CTX = spake2_ctx_st;
3365#[repr(C)]
3366#[derive(Debug, Copy, Clone)]
3367pub struct srtp_protection_profile_st {
3368    _unused: [u8; 0],
3369}
3370pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3371#[repr(C)]
3372#[derive(Debug, Copy, Clone)]
3373pub struct ssl_cipher_st {
3374    _unused: [u8; 0],
3375}
3376pub type SSL_CIPHER = ssl_cipher_st;
3377#[repr(C)]
3378#[derive(Debug, Copy, Clone)]
3379pub struct ssl_ctx_st {
3380    _unused: [u8; 0],
3381}
3382pub type SSL_CTX = ssl_ctx_st;
3383#[repr(C)]
3384#[derive(Debug, Copy, Clone)]
3385pub struct ssl_early_callback_ctx {
3386    _unused: [u8; 0],
3387}
3388pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3389#[repr(C)]
3390#[derive(Debug, Copy, Clone)]
3391pub struct ssl_ech_keys_st {
3392    _unused: [u8; 0],
3393}
3394pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3395#[repr(C)]
3396#[derive(Debug, Copy, Clone)]
3397pub struct ssl_method_st {
3398    _unused: [u8; 0],
3399}
3400pub type SSL_METHOD = ssl_method_st;
3401#[repr(C)]
3402#[derive(Debug, Copy, Clone)]
3403pub struct ssl_private_key_method_st {
3404    _unused: [u8; 0],
3405}
3406pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3407#[repr(C)]
3408#[derive(Debug, Copy, Clone)]
3409pub struct ssl_quic_method_st {
3410    _unused: [u8; 0],
3411}
3412pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3413#[repr(C)]
3414#[derive(Debug, Copy, Clone)]
3415pub struct ssl_session_st {
3416    _unused: [u8; 0],
3417}
3418pub type SSL_SESSION = ssl_session_st;
3419#[repr(C)]
3420#[derive(Debug, Copy, Clone)]
3421pub struct ssl_st {
3422    _unused: [u8; 0],
3423}
3424pub type SSL = ssl_st;
3425#[repr(C)]
3426#[derive(Debug, Copy, Clone)]
3427pub struct ssl_ticket_aead_method_st {
3428    _unused: [u8; 0],
3429}
3430pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3431#[repr(C)]
3432#[derive(Debug, Copy, Clone)]
3433pub struct st_ERR_FNS {
3434    _unused: [u8; 0],
3435}
3436pub type ERR_FNS = st_ERR_FNS;
3437pub type TRUST_TOKEN = trust_token_st;
3438#[repr(C)]
3439#[derive(Debug, Copy, Clone)]
3440pub struct trust_token_client_st {
3441    _unused: [u8; 0],
3442}
3443pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3444#[repr(C)]
3445#[derive(Debug, Copy, Clone)]
3446pub struct trust_token_issuer_st {
3447    _unused: [u8; 0],
3448}
3449pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3450#[repr(C)]
3451#[derive(Debug, Copy, Clone)]
3452pub struct trust_token_method_st {
3453    _unused: [u8; 0],
3454}
3455pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3456pub type X509V3_CTX = v3_ext_ctx;
3457pub type X509V3_EXT_METHOD = v3_ext_method;
3458#[repr(C)]
3459#[derive(Debug, Copy, Clone)]
3460pub struct x509_attributes_st {
3461    _unused: [u8; 0],
3462}
3463pub type X509_ATTRIBUTE = x509_attributes_st;
3464#[repr(C)]
3465#[derive(Debug, Copy, Clone)]
3466pub struct x509_lookup_st {
3467    _unused: [u8; 0],
3468}
3469pub type X509_LOOKUP = x509_lookup_st;
3470#[repr(C)]
3471#[derive(Debug, Copy, Clone)]
3472pub struct x509_lookup_method_st {
3473    _unused: [u8; 0],
3474}
3475pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3476#[repr(C)]
3477#[derive(Debug, Copy, Clone)]
3478pub struct x509_object_st {
3479    _unused: [u8; 0],
3480}
3481pub type X509_OBJECT = x509_object_st;
3482#[repr(C)]
3483#[derive(Debug, Copy, Clone)]
3484pub struct x509_revoked_st {
3485    _unused: [u8; 0],
3486}
3487pub type X509_REVOKED = x509_revoked_st;
3488#[repr(C)]
3489#[derive(Debug, Copy, Clone)]
3490pub struct x509_st {
3491    _unused: [u8; 0],
3492}
3493pub type X509 = x509_st;
3494#[repr(C)]
3495#[derive(Debug, Copy, Clone)]
3496pub struct x509_store_ctx_st {
3497    _unused: [u8; 0],
3498}
3499pub type X509_STORE_CTX = x509_store_ctx_st;
3500#[repr(C)]
3501#[derive(Debug, Copy, Clone)]
3502pub struct x509_store_st {
3503    _unused: [u8; 0],
3504}
3505pub type X509_STORE = x509_store_st;
3506pub type X509_TRUST = x509_trust_st;
3507pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3508#[repr(C)]
3509#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3510pub struct aes_key_st {
3511    pub rd_key: [u32; 60usize],
3512    pub rounds: ::std::os::raw::c_uint,
3513}
3514#[test]
3515fn bindgen_test_layout_aes_key_st() {
3516    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3517    let ptr = UNINIT.as_ptr();
3518    assert_eq!(
3519        ::std::mem::size_of::<aes_key_st>(),
3520        244usize,
3521        "Size of aes_key_st"
3522    );
3523    assert_eq!(
3524        ::std::mem::align_of::<aes_key_st>(),
3525        4usize,
3526        "Alignment of aes_key_st"
3527    );
3528    assert_eq!(
3529        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3530        0usize,
3531        "Offset of field: aes_key_st::rd_key"
3532    );
3533    assert_eq!(
3534        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3535        240usize,
3536        "Offset of field: aes_key_st::rounds"
3537    );
3538}
3539impl Default for aes_key_st {
3540    fn default() -> Self {
3541        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3542        unsafe {
3543            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3544            s.assume_init()
3545        }
3546    }
3547}
3548pub type AES_KEY = aes_key_st;
3549extern "C" {
3550    #[link_name = "\u{1}aws_lc_0_34_0_AES_set_encrypt_key"]
3551    pub fn AES_set_encrypt_key(
3552        key: *const u8,
3553        bits: ::std::os::raw::c_uint,
3554        aeskey: *mut AES_KEY,
3555    ) -> ::std::os::raw::c_int;
3556}
3557extern "C" {
3558    #[link_name = "\u{1}aws_lc_0_34_0_AES_set_decrypt_key"]
3559    pub fn AES_set_decrypt_key(
3560        key: *const u8,
3561        bits: ::std::os::raw::c_uint,
3562        aeskey: *mut AES_KEY,
3563    ) -> ::std::os::raw::c_int;
3564}
3565extern "C" {
3566    #[link_name = "\u{1}aws_lc_0_34_0_AES_encrypt"]
3567    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3568}
3569extern "C" {
3570    #[link_name = "\u{1}aws_lc_0_34_0_AES_decrypt"]
3571    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3572}
3573extern "C" {
3574    #[link_name = "\u{1}aws_lc_0_34_0_AES_ctr128_encrypt"]
3575    pub fn AES_ctr128_encrypt(
3576        in_: *const u8,
3577        out: *mut u8,
3578        len: usize,
3579        key: *const AES_KEY,
3580        ivec: *mut u8,
3581        ecount_buf: *mut u8,
3582        num: *mut ::std::os::raw::c_uint,
3583    );
3584}
3585extern "C" {
3586    #[link_name = "\u{1}aws_lc_0_34_0_AES_ecb_encrypt"]
3587    pub fn AES_ecb_encrypt(
3588        in_: *const u8,
3589        out: *mut u8,
3590        key: *const AES_KEY,
3591        enc: ::std::os::raw::c_int,
3592    );
3593}
3594extern "C" {
3595    #[link_name = "\u{1}aws_lc_0_34_0_AES_cbc_encrypt"]
3596    pub fn AES_cbc_encrypt(
3597        in_: *const u8,
3598        out: *mut u8,
3599        len: usize,
3600        key: *const AES_KEY,
3601        ivec: *mut u8,
3602        enc: ::std::os::raw::c_int,
3603    );
3604}
3605extern "C" {
3606    #[link_name = "\u{1}aws_lc_0_34_0_AES_ofb128_encrypt"]
3607    pub fn AES_ofb128_encrypt(
3608        in_: *const u8,
3609        out: *mut u8,
3610        len: usize,
3611        key: *const AES_KEY,
3612        ivec: *mut u8,
3613        num: *mut ::std::os::raw::c_int,
3614    );
3615}
3616extern "C" {
3617    #[link_name = "\u{1}aws_lc_0_34_0_AES_cfb1_encrypt"]
3618    pub fn AES_cfb1_encrypt(
3619        in_: *const u8,
3620        out: *mut u8,
3621        bits: usize,
3622        key: *const AES_KEY,
3623        ivec: *mut u8,
3624        num: *mut ::std::os::raw::c_int,
3625        enc: ::std::os::raw::c_int,
3626    );
3627}
3628extern "C" {
3629    #[link_name = "\u{1}aws_lc_0_34_0_AES_cfb8_encrypt"]
3630    pub fn AES_cfb8_encrypt(
3631        in_: *const u8,
3632        out: *mut u8,
3633        len: usize,
3634        key: *const AES_KEY,
3635        ivec: *mut u8,
3636        num: *mut ::std::os::raw::c_int,
3637        enc: ::std::os::raw::c_int,
3638    );
3639}
3640extern "C" {
3641    #[link_name = "\u{1}aws_lc_0_34_0_AES_cfb128_encrypt"]
3642    pub fn AES_cfb128_encrypt(
3643        in_: *const u8,
3644        out: *mut u8,
3645        len: usize,
3646        key: *const AES_KEY,
3647        ivec: *mut u8,
3648        num: *mut ::std::os::raw::c_int,
3649        enc: ::std::os::raw::c_int,
3650    );
3651}
3652extern "C" {
3653    #[link_name = "\u{1}aws_lc_0_34_0_AES_wrap_key"]
3654    pub fn AES_wrap_key(
3655        key: *const AES_KEY,
3656        iv: *const u8,
3657        out: *mut u8,
3658        in_: *const u8,
3659        in_len: usize,
3660    ) -> ::std::os::raw::c_int;
3661}
3662extern "C" {
3663    #[link_name = "\u{1}aws_lc_0_34_0_AES_unwrap_key"]
3664    pub fn AES_unwrap_key(
3665        key: *const AES_KEY,
3666        iv: *const u8,
3667        out: *mut u8,
3668        in_: *const u8,
3669        in_len: usize,
3670    ) -> ::std::os::raw::c_int;
3671}
3672extern "C" {
3673    #[link_name = "\u{1}aws_lc_0_34_0_AES_wrap_key_padded"]
3674    pub fn AES_wrap_key_padded(
3675        key: *const AES_KEY,
3676        out: *mut u8,
3677        out_len: *mut usize,
3678        max_out: usize,
3679        in_: *const u8,
3680        in_len: usize,
3681    ) -> ::std::os::raw::c_int;
3682}
3683extern "C" {
3684    #[link_name = "\u{1}aws_lc_0_34_0_AES_unwrap_key_padded"]
3685    pub fn AES_unwrap_key_padded(
3686        key: *const AES_KEY,
3687        out: *mut u8,
3688        out_len: *mut usize,
3689        max_out: usize,
3690        in_: *const u8,
3691        in_len: usize,
3692    ) -> ::std::os::raw::c_int;
3693}
3694pub type __gnuc_va_list = __builtin_va_list;
3695#[repr(C)]
3696#[derive(Debug, Copy, Clone)]
3697pub struct _IO_marker {
3698    _unused: [u8; 0],
3699}
3700#[repr(C)]
3701#[derive(Debug, Copy, Clone)]
3702pub struct _IO_codecvt {
3703    _unused: [u8; 0],
3704}
3705#[repr(C)]
3706#[derive(Debug, Copy, Clone)]
3707pub struct _IO_wide_data {
3708    _unused: [u8; 0],
3709}
3710pub type _IO_lock_t = ::std::os::raw::c_void;
3711#[repr(C)]
3712#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3713pub struct _IO_FILE {
3714    pub _flags: ::std::os::raw::c_int,
3715    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3716    pub _IO_read_end: *mut ::std::os::raw::c_char,
3717    pub _IO_read_base: *mut ::std::os::raw::c_char,
3718    pub _IO_write_base: *mut ::std::os::raw::c_char,
3719    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3720    pub _IO_write_end: *mut ::std::os::raw::c_char,
3721    pub _IO_buf_base: *mut ::std::os::raw::c_char,
3722    pub _IO_buf_end: *mut ::std::os::raw::c_char,
3723    pub _IO_save_base: *mut ::std::os::raw::c_char,
3724    pub _IO_backup_base: *mut ::std::os::raw::c_char,
3725    pub _IO_save_end: *mut ::std::os::raw::c_char,
3726    pub _markers: *mut _IO_marker,
3727    pub _chain: *mut _IO_FILE,
3728    pub _fileno: ::std::os::raw::c_int,
3729    pub _flags2: ::std::os::raw::c_int,
3730    pub _old_offset: __off_t,
3731    pub _cur_column: ::std::os::raw::c_ushort,
3732    pub _vtable_offset: ::std::os::raw::c_schar,
3733    pub _shortbuf: [::std::os::raw::c_char; 1usize],
3734    pub _lock: *mut _IO_lock_t,
3735    pub _offset: __off64_t,
3736    pub _codecvt: *mut _IO_codecvt,
3737    pub _wide_data: *mut _IO_wide_data,
3738    pub _freeres_list: *mut _IO_FILE,
3739    pub _freeres_buf: *mut ::std::os::raw::c_void,
3740    pub __pad5: usize,
3741    pub _mode: ::std::os::raw::c_int,
3742    pub _unused2: [::std::os::raw::c_char; 20usize],
3743}
3744#[test]
3745fn bindgen_test_layout__IO_FILE() {
3746    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
3747    let ptr = UNINIT.as_ptr();
3748    assert_eq!(
3749        ::std::mem::size_of::<_IO_FILE>(),
3750        216usize,
3751        "Size of _IO_FILE"
3752    );
3753    assert_eq!(
3754        ::std::mem::align_of::<_IO_FILE>(),
3755        8usize,
3756        "Alignment of _IO_FILE"
3757    );
3758    assert_eq!(
3759        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
3760        0usize,
3761        "Offset of field: _IO_FILE::_flags"
3762    );
3763    assert_eq!(
3764        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
3765        8usize,
3766        "Offset of field: _IO_FILE::_IO_read_ptr"
3767    );
3768    assert_eq!(
3769        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
3770        16usize,
3771        "Offset of field: _IO_FILE::_IO_read_end"
3772    );
3773    assert_eq!(
3774        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
3775        24usize,
3776        "Offset of field: _IO_FILE::_IO_read_base"
3777    );
3778    assert_eq!(
3779        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
3780        32usize,
3781        "Offset of field: _IO_FILE::_IO_write_base"
3782    );
3783    assert_eq!(
3784        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
3785        40usize,
3786        "Offset of field: _IO_FILE::_IO_write_ptr"
3787    );
3788    assert_eq!(
3789        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
3790        48usize,
3791        "Offset of field: _IO_FILE::_IO_write_end"
3792    );
3793    assert_eq!(
3794        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
3795        56usize,
3796        "Offset of field: _IO_FILE::_IO_buf_base"
3797    );
3798    assert_eq!(
3799        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
3800        64usize,
3801        "Offset of field: _IO_FILE::_IO_buf_end"
3802    );
3803    assert_eq!(
3804        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
3805        72usize,
3806        "Offset of field: _IO_FILE::_IO_save_base"
3807    );
3808    assert_eq!(
3809        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
3810        80usize,
3811        "Offset of field: _IO_FILE::_IO_backup_base"
3812    );
3813    assert_eq!(
3814        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
3815        88usize,
3816        "Offset of field: _IO_FILE::_IO_save_end"
3817    );
3818    assert_eq!(
3819        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
3820        96usize,
3821        "Offset of field: _IO_FILE::_markers"
3822    );
3823    assert_eq!(
3824        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
3825        104usize,
3826        "Offset of field: _IO_FILE::_chain"
3827    );
3828    assert_eq!(
3829        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
3830        112usize,
3831        "Offset of field: _IO_FILE::_fileno"
3832    );
3833    assert_eq!(
3834        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
3835        116usize,
3836        "Offset of field: _IO_FILE::_flags2"
3837    );
3838    assert_eq!(
3839        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
3840        120usize,
3841        "Offset of field: _IO_FILE::_old_offset"
3842    );
3843    assert_eq!(
3844        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
3845        128usize,
3846        "Offset of field: _IO_FILE::_cur_column"
3847    );
3848    assert_eq!(
3849        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
3850        130usize,
3851        "Offset of field: _IO_FILE::_vtable_offset"
3852    );
3853    assert_eq!(
3854        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
3855        131usize,
3856        "Offset of field: _IO_FILE::_shortbuf"
3857    );
3858    assert_eq!(
3859        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
3860        136usize,
3861        "Offset of field: _IO_FILE::_lock"
3862    );
3863    assert_eq!(
3864        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
3865        144usize,
3866        "Offset of field: _IO_FILE::_offset"
3867    );
3868    assert_eq!(
3869        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
3870        152usize,
3871        "Offset of field: _IO_FILE::_codecvt"
3872    );
3873    assert_eq!(
3874        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
3875        160usize,
3876        "Offset of field: _IO_FILE::_wide_data"
3877    );
3878    assert_eq!(
3879        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
3880        168usize,
3881        "Offset of field: _IO_FILE::_freeres_list"
3882    );
3883    assert_eq!(
3884        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
3885        176usize,
3886        "Offset of field: _IO_FILE::_freeres_buf"
3887    );
3888    assert_eq!(
3889        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
3890        184usize,
3891        "Offset of field: _IO_FILE::__pad5"
3892    );
3893    assert_eq!(
3894        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
3895        192usize,
3896        "Offset of field: _IO_FILE::_mode"
3897    );
3898    assert_eq!(
3899        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
3900        196usize,
3901        "Offset of field: _IO_FILE::_unused2"
3902    );
3903}
3904impl Default for _IO_FILE {
3905    fn default() -> Self {
3906        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3907        unsafe {
3908            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3909            s.assume_init()
3910        }
3911    }
3912}
3913pub type va_list = __gnuc_va_list;
3914#[repr(C)]
3915#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3916pub struct buf_mem_st {
3917    pub length: usize,
3918    pub data: *mut ::std::os::raw::c_char,
3919    pub max: usize,
3920}
3921#[test]
3922fn bindgen_test_layout_buf_mem_st() {
3923    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
3924    let ptr = UNINIT.as_ptr();
3925    assert_eq!(
3926        ::std::mem::size_of::<buf_mem_st>(),
3927        24usize,
3928        "Size of buf_mem_st"
3929    );
3930    assert_eq!(
3931        ::std::mem::align_of::<buf_mem_st>(),
3932        8usize,
3933        "Alignment of buf_mem_st"
3934    );
3935    assert_eq!(
3936        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
3937        0usize,
3938        "Offset of field: buf_mem_st::length"
3939    );
3940    assert_eq!(
3941        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3942        8usize,
3943        "Offset of field: buf_mem_st::data"
3944    );
3945    assert_eq!(
3946        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
3947        16usize,
3948        "Offset of field: buf_mem_st::max"
3949    );
3950}
3951impl Default for buf_mem_st {
3952    fn default() -> Self {
3953        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3954        unsafe {
3955            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3956            s.assume_init()
3957        }
3958    }
3959}
3960extern "C" {
3961    #[link_name = "\u{1}aws_lc_0_34_0_SHA1_Init"]
3962    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
3963}
3964extern "C" {
3965    #[link_name = "\u{1}aws_lc_0_34_0_SHA1_Update"]
3966    pub fn SHA1_Update(
3967        sha: *mut SHA_CTX,
3968        data: *const ::std::os::raw::c_void,
3969        len: usize,
3970    ) -> ::std::os::raw::c_int;
3971}
3972extern "C" {
3973    #[link_name = "\u{1}aws_lc_0_34_0_SHA1_Final"]
3974    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
3975}
3976extern "C" {
3977    #[link_name = "\u{1}aws_lc_0_34_0_SHA1"]
3978    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
3979}
3980extern "C" {
3981    #[link_name = "\u{1}aws_lc_0_34_0_SHA1_Transform"]
3982    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
3983}
3984#[repr(C)]
3985#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3986pub struct sha_state_st {
3987    pub h: [u32; 5usize],
3988    pub Nl: u32,
3989    pub Nh: u32,
3990    pub data: [u8; 64usize],
3991    pub num: ::std::os::raw::c_uint,
3992}
3993#[test]
3994fn bindgen_test_layout_sha_state_st() {
3995    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
3996    let ptr = UNINIT.as_ptr();
3997    assert_eq!(
3998        ::std::mem::size_of::<sha_state_st>(),
3999        96usize,
4000        "Size of sha_state_st"
4001    );
4002    assert_eq!(
4003        ::std::mem::align_of::<sha_state_st>(),
4004        4usize,
4005        "Alignment of sha_state_st"
4006    );
4007    assert_eq!(
4008        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4009        0usize,
4010        "Offset of field: sha_state_st::h"
4011    );
4012    assert_eq!(
4013        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4014        20usize,
4015        "Offset of field: sha_state_st::Nl"
4016    );
4017    assert_eq!(
4018        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4019        24usize,
4020        "Offset of field: sha_state_st::Nh"
4021    );
4022    assert_eq!(
4023        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4024        28usize,
4025        "Offset of field: sha_state_st::data"
4026    );
4027    assert_eq!(
4028        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4029        92usize,
4030        "Offset of field: sha_state_st::num"
4031    );
4032}
4033impl Default for sha_state_st {
4034    fn default() -> Self {
4035        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4036        unsafe {
4037            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4038            s.assume_init()
4039        }
4040    }
4041}
4042extern "C" {
4043    #[link_name = "\u{1}aws_lc_0_34_0_SHA224_Init"]
4044    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4045}
4046extern "C" {
4047    #[link_name = "\u{1}aws_lc_0_34_0_SHA224_Update"]
4048    pub fn SHA224_Update(
4049        sha: *mut SHA256_CTX,
4050        data: *const ::std::os::raw::c_void,
4051        len: usize,
4052    ) -> ::std::os::raw::c_int;
4053}
4054extern "C" {
4055    #[link_name = "\u{1}aws_lc_0_34_0_SHA224_Final"]
4056    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4057}
4058extern "C" {
4059    #[link_name = "\u{1}aws_lc_0_34_0_SHA224"]
4060    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4061}
4062extern "C" {
4063    #[link_name = "\u{1}aws_lc_0_34_0_SHA256_Init"]
4064    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4065}
4066extern "C" {
4067    #[link_name = "\u{1}aws_lc_0_34_0_SHA256_Update"]
4068    pub fn SHA256_Update(
4069        sha: *mut SHA256_CTX,
4070        data: *const ::std::os::raw::c_void,
4071        len: usize,
4072    ) -> ::std::os::raw::c_int;
4073}
4074extern "C" {
4075    #[link_name = "\u{1}aws_lc_0_34_0_SHA256_Final"]
4076    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4077}
4078extern "C" {
4079    #[link_name = "\u{1}aws_lc_0_34_0_SHA256"]
4080    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4081}
4082extern "C" {
4083    #[link_name = "\u{1}aws_lc_0_34_0_SHA256_Transform"]
4084    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4085}
4086extern "C" {
4087    #[link_name = "\u{1}aws_lc_0_34_0_SHA256_TransformBlocks"]
4088    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4089}
4090#[repr(C)]
4091#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4092pub struct sha256_state_st {
4093    pub h: [u32; 8usize],
4094    pub Nl: u32,
4095    pub Nh: u32,
4096    pub data: [u8; 64usize],
4097    pub num: ::std::os::raw::c_uint,
4098    pub md_len: ::std::os::raw::c_uint,
4099}
4100#[test]
4101fn bindgen_test_layout_sha256_state_st() {
4102    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4103    let ptr = UNINIT.as_ptr();
4104    assert_eq!(
4105        ::std::mem::size_of::<sha256_state_st>(),
4106        112usize,
4107        "Size of sha256_state_st"
4108    );
4109    assert_eq!(
4110        ::std::mem::align_of::<sha256_state_st>(),
4111        4usize,
4112        "Alignment of sha256_state_st"
4113    );
4114    assert_eq!(
4115        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4116        0usize,
4117        "Offset of field: sha256_state_st::h"
4118    );
4119    assert_eq!(
4120        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4121        32usize,
4122        "Offset of field: sha256_state_st::Nl"
4123    );
4124    assert_eq!(
4125        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4126        36usize,
4127        "Offset of field: sha256_state_st::Nh"
4128    );
4129    assert_eq!(
4130        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4131        40usize,
4132        "Offset of field: sha256_state_st::data"
4133    );
4134    assert_eq!(
4135        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4136        104usize,
4137        "Offset of field: sha256_state_st::num"
4138    );
4139    assert_eq!(
4140        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4141        108usize,
4142        "Offset of field: sha256_state_st::md_len"
4143    );
4144}
4145impl Default for sha256_state_st {
4146    fn default() -> Self {
4147        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4148        unsafe {
4149            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4150            s.assume_init()
4151        }
4152    }
4153}
4154extern "C" {
4155    #[link_name = "\u{1}aws_lc_0_34_0_SHA384_Init"]
4156    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4157}
4158extern "C" {
4159    #[link_name = "\u{1}aws_lc_0_34_0_SHA384_Update"]
4160    pub fn SHA384_Update(
4161        sha: *mut SHA512_CTX,
4162        data: *const ::std::os::raw::c_void,
4163        len: usize,
4164    ) -> ::std::os::raw::c_int;
4165}
4166extern "C" {
4167    #[link_name = "\u{1}aws_lc_0_34_0_SHA384_Final"]
4168    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4169}
4170extern "C" {
4171    #[link_name = "\u{1}aws_lc_0_34_0_SHA384"]
4172    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4173}
4174extern "C" {
4175    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_Init"]
4176    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4177}
4178extern "C" {
4179    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_Update"]
4180    pub fn SHA512_Update(
4181        sha: *mut SHA512_CTX,
4182        data: *const ::std::os::raw::c_void,
4183        len: usize,
4184    ) -> ::std::os::raw::c_int;
4185}
4186extern "C" {
4187    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_Final"]
4188    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4189}
4190extern "C" {
4191    #[link_name = "\u{1}aws_lc_0_34_0_SHA512"]
4192    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4193}
4194extern "C" {
4195    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_Transform"]
4196    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4197}
4198#[repr(C)]
4199#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4200pub struct sha512_state_st {
4201    pub h: [u64; 8usize],
4202    pub Nl: u64,
4203    pub Nh: u64,
4204    pub p: [u8; 128usize],
4205    pub num: ::std::os::raw::c_uint,
4206    pub md_len: ::std::os::raw::c_uint,
4207}
4208#[test]
4209fn bindgen_test_layout_sha512_state_st() {
4210    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4211    let ptr = UNINIT.as_ptr();
4212    assert_eq!(
4213        ::std::mem::size_of::<sha512_state_st>(),
4214        216usize,
4215        "Size of sha512_state_st"
4216    );
4217    assert_eq!(
4218        ::std::mem::align_of::<sha512_state_st>(),
4219        8usize,
4220        "Alignment of sha512_state_st"
4221    );
4222    assert_eq!(
4223        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4224        0usize,
4225        "Offset of field: sha512_state_st::h"
4226    );
4227    assert_eq!(
4228        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4229        64usize,
4230        "Offset of field: sha512_state_st::Nl"
4231    );
4232    assert_eq!(
4233        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4234        72usize,
4235        "Offset of field: sha512_state_st::Nh"
4236    );
4237    assert_eq!(
4238        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4239        80usize,
4240        "Offset of field: sha512_state_st::p"
4241    );
4242    assert_eq!(
4243        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4244        208usize,
4245        "Offset of field: sha512_state_st::num"
4246    );
4247    assert_eq!(
4248        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4249        212usize,
4250        "Offset of field: sha512_state_st::md_len"
4251    );
4252}
4253impl Default for sha512_state_st {
4254    fn default() -> Self {
4255        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4256        unsafe {
4257            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4258            s.assume_init()
4259        }
4260    }
4261}
4262extern "C" {
4263    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_224_Init"]
4264    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4265}
4266extern "C" {
4267    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_224_Update"]
4268    pub fn SHA512_224_Update(
4269        sha: *mut SHA512_CTX,
4270        data: *const ::std::os::raw::c_void,
4271        len: usize,
4272    ) -> ::std::os::raw::c_int;
4273}
4274extern "C" {
4275    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_224_Final"]
4276    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4277}
4278extern "C" {
4279    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_224"]
4280    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4281}
4282extern "C" {
4283    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_256_Init"]
4284    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4285}
4286extern "C" {
4287    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_256_Update"]
4288    pub fn SHA512_256_Update(
4289        sha: *mut SHA512_CTX,
4290        data: *const ::std::os::raw::c_void,
4291        len: usize,
4292    ) -> ::std::os::raw::c_int;
4293}
4294extern "C" {
4295    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_256_Final"]
4296    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4297}
4298extern "C" {
4299    #[link_name = "\u{1}aws_lc_0_34_0_SHA512_256"]
4300    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4301}
4302extern "C" {
4303    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_malloc"]
4304    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4305}
4306extern "C" {
4307    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_zalloc"]
4308    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4309}
4310extern "C" {
4311    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_calloc"]
4312    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4313}
4314extern "C" {
4315    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_realloc"]
4316    pub fn OPENSSL_realloc(
4317        ptr: *mut ::std::os::raw::c_void,
4318        new_size: usize,
4319    ) -> *mut ::std::os::raw::c_void;
4320}
4321extern "C" {
4322    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_free"]
4323    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4324}
4325extern "C" {
4326    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_cleanse"]
4327    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4328}
4329extern "C" {
4330    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_memcmp"]
4331    pub fn CRYPTO_memcmp(
4332        a: *const ::std::os::raw::c_void,
4333        b: *const ::std::os::raw::c_void,
4334        len: usize,
4335    ) -> ::std::os::raw::c_int;
4336}
4337extern "C" {
4338    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_hash32"]
4339    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4340}
4341extern "C" {
4342    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strhash"]
4343    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4344}
4345extern "C" {
4346    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strdup"]
4347    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4348}
4349extern "C" {
4350    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strnlen"]
4351    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4352}
4353extern "C" {
4354    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_isalpha"]
4355    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4356}
4357extern "C" {
4358    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_isdigit"]
4359    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4360}
4361extern "C" {
4362    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_isxdigit"]
4363    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4364}
4365extern "C" {
4366    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_fromxdigit"]
4367    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4368}
4369extern "C" {
4370    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_hexstr2buf"]
4371    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4372}
4373extern "C" {
4374    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_isalnum"]
4375    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4376}
4377extern "C" {
4378    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_tolower"]
4379    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4380}
4381extern "C" {
4382    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_isspace"]
4383    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4384}
4385extern "C" {
4386    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strcasecmp"]
4387    pub fn OPENSSL_strcasecmp(
4388        a: *const ::std::os::raw::c_char,
4389        b: *const ::std::os::raw::c_char,
4390    ) -> ::std::os::raw::c_int;
4391}
4392extern "C" {
4393    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strncasecmp"]
4394    pub fn OPENSSL_strncasecmp(
4395        a: *const ::std::os::raw::c_char,
4396        b: *const ::std::os::raw::c_char,
4397        n: usize,
4398    ) -> ::std::os::raw::c_int;
4399}
4400extern "C" {
4401    #[link_name = "\u{1}aws_lc_0_34_0_BIO_snprintf"]
4402    pub fn BIO_snprintf(
4403        buf: *mut ::std::os::raw::c_char,
4404        n: usize,
4405        format: *const ::std::os::raw::c_char,
4406        ...
4407    ) -> ::std::os::raw::c_int;
4408}
4409extern "C" {
4410    #[link_name = "\u{1}aws_lc_0_34_0_BIO_vsnprintf"]
4411    pub fn BIO_vsnprintf(
4412        buf: *mut ::std::os::raw::c_char,
4413        n: usize,
4414        format: *const ::std::os::raw::c_char,
4415        args: *mut __va_list_tag,
4416    ) -> ::std::os::raw::c_int;
4417}
4418extern "C" {
4419    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_vasprintf"]
4420    pub fn OPENSSL_vasprintf(
4421        str_: *mut *mut ::std::os::raw::c_char,
4422        format: *const ::std::os::raw::c_char,
4423        args: *mut __va_list_tag,
4424    ) -> ::std::os::raw::c_int;
4425}
4426extern "C" {
4427    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_asprintf"]
4428    pub fn OPENSSL_asprintf(
4429        str_: *mut *mut ::std::os::raw::c_char,
4430        format: *const ::std::os::raw::c_char,
4431        ...
4432    ) -> ::std::os::raw::c_int;
4433}
4434extern "C" {
4435    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strndup"]
4436    pub fn OPENSSL_strndup(
4437        str_: *const ::std::os::raw::c_char,
4438        size: usize,
4439    ) -> *mut ::std::os::raw::c_char;
4440}
4441extern "C" {
4442    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_memdup"]
4443    pub fn OPENSSL_memdup(
4444        data: *const ::std::os::raw::c_void,
4445        size: usize,
4446    ) -> *mut ::std::os::raw::c_void;
4447}
4448extern "C" {
4449    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strlcpy"]
4450    pub fn OPENSSL_strlcpy(
4451        dst: *mut ::std::os::raw::c_char,
4452        src: *const ::std::os::raw::c_char,
4453        dst_size: usize,
4454    ) -> usize;
4455}
4456extern "C" {
4457    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_strlcat"]
4458    pub fn OPENSSL_strlcat(
4459        dst: *mut ::std::os::raw::c_char,
4460        src: *const ::std::os::raw::c_char,
4461        dst_size: usize,
4462    ) -> usize;
4463}
4464extern "C" {
4465    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_malloc"]
4466    pub fn CRYPTO_malloc(
4467        size: usize,
4468        file: *const ::std::os::raw::c_char,
4469        line: ::std::os::raw::c_int,
4470    ) -> *mut ::std::os::raw::c_void;
4471}
4472extern "C" {
4473    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_realloc"]
4474    pub fn CRYPTO_realloc(
4475        ptr: *mut ::std::os::raw::c_void,
4476        new_size: usize,
4477        file: *const ::std::os::raw::c_char,
4478        line: ::std::os::raw::c_int,
4479    ) -> *mut ::std::os::raw::c_void;
4480}
4481extern "C" {
4482    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_free"]
4483    pub fn CRYPTO_free(
4484        ptr: *mut ::std::os::raw::c_void,
4485        file: *const ::std::os::raw::c_char,
4486        line: ::std::os::raw::c_int,
4487    );
4488}
4489extern "C" {
4490    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_clear_free"]
4491    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4492}
4493extern "C" {
4494    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_set_mem_functions"]
4495    pub fn CRYPTO_set_mem_functions(
4496        m: ::std::option::Option<
4497            unsafe extern "C" fn(
4498                arg1: usize,
4499                arg2: *const ::std::os::raw::c_char,
4500                arg3: ::std::os::raw::c_int,
4501            ) -> *mut ::std::os::raw::c_void,
4502        >,
4503        r: ::std::option::Option<
4504            unsafe extern "C" fn(
4505                arg1: *mut ::std::os::raw::c_void,
4506                arg2: usize,
4507                arg3: *const ::std::os::raw::c_char,
4508                arg4: ::std::os::raw::c_int,
4509            ) -> *mut ::std::os::raw::c_void,
4510        >,
4511        f: ::std::option::Option<
4512            unsafe extern "C" fn(
4513                arg1: *mut ::std::os::raw::c_void,
4514                arg2: *const ::std::os::raw::c_char,
4515                arg3: ::std::os::raw::c_int,
4516            ),
4517        >,
4518    ) -> ::std::os::raw::c_int;
4519}
4520extern "C" {
4521    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_secure_malloc_init"]
4522    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4523}
4524extern "C" {
4525    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_secure_malloc_initialized"]
4526    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4527}
4528extern "C" {
4529    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_secure_used"]
4530    pub fn CRYPTO_secure_used() -> usize;
4531}
4532extern "C" {
4533    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_secure_malloc"]
4534    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4535}
4536extern "C" {
4537    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_secure_zalloc"]
4538    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4539}
4540extern "C" {
4541    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_secure_clear_free"]
4542    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4543}
4544pub type CRYPTO_refcount_t = u32;
4545extern "C" {
4546    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_library_init"]
4547    pub fn CRYPTO_library_init();
4548}
4549extern "C" {
4550    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_is_confidential_build"]
4551    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4552}
4553extern "C" {
4554    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_has_asm"]
4555    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4556}
4557extern "C" {
4558    #[link_name = "\u{1}aws_lc_0_34_0_BORINGSSL_self_test"]
4559    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4560}
4561extern "C" {
4562    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4563}
4564extern "C" {
4565    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_pre_sandbox_init"]
4566    pub fn CRYPTO_pre_sandbox_init();
4567}
4568extern "C" {
4569    #[link_name = "\u{1}aws_lc_0_34_0_FIPS_mode"]
4570    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4571}
4572extern "C" {
4573    #[link_name = "\u{1}aws_lc_0_34_0_FIPS_is_entropy_cpu_jitter"]
4574    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4575}
4576pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
4577pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
4578pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
4579pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
4580pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
4581pub type fips_counter_t = ::std::os::raw::c_uint;
4582extern "C" {
4583    #[link_name = "\u{1}aws_lc_0_34_0_FIPS_read_counter"]
4584    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
4585}
4586extern "C" {
4587    #[link_name = "\u{1}aws_lc_0_34_0_OpenSSL_version"]
4588    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4589}
4590extern "C" {
4591    #[link_name = "\u{1}aws_lc_0_34_0_SSLeay_version"]
4592    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4593}
4594extern "C" {
4595    #[link_name = "\u{1}aws_lc_0_34_0_SSLeay"]
4596    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4597}
4598extern "C" {
4599    #[link_name = "\u{1}aws_lc_0_34_0_OpenSSL_version_num"]
4600    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4601}
4602extern "C" {
4603    #[link_name = "\u{1}aws_lc_0_34_0_awslc_api_version_num"]
4604    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4605}
4606extern "C" {
4607    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_malloc_init"]
4608    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4609}
4610extern "C" {
4611    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_malloc_init"]
4612    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4613}
4614extern "C" {
4615    #[link_name = "\u{1}aws_lc_0_34_0_ENGINE_load_builtin_engines"]
4616    pub fn ENGINE_load_builtin_engines();
4617}
4618extern "C" {
4619    #[link_name = "\u{1}aws_lc_0_34_0_ENGINE_register_all_ciphers"]
4620    pub fn ENGINE_register_all_ciphers();
4621}
4622extern "C" {
4623    #[link_name = "\u{1}aws_lc_0_34_0_ENGINE_register_all_digests"]
4624    pub fn ENGINE_register_all_digests();
4625}
4626extern "C" {
4627    #[link_name = "\u{1}aws_lc_0_34_0_ENGINE_register_all_complete"]
4628    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4629}
4630extern "C" {
4631    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_load_builtin_modules"]
4632    pub fn OPENSSL_load_builtin_modules();
4633}
4634extern "C" {
4635    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_init_crypto"]
4636    pub fn OPENSSL_init_crypto(
4637        opts: u64,
4638        settings: *const OPENSSL_INIT_SETTINGS,
4639    ) -> ::std::os::raw::c_int;
4640}
4641extern "C" {
4642    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_init"]
4643    pub fn OPENSSL_init();
4644}
4645extern "C" {
4646    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_cleanup"]
4647    pub fn OPENSSL_cleanup();
4648}
4649extern "C" {
4650    #[link_name = "\u{1}aws_lc_0_34_0_FIPS_mode_set"]
4651    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4652}
4653extern "C" {
4654    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_mem_ctrl"]
4655    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4656}
4657extern "C" {
4658    #[link_name = "\u{1}aws_lc_0_34_0_ERR_load_BIO_strings"]
4659    pub fn ERR_load_BIO_strings();
4660}
4661extern "C" {
4662    #[link_name = "\u{1}aws_lc_0_34_0_ERR_load_ERR_strings"]
4663    pub fn ERR_load_ERR_strings();
4664}
4665extern "C" {
4666    #[link_name = "\u{1}aws_lc_0_34_0_ERR_load_CRYPTO_strings"]
4667    pub fn ERR_load_CRYPTO_strings();
4668}
4669extern "C" {
4670    #[link_name = "\u{1}aws_lc_0_34_0_ERR_load_crypto_strings"]
4671    pub fn ERR_load_crypto_strings();
4672}
4673extern "C" {
4674    #[link_name = "\u{1}aws_lc_0_34_0_ERR_load_RAND_strings"]
4675    pub fn ERR_load_RAND_strings();
4676}
4677extern "C" {
4678    #[link_name = "\u{1}aws_lc_0_34_0_ERR_free_strings"]
4679    pub fn ERR_free_strings();
4680}
4681extern "C" {
4682    #[link_name = "\u{1}aws_lc_0_34_0_ERR_get_error"]
4683    pub fn ERR_get_error() -> u32;
4684}
4685extern "C" {
4686    #[link_name = "\u{1}aws_lc_0_34_0_ERR_get_error_line"]
4687    pub fn ERR_get_error_line(
4688        file: *mut *const ::std::os::raw::c_char,
4689        line: *mut ::std::os::raw::c_int,
4690    ) -> u32;
4691}
4692extern "C" {
4693    #[link_name = "\u{1}aws_lc_0_34_0_ERR_get_error_line_data"]
4694    pub fn ERR_get_error_line_data(
4695        file: *mut *const ::std::os::raw::c_char,
4696        line: *mut ::std::os::raw::c_int,
4697        data: *mut *const ::std::os::raw::c_char,
4698        flags: *mut ::std::os::raw::c_int,
4699    ) -> u32;
4700}
4701extern "C" {
4702    #[link_name = "\u{1}aws_lc_0_34_0_ERR_peek_error"]
4703    pub fn ERR_peek_error() -> u32;
4704}
4705extern "C" {
4706    #[link_name = "\u{1}aws_lc_0_34_0_ERR_peek_error_line"]
4707    pub fn ERR_peek_error_line(
4708        file: *mut *const ::std::os::raw::c_char,
4709        line: *mut ::std::os::raw::c_int,
4710    ) -> u32;
4711}
4712extern "C" {
4713    #[link_name = "\u{1}aws_lc_0_34_0_ERR_peek_error_line_data"]
4714    pub fn ERR_peek_error_line_data(
4715        file: *mut *const ::std::os::raw::c_char,
4716        line: *mut ::std::os::raw::c_int,
4717        data: *mut *const ::std::os::raw::c_char,
4718        flags: *mut ::std::os::raw::c_int,
4719    ) -> u32;
4720}
4721extern "C" {
4722    #[link_name = "\u{1}aws_lc_0_34_0_ERR_peek_last_error"]
4723    pub fn ERR_peek_last_error() -> u32;
4724}
4725extern "C" {
4726    #[link_name = "\u{1}aws_lc_0_34_0_ERR_peek_last_error_line"]
4727    pub fn ERR_peek_last_error_line(
4728        file: *mut *const ::std::os::raw::c_char,
4729        line: *mut ::std::os::raw::c_int,
4730    ) -> u32;
4731}
4732extern "C" {
4733    #[link_name = "\u{1}aws_lc_0_34_0_ERR_peek_last_error_line_data"]
4734    pub fn ERR_peek_last_error_line_data(
4735        file: *mut *const ::std::os::raw::c_char,
4736        line: *mut ::std::os::raw::c_int,
4737        data: *mut *const ::std::os::raw::c_char,
4738        flags: *mut ::std::os::raw::c_int,
4739    ) -> u32;
4740}
4741extern "C" {
4742    #[link_name = "\u{1}aws_lc_0_34_0_ERR_error_string_n"]
4743    pub fn ERR_error_string_n(
4744        packed_error: u32,
4745        buf: *mut ::std::os::raw::c_char,
4746        len: usize,
4747    ) -> *mut ::std::os::raw::c_char;
4748}
4749extern "C" {
4750    #[link_name = "\u{1}aws_lc_0_34_0_ERR_lib_error_string"]
4751    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4752}
4753extern "C" {
4754    #[link_name = "\u{1}aws_lc_0_34_0_ERR_reason_error_string"]
4755    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4756}
4757pub type ERR_print_errors_callback_t = ::std::option::Option<
4758    unsafe extern "C" fn(
4759        str_: *const ::std::os::raw::c_char,
4760        len: usize,
4761        ctx: *mut ::std::os::raw::c_void,
4762    ) -> ::std::os::raw::c_int,
4763>;
4764extern "C" {
4765    #[link_name = "\u{1}aws_lc_0_34_0_ERR_print_errors_cb"]
4766    pub fn ERR_print_errors_cb(
4767        callback: ERR_print_errors_callback_t,
4768        ctx: *mut ::std::os::raw::c_void,
4769    );
4770}
4771extern "C" {
4772    #[link_name = "\u{1}aws_lc_0_34_0_ERR_clear_error"]
4773    pub fn ERR_clear_error();
4774}
4775extern "C" {
4776    #[link_name = "\u{1}aws_lc_0_34_0_ERR_set_mark"]
4777    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4778}
4779extern "C" {
4780    #[link_name = "\u{1}aws_lc_0_34_0_ERR_pop_to_mark"]
4781    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4782}
4783extern "C" {
4784    #[link_name = "\u{1}aws_lc_0_34_0_ERR_get_next_error_library"]
4785    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4786}
4787extern "C" {
4788    #[link_name = "\u{1}aws_lc_0_34_0_ERR_remove_state"]
4789    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4790}
4791extern "C" {
4792    #[link_name = "\u{1}aws_lc_0_34_0_ERR_remove_thread_state"]
4793    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4794}
4795extern "C" {
4796    #[link_name = "\u{1}aws_lc_0_34_0_ERR_func_error_string"]
4797    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4798}
4799extern "C" {
4800    #[link_name = "\u{1}aws_lc_0_34_0_ERR_error_string"]
4801    pub fn ERR_error_string(
4802        packed_error: u32,
4803        buf: *mut ::std::os::raw::c_char,
4804    ) -> *mut ::std::os::raw::c_char;
4805}
4806extern "C" {
4807    #[link_name = "\u{1}aws_lc_0_34_0_ERR_clear_system_error"]
4808    pub fn ERR_clear_system_error();
4809}
4810extern "C" {
4811    #[link_name = "\u{1}aws_lc_0_34_0_ERR_put_error"]
4812    pub fn ERR_put_error(
4813        library: ::std::os::raw::c_int,
4814        unused: ::std::os::raw::c_int,
4815        reason: ::std::os::raw::c_int,
4816        file: *const ::std::os::raw::c_char,
4817        line: ::std::os::raw::c_uint,
4818    );
4819}
4820extern "C" {
4821    #[link_name = "\u{1}aws_lc_0_34_0_ERR_add_error_data"]
4822    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
4823}
4824extern "C" {
4825    #[link_name = "\u{1}aws_lc_0_34_0_ERR_add_error_dataf"]
4826    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
4827}
4828extern "C" {
4829    #[link_name = "\u{1}aws_lc_0_34_0_ERR_set_error_data"]
4830    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
4831}
4832#[repr(C)]
4833#[derive(Debug, Copy, Clone)]
4834pub struct stack_st_void {
4835    _unused: [u8; 0],
4836}
4837pub type CRYPTO_EX_DATA = crypto_ex_data_st;
4838pub type CRYPTO_EX_free = ::std::option::Option<
4839    unsafe extern "C" fn(
4840        parent: *mut ::std::os::raw::c_void,
4841        ptr: *mut ::std::os::raw::c_void,
4842        ad: *mut CRYPTO_EX_DATA,
4843        index: ::std::os::raw::c_int,
4844        argl: ::std::os::raw::c_long,
4845        argp: *mut ::std::os::raw::c_void,
4846    ),
4847>;
4848pub type CRYPTO_EX_dup = ::std::option::Option<
4849    unsafe extern "C" fn(
4850        to: *mut CRYPTO_EX_DATA,
4851        from: *const CRYPTO_EX_DATA,
4852        from_d: *mut *mut ::std::os::raw::c_void,
4853        index: ::std::os::raw::c_int,
4854        argl: ::std::os::raw::c_long,
4855        argp: *mut ::std::os::raw::c_void,
4856    ) -> ::std::os::raw::c_int,
4857>;
4858pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
4859#[repr(C)]
4860#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4861pub struct crypto_ex_data_st {
4862    pub sk: *mut stack_st_void,
4863}
4864#[test]
4865fn bindgen_test_layout_crypto_ex_data_st() {
4866    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
4867    let ptr = UNINIT.as_ptr();
4868    assert_eq!(
4869        ::std::mem::size_of::<crypto_ex_data_st>(),
4870        8usize,
4871        "Size of crypto_ex_data_st"
4872    );
4873    assert_eq!(
4874        ::std::mem::align_of::<crypto_ex_data_st>(),
4875        8usize,
4876        "Alignment of crypto_ex_data_st"
4877    );
4878    assert_eq!(
4879        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
4880        0usize,
4881        "Offset of field: crypto_ex_data_st::sk"
4882    );
4883}
4884impl Default for crypto_ex_data_st {
4885    fn default() -> Self {
4886        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4887        unsafe {
4888            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4889            s.assume_init()
4890        }
4891    }
4892}
4893pub type bio_info_cb = ::std::option::Option<
4894    unsafe extern "C" fn(
4895        b: *mut BIO,
4896        state: ::std::os::raw::c_int,
4897        res: ::std::os::raw::c_int,
4898    ) -> ::std::os::raw::c_long,
4899>;
4900pub type BIO_callback_fn_ex = ::std::option::Option<
4901    unsafe extern "C" fn(
4902        bio: *mut BIO,
4903        oper: ::std::os::raw::c_int,
4904        argp: *const ::std::os::raw::c_char,
4905        len: usize,
4906        argi: ::std::os::raw::c_int,
4907        argl: ::std::os::raw::c_long,
4908        bio_ret: ::std::os::raw::c_int,
4909        processed: *mut usize,
4910    ) -> ::std::os::raw::c_long,
4911>;
4912pub type BIO_callback_fn = ::std::option::Option<
4913    unsafe extern "C" fn(
4914        bio: *mut BIO,
4915        oper: ::std::os::raw::c_int,
4916        argp: *const ::std::os::raw::c_char,
4917        argi: ::std::os::raw::c_int,
4918        argl: ::std::os::raw::c_long,
4919        bio_ret: ::std::os::raw::c_long,
4920    ) -> ::std::os::raw::c_long,
4921>;
4922#[repr(C)]
4923#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4924pub struct bio_method_st {
4925    pub type_: ::std::os::raw::c_int,
4926    pub name: *const ::std::os::raw::c_char,
4927    pub bwrite: ::std::option::Option<
4928        unsafe extern "C" fn(
4929            arg1: *mut BIO,
4930            arg2: *const ::std::os::raw::c_char,
4931            arg3: ::std::os::raw::c_int,
4932        ) -> ::std::os::raw::c_int,
4933    >,
4934    pub bread: ::std::option::Option<
4935        unsafe extern "C" fn(
4936            arg1: *mut BIO,
4937            arg2: *mut ::std::os::raw::c_char,
4938            arg3: ::std::os::raw::c_int,
4939        ) -> ::std::os::raw::c_int,
4940    >,
4941    pub bputs: ::std::option::Option<
4942        unsafe extern "C" fn(
4943            arg1: *mut BIO,
4944            arg2: *const ::std::os::raw::c_char,
4945        ) -> ::std::os::raw::c_int,
4946    >,
4947    pub bgets: ::std::option::Option<
4948        unsafe extern "C" fn(
4949            arg1: *mut BIO,
4950            arg2: *mut ::std::os::raw::c_char,
4951            arg3: ::std::os::raw::c_int,
4952        ) -> ::std::os::raw::c_int,
4953    >,
4954    pub ctrl: ::std::option::Option<
4955        unsafe extern "C" fn(
4956            arg1: *mut BIO,
4957            arg2: ::std::os::raw::c_int,
4958            arg3: ::std::os::raw::c_long,
4959            arg4: *mut ::std::os::raw::c_void,
4960        ) -> ::std::os::raw::c_long,
4961    >,
4962    pub create:
4963        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
4964    pub destroy:
4965        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
4966    pub callback_ctrl: ::std::option::Option<
4967        unsafe extern "C" fn(
4968            arg1: *mut BIO,
4969            arg2: ::std::os::raw::c_int,
4970            arg3: bio_info_cb,
4971        ) -> ::std::os::raw::c_long,
4972    >,
4973}
4974#[test]
4975fn bindgen_test_layout_bio_method_st() {
4976    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
4977    let ptr = UNINIT.as_ptr();
4978    assert_eq!(
4979        ::std::mem::size_of::<bio_method_st>(),
4980        80usize,
4981        "Size of bio_method_st"
4982    );
4983    assert_eq!(
4984        ::std::mem::align_of::<bio_method_st>(),
4985        8usize,
4986        "Alignment of bio_method_st"
4987    );
4988    assert_eq!(
4989        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
4990        0usize,
4991        "Offset of field: bio_method_st::type_"
4992    );
4993    assert_eq!(
4994        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
4995        8usize,
4996        "Offset of field: bio_method_st::name"
4997    );
4998    assert_eq!(
4999        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5000        16usize,
5001        "Offset of field: bio_method_st::bwrite"
5002    );
5003    assert_eq!(
5004        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5005        24usize,
5006        "Offset of field: bio_method_st::bread"
5007    );
5008    assert_eq!(
5009        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5010        32usize,
5011        "Offset of field: bio_method_st::bputs"
5012    );
5013    assert_eq!(
5014        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5015        40usize,
5016        "Offset of field: bio_method_st::bgets"
5017    );
5018    assert_eq!(
5019        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5020        48usize,
5021        "Offset of field: bio_method_st::ctrl"
5022    );
5023    assert_eq!(
5024        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5025        56usize,
5026        "Offset of field: bio_method_st::create"
5027    );
5028    assert_eq!(
5029        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5030        64usize,
5031        "Offset of field: bio_method_st::destroy"
5032    );
5033    assert_eq!(
5034        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5035        72usize,
5036        "Offset of field: bio_method_st::callback_ctrl"
5037    );
5038}
5039impl Default for bio_method_st {
5040    fn default() -> Self {
5041        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5042        unsafe {
5043            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5044            s.assume_init()
5045        }
5046    }
5047}
5048#[repr(C)]
5049#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5050pub struct bio_st {
5051    pub method: *const BIO_METHOD,
5052    pub ex_data: CRYPTO_EX_DATA,
5053    pub callback_ex: BIO_callback_fn_ex,
5054    pub callback: BIO_callback_fn,
5055    pub cb_arg: *mut ::std::os::raw::c_char,
5056    pub init: ::std::os::raw::c_int,
5057    pub shutdown: ::std::os::raw::c_int,
5058    pub flags: ::std::os::raw::c_int,
5059    pub retry_reason: ::std::os::raw::c_int,
5060    pub num: ::std::os::raw::c_int,
5061    pub references: CRYPTO_refcount_t,
5062    pub ptr: *mut ::std::os::raw::c_void,
5063    pub next_bio: *mut BIO,
5064    pub num_read: u64,
5065    pub num_write: u64,
5066}
5067#[test]
5068fn bindgen_test_layout_bio_st() {
5069    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5070    let ptr = UNINIT.as_ptr();
5071    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5072    assert_eq!(
5073        ::std::mem::align_of::<bio_st>(),
5074        8usize,
5075        "Alignment of bio_st"
5076    );
5077    assert_eq!(
5078        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5079        0usize,
5080        "Offset of field: bio_st::method"
5081    );
5082    assert_eq!(
5083        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5084        8usize,
5085        "Offset of field: bio_st::ex_data"
5086    );
5087    assert_eq!(
5088        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5089        16usize,
5090        "Offset of field: bio_st::callback_ex"
5091    );
5092    assert_eq!(
5093        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5094        24usize,
5095        "Offset of field: bio_st::callback"
5096    );
5097    assert_eq!(
5098        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5099        32usize,
5100        "Offset of field: bio_st::cb_arg"
5101    );
5102    assert_eq!(
5103        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5104        40usize,
5105        "Offset of field: bio_st::init"
5106    );
5107    assert_eq!(
5108        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5109        44usize,
5110        "Offset of field: bio_st::shutdown"
5111    );
5112    assert_eq!(
5113        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5114        48usize,
5115        "Offset of field: bio_st::flags"
5116    );
5117    assert_eq!(
5118        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5119        52usize,
5120        "Offset of field: bio_st::retry_reason"
5121    );
5122    assert_eq!(
5123        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5124        56usize,
5125        "Offset of field: bio_st::num"
5126    );
5127    assert_eq!(
5128        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5129        60usize,
5130        "Offset of field: bio_st::references"
5131    );
5132    assert_eq!(
5133        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5134        64usize,
5135        "Offset of field: bio_st::ptr"
5136    );
5137    assert_eq!(
5138        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5139        72usize,
5140        "Offset of field: bio_st::next_bio"
5141    );
5142    assert_eq!(
5143        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5144        80usize,
5145        "Offset of field: bio_st::num_read"
5146    );
5147    assert_eq!(
5148        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5149        88usize,
5150        "Offset of field: bio_st::num_write"
5151    );
5152}
5153impl Default for bio_st {
5154    fn default() -> Self {
5155        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5156        unsafe {
5157            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5158            s.assume_init()
5159        }
5160    }
5161}
5162pub type BN_ULONG = u64;
5163extern "C" {
5164    #[link_name = "\u{1}aws_lc_0_34_0_BN_new"]
5165    pub fn BN_new() -> *mut BIGNUM;
5166}
5167extern "C" {
5168    #[link_name = "\u{1}aws_lc_0_34_0_BN_init"]
5169    pub fn BN_init(bn: *mut BIGNUM);
5170}
5171extern "C" {
5172    #[link_name = "\u{1}aws_lc_0_34_0_BN_free"]
5173    pub fn BN_free(bn: *mut BIGNUM);
5174}
5175extern "C" {
5176    #[link_name = "\u{1}aws_lc_0_34_0_BN_clear_free"]
5177    pub fn BN_clear_free(bn: *mut BIGNUM);
5178}
5179extern "C" {
5180    #[link_name = "\u{1}aws_lc_0_34_0_BN_dup"]
5181    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5182}
5183extern "C" {
5184    #[link_name = "\u{1}aws_lc_0_34_0_BN_copy"]
5185    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5186}
5187extern "C" {
5188    #[link_name = "\u{1}aws_lc_0_34_0_BN_clear"]
5189    pub fn BN_clear(bn: *mut BIGNUM);
5190}
5191extern "C" {
5192    #[link_name = "\u{1}aws_lc_0_34_0_BN_value_one"]
5193    pub fn BN_value_one() -> *const BIGNUM;
5194}
5195extern "C" {
5196    #[link_name = "\u{1}aws_lc_0_34_0_BN_num_bits"]
5197    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5198}
5199extern "C" {
5200    #[link_name = "\u{1}aws_lc_0_34_0_BN_num_bytes"]
5201    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5202}
5203extern "C" {
5204    #[link_name = "\u{1}aws_lc_0_34_0_BN_get_minimal_width"]
5205    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5206}
5207extern "C" {
5208    #[link_name = "\u{1}aws_lc_0_34_0_BN_zero"]
5209    pub fn BN_zero(bn: *mut BIGNUM);
5210}
5211extern "C" {
5212    #[link_name = "\u{1}aws_lc_0_34_0_BN_one"]
5213    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5214}
5215extern "C" {
5216    #[link_name = "\u{1}aws_lc_0_34_0_BN_set_word"]
5217    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5218}
5219extern "C" {
5220    #[link_name = "\u{1}aws_lc_0_34_0_BN_set_u64"]
5221    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5222}
5223extern "C" {
5224    #[link_name = "\u{1}aws_lc_0_34_0_BN_set_negative"]
5225    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5226}
5227extern "C" {
5228    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_negative"]
5229    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5230}
5231extern "C" {
5232    #[link_name = "\u{1}aws_lc_0_34_0_BN_bin2bn"]
5233    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5234}
5235extern "C" {
5236    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2bin"]
5237    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5238}
5239extern "C" {
5240    #[link_name = "\u{1}aws_lc_0_34_0_BN_le2bn"]
5241    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5242}
5243extern "C" {
5244    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2le_padded"]
5245    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5246}
5247extern "C" {
5248    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2bin_padded"]
5249    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5250}
5251extern "C" {
5252    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2cbb_padded"]
5253    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5254        -> ::std::os::raw::c_int;
5255}
5256extern "C" {
5257    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2hex"]
5258    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5259}
5260extern "C" {
5261    #[link_name = "\u{1}aws_lc_0_34_0_BN_hex2bn"]
5262    pub fn BN_hex2bn(
5263        outp: *mut *mut BIGNUM,
5264        in_: *const ::std::os::raw::c_char,
5265    ) -> ::std::os::raw::c_int;
5266}
5267extern "C" {
5268    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2dec"]
5269    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5270}
5271extern "C" {
5272    #[link_name = "\u{1}aws_lc_0_34_0_BN_dec2bn"]
5273    pub fn BN_dec2bn(
5274        outp: *mut *mut BIGNUM,
5275        in_: *const ::std::os::raw::c_char,
5276    ) -> ::std::os::raw::c_int;
5277}
5278extern "C" {
5279    #[link_name = "\u{1}aws_lc_0_34_0_BN_asc2bn"]
5280    pub fn BN_asc2bn(
5281        outp: *mut *mut BIGNUM,
5282        in_: *const ::std::os::raw::c_char,
5283    ) -> ::std::os::raw::c_int;
5284}
5285extern "C" {
5286    #[link_name = "\u{1}aws_lc_0_34_0_BN_print"]
5287    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5288}
5289extern "C" {
5290    #[link_name = "\u{1}aws_lc_0_34_0_BN_get_word"]
5291    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5292}
5293extern "C" {
5294    #[link_name = "\u{1}aws_lc_0_34_0_BN_get_u64"]
5295    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5296}
5297extern "C" {
5298    #[link_name = "\u{1}aws_lc_0_34_0_BN_get_flags"]
5299    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5300}
5301extern "C" {
5302    #[link_name = "\u{1}aws_lc_0_34_0_BN_parse_asn1_unsigned"]
5303    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5304}
5305extern "C" {
5306    #[link_name = "\u{1}aws_lc_0_34_0_BN_marshal_asn1"]
5307    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5308}
5309extern "C" {
5310    #[link_name = "\u{1}aws_lc_0_34_0_BN_CTX_new"]
5311    pub fn BN_CTX_new() -> *mut BN_CTX;
5312}
5313extern "C" {
5314    #[link_name = "\u{1}aws_lc_0_34_0_BN_CTX_free"]
5315    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5316}
5317extern "C" {
5318    #[link_name = "\u{1}aws_lc_0_34_0_BN_CTX_start"]
5319    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5320}
5321extern "C" {
5322    #[link_name = "\u{1}aws_lc_0_34_0_BN_CTX_get"]
5323    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5324}
5325extern "C" {
5326    #[link_name = "\u{1}aws_lc_0_34_0_BN_CTX_end"]
5327    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5328}
5329extern "C" {
5330    #[link_name = "\u{1}aws_lc_0_34_0_BN_add"]
5331    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5332}
5333extern "C" {
5334    #[link_name = "\u{1}aws_lc_0_34_0_BN_uadd"]
5335    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5336}
5337extern "C" {
5338    #[link_name = "\u{1}aws_lc_0_34_0_BN_add_word"]
5339    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5340}
5341extern "C" {
5342    #[link_name = "\u{1}aws_lc_0_34_0_BN_sub"]
5343    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5344}
5345extern "C" {
5346    #[link_name = "\u{1}aws_lc_0_34_0_BN_usub"]
5347    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5348}
5349extern "C" {
5350    #[link_name = "\u{1}aws_lc_0_34_0_BN_sub_word"]
5351    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5352}
5353extern "C" {
5354    #[link_name = "\u{1}aws_lc_0_34_0_BN_mul"]
5355    pub fn BN_mul(
5356        r: *mut BIGNUM,
5357        a: *const BIGNUM,
5358        b: *const BIGNUM,
5359        ctx: *mut BN_CTX,
5360    ) -> ::std::os::raw::c_int;
5361}
5362extern "C" {
5363    #[link_name = "\u{1}aws_lc_0_34_0_BN_mul_word"]
5364    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5365}
5366extern "C" {
5367    #[link_name = "\u{1}aws_lc_0_34_0_BN_sqr"]
5368    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5369}
5370extern "C" {
5371    #[link_name = "\u{1}aws_lc_0_34_0_BN_div"]
5372    pub fn BN_div(
5373        quotient: *mut BIGNUM,
5374        rem: *mut BIGNUM,
5375        numerator: *const BIGNUM,
5376        divisor: *const BIGNUM,
5377        ctx: *mut BN_CTX,
5378    ) -> ::std::os::raw::c_int;
5379}
5380extern "C" {
5381    #[link_name = "\u{1}aws_lc_0_34_0_BN_div_word"]
5382    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5383}
5384extern "C" {
5385    #[link_name = "\u{1}aws_lc_0_34_0_BN_sqrt"]
5386    pub fn BN_sqrt(
5387        out_sqrt: *mut BIGNUM,
5388        in_: *const BIGNUM,
5389        ctx: *mut BN_CTX,
5390    ) -> ::std::os::raw::c_int;
5391}
5392extern "C" {
5393    #[link_name = "\u{1}aws_lc_0_34_0_BN_cmp"]
5394    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5395}
5396extern "C" {
5397    #[link_name = "\u{1}aws_lc_0_34_0_BN_cmp_word"]
5398    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5399}
5400extern "C" {
5401    #[link_name = "\u{1}aws_lc_0_34_0_BN_ucmp"]
5402    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5403}
5404extern "C" {
5405    #[link_name = "\u{1}aws_lc_0_34_0_BN_equal_consttime"]
5406    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5407}
5408extern "C" {
5409    #[link_name = "\u{1}aws_lc_0_34_0_BN_abs_is_word"]
5410    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5411}
5412extern "C" {
5413    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_zero"]
5414    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5415}
5416extern "C" {
5417    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_one"]
5418    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5419}
5420extern "C" {
5421    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_word"]
5422    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5423}
5424extern "C" {
5425    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_odd"]
5426    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5427}
5428extern "C" {
5429    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_pow2"]
5430    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5431}
5432extern "C" {
5433    #[link_name = "\u{1}aws_lc_0_34_0_BN_lshift"]
5434    pub fn BN_lshift(
5435        r: *mut BIGNUM,
5436        a: *const BIGNUM,
5437        n: ::std::os::raw::c_int,
5438    ) -> ::std::os::raw::c_int;
5439}
5440extern "C" {
5441    #[link_name = "\u{1}aws_lc_0_34_0_BN_lshift1"]
5442    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5443}
5444extern "C" {
5445    #[link_name = "\u{1}aws_lc_0_34_0_BN_rshift"]
5446    pub fn BN_rshift(
5447        r: *mut BIGNUM,
5448        a: *const BIGNUM,
5449        n: ::std::os::raw::c_int,
5450    ) -> ::std::os::raw::c_int;
5451}
5452extern "C" {
5453    #[link_name = "\u{1}aws_lc_0_34_0_BN_rshift1"]
5454    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5455}
5456extern "C" {
5457    #[link_name = "\u{1}aws_lc_0_34_0_BN_set_bit"]
5458    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5459}
5460extern "C" {
5461    #[link_name = "\u{1}aws_lc_0_34_0_BN_clear_bit"]
5462    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5463}
5464extern "C" {
5465    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_bit_set"]
5466    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5467}
5468extern "C" {
5469    #[link_name = "\u{1}aws_lc_0_34_0_BN_mask_bits"]
5470    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5471}
5472extern "C" {
5473    #[link_name = "\u{1}aws_lc_0_34_0_BN_count_low_zero_bits"]
5474    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5475}
5476extern "C" {
5477    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_word"]
5478    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5479}
5480extern "C" {
5481    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_pow2"]
5482    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5483}
5484extern "C" {
5485    #[link_name = "\u{1}aws_lc_0_34_0_BN_nnmod_pow2"]
5486    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5487}
5488extern "C" {
5489    #[link_name = "\u{1}aws_lc_0_34_0_BN_nnmod"]
5490    pub fn BN_nnmod(
5491        rem: *mut BIGNUM,
5492        numerator: *const BIGNUM,
5493        divisor: *const BIGNUM,
5494        ctx: *mut BN_CTX,
5495    ) -> ::std::os::raw::c_int;
5496}
5497extern "C" {
5498    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_add"]
5499    pub fn BN_mod_add(
5500        r: *mut BIGNUM,
5501        a: *const BIGNUM,
5502        b: *const BIGNUM,
5503        m: *const BIGNUM,
5504        ctx: *mut BN_CTX,
5505    ) -> ::std::os::raw::c_int;
5506}
5507extern "C" {
5508    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_add_quick"]
5509    pub fn BN_mod_add_quick(
5510        r: *mut BIGNUM,
5511        a: *const BIGNUM,
5512        b: *const BIGNUM,
5513        m: *const BIGNUM,
5514    ) -> ::std::os::raw::c_int;
5515}
5516extern "C" {
5517    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_sub"]
5518    pub fn BN_mod_sub(
5519        r: *mut BIGNUM,
5520        a: *const BIGNUM,
5521        b: *const BIGNUM,
5522        m: *const BIGNUM,
5523        ctx: *mut BN_CTX,
5524    ) -> ::std::os::raw::c_int;
5525}
5526extern "C" {
5527    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_sub_quick"]
5528    pub fn BN_mod_sub_quick(
5529        r: *mut BIGNUM,
5530        a: *const BIGNUM,
5531        b: *const BIGNUM,
5532        m: *const BIGNUM,
5533    ) -> ::std::os::raw::c_int;
5534}
5535extern "C" {
5536    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_mul"]
5537    pub fn BN_mod_mul(
5538        r: *mut BIGNUM,
5539        a: *const BIGNUM,
5540        b: *const BIGNUM,
5541        m: *const BIGNUM,
5542        ctx: *mut BN_CTX,
5543    ) -> ::std::os::raw::c_int;
5544}
5545extern "C" {
5546    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_sqr"]
5547    pub fn BN_mod_sqr(
5548        r: *mut BIGNUM,
5549        a: *const BIGNUM,
5550        m: *const BIGNUM,
5551        ctx: *mut BN_CTX,
5552    ) -> ::std::os::raw::c_int;
5553}
5554extern "C" {
5555    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_lshift"]
5556    pub fn BN_mod_lshift(
5557        r: *mut BIGNUM,
5558        a: *const BIGNUM,
5559        n: ::std::os::raw::c_int,
5560        m: *const BIGNUM,
5561        ctx: *mut BN_CTX,
5562    ) -> ::std::os::raw::c_int;
5563}
5564extern "C" {
5565    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_lshift_quick"]
5566    pub fn BN_mod_lshift_quick(
5567        r: *mut BIGNUM,
5568        a: *const BIGNUM,
5569        n: ::std::os::raw::c_int,
5570        m: *const BIGNUM,
5571    ) -> ::std::os::raw::c_int;
5572}
5573extern "C" {
5574    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_lshift1"]
5575    pub fn BN_mod_lshift1(
5576        r: *mut BIGNUM,
5577        a: *const BIGNUM,
5578        m: *const BIGNUM,
5579        ctx: *mut BN_CTX,
5580    ) -> ::std::os::raw::c_int;
5581}
5582extern "C" {
5583    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_lshift1_quick"]
5584    pub fn BN_mod_lshift1_quick(
5585        r: *mut BIGNUM,
5586        a: *const BIGNUM,
5587        m: *const BIGNUM,
5588    ) -> ::std::os::raw::c_int;
5589}
5590extern "C" {
5591    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_sqrt"]
5592    pub fn BN_mod_sqrt(
5593        in_: *mut BIGNUM,
5594        a: *const BIGNUM,
5595        p: *const BIGNUM,
5596        ctx: *mut BN_CTX,
5597    ) -> *mut BIGNUM;
5598}
5599extern "C" {
5600    #[link_name = "\u{1}aws_lc_0_34_0_BN_rand"]
5601    pub fn BN_rand(
5602        rnd: *mut BIGNUM,
5603        bits: ::std::os::raw::c_int,
5604        top: ::std::os::raw::c_int,
5605        bottom: ::std::os::raw::c_int,
5606    ) -> ::std::os::raw::c_int;
5607}
5608extern "C" {
5609    #[link_name = "\u{1}aws_lc_0_34_0_BN_pseudo_rand"]
5610    pub fn BN_pseudo_rand(
5611        rnd: *mut BIGNUM,
5612        bits: ::std::os::raw::c_int,
5613        top: ::std::os::raw::c_int,
5614        bottom: ::std::os::raw::c_int,
5615    ) -> ::std::os::raw::c_int;
5616}
5617extern "C" {
5618    #[link_name = "\u{1}aws_lc_0_34_0_BN_rand_range"]
5619    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5620}
5621extern "C" {
5622    #[link_name = "\u{1}aws_lc_0_34_0_BN_rand_range_ex"]
5623    pub fn BN_rand_range_ex(
5624        r: *mut BIGNUM,
5625        min_inclusive: BN_ULONG,
5626        max_exclusive: *const BIGNUM,
5627    ) -> ::std::os::raw::c_int;
5628}
5629extern "C" {
5630    #[link_name = "\u{1}aws_lc_0_34_0_BN_pseudo_rand_range"]
5631    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5632}
5633#[repr(C)]
5634#[derive(Copy, Clone)]
5635pub struct bn_gencb_st {
5636    pub type_: u8,
5637    pub arg: *mut ::std::os::raw::c_void,
5638    pub callback: bn_gencb_st__bindgen_ty_1,
5639}
5640#[repr(C)]
5641#[derive(Copy, Clone)]
5642pub union bn_gencb_st__bindgen_ty_1 {
5643    pub new_style: ::std::option::Option<
5644        unsafe extern "C" fn(
5645            event: ::std::os::raw::c_int,
5646            n: ::std::os::raw::c_int,
5647            arg1: *mut bn_gencb_st,
5648        ) -> ::std::os::raw::c_int,
5649    >,
5650    pub old_style: ::std::option::Option<
5651        unsafe extern "C" fn(
5652            arg1: ::std::os::raw::c_int,
5653            arg2: ::std::os::raw::c_int,
5654            arg3: *mut ::std::os::raw::c_void,
5655        ),
5656    >,
5657}
5658#[test]
5659fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5660    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5661        ::std::mem::MaybeUninit::uninit();
5662    let ptr = UNINIT.as_ptr();
5663    assert_eq!(
5664        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5665        8usize,
5666        "Size of bn_gencb_st__bindgen_ty_1"
5667    );
5668    assert_eq!(
5669        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5670        8usize,
5671        "Alignment of bn_gencb_st__bindgen_ty_1"
5672    );
5673    assert_eq!(
5674        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5675        0usize,
5676        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5677    );
5678    assert_eq!(
5679        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5680        0usize,
5681        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5682    );
5683}
5684impl Default for bn_gencb_st__bindgen_ty_1 {
5685    fn default() -> Self {
5686        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5687        unsafe {
5688            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5689            s.assume_init()
5690        }
5691    }
5692}
5693#[test]
5694fn bindgen_test_layout_bn_gencb_st() {
5695    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5696    let ptr = UNINIT.as_ptr();
5697    assert_eq!(
5698        ::std::mem::size_of::<bn_gencb_st>(),
5699        24usize,
5700        "Size of bn_gencb_st"
5701    );
5702    assert_eq!(
5703        ::std::mem::align_of::<bn_gencb_st>(),
5704        8usize,
5705        "Alignment of bn_gencb_st"
5706    );
5707    assert_eq!(
5708        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5709        0usize,
5710        "Offset of field: bn_gencb_st::type_"
5711    );
5712    assert_eq!(
5713        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5714        8usize,
5715        "Offset of field: bn_gencb_st::arg"
5716    );
5717    assert_eq!(
5718        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5719        16usize,
5720        "Offset of field: bn_gencb_st::callback"
5721    );
5722}
5723impl Default for bn_gencb_st {
5724    fn default() -> Self {
5725        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5726        unsafe {
5727            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5728            s.assume_init()
5729        }
5730    }
5731}
5732extern "C" {
5733    #[link_name = "\u{1}aws_lc_0_34_0_BN_GENCB_new"]
5734    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5735}
5736extern "C" {
5737    #[link_name = "\u{1}aws_lc_0_34_0_BN_GENCB_free"]
5738    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5739}
5740extern "C" {
5741    #[link_name = "\u{1}aws_lc_0_34_0_BN_GENCB_set"]
5742    pub fn BN_GENCB_set(
5743        callback: *mut BN_GENCB,
5744        f: ::std::option::Option<
5745            unsafe extern "C" fn(
5746                event: ::std::os::raw::c_int,
5747                n: ::std::os::raw::c_int,
5748                arg1: *mut BN_GENCB,
5749            ) -> ::std::os::raw::c_int,
5750        >,
5751        arg: *mut ::std::os::raw::c_void,
5752    );
5753}
5754extern "C" {
5755    #[link_name = "\u{1}aws_lc_0_34_0_BN_GENCB_call"]
5756    pub fn BN_GENCB_call(
5757        callback: *mut BN_GENCB,
5758        event: ::std::os::raw::c_int,
5759        n: ::std::os::raw::c_int,
5760    ) -> ::std::os::raw::c_int;
5761}
5762extern "C" {
5763    #[link_name = "\u{1}aws_lc_0_34_0_BN_GENCB_get_arg"]
5764    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5765}
5766extern "C" {
5767    #[link_name = "\u{1}aws_lc_0_34_0_BN_generate_prime_ex"]
5768    pub fn BN_generate_prime_ex(
5769        ret: *mut BIGNUM,
5770        bits: ::std::os::raw::c_int,
5771        safe: ::std::os::raw::c_int,
5772        add: *const BIGNUM,
5773        rem: *const BIGNUM,
5774        cb: *mut BN_GENCB,
5775    ) -> ::std::os::raw::c_int;
5776}
5777pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5778pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5779pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5780pub type bn_primality_result_t = ::std::os::raw::c_uint;
5781extern "C" {
5782    #[link_name = "\u{1}aws_lc_0_34_0_BN_enhanced_miller_rabin_primality_test"]
5783    pub fn BN_enhanced_miller_rabin_primality_test(
5784        out_result: *mut bn_primality_result_t,
5785        w: *const BIGNUM,
5786        checks: ::std::os::raw::c_int,
5787        ctx: *mut BN_CTX,
5788        cb: *mut BN_GENCB,
5789    ) -> ::std::os::raw::c_int;
5790}
5791extern "C" {
5792    #[link_name = "\u{1}aws_lc_0_34_0_BN_primality_test"]
5793    pub fn BN_primality_test(
5794        is_probably_prime: *mut ::std::os::raw::c_int,
5795        candidate: *const BIGNUM,
5796        checks: ::std::os::raw::c_int,
5797        ctx: *mut BN_CTX,
5798        do_trial_division: ::std::os::raw::c_int,
5799        cb: *mut BN_GENCB,
5800    ) -> ::std::os::raw::c_int;
5801}
5802extern "C" {
5803    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_prime_fasttest_ex"]
5804    pub fn BN_is_prime_fasttest_ex(
5805        candidate: *const BIGNUM,
5806        checks: ::std::os::raw::c_int,
5807        ctx: *mut BN_CTX,
5808        do_trial_division: ::std::os::raw::c_int,
5809        cb: *mut BN_GENCB,
5810    ) -> ::std::os::raw::c_int;
5811}
5812extern "C" {
5813    #[link_name = "\u{1}aws_lc_0_34_0_BN_is_prime_ex"]
5814    pub fn BN_is_prime_ex(
5815        candidate: *const BIGNUM,
5816        checks: ::std::os::raw::c_int,
5817        ctx: *mut BN_CTX,
5818        cb: *mut BN_GENCB,
5819    ) -> ::std::os::raw::c_int;
5820}
5821extern "C" {
5822    #[link_name = "\u{1}aws_lc_0_34_0_BN_gcd"]
5823    pub fn BN_gcd(
5824        r: *mut BIGNUM,
5825        a: *const BIGNUM,
5826        b: *const BIGNUM,
5827        ctx: *mut BN_CTX,
5828    ) -> ::std::os::raw::c_int;
5829}
5830extern "C" {
5831    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_inverse"]
5832    pub fn BN_mod_inverse(
5833        out: *mut BIGNUM,
5834        a: *const BIGNUM,
5835        n: *const BIGNUM,
5836        ctx: *mut BN_CTX,
5837    ) -> *mut BIGNUM;
5838}
5839extern "C" {
5840    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_inverse_blinded"]
5841    pub fn BN_mod_inverse_blinded(
5842        out: *mut BIGNUM,
5843        out_no_inverse: *mut ::std::os::raw::c_int,
5844        a: *const BIGNUM,
5845        mont: *const BN_MONT_CTX,
5846        ctx: *mut BN_CTX,
5847    ) -> ::std::os::raw::c_int;
5848}
5849extern "C" {
5850    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_inverse_odd"]
5851    pub fn BN_mod_inverse_odd(
5852        out: *mut BIGNUM,
5853        out_no_inverse: *mut ::std::os::raw::c_int,
5854        a: *const BIGNUM,
5855        n: *const BIGNUM,
5856        ctx: *mut BN_CTX,
5857    ) -> ::std::os::raw::c_int;
5858}
5859extern "C" {
5860    #[link_name = "\u{1}aws_lc_0_34_0_BN_MONT_CTX_new_for_modulus"]
5861    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5862}
5863extern "C" {
5864    #[link_name = "\u{1}aws_lc_0_34_0_BN_MONT_CTX_new_consttime"]
5865    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5866}
5867extern "C" {
5868    #[link_name = "\u{1}aws_lc_0_34_0_BN_MONT_CTX_free"]
5869    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
5870}
5871extern "C" {
5872    #[link_name = "\u{1}aws_lc_0_34_0_BN_MONT_CTX_copy"]
5873    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
5874}
5875extern "C" {
5876    #[link_name = "\u{1}aws_lc_0_34_0_BN_to_montgomery"]
5877    pub fn BN_to_montgomery(
5878        ret: *mut BIGNUM,
5879        a: *const BIGNUM,
5880        mont: *const BN_MONT_CTX,
5881        ctx: *mut BN_CTX,
5882    ) -> ::std::os::raw::c_int;
5883}
5884extern "C" {
5885    #[link_name = "\u{1}aws_lc_0_34_0_BN_from_montgomery"]
5886    pub fn BN_from_montgomery(
5887        ret: *mut BIGNUM,
5888        a: *const BIGNUM,
5889        mont: *const BN_MONT_CTX,
5890        ctx: *mut BN_CTX,
5891    ) -> ::std::os::raw::c_int;
5892}
5893extern "C" {
5894    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_mul_montgomery"]
5895    pub fn BN_mod_mul_montgomery(
5896        r: *mut BIGNUM,
5897        a: *const BIGNUM,
5898        b: *const BIGNUM,
5899        mont: *const BN_MONT_CTX,
5900        ctx: *mut BN_CTX,
5901    ) -> ::std::os::raw::c_int;
5902}
5903extern "C" {
5904    #[link_name = "\u{1}aws_lc_0_34_0_BN_exp"]
5905    pub fn BN_exp(
5906        r: *mut BIGNUM,
5907        a: *const BIGNUM,
5908        p: *const BIGNUM,
5909        ctx: *mut BN_CTX,
5910    ) -> ::std::os::raw::c_int;
5911}
5912extern "C" {
5913    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_exp"]
5914    pub fn BN_mod_exp(
5915        r: *mut BIGNUM,
5916        a: *const BIGNUM,
5917        p: *const BIGNUM,
5918        m: *const BIGNUM,
5919        ctx: *mut BN_CTX,
5920    ) -> ::std::os::raw::c_int;
5921}
5922extern "C" {
5923    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_exp_mont"]
5924    pub fn BN_mod_exp_mont(
5925        r: *mut BIGNUM,
5926        a: *const BIGNUM,
5927        p: *const BIGNUM,
5928        m: *const BIGNUM,
5929        ctx: *mut BN_CTX,
5930        mont: *const BN_MONT_CTX,
5931    ) -> ::std::os::raw::c_int;
5932}
5933extern "C" {
5934    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_exp_mont_consttime"]
5935    pub fn BN_mod_exp_mont_consttime(
5936        rr: *mut BIGNUM,
5937        a: *const BIGNUM,
5938        p: *const BIGNUM,
5939        m: *const BIGNUM,
5940        ctx: *mut BN_CTX,
5941        mont: *const BN_MONT_CTX,
5942    ) -> ::std::os::raw::c_int;
5943}
5944extern "C" {
5945    #[link_name = "\u{1}aws_lc_0_34_0_BN_GENCB_set_old"]
5946    pub fn BN_GENCB_set_old(
5947        callback: *mut BN_GENCB,
5948        f: ::std::option::Option<
5949            unsafe extern "C" fn(
5950                arg1: ::std::os::raw::c_int,
5951                arg2: ::std::os::raw::c_int,
5952                arg3: *mut ::std::os::raw::c_void,
5953            ),
5954        >,
5955        cb_arg: *mut ::std::os::raw::c_void,
5956    );
5957}
5958extern "C" {
5959    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2mpi"]
5960    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
5961}
5962extern "C" {
5963    #[link_name = "\u{1}aws_lc_0_34_0_BN_mpi2bn"]
5964    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
5965}
5966extern "C" {
5967    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_exp_mont_word"]
5968    pub fn BN_mod_exp_mont_word(
5969        r: *mut BIGNUM,
5970        a: BN_ULONG,
5971        p: *const BIGNUM,
5972        m: *const BIGNUM,
5973        ctx: *mut BN_CTX,
5974        mont: *const BN_MONT_CTX,
5975    ) -> ::std::os::raw::c_int;
5976}
5977extern "C" {
5978    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_exp2_mont"]
5979    pub fn BN_mod_exp2_mont(
5980        r: *mut BIGNUM,
5981        a1: *const BIGNUM,
5982        p1: *const BIGNUM,
5983        a2: *const BIGNUM,
5984        p2: *const BIGNUM,
5985        m: *const BIGNUM,
5986        ctx: *mut BN_CTX,
5987        mont: *const BN_MONT_CTX,
5988    ) -> ::std::os::raw::c_int;
5989}
5990extern "C" {
5991    #[link_name = "\u{1}aws_lc_0_34_0_BN_MONT_CTX_new"]
5992    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
5993}
5994extern "C" {
5995    #[link_name = "\u{1}aws_lc_0_34_0_BN_MONT_CTX_set"]
5996    pub fn BN_MONT_CTX_set(
5997        mont: *mut BN_MONT_CTX,
5998        mod_: *const BIGNUM,
5999        ctx: *mut BN_CTX,
6000    ) -> ::std::os::raw::c_int;
6001}
6002extern "C" {
6003    #[link_name = "\u{1}aws_lc_0_34_0_BN_bn2binpad"]
6004    pub fn BN_bn2binpad(
6005        in_: *const BIGNUM,
6006        out: *mut u8,
6007        len: ::std::os::raw::c_int,
6008    ) -> ::std::os::raw::c_int;
6009}
6010extern "C" {
6011    #[link_name = "\u{1}aws_lc_0_34_0_BN_secure_new"]
6012    pub fn BN_secure_new() -> *mut BIGNUM;
6013}
6014extern "C" {
6015    #[link_name = "\u{1}aws_lc_0_34_0_BN_CTX_secure_new"]
6016    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6017}
6018extern "C" {
6019    #[link_name = "\u{1}aws_lc_0_34_0_BN_mod_exp_mont_consttime_x2"]
6020    pub fn BN_mod_exp_mont_consttime_x2(
6021        rr1: *mut BIGNUM,
6022        a1: *const BIGNUM,
6023        p1: *const BIGNUM,
6024        m1: *const BIGNUM,
6025        in_mont1: *const BN_MONT_CTX,
6026        rr2: *mut BIGNUM,
6027        a2: *const BIGNUM,
6028        p2: *const BIGNUM,
6029        m2: *const BIGNUM,
6030        in_mont2: *const BN_MONT_CTX,
6031        ctx: *mut BN_CTX,
6032    ) -> ::std::os::raw::c_int;
6033}
6034extern "C" {
6035    #[link_name = "\u{1}aws_lc_0_34_0_BN_set_flags"]
6036    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6037}
6038#[repr(C)]
6039#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6040pub struct bignum_st {
6041    pub d: *mut BN_ULONG,
6042    pub width: ::std::os::raw::c_int,
6043    pub dmax: ::std::os::raw::c_int,
6044    pub neg: ::std::os::raw::c_int,
6045    pub flags: ::std::os::raw::c_int,
6046}
6047#[test]
6048fn bindgen_test_layout_bignum_st() {
6049    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6050    let ptr = UNINIT.as_ptr();
6051    assert_eq!(
6052        ::std::mem::size_of::<bignum_st>(),
6053        24usize,
6054        "Size of bignum_st"
6055    );
6056    assert_eq!(
6057        ::std::mem::align_of::<bignum_st>(),
6058        8usize,
6059        "Alignment of bignum_st"
6060    );
6061    assert_eq!(
6062        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6063        0usize,
6064        "Offset of field: bignum_st::d"
6065    );
6066    assert_eq!(
6067        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6068        8usize,
6069        "Offset of field: bignum_st::width"
6070    );
6071    assert_eq!(
6072        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6073        12usize,
6074        "Offset of field: bignum_st::dmax"
6075    );
6076    assert_eq!(
6077        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6078        16usize,
6079        "Offset of field: bignum_st::neg"
6080    );
6081    assert_eq!(
6082        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6083        20usize,
6084        "Offset of field: bignum_st::flags"
6085    );
6086}
6087impl Default for bignum_st {
6088    fn default() -> Self {
6089        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6090        unsafe {
6091            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6092            s.assume_init()
6093        }
6094    }
6095}
6096#[repr(C)]
6097#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6098pub struct bn_mont_ctx_st {
6099    pub RR: BIGNUM,
6100    pub N: BIGNUM,
6101    pub n0: [BN_ULONG; 2usize],
6102}
6103#[test]
6104fn bindgen_test_layout_bn_mont_ctx_st() {
6105    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6106    let ptr = UNINIT.as_ptr();
6107    assert_eq!(
6108        ::std::mem::size_of::<bn_mont_ctx_st>(),
6109        64usize,
6110        "Size of bn_mont_ctx_st"
6111    );
6112    assert_eq!(
6113        ::std::mem::align_of::<bn_mont_ctx_st>(),
6114        8usize,
6115        "Alignment of bn_mont_ctx_st"
6116    );
6117    assert_eq!(
6118        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6119        0usize,
6120        "Offset of field: bn_mont_ctx_st::RR"
6121    );
6122    assert_eq!(
6123        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6124        24usize,
6125        "Offset of field: bn_mont_ctx_st::N"
6126    );
6127    assert_eq!(
6128        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6129        48usize,
6130        "Offset of field: bn_mont_ctx_st::n0"
6131    );
6132}
6133impl Default for bn_mont_ctx_st {
6134    fn default() -> Self {
6135        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6136        unsafe {
6137            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6138            s.assume_init()
6139        }
6140    }
6141}
6142extern "C" {
6143    #[link_name = "\u{1}aws_lc_0_34_0_BN_num_bits_word"]
6144    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6145}
6146#[repr(C)]
6147#[derive(Debug, Copy, Clone)]
6148pub struct ASN1_VALUE_st {
6149    _unused: [u8; 0],
6150}
6151pub type ASN1_VALUE = ASN1_VALUE_st;
6152#[repr(C)]
6153#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6154pub struct asn1_string_st {
6155    pub length: ::std::os::raw::c_int,
6156    pub type_: ::std::os::raw::c_int,
6157    pub data: *mut ::std::os::raw::c_uchar,
6158    pub flags: ::std::os::raw::c_long,
6159}
6160#[test]
6161fn bindgen_test_layout_asn1_string_st() {
6162    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6163    let ptr = UNINIT.as_ptr();
6164    assert_eq!(
6165        ::std::mem::size_of::<asn1_string_st>(),
6166        24usize,
6167        "Size of asn1_string_st"
6168    );
6169    assert_eq!(
6170        ::std::mem::align_of::<asn1_string_st>(),
6171        8usize,
6172        "Alignment of asn1_string_st"
6173    );
6174    assert_eq!(
6175        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6176        0usize,
6177        "Offset of field: asn1_string_st::length"
6178    );
6179    assert_eq!(
6180        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6181        4usize,
6182        "Offset of field: asn1_string_st::type_"
6183    );
6184    assert_eq!(
6185        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6186        8usize,
6187        "Offset of field: asn1_string_st::data"
6188    );
6189    assert_eq!(
6190        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6191        16usize,
6192        "Offset of field: asn1_string_st::flags"
6193    );
6194}
6195impl Default for asn1_string_st {
6196    fn default() -> Self {
6197        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6198        unsafe {
6199            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6200            s.assume_init()
6201        }
6202    }
6203}
6204#[repr(C)]
6205#[derive(Copy, Clone)]
6206pub struct asn1_type_st {
6207    pub type_: ::std::os::raw::c_int,
6208    pub value: asn1_type_st__bindgen_ty_1,
6209}
6210#[repr(C)]
6211#[derive(Copy, Clone)]
6212pub union asn1_type_st__bindgen_ty_1 {
6213    pub ptr: *mut ::std::os::raw::c_char,
6214    pub boolean: ASN1_BOOLEAN,
6215    pub asn1_string: *mut ASN1_STRING,
6216    pub object: *mut ASN1_OBJECT,
6217    pub integer: *mut ASN1_INTEGER,
6218    pub enumerated: *mut ASN1_ENUMERATED,
6219    pub bit_string: *mut ASN1_BIT_STRING,
6220    pub octet_string: *mut ASN1_OCTET_STRING,
6221    pub printablestring: *mut ASN1_PRINTABLESTRING,
6222    pub t61string: *mut ASN1_T61STRING,
6223    pub ia5string: *mut ASN1_IA5STRING,
6224    pub generalstring: *mut ASN1_GENERALSTRING,
6225    pub bmpstring: *mut ASN1_BMPSTRING,
6226    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6227    pub utctime: *mut ASN1_UTCTIME,
6228    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6229    pub visiblestring: *mut ASN1_VISIBLESTRING,
6230    pub utf8string: *mut ASN1_UTF8STRING,
6231    pub set: *mut ASN1_STRING,
6232    pub sequence: *mut ASN1_STRING,
6233    pub asn1_value: *mut ASN1_VALUE,
6234}
6235#[test]
6236fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6237    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6238        ::std::mem::MaybeUninit::uninit();
6239    let ptr = UNINIT.as_ptr();
6240    assert_eq!(
6241        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6242        8usize,
6243        "Size of asn1_type_st__bindgen_ty_1"
6244    );
6245    assert_eq!(
6246        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6247        8usize,
6248        "Alignment of asn1_type_st__bindgen_ty_1"
6249    );
6250    assert_eq!(
6251        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6252        0usize,
6253        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6254    );
6255    assert_eq!(
6256        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6257        0usize,
6258        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6259    );
6260    assert_eq!(
6261        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6262        0usize,
6263        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6264    );
6265    assert_eq!(
6266        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6267        0usize,
6268        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6269    );
6270    assert_eq!(
6271        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6272        0usize,
6273        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6274    );
6275    assert_eq!(
6276        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6277        0usize,
6278        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6279    );
6280    assert_eq!(
6281        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6282        0usize,
6283        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6284    );
6285    assert_eq!(
6286        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6287        0usize,
6288        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6289    );
6290    assert_eq!(
6291        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6292        0usize,
6293        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6294    );
6295    assert_eq!(
6296        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6297        0usize,
6298        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6299    );
6300    assert_eq!(
6301        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6302        0usize,
6303        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6304    );
6305    assert_eq!(
6306        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6307        0usize,
6308        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6309    );
6310    assert_eq!(
6311        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6312        0usize,
6313        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6314    );
6315    assert_eq!(
6316        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6317        0usize,
6318        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6319    );
6320    assert_eq!(
6321        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6322        0usize,
6323        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6324    );
6325    assert_eq!(
6326        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6327        0usize,
6328        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6329    );
6330    assert_eq!(
6331        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6332        0usize,
6333        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6334    );
6335    assert_eq!(
6336        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6337        0usize,
6338        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6339    );
6340    assert_eq!(
6341        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6342        0usize,
6343        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6344    );
6345    assert_eq!(
6346        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6347        0usize,
6348        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6349    );
6350    assert_eq!(
6351        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6352        0usize,
6353        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6354    );
6355}
6356impl Default for asn1_type_st__bindgen_ty_1 {
6357    fn default() -> Self {
6358        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6359        unsafe {
6360            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6361            s.assume_init()
6362        }
6363    }
6364}
6365#[test]
6366fn bindgen_test_layout_asn1_type_st() {
6367    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6368    let ptr = UNINIT.as_ptr();
6369    assert_eq!(
6370        ::std::mem::size_of::<asn1_type_st>(),
6371        16usize,
6372        "Size of asn1_type_st"
6373    );
6374    assert_eq!(
6375        ::std::mem::align_of::<asn1_type_st>(),
6376        8usize,
6377        "Alignment of asn1_type_st"
6378    );
6379    assert_eq!(
6380        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6381        0usize,
6382        "Offset of field: asn1_type_st::type_"
6383    );
6384    assert_eq!(
6385        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6386        8usize,
6387        "Offset of field: asn1_type_st::value"
6388    );
6389}
6390impl Default for asn1_type_st {
6391    fn default() -> Self {
6392        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6393        unsafe {
6394            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6395            s.assume_init()
6396        }
6397    }
6398}
6399pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6400#[repr(C)]
6401#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6402pub struct ASN1_TEMPLATE_st {
6403    pub flags: u32,
6404    pub tag: ::std::os::raw::c_int,
6405    pub offset: ::std::os::raw::c_ulong,
6406    pub field_name: *const ::std::os::raw::c_char,
6407    pub item: *const ASN1_ITEM_st,
6408}
6409#[test]
6410fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6411    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6412    let ptr = UNINIT.as_ptr();
6413    assert_eq!(
6414        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6415        32usize,
6416        "Size of ASN1_TEMPLATE_st"
6417    );
6418    assert_eq!(
6419        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6420        8usize,
6421        "Alignment of ASN1_TEMPLATE_st"
6422    );
6423    assert_eq!(
6424        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6425        0usize,
6426        "Offset of field: ASN1_TEMPLATE_st::flags"
6427    );
6428    assert_eq!(
6429        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6430        4usize,
6431        "Offset of field: ASN1_TEMPLATE_st::tag"
6432    );
6433    assert_eq!(
6434        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6435        8usize,
6436        "Offset of field: ASN1_TEMPLATE_st::offset"
6437    );
6438    assert_eq!(
6439        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6440        16usize,
6441        "Offset of field: ASN1_TEMPLATE_st::field_name"
6442    );
6443    assert_eq!(
6444        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6445        24usize,
6446        "Offset of field: ASN1_TEMPLATE_st::item"
6447    );
6448}
6449impl Default for ASN1_TEMPLATE_st {
6450    fn default() -> Self {
6451        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6452        unsafe {
6453            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6454            s.assume_init()
6455        }
6456    }
6457}
6458#[repr(C)]
6459#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6460pub struct ASN1_ITEM_st {
6461    pub itype: ::std::os::raw::c_char,
6462    pub utype: ::std::os::raw::c_int,
6463    pub templates: *const ASN1_TEMPLATE,
6464    pub tcount: ::std::os::raw::c_long,
6465    pub funcs: *const ::std::os::raw::c_void,
6466    pub size: ::std::os::raw::c_long,
6467    pub sname: *const ::std::os::raw::c_char,
6468}
6469#[test]
6470fn bindgen_test_layout_ASN1_ITEM_st() {
6471    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6472    let ptr = UNINIT.as_ptr();
6473    assert_eq!(
6474        ::std::mem::size_of::<ASN1_ITEM_st>(),
6475        48usize,
6476        "Size of ASN1_ITEM_st"
6477    );
6478    assert_eq!(
6479        ::std::mem::align_of::<ASN1_ITEM_st>(),
6480        8usize,
6481        "Alignment of ASN1_ITEM_st"
6482    );
6483    assert_eq!(
6484        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6485        0usize,
6486        "Offset of field: ASN1_ITEM_st::itype"
6487    );
6488    assert_eq!(
6489        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6490        4usize,
6491        "Offset of field: ASN1_ITEM_st::utype"
6492    );
6493    assert_eq!(
6494        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6495        8usize,
6496        "Offset of field: ASN1_ITEM_st::templates"
6497    );
6498    assert_eq!(
6499        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6500        16usize,
6501        "Offset of field: ASN1_ITEM_st::tcount"
6502    );
6503    assert_eq!(
6504        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6505        24usize,
6506        "Offset of field: ASN1_ITEM_st::funcs"
6507    );
6508    assert_eq!(
6509        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6510        32usize,
6511        "Offset of field: ASN1_ITEM_st::size"
6512    );
6513    assert_eq!(
6514        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6515        40usize,
6516        "Offset of field: ASN1_ITEM_st::sname"
6517    );
6518}
6519impl Default for ASN1_ITEM_st {
6520    fn default() -> Self {
6521        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6522        unsafe {
6523            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6524            s.assume_init()
6525        }
6526    }
6527}
6528#[repr(C)]
6529#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6530pub struct evp_encode_ctx_st {
6531    pub data_used: ::std::os::raw::c_uint,
6532    pub data: [u8; 48usize],
6533    pub eof_seen: ::std::os::raw::c_char,
6534    pub error_encountered: ::std::os::raw::c_char,
6535}
6536#[test]
6537fn bindgen_test_layout_evp_encode_ctx_st() {
6538    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6539    let ptr = UNINIT.as_ptr();
6540    assert_eq!(
6541        ::std::mem::size_of::<evp_encode_ctx_st>(),
6542        56usize,
6543        "Size of evp_encode_ctx_st"
6544    );
6545    assert_eq!(
6546        ::std::mem::align_of::<evp_encode_ctx_st>(),
6547        4usize,
6548        "Alignment of evp_encode_ctx_st"
6549    );
6550    assert_eq!(
6551        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6552        0usize,
6553        "Offset of field: evp_encode_ctx_st::data_used"
6554    );
6555    assert_eq!(
6556        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6557        4usize,
6558        "Offset of field: evp_encode_ctx_st::data"
6559    );
6560    assert_eq!(
6561        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6562        52usize,
6563        "Offset of field: evp_encode_ctx_st::eof_seen"
6564    );
6565    assert_eq!(
6566        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6567        53usize,
6568        "Offset of field: evp_encode_ctx_st::error_encountered"
6569    );
6570}
6571impl Default for evp_encode_ctx_st {
6572    fn default() -> Self {
6573        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6574        unsafe {
6575            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6576            s.assume_init()
6577        }
6578    }
6579}
6580#[repr(C)]
6581#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6582pub struct blake2b_state_st {
6583    pub h: [u64; 8usize],
6584    pub t_low: u64,
6585    pub t_high: u64,
6586    pub block: [u8; 128usize],
6587    pub block_used: usize,
6588}
6589#[test]
6590fn bindgen_test_layout_blake2b_state_st() {
6591    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6592    let ptr = UNINIT.as_ptr();
6593    assert_eq!(
6594        ::std::mem::size_of::<blake2b_state_st>(),
6595        216usize,
6596        "Size of blake2b_state_st"
6597    );
6598    assert_eq!(
6599        ::std::mem::align_of::<blake2b_state_st>(),
6600        8usize,
6601        "Alignment of blake2b_state_st"
6602    );
6603    assert_eq!(
6604        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6605        0usize,
6606        "Offset of field: blake2b_state_st::h"
6607    );
6608    assert_eq!(
6609        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6610        64usize,
6611        "Offset of field: blake2b_state_st::t_low"
6612    );
6613    assert_eq!(
6614        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6615        72usize,
6616        "Offset of field: blake2b_state_st::t_high"
6617    );
6618    assert_eq!(
6619        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6620        80usize,
6621        "Offset of field: blake2b_state_st::block"
6622    );
6623    assert_eq!(
6624        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6625        208usize,
6626        "Offset of field: blake2b_state_st::block_used"
6627    );
6628}
6629impl Default for blake2b_state_st {
6630    fn default() -> Self {
6631        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6632        unsafe {
6633            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6634            s.assume_init()
6635        }
6636    }
6637}
6638#[repr(C)]
6639#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6640pub struct cbs_st {
6641    pub data: *const u8,
6642    pub len: usize,
6643}
6644#[test]
6645fn bindgen_test_layout_cbs_st() {
6646    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6647    let ptr = UNINIT.as_ptr();
6648    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6649    assert_eq!(
6650        ::std::mem::align_of::<cbs_st>(),
6651        8usize,
6652        "Alignment of cbs_st"
6653    );
6654    assert_eq!(
6655        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6656        0usize,
6657        "Offset of field: cbs_st::data"
6658    );
6659    assert_eq!(
6660        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6661        8usize,
6662        "Offset of field: cbs_st::len"
6663    );
6664}
6665impl Default for cbs_st {
6666    fn default() -> Self {
6667        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6668        unsafe {
6669            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6670            s.assume_init()
6671        }
6672    }
6673}
6674extern "C" {
6675    #[link_name = "\u{1}aws_lc_0_34_0_CBS_init"]
6676    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6677}
6678extern "C" {
6679    #[link_name = "\u{1}aws_lc_0_34_0_CBS_skip"]
6680    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6681}
6682extern "C" {
6683    #[link_name = "\u{1}aws_lc_0_34_0_CBS_data"]
6684    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6685}
6686extern "C" {
6687    #[link_name = "\u{1}aws_lc_0_34_0_CBS_len"]
6688    pub fn CBS_len(cbs: *const CBS) -> usize;
6689}
6690extern "C" {
6691    #[link_name = "\u{1}aws_lc_0_34_0_CBS_stow"]
6692    pub fn CBS_stow(
6693        cbs: *const CBS,
6694        out_ptr: *mut *mut u8,
6695        out_len: *mut usize,
6696    ) -> ::std::os::raw::c_int;
6697}
6698extern "C" {
6699    #[link_name = "\u{1}aws_lc_0_34_0_CBS_strdup"]
6700    pub fn CBS_strdup(
6701        cbs: *const CBS,
6702        out_ptr: *mut *mut ::std::os::raw::c_char,
6703    ) -> ::std::os::raw::c_int;
6704}
6705extern "C" {
6706    #[link_name = "\u{1}aws_lc_0_34_0_CBS_contains_zero_byte"]
6707    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6708}
6709extern "C" {
6710    #[link_name = "\u{1}aws_lc_0_34_0_CBS_mem_equal"]
6711    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6712}
6713extern "C" {
6714    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u8"]
6715    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6716}
6717extern "C" {
6718    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u16"]
6719    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6720}
6721extern "C" {
6722    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u16le"]
6723    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6724}
6725extern "C" {
6726    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u24"]
6727    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6728}
6729extern "C" {
6730    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u32"]
6731    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6732}
6733extern "C" {
6734    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u32le"]
6735    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6736}
6737extern "C" {
6738    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u64"]
6739    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6740}
6741extern "C" {
6742    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u64le"]
6743    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6744}
6745extern "C" {
6746    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_last_u8"]
6747    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6748}
6749extern "C" {
6750    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_bytes"]
6751    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6752}
6753extern "C" {
6754    #[link_name = "\u{1}aws_lc_0_34_0_CBS_copy_bytes"]
6755    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6756}
6757extern "C" {
6758    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u8_length_prefixed"]
6759    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6760}
6761extern "C" {
6762    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u16_length_prefixed"]
6763    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6764}
6765extern "C" {
6766    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u24_length_prefixed"]
6767    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6768}
6769extern "C" {
6770    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_until_first"]
6771    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6772}
6773extern "C" {
6774    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_u64_decimal"]
6775    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6776}
6777extern "C" {
6778    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_asn1"]
6779    pub fn CBS_get_asn1(
6780        cbs: *mut CBS,
6781        out: *mut CBS,
6782        tag_value: CBS_ASN1_TAG,
6783    ) -> ::std::os::raw::c_int;
6784}
6785extern "C" {
6786    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_asn1_element"]
6787    pub fn CBS_get_asn1_element(
6788        cbs: *mut CBS,
6789        out: *mut CBS,
6790        tag_value: CBS_ASN1_TAG,
6791    ) -> ::std::os::raw::c_int;
6792}
6793extern "C" {
6794    #[link_name = "\u{1}aws_lc_0_34_0_CBS_peek_asn1_tag"]
6795    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6796}
6797extern "C" {
6798    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_any_asn1"]
6799    pub fn CBS_get_any_asn1(
6800        cbs: *mut CBS,
6801        out: *mut CBS,
6802        out_tag: *mut CBS_ASN1_TAG,
6803    ) -> ::std::os::raw::c_int;
6804}
6805extern "C" {
6806    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_any_asn1_element"]
6807    pub fn CBS_get_any_asn1_element(
6808        cbs: *mut CBS,
6809        out: *mut CBS,
6810        out_tag: *mut CBS_ASN1_TAG,
6811        out_header_len: *mut usize,
6812    ) -> ::std::os::raw::c_int;
6813}
6814extern "C" {
6815    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_any_ber_asn1_element"]
6816    pub fn CBS_get_any_ber_asn1_element(
6817        cbs: *mut CBS,
6818        out: *mut CBS,
6819        out_tag: *mut CBS_ASN1_TAG,
6820        out_header_len: *mut usize,
6821        out_ber_found: *mut ::std::os::raw::c_int,
6822        out_indefinite: *mut ::std::os::raw::c_int,
6823    ) -> ::std::os::raw::c_int;
6824}
6825extern "C" {
6826    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_asn1_uint64"]
6827    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6828}
6829extern "C" {
6830    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_asn1_int64"]
6831    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
6832}
6833extern "C" {
6834    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_asn1_bool"]
6835    pub fn CBS_get_asn1_bool(
6836        cbs: *mut CBS,
6837        out: *mut ::std::os::raw::c_int,
6838    ) -> ::std::os::raw::c_int;
6839}
6840extern "C" {
6841    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_optional_asn1"]
6842    pub fn CBS_get_optional_asn1(
6843        cbs: *mut CBS,
6844        out: *mut CBS,
6845        out_present: *mut ::std::os::raw::c_int,
6846        tag: CBS_ASN1_TAG,
6847    ) -> ::std::os::raw::c_int;
6848}
6849extern "C" {
6850    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_optional_asn1_octet_string"]
6851    pub fn CBS_get_optional_asn1_octet_string(
6852        cbs: *mut CBS,
6853        out: *mut CBS,
6854        out_present: *mut ::std::os::raw::c_int,
6855        tag: CBS_ASN1_TAG,
6856    ) -> ::std::os::raw::c_int;
6857}
6858extern "C" {
6859    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_optional_asn1_uint64"]
6860    pub fn CBS_get_optional_asn1_uint64(
6861        cbs: *mut CBS,
6862        out: *mut u64,
6863        tag: CBS_ASN1_TAG,
6864        default_value: u64,
6865    ) -> ::std::os::raw::c_int;
6866}
6867extern "C" {
6868    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_optional_asn1_bool"]
6869    pub fn CBS_get_optional_asn1_bool(
6870        cbs: *mut CBS,
6871        out: *mut ::std::os::raw::c_int,
6872        tag: CBS_ASN1_TAG,
6873        default_value: ::std::os::raw::c_int,
6874    ) -> ::std::os::raw::c_int;
6875}
6876extern "C" {
6877    #[link_name = "\u{1}aws_lc_0_34_0_CBS_is_valid_asn1_bitstring"]
6878    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
6879}
6880extern "C" {
6881    #[link_name = "\u{1}aws_lc_0_34_0_CBS_asn1_bitstring_has_bit"]
6882    pub fn CBS_asn1_bitstring_has_bit(
6883        cbs: *const CBS,
6884        bit: ::std::os::raw::c_uint,
6885    ) -> ::std::os::raw::c_int;
6886}
6887extern "C" {
6888    #[link_name = "\u{1}aws_lc_0_34_0_CBS_is_valid_asn1_integer"]
6889    pub fn CBS_is_valid_asn1_integer(
6890        cbs: *const CBS,
6891        out_is_negative: *mut ::std::os::raw::c_int,
6892    ) -> ::std::os::raw::c_int;
6893}
6894extern "C" {
6895    #[link_name = "\u{1}aws_lc_0_34_0_CBS_is_unsigned_asn1_integer"]
6896    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
6897}
6898extern "C" {
6899    #[link_name = "\u{1}aws_lc_0_34_0_CBS_is_valid_asn1_oid"]
6900    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
6901}
6902extern "C" {
6903    #[link_name = "\u{1}aws_lc_0_34_0_CBS_asn1_oid_to_text"]
6904    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
6905}
6906extern "C" {
6907    #[link_name = "\u{1}aws_lc_0_34_0_CBS_get_optional_asn1_int64"]
6908    pub fn CBS_get_optional_asn1_int64(
6909        cbs: *mut CBS,
6910        out: *mut i64,
6911        tag: CBS_ASN1_TAG,
6912        default_value: i64,
6913    ) -> ::std::os::raw::c_int;
6914}
6915#[repr(C)]
6916#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6917pub struct cbb_buffer_st {
6918    pub buf: *mut u8,
6919    pub len: usize,
6920    pub cap: usize,
6921    pub _bitfield_align_1: [u8; 0],
6922    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6923    pub __bindgen_padding_0: [u8; 7usize],
6924}
6925#[test]
6926fn bindgen_test_layout_cbb_buffer_st() {
6927    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
6928    let ptr = UNINIT.as_ptr();
6929    assert_eq!(
6930        ::std::mem::size_of::<cbb_buffer_st>(),
6931        32usize,
6932        "Size of cbb_buffer_st"
6933    );
6934    assert_eq!(
6935        ::std::mem::align_of::<cbb_buffer_st>(),
6936        8usize,
6937        "Alignment of cbb_buffer_st"
6938    );
6939    assert_eq!(
6940        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
6941        0usize,
6942        "Offset of field: cbb_buffer_st::buf"
6943    );
6944    assert_eq!(
6945        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6946        8usize,
6947        "Offset of field: cbb_buffer_st::len"
6948    );
6949    assert_eq!(
6950        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
6951        16usize,
6952        "Offset of field: cbb_buffer_st::cap"
6953    );
6954}
6955impl Default for cbb_buffer_st {
6956    fn default() -> Self {
6957        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6958        unsafe {
6959            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6960            s.assume_init()
6961        }
6962    }
6963}
6964impl cbb_buffer_st {
6965    #[inline]
6966    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
6967        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6968    }
6969    #[inline]
6970    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
6971        unsafe {
6972            let val: u32 = ::std::mem::transmute(val);
6973            self._bitfield_1.set(0usize, 1u8, val as u64)
6974        }
6975    }
6976    #[inline]
6977    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
6978        unsafe {
6979            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6980                ::std::ptr::addr_of!((*this)._bitfield_1),
6981                0usize,
6982                1u8,
6983            ) as u32)
6984        }
6985    }
6986    #[inline]
6987    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
6988        unsafe {
6989            let val: u32 = ::std::mem::transmute(val);
6990            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6991                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6992                0usize,
6993                1u8,
6994                val as u64,
6995            )
6996        }
6997    }
6998    #[inline]
6999    pub fn error(&self) -> ::std::os::raw::c_uint {
7000        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7001    }
7002    #[inline]
7003    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7004        unsafe {
7005            let val: u32 = ::std::mem::transmute(val);
7006            self._bitfield_1.set(1usize, 1u8, val as u64)
7007        }
7008    }
7009    #[inline]
7010    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7011        unsafe {
7012            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7013                ::std::ptr::addr_of!((*this)._bitfield_1),
7014                1usize,
7015                1u8,
7016            ) as u32)
7017        }
7018    }
7019    #[inline]
7020    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7021        unsafe {
7022            let val: u32 = ::std::mem::transmute(val);
7023            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7024                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7025                1usize,
7026                1u8,
7027                val as u64,
7028            )
7029        }
7030    }
7031    #[inline]
7032    pub fn new_bitfield_1(
7033        can_resize: ::std::os::raw::c_uint,
7034        error: ::std::os::raw::c_uint,
7035    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7036        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7037        __bindgen_bitfield_unit.set(0usize, 1u8, {
7038            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7039            can_resize as u64
7040        });
7041        __bindgen_bitfield_unit.set(1usize, 1u8, {
7042            let error: u32 = unsafe { ::std::mem::transmute(error) };
7043            error as u64
7044        });
7045        __bindgen_bitfield_unit
7046    }
7047}
7048#[repr(C)]
7049#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7050pub struct cbb_child_st {
7051    pub base: *mut cbb_buffer_st,
7052    pub offset: usize,
7053    pub pending_len_len: u8,
7054    pub _bitfield_align_1: [u8; 0],
7055    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7056    pub __bindgen_padding_0: [u16; 3usize],
7057}
7058#[test]
7059fn bindgen_test_layout_cbb_child_st() {
7060    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7061    let ptr = UNINIT.as_ptr();
7062    assert_eq!(
7063        ::std::mem::size_of::<cbb_child_st>(),
7064        24usize,
7065        "Size of cbb_child_st"
7066    );
7067    assert_eq!(
7068        ::std::mem::align_of::<cbb_child_st>(),
7069        8usize,
7070        "Alignment of cbb_child_st"
7071    );
7072    assert_eq!(
7073        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7074        0usize,
7075        "Offset of field: cbb_child_st::base"
7076    );
7077    assert_eq!(
7078        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7079        8usize,
7080        "Offset of field: cbb_child_st::offset"
7081    );
7082    assert_eq!(
7083        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7084        16usize,
7085        "Offset of field: cbb_child_st::pending_len_len"
7086    );
7087}
7088impl Default for cbb_child_st {
7089    fn default() -> Self {
7090        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7091        unsafe {
7092            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7093            s.assume_init()
7094        }
7095    }
7096}
7097impl cbb_child_st {
7098    #[inline]
7099    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7100        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7101    }
7102    #[inline]
7103    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7104        unsafe {
7105            let val: u32 = ::std::mem::transmute(val);
7106            self._bitfield_1.set(0usize, 1u8, val as u64)
7107        }
7108    }
7109    #[inline]
7110    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7111        unsafe {
7112            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7113                ::std::ptr::addr_of!((*this)._bitfield_1),
7114                0usize,
7115                1u8,
7116            ) as u32)
7117        }
7118    }
7119    #[inline]
7120    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7121        unsafe {
7122            let val: u32 = ::std::mem::transmute(val);
7123            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7124                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7125                0usize,
7126                1u8,
7127                val as u64,
7128            )
7129        }
7130    }
7131    #[inline]
7132    pub fn new_bitfield_1(
7133        pending_is_asn1: ::std::os::raw::c_uint,
7134    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7135        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7136        __bindgen_bitfield_unit.set(0usize, 1u8, {
7137            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7138            pending_is_asn1 as u64
7139        });
7140        __bindgen_bitfield_unit
7141    }
7142}
7143#[repr(C)]
7144#[derive(Copy, Clone)]
7145pub struct cbb_st {
7146    pub child: *mut CBB,
7147    pub is_child: ::std::os::raw::c_char,
7148    pub u: cbb_st__bindgen_ty_1,
7149}
7150#[repr(C)]
7151#[derive(Copy, Clone)]
7152pub union cbb_st__bindgen_ty_1 {
7153    pub base: cbb_buffer_st,
7154    pub child: cbb_child_st,
7155}
7156#[test]
7157fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7158    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7159    let ptr = UNINIT.as_ptr();
7160    assert_eq!(
7161        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7162        32usize,
7163        "Size of cbb_st__bindgen_ty_1"
7164    );
7165    assert_eq!(
7166        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7167        8usize,
7168        "Alignment of cbb_st__bindgen_ty_1"
7169    );
7170    assert_eq!(
7171        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7172        0usize,
7173        "Offset of field: cbb_st__bindgen_ty_1::base"
7174    );
7175    assert_eq!(
7176        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7177        0usize,
7178        "Offset of field: cbb_st__bindgen_ty_1::child"
7179    );
7180}
7181impl Default for cbb_st__bindgen_ty_1 {
7182    fn default() -> Self {
7183        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7184        unsafe {
7185            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7186            s.assume_init()
7187        }
7188    }
7189}
7190#[test]
7191fn bindgen_test_layout_cbb_st() {
7192    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7193    let ptr = UNINIT.as_ptr();
7194    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7195    assert_eq!(
7196        ::std::mem::align_of::<cbb_st>(),
7197        8usize,
7198        "Alignment of cbb_st"
7199    );
7200    assert_eq!(
7201        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7202        0usize,
7203        "Offset of field: cbb_st::child"
7204    );
7205    assert_eq!(
7206        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7207        8usize,
7208        "Offset of field: cbb_st::is_child"
7209    );
7210    assert_eq!(
7211        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7212        16usize,
7213        "Offset of field: cbb_st::u"
7214    );
7215}
7216impl Default for cbb_st {
7217    fn default() -> Self {
7218        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7219        unsafe {
7220            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7221            s.assume_init()
7222        }
7223    }
7224}
7225extern "C" {
7226    #[link_name = "\u{1}aws_lc_0_34_0_CBB_zero"]
7227    pub fn CBB_zero(cbb: *mut CBB);
7228}
7229extern "C" {
7230    #[link_name = "\u{1}aws_lc_0_34_0_CBB_init"]
7231    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7232}
7233extern "C" {
7234    #[link_name = "\u{1}aws_lc_0_34_0_CBB_init_fixed"]
7235    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7236}
7237extern "C" {
7238    #[link_name = "\u{1}aws_lc_0_34_0_CBB_cleanup"]
7239    pub fn CBB_cleanup(cbb: *mut CBB);
7240}
7241extern "C" {
7242    #[link_name = "\u{1}aws_lc_0_34_0_CBB_finish"]
7243    pub fn CBB_finish(
7244        cbb: *mut CBB,
7245        out_data: *mut *mut u8,
7246        out_len: *mut usize,
7247    ) -> ::std::os::raw::c_int;
7248}
7249extern "C" {
7250    #[link_name = "\u{1}aws_lc_0_34_0_CBB_flush"]
7251    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7252}
7253extern "C" {
7254    #[link_name = "\u{1}aws_lc_0_34_0_CBB_data"]
7255    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7256}
7257extern "C" {
7258    #[link_name = "\u{1}aws_lc_0_34_0_CBB_len"]
7259    pub fn CBB_len(cbb: *const CBB) -> usize;
7260}
7261extern "C" {
7262    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u8_length_prefixed"]
7263    pub fn CBB_add_u8_length_prefixed(
7264        cbb: *mut CBB,
7265        out_contents: *mut CBB,
7266    ) -> ::std::os::raw::c_int;
7267}
7268extern "C" {
7269    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u16_length_prefixed"]
7270    pub fn CBB_add_u16_length_prefixed(
7271        cbb: *mut CBB,
7272        out_contents: *mut CBB,
7273    ) -> ::std::os::raw::c_int;
7274}
7275extern "C" {
7276    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u24_length_prefixed"]
7277    pub fn CBB_add_u24_length_prefixed(
7278        cbb: *mut CBB,
7279        out_contents: *mut CBB,
7280    ) -> ::std::os::raw::c_int;
7281}
7282extern "C" {
7283    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1"]
7284    pub fn CBB_add_asn1(
7285        cbb: *mut CBB,
7286        out_contents: *mut CBB,
7287        tag: CBS_ASN1_TAG,
7288    ) -> ::std::os::raw::c_int;
7289}
7290extern "C" {
7291    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_bytes"]
7292    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7293}
7294extern "C" {
7295    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_zeros"]
7296    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7297}
7298extern "C" {
7299    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_space"]
7300    pub fn CBB_add_space(
7301        cbb: *mut CBB,
7302        out_data: *mut *mut u8,
7303        len: usize,
7304    ) -> ::std::os::raw::c_int;
7305}
7306extern "C" {
7307    #[link_name = "\u{1}aws_lc_0_34_0_CBB_reserve"]
7308    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7309}
7310extern "C" {
7311    #[link_name = "\u{1}aws_lc_0_34_0_CBB_did_write"]
7312    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7313}
7314extern "C" {
7315    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u8"]
7316    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7317}
7318extern "C" {
7319    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u16"]
7320    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7321}
7322extern "C" {
7323    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u16le"]
7324    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7325}
7326extern "C" {
7327    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u24"]
7328    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7329}
7330extern "C" {
7331    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u32"]
7332    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7333}
7334extern "C" {
7335    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u32le"]
7336    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7337}
7338extern "C" {
7339    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u64"]
7340    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7341}
7342extern "C" {
7343    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_u64le"]
7344    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7345}
7346extern "C" {
7347    #[link_name = "\u{1}aws_lc_0_34_0_CBB_discard_child"]
7348    pub fn CBB_discard_child(cbb: *mut CBB);
7349}
7350extern "C" {
7351    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1_uint64"]
7352    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7353}
7354extern "C" {
7355    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1_uint64_with_tag"]
7356    pub fn CBB_add_asn1_uint64_with_tag(
7357        cbb: *mut CBB,
7358        value: u64,
7359        tag: CBS_ASN1_TAG,
7360    ) -> ::std::os::raw::c_int;
7361}
7362extern "C" {
7363    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1_int64"]
7364    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7365}
7366extern "C" {
7367    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1_int64_with_tag"]
7368    pub fn CBB_add_asn1_int64_with_tag(
7369        cbb: *mut CBB,
7370        value: i64,
7371        tag: CBS_ASN1_TAG,
7372    ) -> ::std::os::raw::c_int;
7373}
7374extern "C" {
7375    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1_octet_string"]
7376    pub fn CBB_add_asn1_octet_string(
7377        cbb: *mut CBB,
7378        data: *const u8,
7379        data_len: usize,
7380    ) -> ::std::os::raw::c_int;
7381}
7382extern "C" {
7383    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1_bool"]
7384    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7385}
7386extern "C" {
7387    #[link_name = "\u{1}aws_lc_0_34_0_CBB_add_asn1_oid_from_text"]
7388    pub fn CBB_add_asn1_oid_from_text(
7389        cbb: *mut CBB,
7390        text: *const ::std::os::raw::c_char,
7391        len: usize,
7392    ) -> ::std::os::raw::c_int;
7393}
7394extern "C" {
7395    #[link_name = "\u{1}aws_lc_0_34_0_CBB_flush_asn1_set_of"]
7396    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7397}
7398extern "C" {
7399    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7400}
7401extern "C" {
7402    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7403}
7404extern "C" {
7405    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7406}
7407extern "C" {
7408    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
7409}
7410extern "C" {
7411    pub fn CBB_get_utf8_len(u: u32) -> usize;
7412}
7413extern "C" {
7414    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7415}
7416extern "C" {
7417    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7418}
7419extern "C" {
7420    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7421}
7422extern "C" {
7423    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
7424}
7425extern "C" {
7426    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_chacha_20"]
7427    pub fn CRYPTO_chacha_20(
7428        out: *mut u8,
7429        in_: *const u8,
7430        in_len: usize,
7431        key: *const u8,
7432        nonce: *const u8,
7433        counter: u32,
7434    );
7435}
7436extern "C" {
7437    #[link_name = "\u{1}aws_lc_0_34_0_EVP_rc4"]
7438    pub fn EVP_rc4() -> *const EVP_CIPHER;
7439}
7440extern "C" {
7441    #[link_name = "\u{1}aws_lc_0_34_0_EVP_des_cbc"]
7442    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7443}
7444extern "C" {
7445    #[link_name = "\u{1}aws_lc_0_34_0_EVP_des_ecb"]
7446    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7447}
7448extern "C" {
7449    #[link_name = "\u{1}aws_lc_0_34_0_EVP_des_ede"]
7450    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7451}
7452extern "C" {
7453    #[link_name = "\u{1}aws_lc_0_34_0_EVP_des_ede3"]
7454    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7455}
7456extern "C" {
7457    #[link_name = "\u{1}aws_lc_0_34_0_EVP_des_ede_cbc"]
7458    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7459}
7460extern "C" {
7461    #[link_name = "\u{1}aws_lc_0_34_0_EVP_des_ede3_cbc"]
7462    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7463}
7464extern "C" {
7465    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_ecb"]
7466    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7467}
7468extern "C" {
7469    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_cbc"]
7470    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7471}
7472extern "C" {
7473    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_ctr"]
7474    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7475}
7476extern "C" {
7477    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_ofb"]
7478    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7479}
7480extern "C" {
7481    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_ecb"]
7482    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7483}
7484extern "C" {
7485    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_cbc"]
7486    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7487}
7488extern "C" {
7489    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_ctr"]
7490    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7491}
7492extern "C" {
7493    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_ofb"]
7494    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7495}
7496extern "C" {
7497    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_xts"]
7498    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7499}
7500extern "C" {
7501    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_wrap"]
7502    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7503}
7504extern "C" {
7505    #[link_name = "\u{1}aws_lc_0_34_0_EVP_enc_null"]
7506    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7507}
7508extern "C" {
7509    #[link_name = "\u{1}aws_lc_0_34_0_EVP_rc2_cbc"]
7510    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7511}
7512extern "C" {
7513    #[link_name = "\u{1}aws_lc_0_34_0_EVP_rc2_40_cbc"]
7514    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7515}
7516extern "C" {
7517    #[link_name = "\u{1}aws_lc_0_34_0_EVP_chacha20_poly1305"]
7518    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7519}
7520extern "C" {
7521    #[link_name = "\u{1}aws_lc_0_34_0_EVP_get_cipherbynid"]
7522    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7523}
7524extern "C" {
7525    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_init"]
7526    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7527}
7528extern "C" {
7529    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_new"]
7530    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7531}
7532extern "C" {
7533    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_cleanup"]
7534    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7535}
7536extern "C" {
7537    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_free"]
7538    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7539}
7540extern "C" {
7541    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_copy"]
7542    pub fn EVP_CIPHER_CTX_copy(
7543        out: *mut EVP_CIPHER_CTX,
7544        in_: *const EVP_CIPHER_CTX,
7545    ) -> ::std::os::raw::c_int;
7546}
7547extern "C" {
7548    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_reset"]
7549    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7550}
7551extern "C" {
7552    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CipherInit_ex"]
7553    pub fn EVP_CipherInit_ex(
7554        ctx: *mut EVP_CIPHER_CTX,
7555        cipher: *const EVP_CIPHER,
7556        engine: *mut ENGINE,
7557        key: *const u8,
7558        iv: *const u8,
7559        enc: ::std::os::raw::c_int,
7560    ) -> ::std::os::raw::c_int;
7561}
7562extern "C" {
7563    #[link_name = "\u{1}aws_lc_0_34_0_EVP_EncryptInit_ex"]
7564    pub fn EVP_EncryptInit_ex(
7565        ctx: *mut EVP_CIPHER_CTX,
7566        cipher: *const EVP_CIPHER,
7567        impl_: *mut ENGINE,
7568        key: *const u8,
7569        iv: *const u8,
7570    ) -> ::std::os::raw::c_int;
7571}
7572extern "C" {
7573    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DecryptInit_ex"]
7574    pub fn EVP_DecryptInit_ex(
7575        ctx: *mut EVP_CIPHER_CTX,
7576        cipher: *const EVP_CIPHER,
7577        impl_: *mut ENGINE,
7578        key: *const u8,
7579        iv: *const u8,
7580    ) -> ::std::os::raw::c_int;
7581}
7582extern "C" {
7583    #[link_name = "\u{1}aws_lc_0_34_0_EVP_EncryptUpdate"]
7584    pub fn EVP_EncryptUpdate(
7585        ctx: *mut EVP_CIPHER_CTX,
7586        out: *mut u8,
7587        out_len: *mut ::std::os::raw::c_int,
7588        in_: *const u8,
7589        in_len: ::std::os::raw::c_int,
7590    ) -> ::std::os::raw::c_int;
7591}
7592extern "C" {
7593    #[link_name = "\u{1}aws_lc_0_34_0_EVP_EncryptFinal_ex"]
7594    pub fn EVP_EncryptFinal_ex(
7595        ctx: *mut EVP_CIPHER_CTX,
7596        out: *mut u8,
7597        out_len: *mut ::std::os::raw::c_int,
7598    ) -> ::std::os::raw::c_int;
7599}
7600extern "C" {
7601    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DecryptUpdate"]
7602    pub fn EVP_DecryptUpdate(
7603        ctx: *mut EVP_CIPHER_CTX,
7604        out: *mut u8,
7605        out_len: *mut ::std::os::raw::c_int,
7606        in_: *const u8,
7607        in_len: ::std::os::raw::c_int,
7608    ) -> ::std::os::raw::c_int;
7609}
7610extern "C" {
7611    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DecryptFinal_ex"]
7612    pub fn EVP_DecryptFinal_ex(
7613        ctx: *mut EVP_CIPHER_CTX,
7614        out: *mut u8,
7615        out_len: *mut ::std::os::raw::c_int,
7616    ) -> ::std::os::raw::c_int;
7617}
7618extern "C" {
7619    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CipherUpdate"]
7620    pub fn EVP_CipherUpdate(
7621        ctx: *mut EVP_CIPHER_CTX,
7622        out: *mut u8,
7623        out_len: *mut ::std::os::raw::c_int,
7624        in_: *const u8,
7625        in_len: ::std::os::raw::c_int,
7626    ) -> ::std::os::raw::c_int;
7627}
7628extern "C" {
7629    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CipherFinal_ex"]
7630    pub fn EVP_CipherFinal_ex(
7631        ctx: *mut EVP_CIPHER_CTX,
7632        out: *mut u8,
7633        out_len: *mut ::std::os::raw::c_int,
7634    ) -> ::std::os::raw::c_int;
7635}
7636extern "C" {
7637    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_cipher"]
7638    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7639}
7640extern "C" {
7641    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_nid"]
7642    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7643}
7644extern "C" {
7645    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_encrypting"]
7646    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7647}
7648extern "C" {
7649    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_block_size"]
7650    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7651}
7652extern "C" {
7653    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_key_length"]
7654    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7655}
7656extern "C" {
7657    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_iv_length"]
7658    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7659}
7660extern "C" {
7661    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_get_app_data"]
7662    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7663}
7664extern "C" {
7665    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_set_app_data"]
7666    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7667}
7668extern "C" {
7669    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_flags"]
7670    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7671}
7672extern "C" {
7673    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_mode"]
7674    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7675}
7676extern "C" {
7677    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_ctrl"]
7678    pub fn EVP_CIPHER_CTX_ctrl(
7679        ctx: *mut EVP_CIPHER_CTX,
7680        command: ::std::os::raw::c_int,
7681        arg: ::std::os::raw::c_int,
7682        ptr: *mut ::std::os::raw::c_void,
7683    ) -> ::std::os::raw::c_int;
7684}
7685extern "C" {
7686    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_set_padding"]
7687    pub fn EVP_CIPHER_CTX_set_padding(
7688        ctx: *mut EVP_CIPHER_CTX,
7689        pad: ::std::os::raw::c_int,
7690    ) -> ::std::os::raw::c_int;
7691}
7692extern "C" {
7693    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_set_key_length"]
7694    pub fn EVP_CIPHER_CTX_set_key_length(
7695        ctx: *mut EVP_CIPHER_CTX,
7696        key_len: ::std::os::raw::c_uint,
7697    ) -> ::std::os::raw::c_int;
7698}
7699extern "C" {
7700    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_nid"]
7701    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7702}
7703extern "C" {
7704    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_name"]
7705    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7706}
7707extern "C" {
7708    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_block_size"]
7709    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7710}
7711extern "C" {
7712    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_key_length"]
7713    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7714}
7715extern "C" {
7716    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_iv_length"]
7717    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7718}
7719extern "C" {
7720    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_flags"]
7721    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7722}
7723extern "C" {
7724    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_mode"]
7725    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7726}
7727extern "C" {
7728    #[link_name = "\u{1}aws_lc_0_34_0_EVP_BytesToKey"]
7729    pub fn EVP_BytesToKey(
7730        type_: *const EVP_CIPHER,
7731        md: *const EVP_MD,
7732        salt: *const u8,
7733        data: *const u8,
7734        data_len: usize,
7735        count: ::std::os::raw::c_uint,
7736        key: *mut u8,
7737        iv: *mut u8,
7738    ) -> ::std::os::raw::c_int;
7739}
7740extern "C" {
7741    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_cbc_hmac_sha1"]
7742    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7743}
7744extern "C" {
7745    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_cbc_hmac_sha1"]
7746    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7747}
7748extern "C" {
7749    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_cbc_hmac_sha256"]
7750    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7751}
7752extern "C" {
7753    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_cbc_hmac_sha256"]
7754    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7755}
7756extern "C" {
7757    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CipherInit"]
7758    pub fn EVP_CipherInit(
7759        ctx: *mut EVP_CIPHER_CTX,
7760        cipher: *const EVP_CIPHER,
7761        key: *const u8,
7762        iv: *const u8,
7763        enc: ::std::os::raw::c_int,
7764    ) -> ::std::os::raw::c_int;
7765}
7766extern "C" {
7767    #[link_name = "\u{1}aws_lc_0_34_0_EVP_EncryptInit"]
7768    pub fn EVP_EncryptInit(
7769        ctx: *mut EVP_CIPHER_CTX,
7770        cipher: *const EVP_CIPHER,
7771        key: *const u8,
7772        iv: *const u8,
7773    ) -> ::std::os::raw::c_int;
7774}
7775extern "C" {
7776    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DecryptInit"]
7777    pub fn EVP_DecryptInit(
7778        ctx: *mut EVP_CIPHER_CTX,
7779        cipher: *const EVP_CIPHER,
7780        key: *const u8,
7781        iv: *const u8,
7782    ) -> ::std::os::raw::c_int;
7783}
7784extern "C" {
7785    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CipherFinal"]
7786    pub fn EVP_CipherFinal(
7787        ctx: *mut EVP_CIPHER_CTX,
7788        out: *mut u8,
7789        out_len: *mut ::std::os::raw::c_int,
7790    ) -> ::std::os::raw::c_int;
7791}
7792extern "C" {
7793    #[link_name = "\u{1}aws_lc_0_34_0_EVP_EncryptFinal"]
7794    pub fn EVP_EncryptFinal(
7795        ctx: *mut EVP_CIPHER_CTX,
7796        out: *mut u8,
7797        out_len: *mut ::std::os::raw::c_int,
7798    ) -> ::std::os::raw::c_int;
7799}
7800extern "C" {
7801    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DecryptFinal"]
7802    pub fn EVP_DecryptFinal(
7803        ctx: *mut EVP_CIPHER_CTX,
7804        out: *mut u8,
7805        out_len: *mut ::std::os::raw::c_int,
7806    ) -> ::std::os::raw::c_int;
7807}
7808extern "C" {
7809    #[link_name = "\u{1}aws_lc_0_34_0_EVP_Cipher"]
7810    pub fn EVP_Cipher(
7811        ctx: *mut EVP_CIPHER_CTX,
7812        out: *mut u8,
7813        in_: *const u8,
7814        in_len: usize,
7815    ) -> ::std::os::raw::c_int;
7816}
7817extern "C" {
7818    #[link_name = "\u{1}aws_lc_0_34_0_EVP_get_cipherbyname"]
7819    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7820}
7821extern "C" {
7822    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_gcm"]
7823    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7824}
7825extern "C" {
7826    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_gcm"]
7827    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7828}
7829extern "C" {
7830    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_ccm"]
7831    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
7832}
7833extern "C" {
7834    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_ccm"]
7835    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
7836}
7837extern "C" {
7838    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_ccm"]
7839    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
7840}
7841extern "C" {
7842    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_ecb"]
7843    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
7844}
7845extern "C" {
7846    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_cbc"]
7847    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
7848}
7849extern "C" {
7850    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_ctr"]
7851    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
7852}
7853extern "C" {
7854    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_gcm"]
7855    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
7856}
7857extern "C" {
7858    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_ofb"]
7859    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
7860}
7861extern "C" {
7862    #[link_name = "\u{1}aws_lc_0_34_0_EVP_des_ede3_ecb"]
7863    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
7864}
7865extern "C" {
7866    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_cfb128"]
7867    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
7868}
7869extern "C" {
7870    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_cfb"]
7871    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
7872}
7873extern "C" {
7874    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_cfb1"]
7875    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
7876}
7877extern "C" {
7878    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_128_cfb8"]
7879    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
7880}
7881extern "C" {
7882    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_cfb128"]
7883    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
7884}
7885extern "C" {
7886    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_cfb"]
7887    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
7888}
7889extern "C" {
7890    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_cfb1"]
7891    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
7892}
7893extern "C" {
7894    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_192_cfb8"]
7895    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
7896}
7897extern "C" {
7898    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_cfb128"]
7899    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
7900}
7901extern "C" {
7902    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_cfb"]
7903    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
7904}
7905extern "C" {
7906    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_cfb1"]
7907    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
7908}
7909extern "C" {
7910    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aes_256_cfb8"]
7911    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
7912}
7913extern "C" {
7914    #[link_name = "\u{1}aws_lc_0_34_0_EVP_bf_ecb"]
7915    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
7916}
7917extern "C" {
7918    #[link_name = "\u{1}aws_lc_0_34_0_EVP_bf_cbc"]
7919    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
7920}
7921extern "C" {
7922    #[link_name = "\u{1}aws_lc_0_34_0_EVP_bf_cfb"]
7923    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
7924}
7925extern "C" {
7926    #[link_name = "\u{1}aws_lc_0_34_0_EVP_cast5_ecb"]
7927    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
7928}
7929extern "C" {
7930    #[link_name = "\u{1}aws_lc_0_34_0_EVP_cast5_cbc"]
7931    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
7932}
7933extern "C" {
7934    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_CTX_set_flags"]
7935    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
7936}
7937extern "C" {
7938    #[link_name = "\u{1}aws_lc_0_34_0_EVP_add_cipher_alias"]
7939    pub fn EVP_add_cipher_alias(
7940        a: *const ::std::os::raw::c_char,
7941        b: *const ::std::os::raw::c_char,
7942    ) -> ::std::os::raw::c_int;
7943}
7944#[repr(C)]
7945#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7946pub struct evp_cipher_ctx_st {
7947    pub cipher: *const EVP_CIPHER,
7948    pub app_data: *mut ::std::os::raw::c_void,
7949    pub cipher_data: *mut ::std::os::raw::c_void,
7950    pub key_len: ::std::os::raw::c_uint,
7951    pub encrypt: ::std::os::raw::c_int,
7952    pub flags: u32,
7953    pub oiv: [u8; 16usize],
7954    pub iv: [u8; 16usize],
7955    pub buf: [u8; 32usize],
7956    pub buf_len: ::std::os::raw::c_int,
7957    pub num: ::std::os::raw::c_uint,
7958    pub final_used: ::std::os::raw::c_int,
7959    pub final_: [u8; 32usize],
7960    pub poisoned: ::std::os::raw::c_int,
7961}
7962#[test]
7963fn bindgen_test_layout_evp_cipher_ctx_st() {
7964    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
7965    let ptr = UNINIT.as_ptr();
7966    assert_eq!(
7967        ::std::mem::size_of::<evp_cipher_ctx_st>(),
7968        152usize,
7969        "Size of evp_cipher_ctx_st"
7970    );
7971    assert_eq!(
7972        ::std::mem::align_of::<evp_cipher_ctx_st>(),
7973        8usize,
7974        "Alignment of evp_cipher_ctx_st"
7975    );
7976    assert_eq!(
7977        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
7978        0usize,
7979        "Offset of field: evp_cipher_ctx_st::cipher"
7980    );
7981    assert_eq!(
7982        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
7983        8usize,
7984        "Offset of field: evp_cipher_ctx_st::app_data"
7985    );
7986    assert_eq!(
7987        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
7988        16usize,
7989        "Offset of field: evp_cipher_ctx_st::cipher_data"
7990    );
7991    assert_eq!(
7992        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
7993        24usize,
7994        "Offset of field: evp_cipher_ctx_st::key_len"
7995    );
7996    assert_eq!(
7997        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
7998        28usize,
7999        "Offset of field: evp_cipher_ctx_st::encrypt"
8000    );
8001    assert_eq!(
8002        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8003        32usize,
8004        "Offset of field: evp_cipher_ctx_st::flags"
8005    );
8006    assert_eq!(
8007        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8008        36usize,
8009        "Offset of field: evp_cipher_ctx_st::oiv"
8010    );
8011    assert_eq!(
8012        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8013        52usize,
8014        "Offset of field: evp_cipher_ctx_st::iv"
8015    );
8016    assert_eq!(
8017        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8018        68usize,
8019        "Offset of field: evp_cipher_ctx_st::buf"
8020    );
8021    assert_eq!(
8022        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8023        100usize,
8024        "Offset of field: evp_cipher_ctx_st::buf_len"
8025    );
8026    assert_eq!(
8027        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8028        104usize,
8029        "Offset of field: evp_cipher_ctx_st::num"
8030    );
8031    assert_eq!(
8032        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8033        108usize,
8034        "Offset of field: evp_cipher_ctx_st::final_used"
8035    );
8036    assert_eq!(
8037        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8038        112usize,
8039        "Offset of field: evp_cipher_ctx_st::final_"
8040    );
8041    assert_eq!(
8042        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8043        144usize,
8044        "Offset of field: evp_cipher_ctx_st::poisoned"
8045    );
8046}
8047impl Default for evp_cipher_ctx_st {
8048    fn default() -> Self {
8049        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8050        unsafe {
8051            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8052            s.assume_init()
8053        }
8054    }
8055}
8056#[repr(C)]
8057#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8058pub struct evp_cipher_info_st {
8059    pub cipher: *const EVP_CIPHER,
8060    pub iv: [::std::os::raw::c_uchar; 16usize],
8061}
8062#[test]
8063fn bindgen_test_layout_evp_cipher_info_st() {
8064    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8065    let ptr = UNINIT.as_ptr();
8066    assert_eq!(
8067        ::std::mem::size_of::<evp_cipher_info_st>(),
8068        24usize,
8069        "Size of evp_cipher_info_st"
8070    );
8071    assert_eq!(
8072        ::std::mem::align_of::<evp_cipher_info_st>(),
8073        8usize,
8074        "Alignment of evp_cipher_info_st"
8075    );
8076    assert_eq!(
8077        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8078        0usize,
8079        "Offset of field: evp_cipher_info_st::cipher"
8080    );
8081    assert_eq!(
8082        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8083        8usize,
8084        "Offset of field: evp_cipher_info_st::iv"
8085    );
8086}
8087impl Default for evp_cipher_info_st {
8088    fn default() -> Self {
8089        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8090        unsafe {
8091            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8092            s.assume_init()
8093        }
8094    }
8095}
8096pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8097extern "C" {
8098    #[link_name = "\u{1}aws_lc_0_34_0_AES_CMAC"]
8099    pub fn AES_CMAC(
8100        out: *mut u8,
8101        key: *const u8,
8102        key_len: usize,
8103        in_: *const u8,
8104        in_len: usize,
8105    ) -> ::std::os::raw::c_int;
8106}
8107extern "C" {
8108    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_CTX_new"]
8109    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8110}
8111extern "C" {
8112    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_CTX_free"]
8113    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8114}
8115extern "C" {
8116    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_CTX_copy"]
8117    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8118}
8119extern "C" {
8120    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_Init"]
8121    pub fn CMAC_Init(
8122        ctx: *mut CMAC_CTX,
8123        key: *const ::std::os::raw::c_void,
8124        key_len: usize,
8125        cipher: *const EVP_CIPHER,
8126        engine: *mut ENGINE,
8127    ) -> ::std::os::raw::c_int;
8128}
8129extern "C" {
8130    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_Reset"]
8131    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8132}
8133extern "C" {
8134    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_Update"]
8135    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8136}
8137extern "C" {
8138    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_Final"]
8139    pub fn CMAC_Final(
8140        ctx: *mut CMAC_CTX,
8141        out: *mut u8,
8142        out_len: *mut usize,
8143    ) -> ::std::os::raw::c_int;
8144}
8145extern "C" {
8146    #[link_name = "\u{1}aws_lc_0_34_0_CMAC_CTX_get0_cipher_ctx"]
8147    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8148}
8149#[repr(C)]
8150#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8151pub struct conf_value_st {
8152    pub section: *mut ::std::os::raw::c_char,
8153    pub name: *mut ::std::os::raw::c_char,
8154    pub value: *mut ::std::os::raw::c_char,
8155}
8156#[test]
8157fn bindgen_test_layout_conf_value_st() {
8158    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8159    let ptr = UNINIT.as_ptr();
8160    assert_eq!(
8161        ::std::mem::size_of::<conf_value_st>(),
8162        24usize,
8163        "Size of conf_value_st"
8164    );
8165    assert_eq!(
8166        ::std::mem::align_of::<conf_value_st>(),
8167        8usize,
8168        "Alignment of conf_value_st"
8169    );
8170    assert_eq!(
8171        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8172        0usize,
8173        "Offset of field: conf_value_st::section"
8174    );
8175    assert_eq!(
8176        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8177        8usize,
8178        "Offset of field: conf_value_st::name"
8179    );
8180    assert_eq!(
8181        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8182        16usize,
8183        "Offset of field: conf_value_st::value"
8184    );
8185}
8186impl Default for conf_value_st {
8187    fn default() -> Self {
8188        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8189        unsafe {
8190            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8191            s.assume_init()
8192        }
8193    }
8194}
8195#[repr(C)]
8196#[derive(Debug, Copy, Clone)]
8197pub struct stack_st_CONF_VALUE {
8198    _unused: [u8; 0],
8199}
8200#[repr(C)]
8201#[derive(Debug, Copy, Clone)]
8202pub struct lhash_st_CONF_VALUE {
8203    _unused: [u8; 0],
8204}
8205#[repr(C)]
8206#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8207pub struct conf_st {
8208    pub data: *mut lhash_st_CONF_VALUE,
8209}
8210#[test]
8211fn bindgen_test_layout_conf_st() {
8212    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8213    let ptr = UNINIT.as_ptr();
8214    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8215    assert_eq!(
8216        ::std::mem::align_of::<conf_st>(),
8217        8usize,
8218        "Alignment of conf_st"
8219    );
8220    assert_eq!(
8221        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8222        0usize,
8223        "Offset of field: conf_st::data"
8224    );
8225}
8226impl Default for conf_st {
8227    fn default() -> Self {
8228        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8229        unsafe {
8230            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8231            s.assume_init()
8232        }
8233    }
8234}
8235extern "C" {
8236    #[link_name = "\u{1}aws_lc_0_34_0_X25519_keypair"]
8237    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8238}
8239extern "C" {
8240    #[link_name = "\u{1}aws_lc_0_34_0_X25519"]
8241    pub fn X25519(
8242        out_shared_key: *mut u8,
8243        private_key: *const u8,
8244        peer_public_value: *const u8,
8245    ) -> ::std::os::raw::c_int;
8246}
8247extern "C" {
8248    #[link_name = "\u{1}aws_lc_0_34_0_X25519_public_from_private"]
8249    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8250}
8251extern "C" {
8252    #[link_name = "\u{1}aws_lc_0_34_0_ED25519_keypair"]
8253    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8254}
8255extern "C" {
8256    #[link_name = "\u{1}aws_lc_0_34_0_ED25519_sign"]
8257    pub fn ED25519_sign(
8258        out_sig: *mut u8,
8259        message: *const u8,
8260        message_len: usize,
8261        private_key: *const u8,
8262    ) -> ::std::os::raw::c_int;
8263}
8264extern "C" {
8265    #[link_name = "\u{1}aws_lc_0_34_0_ED25519_verify"]
8266    pub fn ED25519_verify(
8267        message: *const u8,
8268        message_len: usize,
8269        signature: *const u8,
8270        public_key: *const u8,
8271    ) -> ::std::os::raw::c_int;
8272}
8273extern "C" {
8274    #[link_name = "\u{1}aws_lc_0_34_0_ED25519ctx_sign"]
8275    pub fn ED25519ctx_sign(
8276        out_sig: *mut u8,
8277        message: *const u8,
8278        message_len: usize,
8279        private_key: *const u8,
8280        context: *const u8,
8281        context_len: usize,
8282    ) -> ::std::os::raw::c_int;
8283}
8284extern "C" {
8285    #[link_name = "\u{1}aws_lc_0_34_0_ED25519ctx_verify"]
8286    pub fn ED25519ctx_verify(
8287        message: *const u8,
8288        message_len: usize,
8289        signature: *const u8,
8290        public_key: *const u8,
8291        context: *const u8,
8292        context_len: usize,
8293    ) -> ::std::os::raw::c_int;
8294}
8295extern "C" {
8296    #[link_name = "\u{1}aws_lc_0_34_0_ED25519ph_sign"]
8297    pub fn ED25519ph_sign(
8298        out_sig: *mut u8,
8299        message: *const u8,
8300        message_len: usize,
8301        private_key: *const u8,
8302        context: *const u8,
8303        context_len: usize,
8304    ) -> ::std::os::raw::c_int;
8305}
8306extern "C" {
8307    #[link_name = "\u{1}aws_lc_0_34_0_ED25519ph_verify"]
8308    pub fn ED25519ph_verify(
8309        message: *const u8,
8310        message_len: usize,
8311        signature: *const u8,
8312        public_key: *const u8,
8313        context: *const u8,
8314        context_len: usize,
8315    ) -> ::std::os::raw::c_int;
8316}
8317extern "C" {
8318    #[link_name = "\u{1}aws_lc_0_34_0_ED25519ph_sign_digest"]
8319    pub fn ED25519ph_sign_digest(
8320        out_sig: *mut u8,
8321        digest: *const u8,
8322        private_key: *const u8,
8323        context: *const u8,
8324        context_len: usize,
8325    ) -> ::std::os::raw::c_int;
8326}
8327extern "C" {
8328    #[link_name = "\u{1}aws_lc_0_34_0_ED25519ph_verify_digest"]
8329    pub fn ED25519ph_verify_digest(
8330        digest: *const u8,
8331        signature: *const u8,
8332        public_key: *const u8,
8333        context: *const u8,
8334        context_len: usize,
8335    ) -> ::std::os::raw::c_int;
8336}
8337extern "C" {
8338    #[link_name = "\u{1}aws_lc_0_34_0_ED25519_keypair_from_seed"]
8339    pub fn ED25519_keypair_from_seed(
8340        out_public_key: *mut u8,
8341        out_private_key: *mut u8,
8342        seed: *const u8,
8343    );
8344}
8345pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8346pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8347pub type spake2_role_t = ::std::os::raw::c_uint;
8348extern "C" {
8349    #[link_name = "\u{1}aws_lc_0_34_0_SPAKE2_CTX_new"]
8350    pub fn SPAKE2_CTX_new(
8351        my_role: spake2_role_t,
8352        my_name: *const u8,
8353        my_name_len: usize,
8354        their_name: *const u8,
8355        their_name_len: usize,
8356    ) -> *mut SPAKE2_CTX;
8357}
8358extern "C" {
8359    #[link_name = "\u{1}aws_lc_0_34_0_SPAKE2_CTX_free"]
8360    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8361}
8362extern "C" {
8363    #[link_name = "\u{1}aws_lc_0_34_0_SPAKE2_generate_msg"]
8364    pub fn SPAKE2_generate_msg(
8365        ctx: *mut SPAKE2_CTX,
8366        out: *mut u8,
8367        out_len: *mut usize,
8368        max_out_len: usize,
8369        password: *const u8,
8370        password_len: usize,
8371    ) -> ::std::os::raw::c_int;
8372}
8373extern "C" {
8374    #[link_name = "\u{1}aws_lc_0_34_0_SPAKE2_process_msg"]
8375    pub fn SPAKE2_process_msg(
8376        ctx: *mut SPAKE2_CTX,
8377        out_key: *mut u8,
8378        out_key_len: *mut usize,
8379        max_out_key_len: usize,
8380        their_msg: *const u8,
8381        their_msg_len: usize,
8382    ) -> ::std::os::raw::c_int;
8383}
8384extern "C" {
8385    #[link_name = "\u{1}aws_lc_0_34_0_EVP_md4"]
8386    pub fn EVP_md4() -> *const EVP_MD;
8387}
8388extern "C" {
8389    #[link_name = "\u{1}aws_lc_0_34_0_EVP_md5"]
8390    pub fn EVP_md5() -> *const EVP_MD;
8391}
8392extern "C" {
8393    #[link_name = "\u{1}aws_lc_0_34_0_EVP_ripemd160"]
8394    pub fn EVP_ripemd160() -> *const EVP_MD;
8395}
8396extern "C" {
8397    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha1"]
8398    pub fn EVP_sha1() -> *const EVP_MD;
8399}
8400extern "C" {
8401    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha224"]
8402    pub fn EVP_sha224() -> *const EVP_MD;
8403}
8404extern "C" {
8405    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha256"]
8406    pub fn EVP_sha256() -> *const EVP_MD;
8407}
8408extern "C" {
8409    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha384"]
8410    pub fn EVP_sha384() -> *const EVP_MD;
8411}
8412extern "C" {
8413    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha512"]
8414    pub fn EVP_sha512() -> *const EVP_MD;
8415}
8416extern "C" {
8417    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha512_224"]
8418    pub fn EVP_sha512_224() -> *const EVP_MD;
8419}
8420extern "C" {
8421    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha512_256"]
8422    pub fn EVP_sha512_256() -> *const EVP_MD;
8423}
8424extern "C" {
8425    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha3_224"]
8426    pub fn EVP_sha3_224() -> *const EVP_MD;
8427}
8428extern "C" {
8429    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha3_256"]
8430    pub fn EVP_sha3_256() -> *const EVP_MD;
8431}
8432extern "C" {
8433    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha3_384"]
8434    pub fn EVP_sha3_384() -> *const EVP_MD;
8435}
8436extern "C" {
8437    #[link_name = "\u{1}aws_lc_0_34_0_EVP_sha3_512"]
8438    pub fn EVP_sha3_512() -> *const EVP_MD;
8439}
8440extern "C" {
8441    #[link_name = "\u{1}aws_lc_0_34_0_EVP_shake128"]
8442    pub fn EVP_shake128() -> *const EVP_MD;
8443}
8444extern "C" {
8445    #[link_name = "\u{1}aws_lc_0_34_0_EVP_shake256"]
8446    pub fn EVP_shake256() -> *const EVP_MD;
8447}
8448extern "C" {
8449    #[link_name = "\u{1}aws_lc_0_34_0_EVP_blake2b256"]
8450    pub fn EVP_blake2b256() -> *const EVP_MD;
8451}
8452extern "C" {
8453    #[link_name = "\u{1}aws_lc_0_34_0_EVP_md5_sha1"]
8454    pub fn EVP_md5_sha1() -> *const EVP_MD;
8455}
8456extern "C" {
8457    #[link_name = "\u{1}aws_lc_0_34_0_EVP_get_digestbynid"]
8458    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8459}
8460extern "C" {
8461    #[link_name = "\u{1}aws_lc_0_34_0_EVP_get_digestbyobj"]
8462    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8463}
8464extern "C" {
8465    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_init"]
8466    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8467}
8468extern "C" {
8469    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_new"]
8470    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8471}
8472extern "C" {
8473    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_cleanup"]
8474    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8475}
8476extern "C" {
8477    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_cleanse"]
8478    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8479}
8480extern "C" {
8481    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_free"]
8482    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8483}
8484extern "C" {
8485    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_copy_ex"]
8486    pub fn EVP_MD_CTX_copy_ex(
8487        out: *mut EVP_MD_CTX,
8488        in_: *const EVP_MD_CTX,
8489    ) -> ::std::os::raw::c_int;
8490}
8491extern "C" {
8492    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_move"]
8493    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8494}
8495extern "C" {
8496    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_reset"]
8497    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8498}
8499extern "C" {
8500    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestInit_ex"]
8501    pub fn EVP_DigestInit_ex(
8502        ctx: *mut EVP_MD_CTX,
8503        type_: *const EVP_MD,
8504        engine: *mut ENGINE,
8505    ) -> ::std::os::raw::c_int;
8506}
8507extern "C" {
8508    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestInit"]
8509    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8510}
8511extern "C" {
8512    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestUpdate"]
8513    pub fn EVP_DigestUpdate(
8514        ctx: *mut EVP_MD_CTX,
8515        data: *const ::std::os::raw::c_void,
8516        len: usize,
8517    ) -> ::std::os::raw::c_int;
8518}
8519extern "C" {
8520    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestFinal_ex"]
8521    pub fn EVP_DigestFinal_ex(
8522        ctx: *mut EVP_MD_CTX,
8523        md_out: *mut u8,
8524        out_size: *mut ::std::os::raw::c_uint,
8525    ) -> ::std::os::raw::c_int;
8526}
8527extern "C" {
8528    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestFinal"]
8529    pub fn EVP_DigestFinal(
8530        ctx: *mut EVP_MD_CTX,
8531        md_out: *mut u8,
8532        out_size: *mut ::std::os::raw::c_uint,
8533    ) -> ::std::os::raw::c_int;
8534}
8535extern "C" {
8536    #[link_name = "\u{1}aws_lc_0_34_0_EVP_Digest"]
8537    pub fn EVP_Digest(
8538        data: *const ::std::os::raw::c_void,
8539        len: usize,
8540        md_out: *mut u8,
8541        out_size: *mut ::std::os::raw::c_uint,
8542        type_: *const EVP_MD,
8543        impl_: *mut ENGINE,
8544    ) -> ::std::os::raw::c_int;
8545}
8546extern "C" {
8547    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_type"]
8548    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8549}
8550extern "C" {
8551    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_flags"]
8552    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8553}
8554extern "C" {
8555    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_size"]
8556    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8557}
8558extern "C" {
8559    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_block_size"]
8560    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8561}
8562extern "C" {
8563    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_md"]
8564    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8565}
8566extern "C" {
8567    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_size"]
8568    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8569}
8570extern "C" {
8571    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_block_size"]
8572    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8573}
8574extern "C" {
8575    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_type"]
8576    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8577}
8578extern "C" {
8579    #[link_name = "\u{1}aws_lc_0_34_0_EVP_parse_digest_algorithm"]
8580    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8581}
8582extern "C" {
8583    #[link_name = "\u{1}aws_lc_0_34_0_EVP_marshal_digest_algorithm"]
8584    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8585}
8586extern "C" {
8587    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_copy"]
8588    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8589}
8590extern "C" {
8591    #[link_name = "\u{1}aws_lc_0_34_0_EVP_get_digestbyname"]
8592    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8593}
8594extern "C" {
8595    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_create"]
8596    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8597}
8598extern "C" {
8599    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_destroy"]
8600    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8601}
8602extern "C" {
8603    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestFinalXOF"]
8604    pub fn EVP_DigestFinalXOF(
8605        ctx: *mut EVP_MD_CTX,
8606        out: *mut u8,
8607        len: usize,
8608    ) -> ::std::os::raw::c_int;
8609}
8610extern "C" {
8611    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestSqueeze"]
8612    pub fn EVP_DigestSqueeze(
8613        ctx: *mut EVP_MD_CTX,
8614        out: *mut u8,
8615        len: usize,
8616    ) -> ::std::os::raw::c_int;
8617}
8618extern "C" {
8619    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_meth_get_flags"]
8620    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8621}
8622extern "C" {
8623    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_nid"]
8624    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8625}
8626extern "C" {
8627    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_set_pkey_ctx"]
8628    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8629}
8630extern "C" {
8631    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_get_pkey_ctx"]
8632    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8633}
8634extern "C" {
8635    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_pkey_ctx"]
8636    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8637}
8638#[repr(C)]
8639#[derive(Debug, Copy, Clone)]
8640pub struct evp_md_pctx_ops {
8641    _unused: [u8; 0],
8642}
8643#[repr(C)]
8644#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8645pub struct env_md_ctx_st {
8646    pub digest: *const EVP_MD,
8647    pub md_data: *mut ::std::os::raw::c_void,
8648    pub update: ::std::option::Option<
8649        unsafe extern "C" fn(
8650            ctx: *mut EVP_MD_CTX,
8651            data: *const ::std::os::raw::c_void,
8652            count: usize,
8653        ) -> ::std::os::raw::c_int,
8654    >,
8655    pub pctx: *mut EVP_PKEY_CTX,
8656    pub pctx_ops: *const evp_md_pctx_ops,
8657    pub flags: ::std::os::raw::c_ulong,
8658}
8659#[test]
8660fn bindgen_test_layout_env_md_ctx_st() {
8661    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8662    let ptr = UNINIT.as_ptr();
8663    assert_eq!(
8664        ::std::mem::size_of::<env_md_ctx_st>(),
8665        48usize,
8666        "Size of env_md_ctx_st"
8667    );
8668    assert_eq!(
8669        ::std::mem::align_of::<env_md_ctx_st>(),
8670        8usize,
8671        "Alignment of env_md_ctx_st"
8672    );
8673    assert_eq!(
8674        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8675        0usize,
8676        "Offset of field: env_md_ctx_st::digest"
8677    );
8678    assert_eq!(
8679        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8680        8usize,
8681        "Offset of field: env_md_ctx_st::md_data"
8682    );
8683    assert_eq!(
8684        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8685        16usize,
8686        "Offset of field: env_md_ctx_st::update"
8687    );
8688    assert_eq!(
8689        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8690        24usize,
8691        "Offset of field: env_md_ctx_st::pctx"
8692    );
8693    assert_eq!(
8694        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8695        32usize,
8696        "Offset of field: env_md_ctx_st::pctx_ops"
8697    );
8698    assert_eq!(
8699        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8700        40usize,
8701        "Offset of field: env_md_ctx_st::flags"
8702    );
8703}
8704impl Default for env_md_ctx_st {
8705    fn default() -> Self {
8706        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8707        unsafe {
8708            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8709            s.assume_init()
8710        }
8711    }
8712}
8713extern "C" {
8714    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_unstable_sha3_enable"]
8715    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8716}
8717extern "C" {
8718    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_unstable_sha3_is_enabled"]
8719    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8720}
8721extern "C" {
8722    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_CTX_set_flags"]
8723    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8724}
8725extern "C" {
8726    #[link_name = "\u{1}aws_lc_0_34_0_EVP_add_digest"]
8727    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8728}
8729extern "C" {
8730    #[link_name = "\u{1}aws_lc_0_34_0_EVP_md_null"]
8731    pub fn EVP_md_null() -> *const EVP_MD;
8732}
8733#[repr(C)]
8734#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8735pub struct DSA_SIG_st {
8736    pub r: *mut BIGNUM,
8737    pub s: *mut BIGNUM,
8738}
8739#[test]
8740fn bindgen_test_layout_DSA_SIG_st() {
8741    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8742    let ptr = UNINIT.as_ptr();
8743    assert_eq!(
8744        ::std::mem::size_of::<DSA_SIG_st>(),
8745        16usize,
8746        "Size of DSA_SIG_st"
8747    );
8748    assert_eq!(
8749        ::std::mem::align_of::<DSA_SIG_st>(),
8750        8usize,
8751        "Alignment of DSA_SIG_st"
8752    );
8753    assert_eq!(
8754        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8755        0usize,
8756        "Offset of field: DSA_SIG_st::r"
8757    );
8758    assert_eq!(
8759        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8760        8usize,
8761        "Offset of field: DSA_SIG_st::s"
8762    );
8763}
8764impl Default for DSA_SIG_st {
8765    fn default() -> Self {
8766        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8767        unsafe {
8768            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8769            s.assume_init()
8770        }
8771    }
8772}
8773#[repr(u32)]
8774#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8775pub enum point_conversion_form_t {
8776    POINT_CONVERSION_COMPRESSED = 2,
8777    POINT_CONVERSION_UNCOMPRESSED = 4,
8778    POINT_CONVERSION_HYBRID = 6,
8779}
8780extern "C" {
8781    #[link_name = "\u{1}aws_lc_0_34_0_EC_group_p224"]
8782    pub fn EC_group_p224() -> *const EC_GROUP;
8783}
8784extern "C" {
8785    #[link_name = "\u{1}aws_lc_0_34_0_EC_group_p256"]
8786    pub fn EC_group_p256() -> *const EC_GROUP;
8787}
8788extern "C" {
8789    #[link_name = "\u{1}aws_lc_0_34_0_EC_group_p384"]
8790    pub fn EC_group_p384() -> *const EC_GROUP;
8791}
8792extern "C" {
8793    #[link_name = "\u{1}aws_lc_0_34_0_EC_group_p521"]
8794    pub fn EC_group_p521() -> *const EC_GROUP;
8795}
8796extern "C" {
8797    #[link_name = "\u{1}aws_lc_0_34_0_EC_group_secp256k1"]
8798    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8799}
8800extern "C" {
8801    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_new_by_curve_name"]
8802    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8803}
8804extern "C" {
8805    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_new_by_curve_name_mutable"]
8806    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8807}
8808extern "C" {
8809    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_cmp"]
8810    pub fn EC_GROUP_cmp(
8811        a: *const EC_GROUP,
8812        b: *const EC_GROUP,
8813        ignored: *mut BN_CTX,
8814    ) -> ::std::os::raw::c_int;
8815}
8816extern "C" {
8817    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get0_generator"]
8818    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
8819}
8820extern "C" {
8821    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get0_order"]
8822    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
8823}
8824extern "C" {
8825    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_order_bits"]
8826    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8827}
8828extern "C" {
8829    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_cofactor"]
8830    pub fn EC_GROUP_get_cofactor(
8831        group: *const EC_GROUP,
8832        cofactor: *mut BIGNUM,
8833        ctx: *mut BN_CTX,
8834    ) -> ::std::os::raw::c_int;
8835}
8836extern "C" {
8837    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_curve_GFp"]
8838    pub fn EC_GROUP_get_curve_GFp(
8839        group: *const EC_GROUP,
8840        out_p: *mut BIGNUM,
8841        out_a: *mut BIGNUM,
8842        out_b: *mut BIGNUM,
8843        ctx: *mut BN_CTX,
8844    ) -> ::std::os::raw::c_int;
8845}
8846extern "C" {
8847    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_curve_name"]
8848    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8849}
8850extern "C" {
8851    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_degree"]
8852    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
8853}
8854extern "C" {
8855    #[link_name = "\u{1}aws_lc_0_34_0_EC_curve_nid2nist"]
8856    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8857}
8858extern "C" {
8859    #[link_name = "\u{1}aws_lc_0_34_0_EC_curve_nist2nid"]
8860    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8861}
8862extern "C" {
8863    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_new"]
8864    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
8865}
8866extern "C" {
8867    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_free"]
8868    pub fn EC_POINT_free(point: *mut EC_POINT);
8869}
8870extern "C" {
8871    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_copy"]
8872    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
8873}
8874extern "C" {
8875    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_dup"]
8876    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
8877}
8878extern "C" {
8879    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_set_to_infinity"]
8880    pub fn EC_POINT_set_to_infinity(
8881        group: *const EC_GROUP,
8882        point: *mut EC_POINT,
8883    ) -> ::std::os::raw::c_int;
8884}
8885extern "C" {
8886    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_is_at_infinity"]
8887    pub fn EC_POINT_is_at_infinity(
8888        group: *const EC_GROUP,
8889        point: *const EC_POINT,
8890    ) -> ::std::os::raw::c_int;
8891}
8892extern "C" {
8893    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_is_on_curve"]
8894    pub fn EC_POINT_is_on_curve(
8895        group: *const EC_GROUP,
8896        point: *const EC_POINT,
8897        ctx: *mut BN_CTX,
8898    ) -> ::std::os::raw::c_int;
8899}
8900extern "C" {
8901    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_cmp"]
8902    pub fn EC_POINT_cmp(
8903        group: *const EC_GROUP,
8904        a: *const EC_POINT,
8905        b: *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_34_0_EC_POINT_get_affine_coordinates_GFp"]
8911    pub fn EC_POINT_get_affine_coordinates_GFp(
8912        group: *const EC_GROUP,
8913        point: *const EC_POINT,
8914        x: *mut BIGNUM,
8915        y: *mut BIGNUM,
8916        ctx: *mut BN_CTX,
8917    ) -> ::std::os::raw::c_int;
8918}
8919extern "C" {
8920    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_get_affine_coordinates"]
8921    pub fn EC_POINT_get_affine_coordinates(
8922        group: *const EC_GROUP,
8923        point: *const EC_POINT,
8924        x: *mut BIGNUM,
8925        y: *mut BIGNUM,
8926        ctx: *mut BN_CTX,
8927    ) -> ::std::os::raw::c_int;
8928}
8929extern "C" {
8930    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_set_affine_coordinates_GFp"]
8931    pub fn EC_POINT_set_affine_coordinates_GFp(
8932        group: *const EC_GROUP,
8933        point: *mut EC_POINT,
8934        x: *const BIGNUM,
8935        y: *const BIGNUM,
8936        ctx: *mut BN_CTX,
8937    ) -> ::std::os::raw::c_int;
8938}
8939extern "C" {
8940    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_set_affine_coordinates"]
8941    pub fn EC_POINT_set_affine_coordinates(
8942        group: *const EC_GROUP,
8943        point: *mut EC_POINT,
8944        x: *const BIGNUM,
8945        y: *const BIGNUM,
8946        ctx: *mut BN_CTX,
8947    ) -> ::std::os::raw::c_int;
8948}
8949extern "C" {
8950    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_point2oct"]
8951    pub fn EC_POINT_point2oct(
8952        group: *const EC_GROUP,
8953        point: *const EC_POINT,
8954        form: point_conversion_form_t,
8955        buf: *mut u8,
8956        len: usize,
8957        ctx: *mut BN_CTX,
8958    ) -> usize;
8959}
8960extern "C" {
8961    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_point2cbb"]
8962    pub fn EC_POINT_point2cbb(
8963        out: *mut CBB,
8964        group: *const EC_GROUP,
8965        point: *const EC_POINT,
8966        form: point_conversion_form_t,
8967        ctx: *mut BN_CTX,
8968    ) -> ::std::os::raw::c_int;
8969}
8970extern "C" {
8971    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_oct2point"]
8972    pub fn EC_POINT_oct2point(
8973        group: *const EC_GROUP,
8974        point: *mut EC_POINT,
8975        buf: *const u8,
8976        len: usize,
8977        ctx: *mut BN_CTX,
8978    ) -> ::std::os::raw::c_int;
8979}
8980extern "C" {
8981    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_set_compressed_coordinates_GFp"]
8982    pub fn EC_POINT_set_compressed_coordinates_GFp(
8983        group: *const EC_GROUP,
8984        point: *mut EC_POINT,
8985        x: *const BIGNUM,
8986        y_bit: ::std::os::raw::c_int,
8987        ctx: *mut BN_CTX,
8988    ) -> ::std::os::raw::c_int;
8989}
8990extern "C" {
8991    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_add"]
8992    pub fn EC_POINT_add(
8993        group: *const EC_GROUP,
8994        r: *mut EC_POINT,
8995        a: *const EC_POINT,
8996        b: *const EC_POINT,
8997        ctx: *mut BN_CTX,
8998    ) -> ::std::os::raw::c_int;
8999}
9000extern "C" {
9001    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_dbl"]
9002    pub fn EC_POINT_dbl(
9003        group: *const EC_GROUP,
9004        r: *mut EC_POINT,
9005        a: *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_34_0_EC_POINT_invert"]
9011    pub fn EC_POINT_invert(
9012        group: *const EC_GROUP,
9013        a: *mut EC_POINT,
9014        ctx: *mut BN_CTX,
9015    ) -> ::std::os::raw::c_int;
9016}
9017extern "C" {
9018    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_mul"]
9019    pub fn EC_POINT_mul(
9020        group: *const EC_GROUP,
9021        r: *mut EC_POINT,
9022        n: *const BIGNUM,
9023        q: *const EC_POINT,
9024        m: *const BIGNUM,
9025        ctx: *mut BN_CTX,
9026    ) -> ::std::os::raw::c_int;
9027}
9028extern "C" {
9029    #[link_name = "\u{1}aws_lc_0_34_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9030    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9031        group: *const EC_GROUP,
9032        out: *mut EC_POINT,
9033        dst: *const u8,
9034        dst_len: usize,
9035        msg: *const u8,
9036        msg_len: usize,
9037    ) -> ::std::os::raw::c_int;
9038}
9039extern "C" {
9040    #[link_name = "\u{1}aws_lc_0_34_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9041    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9042        group: *const EC_GROUP,
9043        out: *mut EC_POINT,
9044        dst: *const u8,
9045        dst_len: usize,
9046        msg: *const u8,
9047        msg_len: usize,
9048    ) -> ::std::os::raw::c_int;
9049}
9050extern "C" {
9051    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_free"]
9052    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9053}
9054extern "C" {
9055    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_dup"]
9056    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9057}
9058extern "C" {
9059    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_new_curve_GFp"]
9060    pub fn EC_GROUP_new_curve_GFp(
9061        p: *const BIGNUM,
9062        a: *const BIGNUM,
9063        b: *const BIGNUM,
9064        ctx: *mut BN_CTX,
9065    ) -> *mut EC_GROUP;
9066}
9067extern "C" {
9068    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_set_generator"]
9069    pub fn EC_GROUP_set_generator(
9070        group: *mut EC_GROUP,
9071        generator: *const EC_POINT,
9072        order: *const BIGNUM,
9073        cofactor: *const BIGNUM,
9074    ) -> ::std::os::raw::c_int;
9075}
9076extern "C" {
9077    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_point2bn"]
9078    pub fn EC_POINT_point2bn(
9079        group: *const EC_GROUP,
9080        point: *const EC_POINT,
9081        form: point_conversion_form_t,
9082        ret: *mut BIGNUM,
9083        ctx: *mut BN_CTX,
9084    ) -> *mut BIGNUM;
9085}
9086extern "C" {
9087    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_bn2point"]
9088    pub fn EC_POINT_bn2point(
9089        group: *const EC_GROUP,
9090        bn: *const BIGNUM,
9091        point: *mut EC_POINT,
9092        ctx: *mut BN_CTX,
9093    ) -> *mut EC_POINT;
9094}
9095extern "C" {
9096    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_order"]
9097    pub fn EC_GROUP_get_order(
9098        group: *const EC_GROUP,
9099        order: *mut BIGNUM,
9100        ctx: *mut BN_CTX,
9101    ) -> ::std::os::raw::c_int;
9102}
9103#[repr(C)]
9104#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9105pub struct EC_builtin_curve {
9106    pub nid: ::std::os::raw::c_int,
9107    pub comment: *const ::std::os::raw::c_char,
9108}
9109#[test]
9110fn bindgen_test_layout_EC_builtin_curve() {
9111    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9112    let ptr = UNINIT.as_ptr();
9113    assert_eq!(
9114        ::std::mem::size_of::<EC_builtin_curve>(),
9115        16usize,
9116        "Size of EC_builtin_curve"
9117    );
9118    assert_eq!(
9119        ::std::mem::align_of::<EC_builtin_curve>(),
9120        8usize,
9121        "Alignment of EC_builtin_curve"
9122    );
9123    assert_eq!(
9124        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9125        0usize,
9126        "Offset of field: EC_builtin_curve::nid"
9127    );
9128    assert_eq!(
9129        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9130        8usize,
9131        "Offset of field: EC_builtin_curve::comment"
9132    );
9133}
9134impl Default for EC_builtin_curve {
9135    fn default() -> Self {
9136        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9137        unsafe {
9138            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9139            s.assume_init()
9140        }
9141    }
9142}
9143extern "C" {
9144    #[link_name = "\u{1}aws_lc_0_34_0_EC_get_builtin_curves"]
9145    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9146        -> usize;
9147}
9148extern "C" {
9149    #[link_name = "\u{1}aws_lc_0_34_0_EC_POINT_clear_free"]
9150    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9151}
9152extern "C" {
9153    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_set_seed"]
9154    pub fn EC_GROUP_set_seed(
9155        group: *mut EC_GROUP,
9156        p: *const ::std::os::raw::c_uchar,
9157        len: usize,
9158    ) -> usize;
9159}
9160extern "C" {
9161    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get0_seed"]
9162    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9163}
9164extern "C" {
9165    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_seed_len"]
9166    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9167}
9168extern "C" {
9169    #[link_name = "\u{1}aws_lc_0_34_0_ECPKParameters_print"]
9170    pub fn ECPKParameters_print(
9171        bio: *mut BIO,
9172        group: *const EC_GROUP,
9173        offset: ::std::os::raw::c_int,
9174    ) -> ::std::os::raw::c_int;
9175}
9176extern "C" {
9177    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_set_asn1_flag"]
9178    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9179}
9180extern "C" {
9181    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_asn1_flag"]
9182    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9183}
9184extern "C" {
9185    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_set_point_conversion_form"]
9186    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9187}
9188extern "C" {
9189    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_get_point_conversion_form"]
9190    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9191}
9192extern "C" {
9193    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_decoded_from_explicit_params"]
9194    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9195}
9196#[repr(C)]
9197#[derive(Debug, Copy, Clone)]
9198pub struct ec_method_st {
9199    _unused: [u8; 0],
9200}
9201pub type EC_METHOD = ec_method_st;
9202extern "C" {
9203    #[link_name = "\u{1}aws_lc_0_34_0_EC_GROUP_method_of"]
9204    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9205}
9206extern "C" {
9207    #[link_name = "\u{1}aws_lc_0_34_0_EC_METHOD_get_field_type"]
9208    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9209}
9210extern "C" {
9211    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_new"]
9212    pub fn EC_KEY_new() -> *mut EC_KEY;
9213}
9214extern "C" {
9215    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_new_method"]
9216    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9217}
9218extern "C" {
9219    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_new_by_curve_name"]
9220    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9221}
9222extern "C" {
9223    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_free"]
9224    pub fn EC_KEY_free(key: *mut EC_KEY);
9225}
9226extern "C" {
9227    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_dup"]
9228    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9229}
9230extern "C" {
9231    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_up_ref"]
9232    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9233}
9234extern "C" {
9235    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_is_opaque"]
9236    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9237}
9238extern "C" {
9239    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get0_group"]
9240    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9241}
9242extern "C" {
9243    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_group"]
9244    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9245}
9246extern "C" {
9247    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get0_private_key"]
9248    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9249}
9250extern "C" {
9251    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_private_key"]
9252    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9253}
9254extern "C" {
9255    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get0_public_key"]
9256    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9257}
9258extern "C" {
9259    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_public_key"]
9260    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9261}
9262extern "C" {
9263    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get_enc_flags"]
9264    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9265}
9266extern "C" {
9267    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_enc_flags"]
9268    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9269}
9270extern "C" {
9271    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get_conv_form"]
9272    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9273}
9274extern "C" {
9275    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_conv_form"]
9276    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9277}
9278extern "C" {
9279    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_check_key"]
9280    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9281}
9282extern "C" {
9283    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_check_fips"]
9284    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9285}
9286extern "C" {
9287    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_public_key_affine_coordinates"]
9288    pub fn EC_KEY_set_public_key_affine_coordinates(
9289        key: *mut EC_KEY,
9290        x: *const BIGNUM,
9291        y: *const BIGNUM,
9292    ) -> ::std::os::raw::c_int;
9293}
9294extern "C" {
9295    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_key2buf"]
9296    pub fn EC_KEY_key2buf(
9297        key: *const EC_KEY,
9298        form: point_conversion_form_t,
9299        out_buf: *mut *mut ::std::os::raw::c_uchar,
9300        ctx: *mut BN_CTX,
9301    ) -> usize;
9302}
9303extern "C" {
9304    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_generate_key"]
9305    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9306}
9307extern "C" {
9308    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_generate_key_fips"]
9309    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9310}
9311extern "C" {
9312    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_derive_from_secret"]
9313    pub fn EC_KEY_derive_from_secret(
9314        group: *const EC_GROUP,
9315        secret: *const u8,
9316        secret_len: usize,
9317    ) -> *mut EC_KEY;
9318}
9319extern "C" {
9320    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_parse_private_key"]
9321    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9322}
9323extern "C" {
9324    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_marshal_private_key"]
9325    pub fn EC_KEY_marshal_private_key(
9326        cbb: *mut CBB,
9327        key: *const EC_KEY,
9328        enc_flags: ::std::os::raw::c_uint,
9329    ) -> ::std::os::raw::c_int;
9330}
9331extern "C" {
9332    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_parse_curve_name"]
9333    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9334}
9335extern "C" {
9336    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_marshal_curve_name"]
9337    pub fn EC_KEY_marshal_curve_name(
9338        cbb: *mut CBB,
9339        group: *const EC_GROUP,
9340    ) -> ::std::os::raw::c_int;
9341}
9342extern "C" {
9343    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_parse_parameters"]
9344    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9345}
9346extern "C" {
9347    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get_ex_new_index"]
9348    pub fn EC_KEY_get_ex_new_index(
9349        argl: ::std::os::raw::c_long,
9350        argp: *mut ::std::os::raw::c_void,
9351        unused: *mut CRYPTO_EX_unused,
9352        dup_unused: CRYPTO_EX_dup,
9353        free_func: CRYPTO_EX_free,
9354    ) -> ::std::os::raw::c_int;
9355}
9356extern "C" {
9357    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_ex_data"]
9358    pub fn EC_KEY_set_ex_data(
9359        r: *mut EC_KEY,
9360        idx: ::std::os::raw::c_int,
9361        arg: *mut ::std::os::raw::c_void,
9362    ) -> ::std::os::raw::c_int;
9363}
9364extern "C" {
9365    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get_ex_data"]
9366    pub fn EC_KEY_get_ex_data(
9367        r: *const EC_KEY,
9368        idx: ::std::os::raw::c_int,
9369    ) -> *mut ::std::os::raw::c_void;
9370}
9371extern "C" {
9372    #[link_name = "\u{1}aws_lc_0_34_0_d2i_ECPrivateKey"]
9373    pub fn d2i_ECPrivateKey(
9374        out_key: *mut *mut EC_KEY,
9375        inp: *mut *const u8,
9376        len: ::std::os::raw::c_long,
9377    ) -> *mut EC_KEY;
9378}
9379extern "C" {
9380    #[link_name = "\u{1}aws_lc_0_34_0_i2d_ECPrivateKey"]
9381    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9382}
9383extern "C" {
9384    #[link_name = "\u{1}aws_lc_0_34_0_d2i_ECParameters"]
9385    pub fn d2i_ECParameters(
9386        out_key: *mut *mut EC_KEY,
9387        inp: *mut *const u8,
9388        len: ::std::os::raw::c_long,
9389    ) -> *mut EC_KEY;
9390}
9391extern "C" {
9392    #[link_name = "\u{1}aws_lc_0_34_0_i2d_ECParameters"]
9393    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9394}
9395extern "C" {
9396    #[link_name = "\u{1}aws_lc_0_34_0_d2i_ECPKParameters_bio"]
9397    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9398}
9399extern "C" {
9400    #[link_name = "\u{1}aws_lc_0_34_0_i2d_ECPKParameters_bio"]
9401    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9402}
9403extern "C" {
9404    #[link_name = "\u{1}aws_lc_0_34_0_o2i_ECPublicKey"]
9405    pub fn o2i_ECPublicKey(
9406        out_key: *mut *mut EC_KEY,
9407        inp: *mut *const u8,
9408        len: ::std::os::raw::c_long,
9409    ) -> *mut EC_KEY;
9410}
9411extern "C" {
9412    #[link_name = "\u{1}aws_lc_0_34_0_i2o_ECPublicKey"]
9413    pub fn i2o_ECPublicKey(
9414        key: *const EC_KEY,
9415        outp: *mut *mut ::std::os::raw::c_uchar,
9416    ) -> ::std::os::raw::c_int;
9417}
9418extern "C" {
9419    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get_default_method"]
9420    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9421}
9422extern "C" {
9423    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_OpenSSL"]
9424    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9425}
9426extern "C" {
9427    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_METHOD_new"]
9428    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9429}
9430extern "C" {
9431    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_METHOD_free"]
9432    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9433}
9434extern "C" {
9435    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_method"]
9436    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9437}
9438extern "C" {
9439    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_get_method"]
9440    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9441}
9442extern "C" {
9443    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_METHOD_set_sign_awslc"]
9444    pub fn EC_KEY_METHOD_set_sign_awslc(
9445        meth: *mut EC_KEY_METHOD,
9446        sign: ::std::option::Option<
9447            unsafe extern "C" fn(
9448                type_: ::std::os::raw::c_int,
9449                digest: *const u8,
9450                digest_len: ::std::os::raw::c_int,
9451                sig: *mut u8,
9452                siglen: *mut ::std::os::raw::c_uint,
9453                k_inv: *const BIGNUM,
9454                r: *const BIGNUM,
9455                eckey: *mut EC_KEY,
9456            ) -> ::std::os::raw::c_int,
9457        >,
9458        sign_sig: ::std::option::Option<
9459            unsafe extern "C" fn(
9460                digest: *const u8,
9461                digest_len: ::std::os::raw::c_int,
9462                in_kinv: *const BIGNUM,
9463                in_r: *const BIGNUM,
9464                eckey: *mut EC_KEY,
9465            ) -> *mut ECDSA_SIG,
9466        >,
9467    );
9468}
9469extern "C" {
9470    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_METHOD_set_init_awslc"]
9471    pub fn EC_KEY_METHOD_set_init_awslc(
9472        meth: *mut EC_KEY_METHOD,
9473        init: ::std::option::Option<
9474            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9475        >,
9476        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9477    );
9478}
9479extern "C" {
9480    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_METHOD_set_flags"]
9481    pub fn EC_KEY_METHOD_set_flags(
9482        meth: *mut EC_KEY_METHOD,
9483        flags: ::std::os::raw::c_int,
9484    ) -> ::std::os::raw::c_int;
9485}
9486extern "C" {
9487    #[link_name = "\u{1}aws_lc_0_34_0_EC_KEY_set_asn1_flag"]
9488    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9489}
9490extern "C" {
9491    #[link_name = "\u{1}aws_lc_0_34_0_ECDH_compute_key"]
9492    pub fn ECDH_compute_key(
9493        out: *mut ::std::os::raw::c_void,
9494        outlen: usize,
9495        pub_key: *const EC_POINT,
9496        priv_key: *const EC_KEY,
9497        kdf: ::std::option::Option<
9498            unsafe extern "C" fn(
9499                in_: *const ::std::os::raw::c_void,
9500                inlen: usize,
9501                out: *mut ::std::os::raw::c_void,
9502                outlen: *mut usize,
9503            ) -> *mut ::std::os::raw::c_void,
9504        >,
9505    ) -> ::std::os::raw::c_int;
9506}
9507extern "C" {
9508    #[link_name = "\u{1}aws_lc_0_34_0_ECDH_compute_key_fips"]
9509    pub fn ECDH_compute_key_fips(
9510        out: *mut u8,
9511        out_len: usize,
9512        pub_key: *const EC_POINT,
9513        priv_key: *const EC_KEY,
9514    ) -> ::std::os::raw::c_int;
9515}
9516extern "C" {
9517    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_sign"]
9518    pub fn ECDSA_sign(
9519        type_: ::std::os::raw::c_int,
9520        digest: *const u8,
9521        digest_len: usize,
9522        sig: *mut u8,
9523        sig_len: *mut ::std::os::raw::c_uint,
9524        key: *const EC_KEY,
9525    ) -> ::std::os::raw::c_int;
9526}
9527extern "C" {
9528    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_verify"]
9529    pub fn ECDSA_verify(
9530        type_: ::std::os::raw::c_int,
9531        digest: *const u8,
9532        digest_len: usize,
9533        sig: *const u8,
9534        sig_len: usize,
9535        key: *const EC_KEY,
9536    ) -> ::std::os::raw::c_int;
9537}
9538extern "C" {
9539    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_size"]
9540    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9541}
9542#[repr(C)]
9543#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9544pub struct ecdsa_sig_st {
9545    pub r: *mut BIGNUM,
9546    pub s: *mut BIGNUM,
9547}
9548#[test]
9549fn bindgen_test_layout_ecdsa_sig_st() {
9550    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9551    let ptr = UNINIT.as_ptr();
9552    assert_eq!(
9553        ::std::mem::size_of::<ecdsa_sig_st>(),
9554        16usize,
9555        "Size of ecdsa_sig_st"
9556    );
9557    assert_eq!(
9558        ::std::mem::align_of::<ecdsa_sig_st>(),
9559        8usize,
9560        "Alignment of ecdsa_sig_st"
9561    );
9562    assert_eq!(
9563        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9564        0usize,
9565        "Offset of field: ecdsa_sig_st::r"
9566    );
9567    assert_eq!(
9568        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9569        8usize,
9570        "Offset of field: ecdsa_sig_st::s"
9571    );
9572}
9573impl Default for ecdsa_sig_st {
9574    fn default() -> Self {
9575        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9576        unsafe {
9577            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9578            s.assume_init()
9579        }
9580    }
9581}
9582extern "C" {
9583    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_new"]
9584    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9585}
9586extern "C" {
9587    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_free"]
9588    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9589}
9590extern "C" {
9591    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_get0_r"]
9592    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9593}
9594extern "C" {
9595    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_get0_s"]
9596    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9597}
9598extern "C" {
9599    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_get0"]
9600    pub fn ECDSA_SIG_get0(
9601        sig: *const ECDSA_SIG,
9602        out_r: *mut *const BIGNUM,
9603        out_s: *mut *const BIGNUM,
9604    );
9605}
9606extern "C" {
9607    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_set0"]
9608    pub fn ECDSA_SIG_set0(
9609        sig: *mut ECDSA_SIG,
9610        r: *mut BIGNUM,
9611        s: *mut BIGNUM,
9612    ) -> ::std::os::raw::c_int;
9613}
9614extern "C" {
9615    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_do_sign"]
9616    pub fn ECDSA_do_sign(
9617        digest: *const u8,
9618        digest_len: usize,
9619        key: *const EC_KEY,
9620    ) -> *mut ECDSA_SIG;
9621}
9622extern "C" {
9623    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_do_verify"]
9624    pub fn ECDSA_do_verify(
9625        digest: *const u8,
9626        digest_len: usize,
9627        sig: *const ECDSA_SIG,
9628        key: *const EC_KEY,
9629    ) -> ::std::os::raw::c_int;
9630}
9631extern "C" {
9632    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_parse"]
9633    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9634}
9635extern "C" {
9636    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_from_bytes"]
9637    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9638}
9639extern "C" {
9640    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_marshal"]
9641    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9642}
9643extern "C" {
9644    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_to_bytes"]
9645    pub fn ECDSA_SIG_to_bytes(
9646        out_bytes: *mut *mut u8,
9647        out_len: *mut usize,
9648        sig: *const ECDSA_SIG,
9649    ) -> ::std::os::raw::c_int;
9650}
9651extern "C" {
9652    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_SIG_max_len"]
9653    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9654}
9655extern "C" {
9656    #[link_name = "\u{1}aws_lc_0_34_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9657    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9658        digest: *const u8,
9659        digest_len: usize,
9660        eckey: *const EC_KEY,
9661        nonce: *const u8,
9662        nonce_len: usize,
9663    ) -> *mut ECDSA_SIG;
9664}
9665extern "C" {
9666    #[link_name = "\u{1}aws_lc_0_34_0_d2i_ECDSA_SIG"]
9667    pub fn d2i_ECDSA_SIG(
9668        out: *mut *mut ECDSA_SIG,
9669        inp: *mut *const u8,
9670        len: ::std::os::raw::c_long,
9671    ) -> *mut ECDSA_SIG;
9672}
9673extern "C" {
9674    #[link_name = "\u{1}aws_lc_0_34_0_i2d_ECDSA_SIG"]
9675    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9676}
9677extern "C" {
9678    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_gcm"]
9679    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9680}
9681extern "C" {
9682    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_192_gcm"]
9683    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9684}
9685extern "C" {
9686    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_gcm"]
9687    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9688}
9689extern "C" {
9690    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_chacha20_poly1305"]
9691    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9692}
9693extern "C" {
9694    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_xchacha20_poly1305"]
9695    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9696}
9697extern "C" {
9698    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_ctr_hmac_sha256"]
9699    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9700}
9701extern "C" {
9702    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_ctr_hmac_sha256"]
9703    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9704}
9705extern "C" {
9706    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_gcm_siv"]
9707    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9708}
9709extern "C" {
9710    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_gcm_siv"]
9711    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9712}
9713extern "C" {
9714    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_gcm_randnonce"]
9715    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9716}
9717extern "C" {
9718    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_gcm_randnonce"]
9719    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9720}
9721extern "C" {
9722    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_ccm_bluetooth"]
9723    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9724}
9725extern "C" {
9726    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_ccm_bluetooth_8"]
9727    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9728}
9729extern "C" {
9730    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_ccm_matter"]
9731    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9732}
9733extern "C" {
9734    #[link_name = "\u{1}aws_lc_0_34_0_EVP_has_aes_hardware"]
9735    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9736}
9737extern "C" {
9738    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_key_length"]
9739    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9740}
9741extern "C" {
9742    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_nonce_length"]
9743    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9744}
9745extern "C" {
9746    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_max_overhead"]
9747    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9748}
9749extern "C" {
9750    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_max_tag_len"]
9751    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9752}
9753#[repr(C)]
9754#[derive(Copy, Clone)]
9755pub union evp_aead_ctx_st_state {
9756    pub opaque: [u8; 564usize],
9757    pub alignment: u64,
9758    pub ptr: *mut ::std::os::raw::c_void,
9759}
9760#[test]
9761fn bindgen_test_layout_evp_aead_ctx_st_state() {
9762    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9763        ::std::mem::MaybeUninit::uninit();
9764    let ptr = UNINIT.as_ptr();
9765    assert_eq!(
9766        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9767        568usize,
9768        "Size of evp_aead_ctx_st_state"
9769    );
9770    assert_eq!(
9771        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9772        8usize,
9773        "Alignment of evp_aead_ctx_st_state"
9774    );
9775    assert_eq!(
9776        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9777        0usize,
9778        "Offset of field: evp_aead_ctx_st_state::opaque"
9779    );
9780    assert_eq!(
9781        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9782        0usize,
9783        "Offset of field: evp_aead_ctx_st_state::alignment"
9784    );
9785    assert_eq!(
9786        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9787        0usize,
9788        "Offset of field: evp_aead_ctx_st_state::ptr"
9789    );
9790}
9791impl Default for evp_aead_ctx_st_state {
9792    fn default() -> Self {
9793        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9794        unsafe {
9795            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9796            s.assume_init()
9797        }
9798    }
9799}
9800#[repr(C)]
9801#[derive(Copy, Clone)]
9802pub struct evp_aead_ctx_st {
9803    pub aead: *const EVP_AEAD,
9804    pub state: evp_aead_ctx_st_state,
9805    pub state_offset: u8,
9806    pub tag_len: u8,
9807}
9808#[test]
9809fn bindgen_test_layout_evp_aead_ctx_st() {
9810    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
9811    let ptr = UNINIT.as_ptr();
9812    assert_eq!(
9813        ::std::mem::size_of::<evp_aead_ctx_st>(),
9814        584usize,
9815        "Size of evp_aead_ctx_st"
9816    );
9817    assert_eq!(
9818        ::std::mem::align_of::<evp_aead_ctx_st>(),
9819        8usize,
9820        "Alignment of evp_aead_ctx_st"
9821    );
9822    assert_eq!(
9823        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
9824        0usize,
9825        "Offset of field: evp_aead_ctx_st::aead"
9826    );
9827    assert_eq!(
9828        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
9829        8usize,
9830        "Offset of field: evp_aead_ctx_st::state"
9831    );
9832    assert_eq!(
9833        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
9834        576usize,
9835        "Offset of field: evp_aead_ctx_st::state_offset"
9836    );
9837    assert_eq!(
9838        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
9839        577usize,
9840        "Offset of field: evp_aead_ctx_st::tag_len"
9841    );
9842}
9843impl Default for evp_aead_ctx_st {
9844    fn default() -> Self {
9845        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9846        unsafe {
9847            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9848            s.assume_init()
9849        }
9850    }
9851}
9852extern "C" {
9853    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_zero"]
9854    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
9855}
9856extern "C" {
9857    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_new"]
9858    pub fn EVP_AEAD_CTX_new(
9859        aead: *const EVP_AEAD,
9860        key: *const u8,
9861        key_len: usize,
9862        tag_len: usize,
9863    ) -> *mut EVP_AEAD_CTX;
9864}
9865extern "C" {
9866    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_free"]
9867    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
9868}
9869extern "C" {
9870    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_init"]
9871    pub fn EVP_AEAD_CTX_init(
9872        ctx: *mut EVP_AEAD_CTX,
9873        aead: *const EVP_AEAD,
9874        key: *const u8,
9875        key_len: usize,
9876        tag_len: usize,
9877        impl_: *mut ENGINE,
9878    ) -> ::std::os::raw::c_int;
9879}
9880extern "C" {
9881    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_cleanup"]
9882    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
9883}
9884extern "C" {
9885    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_seal"]
9886    pub fn EVP_AEAD_CTX_seal(
9887        ctx: *const EVP_AEAD_CTX,
9888        out: *mut u8,
9889        out_len: *mut usize,
9890        max_out_len: usize,
9891        nonce: *const u8,
9892        nonce_len: usize,
9893        in_: *const u8,
9894        in_len: usize,
9895        ad: *const u8,
9896        ad_len: usize,
9897    ) -> ::std::os::raw::c_int;
9898}
9899extern "C" {
9900    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_open"]
9901    pub fn EVP_AEAD_CTX_open(
9902        ctx: *const EVP_AEAD_CTX,
9903        out: *mut u8,
9904        out_len: *mut usize,
9905        max_out_len: usize,
9906        nonce: *const u8,
9907        nonce_len: usize,
9908        in_: *const u8,
9909        in_len: usize,
9910        ad: *const u8,
9911        ad_len: usize,
9912    ) -> ::std::os::raw::c_int;
9913}
9914extern "C" {
9915    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_seal_scatter"]
9916    pub fn EVP_AEAD_CTX_seal_scatter(
9917        ctx: *const EVP_AEAD_CTX,
9918        out: *mut u8,
9919        out_tag: *mut u8,
9920        out_tag_len: *mut usize,
9921        max_out_tag_len: usize,
9922        nonce: *const u8,
9923        nonce_len: usize,
9924        in_: *const u8,
9925        in_len: usize,
9926        extra_in: *const u8,
9927        extra_in_len: usize,
9928        ad: *const u8,
9929        ad_len: usize,
9930    ) -> ::std::os::raw::c_int;
9931}
9932extern "C" {
9933    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_open_gather"]
9934    pub fn EVP_AEAD_CTX_open_gather(
9935        ctx: *const EVP_AEAD_CTX,
9936        out: *mut u8,
9937        nonce: *const u8,
9938        nonce_len: usize,
9939        in_: *const u8,
9940        in_len: usize,
9941        in_tag: *const u8,
9942        in_tag_len: usize,
9943        ad: *const u8,
9944        ad_len: usize,
9945    ) -> ::std::os::raw::c_int;
9946}
9947extern "C" {
9948    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_aead"]
9949    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
9950}
9951extern "C" {
9952    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_cbc_sha1_tls"]
9953    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
9954}
9955extern "C" {
9956    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
9957    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9958}
9959extern "C" {
9960    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_cbc_sha1_tls"]
9961    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
9962}
9963extern "C" {
9964    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
9965    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9966}
9967extern "C" {
9968    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_cbc_sha256_tls"]
9969    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
9970}
9971extern "C" {
9972    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
9973    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
9974}
9975extern "C" {
9976    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_cbc_sha384_tls"]
9977    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
9978}
9979extern "C" {
9980    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_des_ede3_cbc_sha1_tls"]
9981    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
9982}
9983extern "C" {
9984    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
9985    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9986}
9987extern "C" {
9988    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_null_sha1_tls"]
9989    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
9990}
9991extern "C" {
9992    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_gcm_tls12"]
9993    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
9994}
9995extern "C" {
9996    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_gcm_tls12"]
9997    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
9998}
9999extern "C" {
10000    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_128_gcm_tls13"]
10001    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10002}
10003extern "C" {
10004    #[link_name = "\u{1}aws_lc_0_34_0_EVP_aead_aes_256_gcm_tls13"]
10005    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10006}
10007pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10008pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10009pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10010extern "C" {
10011    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_init_with_direction"]
10012    pub fn EVP_AEAD_CTX_init_with_direction(
10013        ctx: *mut EVP_AEAD_CTX,
10014        aead: *const EVP_AEAD,
10015        key: *const u8,
10016        key_len: usize,
10017        tag_len: usize,
10018        dir: evp_aead_direction_t,
10019    ) -> ::std::os::raw::c_int;
10020}
10021extern "C" {
10022    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_get_iv"]
10023    pub fn EVP_AEAD_CTX_get_iv(
10024        ctx: *const EVP_AEAD_CTX,
10025        out_iv: *mut *const u8,
10026        out_len: *mut usize,
10027    ) -> ::std::os::raw::c_int;
10028}
10029extern "C" {
10030    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_CTX_tag_len"]
10031    pub fn EVP_AEAD_CTX_tag_len(
10032        ctx: *const EVP_AEAD_CTX,
10033        out_tag_len: *mut usize,
10034        in_len: usize,
10035        extra_in_len: usize,
10036    ) -> ::std::os::raw::c_int;
10037}
10038extern "C" {
10039    #[link_name = "\u{1}aws_lc_0_34_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10040    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10041        ipv4_address: u32,
10042        nanosecs: u64,
10043        out_iv: *mut u8,
10044    ) -> ::std::os::raw::c_int;
10045}
10046#[repr(C)]
10047#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10048pub struct md5_state_st {
10049    pub h: [u32; 4usize],
10050    pub Nl: u32,
10051    pub Nh: u32,
10052    pub data: [u8; 64usize],
10053    pub num: ::std::os::raw::c_uint,
10054}
10055#[test]
10056fn bindgen_test_layout_md5_state_st() {
10057    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10058    let ptr = UNINIT.as_ptr();
10059    assert_eq!(
10060        ::std::mem::size_of::<md5_state_st>(),
10061        92usize,
10062        "Size of md5_state_st"
10063    );
10064    assert_eq!(
10065        ::std::mem::align_of::<md5_state_st>(),
10066        4usize,
10067        "Alignment of md5_state_st"
10068    );
10069    assert_eq!(
10070        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10071        0usize,
10072        "Offset of field: md5_state_st::h"
10073    );
10074    assert_eq!(
10075        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10076        16usize,
10077        "Offset of field: md5_state_st::Nl"
10078    );
10079    assert_eq!(
10080        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10081        20usize,
10082        "Offset of field: md5_state_st::Nh"
10083    );
10084    assert_eq!(
10085        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10086        24usize,
10087        "Offset of field: md5_state_st::data"
10088    );
10089    assert_eq!(
10090        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10091        88usize,
10092        "Offset of field: md5_state_st::num"
10093    );
10094}
10095impl Default for md5_state_st {
10096    fn default() -> Self {
10097        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10098        unsafe {
10099            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10100            s.assume_init()
10101        }
10102    }
10103}
10104extern "C" {
10105    #[link_name = "\u{1}aws_lc_0_34_0_HMAC"]
10106    pub fn HMAC(
10107        evp_md: *const EVP_MD,
10108        key: *const ::std::os::raw::c_void,
10109        key_len: usize,
10110        data: *const u8,
10111        data_len: usize,
10112        out: *mut u8,
10113        out_len: *mut ::std::os::raw::c_uint,
10114    ) -> *mut u8;
10115}
10116extern "C" {
10117    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_init"]
10118    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10119}
10120extern "C" {
10121    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_new"]
10122    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10123}
10124extern "C" {
10125    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_cleanup"]
10126    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10127}
10128extern "C" {
10129    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_cleanse"]
10130    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10131}
10132extern "C" {
10133    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_free"]
10134    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10135}
10136extern "C" {
10137    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_Init_ex"]
10138    pub fn HMAC_Init_ex(
10139        ctx: *mut HMAC_CTX,
10140        key: *const ::std::os::raw::c_void,
10141        key_len: usize,
10142        md: *const EVP_MD,
10143        impl_: *mut ENGINE,
10144    ) -> ::std::os::raw::c_int;
10145}
10146extern "C" {
10147    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_Update"]
10148    pub fn HMAC_Update(
10149        ctx: *mut HMAC_CTX,
10150        data: *const u8,
10151        data_len: usize,
10152    ) -> ::std::os::raw::c_int;
10153}
10154extern "C" {
10155    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_Final"]
10156    pub fn HMAC_Final(
10157        ctx: *mut HMAC_CTX,
10158        out: *mut u8,
10159        out_len: *mut ::std::os::raw::c_uint,
10160    ) -> ::std::os::raw::c_int;
10161}
10162extern "C" {
10163    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_size"]
10164    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10165}
10166extern "C" {
10167    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_get_md"]
10168    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10169}
10170extern "C" {
10171    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_copy_ex"]
10172    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10173}
10174extern "C" {
10175    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_reset"]
10176    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10177}
10178extern "C" {
10179    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_set_precomputed_key_export"]
10180    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10181}
10182extern "C" {
10183    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_get_precomputed_key"]
10184    pub fn HMAC_get_precomputed_key(
10185        ctx: *mut HMAC_CTX,
10186        out: *mut u8,
10187        out_len: *mut usize,
10188    ) -> ::std::os::raw::c_int;
10189}
10190extern "C" {
10191    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_Init_from_precomputed_key"]
10192    pub fn HMAC_Init_from_precomputed_key(
10193        ctx: *mut HMAC_CTX,
10194        precomputed_key: *const u8,
10195        precompute_key_len: usize,
10196        md: *const EVP_MD,
10197    ) -> ::std::os::raw::c_int;
10198}
10199extern "C" {
10200    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_Init"]
10201    pub fn HMAC_Init(
10202        ctx: *mut HMAC_CTX,
10203        key: *const ::std::os::raw::c_void,
10204        key_len: ::std::os::raw::c_int,
10205        md: *const EVP_MD,
10206    ) -> ::std::os::raw::c_int;
10207}
10208extern "C" {
10209    #[link_name = "\u{1}aws_lc_0_34_0_HMAC_CTX_copy"]
10210    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10211}
10212#[repr(C)]
10213#[derive(Debug, Copy, Clone)]
10214pub struct hmac_methods_st {
10215    _unused: [u8; 0],
10216}
10217pub type HmacMethods = hmac_methods_st;
10218#[repr(C)]
10219#[derive(Copy, Clone)]
10220pub union md_ctx_union {
10221    pub md5: MD5_CTX,
10222    pub sha1: SHA_CTX,
10223    pub sha256: SHA256_CTX,
10224    pub sha512: SHA512_CTX,
10225    pub sha3: [u8; 400usize],
10226}
10227#[test]
10228fn bindgen_test_layout_md_ctx_union() {
10229    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10230    let ptr = UNINIT.as_ptr();
10231    assert_eq!(
10232        ::std::mem::size_of::<md_ctx_union>(),
10233        400usize,
10234        "Size of md_ctx_union"
10235    );
10236    assert_eq!(
10237        ::std::mem::align_of::<md_ctx_union>(),
10238        8usize,
10239        "Alignment of md_ctx_union"
10240    );
10241    assert_eq!(
10242        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10243        0usize,
10244        "Offset of field: md_ctx_union::md5"
10245    );
10246    assert_eq!(
10247        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10248        0usize,
10249        "Offset of field: md_ctx_union::sha1"
10250    );
10251    assert_eq!(
10252        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10253        0usize,
10254        "Offset of field: md_ctx_union::sha256"
10255    );
10256    assert_eq!(
10257        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10258        0usize,
10259        "Offset of field: md_ctx_union::sha512"
10260    );
10261    assert_eq!(
10262        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10263        0usize,
10264        "Offset of field: md_ctx_union::sha3"
10265    );
10266}
10267impl Default for md_ctx_union {
10268    fn default() -> Self {
10269        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10270        unsafe {
10271            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10272            s.assume_init()
10273        }
10274    }
10275}
10276#[repr(C)]
10277#[derive(Copy, Clone)]
10278pub struct hmac_ctx_st {
10279    pub md: *const EVP_MD,
10280    pub methods: *const HmacMethods,
10281    pub md_ctx: md_ctx_union,
10282    pub i_ctx: md_ctx_union,
10283    pub o_ctx: md_ctx_union,
10284    pub state: i8,
10285}
10286#[test]
10287fn bindgen_test_layout_hmac_ctx_st() {
10288    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10289    let ptr = UNINIT.as_ptr();
10290    assert_eq!(
10291        ::std::mem::size_of::<hmac_ctx_st>(),
10292        1224usize,
10293        "Size of hmac_ctx_st"
10294    );
10295    assert_eq!(
10296        ::std::mem::align_of::<hmac_ctx_st>(),
10297        8usize,
10298        "Alignment of hmac_ctx_st"
10299    );
10300    assert_eq!(
10301        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10302        0usize,
10303        "Offset of field: hmac_ctx_st::md"
10304    );
10305    assert_eq!(
10306        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10307        8usize,
10308        "Offset of field: hmac_ctx_st::methods"
10309    );
10310    assert_eq!(
10311        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10312        16usize,
10313        "Offset of field: hmac_ctx_st::md_ctx"
10314    );
10315    assert_eq!(
10316        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10317        416usize,
10318        "Offset of field: hmac_ctx_st::i_ctx"
10319    );
10320    assert_eq!(
10321        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10322        816usize,
10323        "Offset of field: hmac_ctx_st::o_ctx"
10324    );
10325    assert_eq!(
10326        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10327        1216usize,
10328        "Offset of field: hmac_ctx_st::state"
10329    );
10330}
10331impl Default for hmac_ctx_st {
10332    fn default() -> Self {
10333        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10334        unsafe {
10335            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10336            s.assume_init()
10337        }
10338    }
10339}
10340extern "C" {
10341    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_new"]
10342    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10343}
10344extern "C" {
10345    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_free"]
10346    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10347}
10348extern "C" {
10349    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_up_ref"]
10350    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10351}
10352extern "C" {
10353    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_is_opaque"]
10354    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10355}
10356extern "C" {
10357    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_cmp"]
10358    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10359}
10360extern "C" {
10361    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_copy_parameters"]
10362    pub fn EVP_PKEY_copy_parameters(
10363        to: *mut EVP_PKEY,
10364        from: *const EVP_PKEY,
10365    ) -> ::std::os::raw::c_int;
10366}
10367extern "C" {
10368    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_missing_parameters"]
10369    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10370}
10371extern "C" {
10372    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_size"]
10373    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10374}
10375extern "C" {
10376    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_bits"]
10377    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10378}
10379extern "C" {
10380    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_id"]
10381    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10382}
10383extern "C" {
10384    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_get0_name"]
10385    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10386}
10387extern "C" {
10388    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_name"]
10389    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10390}
10391extern "C" {
10392    #[link_name = "\u{1}aws_lc_0_34_0_EVP_get_pw_prompt"]
10393    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10394}
10395extern "C" {
10396    #[link_name = "\u{1}aws_lc_0_34_0_EVP_read_pw_string"]
10397    pub fn EVP_read_pw_string(
10398        buf: *mut ::std::os::raw::c_char,
10399        length: ::std::os::raw::c_int,
10400        prompt: *const ::std::os::raw::c_char,
10401        verify: ::std::os::raw::c_int,
10402    ) -> ::std::os::raw::c_int;
10403}
10404extern "C" {
10405    #[link_name = "\u{1}aws_lc_0_34_0_EVP_read_pw_string_min"]
10406    pub fn EVP_read_pw_string_min(
10407        buf: *mut ::std::os::raw::c_char,
10408        min_length: ::std::os::raw::c_int,
10409        length: ::std::os::raw::c_int,
10410        prompt: *const ::std::os::raw::c_char,
10411        verify: ::std::os::raw::c_int,
10412    ) -> ::std::os::raw::c_int;
10413}
10414extern "C" {
10415    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_set1_RSA"]
10416    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10417}
10418extern "C" {
10419    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_assign_RSA"]
10420    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10421}
10422extern "C" {
10423    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get0_RSA"]
10424    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10425}
10426extern "C" {
10427    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get1_RSA"]
10428    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10429}
10430extern "C" {
10431    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_set1_DSA"]
10432    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10433}
10434extern "C" {
10435    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_assign_DSA"]
10436    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10437}
10438extern "C" {
10439    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get0_DSA"]
10440    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10441}
10442extern "C" {
10443    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get1_DSA"]
10444    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10445}
10446extern "C" {
10447    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_set1_EC_KEY"]
10448    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10449}
10450extern "C" {
10451    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_assign_EC_KEY"]
10452    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10453}
10454extern "C" {
10455    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get0_EC_KEY"]
10456    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10457}
10458extern "C" {
10459    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get1_EC_KEY"]
10460    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10461}
10462extern "C" {
10463    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_set1_DH"]
10464    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10465}
10466extern "C" {
10467    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_assign_DH"]
10468    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10469}
10470extern "C" {
10471    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get0_DH"]
10472    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10473}
10474extern "C" {
10475    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get1_DH"]
10476    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10477}
10478extern "C" {
10479    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10480    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10481        ctx: *mut EVP_PKEY_CTX,
10482        pbits: ::std::os::raw::c_int,
10483    ) -> ::std::os::raw::c_int;
10484}
10485extern "C" {
10486    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10487    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10488        ctx: *mut EVP_PKEY_CTX,
10489        gen_: ::std::os::raw::c_int,
10490    ) -> ::std::os::raw::c_int;
10491}
10492extern "C" {
10493    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_set_type"]
10494    pub fn EVP_PKEY_set_type(
10495        pkey: *mut EVP_PKEY,
10496        type_: ::std::os::raw::c_int,
10497    ) -> ::std::os::raw::c_int;
10498}
10499extern "C" {
10500    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_set_type_str"]
10501    pub fn EVP_PKEY_set_type_str(
10502        pkey: *mut EVP_PKEY,
10503        str_: *const ::std::os::raw::c_char,
10504        len: ::std::os::raw::c_int,
10505    ) -> ::std::os::raw::c_int;
10506}
10507extern "C" {
10508    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_cmp_parameters"]
10509    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10510        -> ::std::os::raw::c_int;
10511}
10512extern "C" {
10513    #[link_name = "\u{1}aws_lc_0_34_0_EVP_parse_public_key"]
10514    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10515}
10516extern "C" {
10517    #[link_name = "\u{1}aws_lc_0_34_0_EVP_marshal_public_key"]
10518    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10519}
10520extern "C" {
10521    #[link_name = "\u{1}aws_lc_0_34_0_EVP_parse_private_key"]
10522    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10523}
10524extern "C" {
10525    #[link_name = "\u{1}aws_lc_0_34_0_EVP_marshal_private_key"]
10526    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10527}
10528extern "C" {
10529    #[link_name = "\u{1}aws_lc_0_34_0_EVP_marshal_private_key_v2"]
10530    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10531        -> ::std::os::raw::c_int;
10532}
10533extern "C" {
10534    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_new_raw_private_key"]
10535    pub fn EVP_PKEY_new_raw_private_key(
10536        type_: ::std::os::raw::c_int,
10537        unused: *mut ENGINE,
10538        in_: *const u8,
10539        len: usize,
10540    ) -> *mut EVP_PKEY;
10541}
10542extern "C" {
10543    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_new_raw_public_key"]
10544    pub fn EVP_PKEY_new_raw_public_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_34_0_EVP_PKEY_get_raw_private_key"]
10553    pub fn EVP_PKEY_get_raw_private_key(
10554        pkey: *const EVP_PKEY,
10555        out: *mut u8,
10556        out_len: *mut usize,
10557    ) -> ::std::os::raw::c_int;
10558}
10559extern "C" {
10560    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get_raw_public_key"]
10561    pub fn EVP_PKEY_get_raw_public_key(
10562        pkey: *const EVP_PKEY,
10563        out: *mut u8,
10564        out_len: *mut usize,
10565    ) -> ::std::os::raw::c_int;
10566}
10567extern "C" {
10568    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestSignInit"]
10569    pub fn EVP_DigestSignInit(
10570        ctx: *mut EVP_MD_CTX,
10571        pctx: *mut *mut EVP_PKEY_CTX,
10572        type_: *const EVP_MD,
10573        e: *mut ENGINE,
10574        pkey: *mut EVP_PKEY,
10575    ) -> ::std::os::raw::c_int;
10576}
10577extern "C" {
10578    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestSignUpdate"]
10579    pub fn EVP_DigestSignUpdate(
10580        ctx: *mut EVP_MD_CTX,
10581        data: *const ::std::os::raw::c_void,
10582        len: usize,
10583    ) -> ::std::os::raw::c_int;
10584}
10585extern "C" {
10586    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestSignFinal"]
10587    pub fn EVP_DigestSignFinal(
10588        ctx: *mut EVP_MD_CTX,
10589        out_sig: *mut u8,
10590        out_sig_len: *mut usize,
10591    ) -> ::std::os::raw::c_int;
10592}
10593extern "C" {
10594    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestSign"]
10595    pub fn EVP_DigestSign(
10596        ctx: *mut EVP_MD_CTX,
10597        out_sig: *mut u8,
10598        out_sig_len: *mut usize,
10599        data: *const u8,
10600        data_len: usize,
10601    ) -> ::std::os::raw::c_int;
10602}
10603extern "C" {
10604    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestVerifyInit"]
10605    pub fn EVP_DigestVerifyInit(
10606        ctx: *mut EVP_MD_CTX,
10607        pctx: *mut *mut EVP_PKEY_CTX,
10608        type_: *const EVP_MD,
10609        e: *mut ENGINE,
10610        pkey: *mut EVP_PKEY,
10611    ) -> ::std::os::raw::c_int;
10612}
10613extern "C" {
10614    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestVerifyUpdate"]
10615    pub fn EVP_DigestVerifyUpdate(
10616        ctx: *mut EVP_MD_CTX,
10617        data: *const ::std::os::raw::c_void,
10618        len: usize,
10619    ) -> ::std::os::raw::c_int;
10620}
10621extern "C" {
10622    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestVerifyFinal"]
10623    pub fn EVP_DigestVerifyFinal(
10624        ctx: *mut EVP_MD_CTX,
10625        sig: *const u8,
10626        sig_len: usize,
10627    ) -> ::std::os::raw::c_int;
10628}
10629extern "C" {
10630    #[link_name = "\u{1}aws_lc_0_34_0_EVP_DigestVerify"]
10631    pub fn EVP_DigestVerify(
10632        ctx: *mut EVP_MD_CTX,
10633        sig: *const u8,
10634        sig_len: usize,
10635        data: *const u8,
10636        len: usize,
10637    ) -> ::std::os::raw::c_int;
10638}
10639extern "C" {
10640    #[link_name = "\u{1}aws_lc_0_34_0_EVP_SignInit_ex"]
10641    pub fn EVP_SignInit_ex(
10642        ctx: *mut EVP_MD_CTX,
10643        type_: *const EVP_MD,
10644        impl_: *mut ENGINE,
10645    ) -> ::std::os::raw::c_int;
10646}
10647extern "C" {
10648    #[link_name = "\u{1}aws_lc_0_34_0_EVP_SignInit"]
10649    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10650}
10651extern "C" {
10652    #[link_name = "\u{1}aws_lc_0_34_0_EVP_SignUpdate"]
10653    pub fn EVP_SignUpdate(
10654        ctx: *mut EVP_MD_CTX,
10655        data: *const ::std::os::raw::c_void,
10656        len: usize,
10657    ) -> ::std::os::raw::c_int;
10658}
10659extern "C" {
10660    #[link_name = "\u{1}aws_lc_0_34_0_EVP_SignFinal"]
10661    pub fn EVP_SignFinal(
10662        ctx: *const EVP_MD_CTX,
10663        sig: *mut u8,
10664        out_sig_len: *mut ::std::os::raw::c_uint,
10665        pkey: *mut EVP_PKEY,
10666    ) -> ::std::os::raw::c_int;
10667}
10668extern "C" {
10669    #[link_name = "\u{1}aws_lc_0_34_0_EVP_VerifyInit_ex"]
10670    pub fn EVP_VerifyInit_ex(
10671        ctx: *mut EVP_MD_CTX,
10672        type_: *const EVP_MD,
10673        impl_: *mut ENGINE,
10674    ) -> ::std::os::raw::c_int;
10675}
10676extern "C" {
10677    #[link_name = "\u{1}aws_lc_0_34_0_EVP_VerifyInit"]
10678    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10679}
10680extern "C" {
10681    #[link_name = "\u{1}aws_lc_0_34_0_EVP_VerifyUpdate"]
10682    pub fn EVP_VerifyUpdate(
10683        ctx: *mut EVP_MD_CTX,
10684        data: *const ::std::os::raw::c_void,
10685        len: usize,
10686    ) -> ::std::os::raw::c_int;
10687}
10688extern "C" {
10689    #[link_name = "\u{1}aws_lc_0_34_0_EVP_VerifyFinal"]
10690    pub fn EVP_VerifyFinal(
10691        ctx: *mut EVP_MD_CTX,
10692        sig: *const u8,
10693        sig_len: usize,
10694        pkey: *mut EVP_PKEY,
10695    ) -> ::std::os::raw::c_int;
10696}
10697extern "C" {
10698    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_print_public"]
10699    pub fn EVP_PKEY_print_public(
10700        out: *mut BIO,
10701        pkey: *const EVP_PKEY,
10702        indent: ::std::os::raw::c_int,
10703        pctx: *mut ASN1_PCTX,
10704    ) -> ::std::os::raw::c_int;
10705}
10706extern "C" {
10707    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_print_private"]
10708    pub fn EVP_PKEY_print_private(
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_34_0_EVP_PKEY_print_params"]
10717    pub fn EVP_PKEY_print_params(
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_34_0_PKCS5_PBKDF2_HMAC"]
10726    pub fn PKCS5_PBKDF2_HMAC(
10727        password: *const ::std::os::raw::c_char,
10728        password_len: usize,
10729        salt: *const u8,
10730        salt_len: usize,
10731        iterations: u32,
10732        digest: *const EVP_MD,
10733        key_len: usize,
10734        out_key: *mut u8,
10735    ) -> ::std::os::raw::c_int;
10736}
10737extern "C" {
10738    #[link_name = "\u{1}aws_lc_0_34_0_PKCS5_PBKDF2_HMAC_SHA1"]
10739    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10740        password: *const ::std::os::raw::c_char,
10741        password_len: usize,
10742        salt: *const u8,
10743        salt_len: usize,
10744        iterations: u32,
10745        key_len: usize,
10746        out_key: *mut u8,
10747    ) -> ::std::os::raw::c_int;
10748}
10749extern "C" {
10750    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PBE_scrypt"]
10751    pub fn EVP_PBE_scrypt(
10752        password: *const ::std::os::raw::c_char,
10753        password_len: usize,
10754        salt: *const u8,
10755        salt_len: usize,
10756        N: u64,
10757        r: u64,
10758        p: u64,
10759        max_mem: usize,
10760        out_key: *mut u8,
10761        key_len: usize,
10762    ) -> ::std::os::raw::c_int;
10763}
10764extern "C" {
10765    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_new"]
10766    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10767}
10768extern "C" {
10769    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_new_id"]
10770    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10771}
10772extern "C" {
10773    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_free"]
10774    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
10775}
10776extern "C" {
10777    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_dup"]
10778    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
10779}
10780extern "C" {
10781    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get0_pkey"]
10782    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
10783}
10784extern "C" {
10785    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_sign_init"]
10786    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10787}
10788extern "C" {
10789    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_sign"]
10790    pub fn EVP_PKEY_sign(
10791        ctx: *mut EVP_PKEY_CTX,
10792        sig: *mut u8,
10793        sig_len: *mut usize,
10794        digest: *const u8,
10795        digest_len: usize,
10796    ) -> ::std::os::raw::c_int;
10797}
10798extern "C" {
10799    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_verify_init"]
10800    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10801}
10802extern "C" {
10803    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_verify"]
10804    pub fn EVP_PKEY_verify(
10805        ctx: *mut EVP_PKEY_CTX,
10806        sig: *const u8,
10807        sig_len: usize,
10808        digest: *const u8,
10809        digest_len: usize,
10810    ) -> ::std::os::raw::c_int;
10811}
10812extern "C" {
10813    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_encrypt_init"]
10814    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10815}
10816extern "C" {
10817    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_encrypt"]
10818    pub fn EVP_PKEY_encrypt(
10819        ctx: *mut EVP_PKEY_CTX,
10820        out: *mut u8,
10821        out_len: *mut usize,
10822        in_: *const u8,
10823        in_len: usize,
10824    ) -> ::std::os::raw::c_int;
10825}
10826extern "C" {
10827    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_decrypt_init"]
10828    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10829}
10830extern "C" {
10831    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_decrypt"]
10832    pub fn EVP_PKEY_decrypt(
10833        ctx: *mut EVP_PKEY_CTX,
10834        out: *mut u8,
10835        out_len: *mut usize,
10836        in_: *const u8,
10837        in_len: usize,
10838    ) -> ::std::os::raw::c_int;
10839}
10840extern "C" {
10841    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_verify_recover_init"]
10842    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10843}
10844extern "C" {
10845    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_verify_recover"]
10846    pub fn EVP_PKEY_verify_recover(
10847        ctx: *mut EVP_PKEY_CTX,
10848        out: *mut u8,
10849        out_len: *mut usize,
10850        sig: *const u8,
10851        siglen: usize,
10852    ) -> ::std::os::raw::c_int;
10853}
10854extern "C" {
10855    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_derive_init"]
10856    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10857}
10858extern "C" {
10859    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_derive_set_peer"]
10860    pub fn EVP_PKEY_derive_set_peer(
10861        ctx: *mut EVP_PKEY_CTX,
10862        peer: *mut EVP_PKEY,
10863    ) -> ::std::os::raw::c_int;
10864}
10865extern "C" {
10866    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_derive"]
10867    pub fn EVP_PKEY_derive(
10868        ctx: *mut EVP_PKEY_CTX,
10869        key: *mut u8,
10870        out_key_len: *mut usize,
10871    ) -> ::std::os::raw::c_int;
10872}
10873extern "C" {
10874    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_check"]
10875    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10876}
10877extern "C" {
10878    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_public_check"]
10879    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10880}
10881extern "C" {
10882    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_param_check"]
10883    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10884}
10885extern "C" {
10886    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_keygen_init"]
10887    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10888}
10889extern "C" {
10890    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_keygen"]
10891    pub fn EVP_PKEY_keygen(
10892        ctx: *mut EVP_PKEY_CTX,
10893        out_pkey: *mut *mut EVP_PKEY,
10894    ) -> ::std::os::raw::c_int;
10895}
10896extern "C" {
10897    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_encapsulate"]
10898    pub fn EVP_PKEY_encapsulate(
10899        ctx: *mut EVP_PKEY_CTX,
10900        ciphertext: *mut u8,
10901        ciphertext_len: *mut usize,
10902        shared_secret: *mut u8,
10903        shared_secret_len: *mut usize,
10904    ) -> ::std::os::raw::c_int;
10905}
10906extern "C" {
10907    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_decapsulate"]
10908    pub fn EVP_PKEY_decapsulate(
10909        ctx: *mut EVP_PKEY_CTX,
10910        shared_secret: *mut u8,
10911        shared_secret_len: *mut usize,
10912        ciphertext: *const u8,
10913        ciphertext_len: usize,
10914    ) -> ::std::os::raw::c_int;
10915}
10916extern "C" {
10917    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_paramgen_init"]
10918    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10919}
10920extern "C" {
10921    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_paramgen"]
10922    pub fn EVP_PKEY_paramgen(
10923        ctx: *mut EVP_PKEY_CTX,
10924        out_pkey: *mut *mut EVP_PKEY,
10925    ) -> ::std::os::raw::c_int;
10926}
10927extern "C" {
10928    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_signature_md"]
10929    pub fn EVP_PKEY_CTX_set_signature_md(
10930        ctx: *mut EVP_PKEY_CTX,
10931        md: *const EVP_MD,
10932    ) -> ::std::os::raw::c_int;
10933}
10934extern "C" {
10935    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get_signature_md"]
10936    pub fn EVP_PKEY_CTX_get_signature_md(
10937        ctx: *mut EVP_PKEY_CTX,
10938        out_md: *mut *const EVP_MD,
10939    ) -> ::std::os::raw::c_int;
10940}
10941extern "C" {
10942    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_signature_context"]
10943    pub fn EVP_PKEY_CTX_set_signature_context(
10944        ctx: *mut EVP_PKEY_CTX,
10945        context: *const u8,
10946        context_len: usize,
10947    ) -> ::std::os::raw::c_int;
10948}
10949extern "C" {
10950    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get0_signature_context"]
10951    pub fn EVP_PKEY_CTX_get0_signature_context(
10952        ctx: *mut EVP_PKEY_CTX,
10953        context: *mut *const u8,
10954        context_len: *mut usize,
10955    ) -> ::std::os::raw::c_int;
10956}
10957extern "C" {
10958    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_padding"]
10959    pub fn EVP_PKEY_CTX_set_rsa_padding(
10960        ctx: *mut EVP_PKEY_CTX,
10961        padding: ::std::os::raw::c_int,
10962    ) -> ::std::os::raw::c_int;
10963}
10964extern "C" {
10965    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get_rsa_padding"]
10966    pub fn EVP_PKEY_CTX_get_rsa_padding(
10967        ctx: *mut EVP_PKEY_CTX,
10968        out_padding: *mut ::std::os::raw::c_int,
10969    ) -> ::std::os::raw::c_int;
10970}
10971extern "C" {
10972    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
10973    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
10974        ctx: *mut EVP_PKEY_CTX,
10975        salt_len: ::std::os::raw::c_int,
10976    ) -> ::std::os::raw::c_int;
10977}
10978extern "C" {
10979    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
10980    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
10981        ctx: *mut EVP_PKEY_CTX,
10982        out_salt_len: *mut ::std::os::raw::c_int,
10983    ) -> ::std::os::raw::c_int;
10984}
10985extern "C" {
10986    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
10987    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
10988        ctx: *mut EVP_PKEY_CTX,
10989        bits: ::std::os::raw::c_int,
10990    ) -> ::std::os::raw::c_int;
10991}
10992extern "C" {
10993    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
10994    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
10995        ctx: *mut EVP_PKEY_CTX,
10996        e: *mut BIGNUM,
10997    ) -> ::std::os::raw::c_int;
10998}
10999extern "C" {
11000    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
11001    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11002        ctx: *mut EVP_PKEY_CTX,
11003        md: *const EVP_MD,
11004    ) -> ::std::os::raw::c_int;
11005}
11006extern "C" {
11007    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
11008    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11009        ctx: *mut EVP_PKEY_CTX,
11010        out_md: *mut *const EVP_MD,
11011    ) -> ::std::os::raw::c_int;
11012}
11013extern "C" {
11014    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11015    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11016        ctx: *mut EVP_PKEY_CTX,
11017        md: *const EVP_MD,
11018    ) -> ::std::os::raw::c_int;
11019}
11020extern "C" {
11021    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11022    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11023        ctx: *mut EVP_PKEY_CTX,
11024        out_md: *mut *const EVP_MD,
11025    ) -> ::std::os::raw::c_int;
11026}
11027extern "C" {
11028    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11029    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11030        ctx: *mut EVP_PKEY_CTX,
11031        label: *mut u8,
11032        label_len: usize,
11033    ) -> ::std::os::raw::c_int;
11034}
11035extern "C" {
11036    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11037    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11038        ctx: *mut EVP_PKEY_CTX,
11039        out_label: *mut *const u8,
11040    ) -> ::std::os::raw::c_int;
11041}
11042extern "C" {
11043    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11044    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11045        ctx: *mut EVP_PKEY_CTX,
11046        nid: ::std::os::raw::c_int,
11047    ) -> ::std::os::raw::c_int;
11048}
11049extern "C" {
11050    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_kem_set_params"]
11051    pub fn EVP_PKEY_CTX_kem_set_params(
11052        ctx: *mut EVP_PKEY_CTX,
11053        nid: ::std::os::raw::c_int,
11054    ) -> ::std::os::raw::c_int;
11055}
11056extern "C" {
11057    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_kem_new_raw_public_key"]
11058    pub fn EVP_PKEY_kem_new_raw_public_key(
11059        nid: ::std::os::raw::c_int,
11060        in_: *const u8,
11061        len: usize,
11062    ) -> *mut EVP_PKEY;
11063}
11064extern "C" {
11065    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_kem_new_raw_secret_key"]
11066    pub fn EVP_PKEY_kem_new_raw_secret_key(
11067        nid: ::std::os::raw::c_int,
11068        in_: *const u8,
11069        len: usize,
11070    ) -> *mut EVP_PKEY;
11071}
11072extern "C" {
11073    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_kem_new_raw_key"]
11074    pub fn EVP_PKEY_kem_new_raw_key(
11075        nid: ::std::os::raw::c_int,
11076        in_public: *const u8,
11077        len_public: usize,
11078        in_secret: *const u8,
11079        len_secret: usize,
11080    ) -> *mut EVP_PKEY;
11081}
11082extern "C" {
11083    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_kem_check_key"]
11084    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11085}
11086extern "C" {
11087    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_pqdsa_set_params"]
11088    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11089        ctx: *mut EVP_PKEY_CTX,
11090        nid: ::std::os::raw::c_int,
11091    ) -> ::std::os::raw::c_int;
11092}
11093extern "C" {
11094    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_pqdsa_new_raw_public_key"]
11095    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11096        nid: ::std::os::raw::c_int,
11097        in_: *const u8,
11098        len: usize,
11099    ) -> *mut EVP_PKEY;
11100}
11101extern "C" {
11102    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_pqdsa_new_raw_private_key"]
11103    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11104        nid: ::std::os::raw::c_int,
11105        in_: *const u8,
11106        len: usize,
11107    ) -> *mut EVP_PKEY;
11108}
11109extern "C" {
11110    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_dh_pad"]
11111    pub fn EVP_PKEY_CTX_set_dh_pad(
11112        ctx: *mut EVP_PKEY_CTX,
11113        pad: ::std::os::raw::c_int,
11114    ) -> ::std::os::raw::c_int;
11115}
11116extern "C" {
11117    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_asn1_get_count"]
11118    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11119}
11120extern "C" {
11121    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_asn1_get0"]
11122    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11123}
11124extern "C" {
11125    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_asn1_find"]
11126    pub fn EVP_PKEY_asn1_find(
11127        _pe: *mut *mut ENGINE,
11128        type_: ::std::os::raw::c_int,
11129    ) -> *const EVP_PKEY_ASN1_METHOD;
11130}
11131extern "C" {
11132    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_asn1_find_str"]
11133    pub fn EVP_PKEY_asn1_find_str(
11134        _pe: *mut *mut ENGINE,
11135        name: *const ::std::os::raw::c_char,
11136        len: ::std::os::raw::c_int,
11137    ) -> *const EVP_PKEY_ASN1_METHOD;
11138}
11139extern "C" {
11140    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_asn1_get0_info"]
11141    pub fn EVP_PKEY_asn1_get0_info(
11142        ppkey_id: *mut ::std::os::raw::c_int,
11143        pkey_base_id: *mut ::std::os::raw::c_int,
11144        ppkey_flags: *mut ::std::os::raw::c_int,
11145        pinfo: *mut *const ::std::os::raw::c_char,
11146        ppem_str: *mut *const ::std::os::raw::c_char,
11147        ameth: *const EVP_PKEY_ASN1_METHOD,
11148    ) -> ::std::os::raw::c_int;
11149}
11150pub type EVP_PKEY_gen_cb =
11151    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11152extern "C" {
11153    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_cb"]
11154    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11155}
11156extern "C" {
11157    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get_keygen_info"]
11158    pub fn EVP_PKEY_CTX_get_keygen_info(
11159        ctx: *mut EVP_PKEY_CTX,
11160        idx: ::std::os::raw::c_int,
11161    ) -> ::std::os::raw::c_int;
11162}
11163extern "C" {
11164    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_app_data"]
11165    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11166}
11167extern "C" {
11168    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_get_app_data"]
11169    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11170}
11171extern "C" {
11172    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_get_pkey_type"]
11173    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11174}
11175extern "C" {
11176    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_pkey_type"]
11177    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11178}
11179extern "C" {
11180    #[link_name = "\u{1}aws_lc_0_34_0_EVP_CIPHER_do_all_sorted"]
11181    pub fn EVP_CIPHER_do_all_sorted(
11182        callback: ::std::option::Option<
11183            unsafe extern "C" fn(
11184                cipher: *const EVP_CIPHER,
11185                name: *const ::std::os::raw::c_char,
11186                unused: *const ::std::os::raw::c_char,
11187                arg: *mut ::std::os::raw::c_void,
11188            ),
11189        >,
11190        arg: *mut ::std::os::raw::c_void,
11191    );
11192}
11193extern "C" {
11194    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_do_all_sorted"]
11195    pub fn EVP_MD_do_all_sorted(
11196        callback: ::std::option::Option<
11197            unsafe extern "C" fn(
11198                cipher: *const EVP_MD,
11199                name: *const ::std::os::raw::c_char,
11200                unused: *const ::std::os::raw::c_char,
11201                arg: *mut ::std::os::raw::c_void,
11202            ),
11203        >,
11204        arg: *mut ::std::os::raw::c_void,
11205    );
11206}
11207extern "C" {
11208    #[link_name = "\u{1}aws_lc_0_34_0_EVP_MD_do_all"]
11209    pub fn EVP_MD_do_all(
11210        callback: ::std::option::Option<
11211            unsafe extern "C" fn(
11212                cipher: *const EVP_MD,
11213                name: *const ::std::os::raw::c_char,
11214                unused: *const ::std::os::raw::c_char,
11215                arg: *mut ::std::os::raw::c_void,
11216            ),
11217        >,
11218        arg: *mut ::std::os::raw::c_void,
11219    );
11220}
11221extern "C" {
11222    #[link_name = "\u{1}aws_lc_0_34_0_i2d_PrivateKey"]
11223    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11224}
11225extern "C" {
11226    #[link_name = "\u{1}aws_lc_0_34_0_i2d_PublicKey"]
11227    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11228}
11229extern "C" {
11230    #[link_name = "\u{1}aws_lc_0_34_0_d2i_PrivateKey"]
11231    pub fn d2i_PrivateKey(
11232        type_: ::std::os::raw::c_int,
11233        out: *mut *mut EVP_PKEY,
11234        inp: *mut *const u8,
11235        len: ::std::os::raw::c_long,
11236    ) -> *mut EVP_PKEY;
11237}
11238extern "C" {
11239    #[link_name = "\u{1}aws_lc_0_34_0_d2i_AutoPrivateKey"]
11240    pub fn d2i_AutoPrivateKey(
11241        out: *mut *mut EVP_PKEY,
11242        inp: *mut *const u8,
11243        len: ::std::os::raw::c_long,
11244    ) -> *mut EVP_PKEY;
11245}
11246extern "C" {
11247    #[link_name = "\u{1}aws_lc_0_34_0_d2i_PublicKey"]
11248    pub fn d2i_PublicKey(
11249        type_: ::std::os::raw::c_int,
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_34_0_EVP_PKEY_CTX_set_ec_param_enc"]
11257    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11258        ctx: *mut EVP_PKEY_CTX,
11259        encoding: ::std::os::raw::c_int,
11260    ) -> ::std::os::raw::c_int;
11261}
11262extern "C" {
11263    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_set1_tls_encodedpoint"]
11264    pub fn EVP_PKEY_set1_tls_encodedpoint(
11265        pkey: *mut EVP_PKEY,
11266        in_: *const u8,
11267        len: usize,
11268    ) -> ::std::os::raw::c_int;
11269}
11270extern "C" {
11271    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get1_tls_encodedpoint"]
11272    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11273}
11274extern "C" {
11275    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_base_id"]
11276    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11277}
11278extern "C" {
11279    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11280    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11281        ctx: *mut EVP_PKEY_CTX,
11282        md: *const EVP_MD,
11283    ) -> ::std::os::raw::c_int;
11284}
11285extern "C" {
11286    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11287    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11288        ctx: *mut EVP_PKEY_CTX,
11289        salt_len: ::std::os::raw::c_int,
11290    ) -> ::std::os::raw::c_int;
11291}
11292extern "C" {
11293    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11294    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11295        ctx: *mut EVP_PKEY_CTX,
11296        md: *const EVP_MD,
11297    ) -> ::std::os::raw::c_int;
11298}
11299extern "C" {
11300    #[link_name = "\u{1}aws_lc_0_34_0_i2d_PUBKEY"]
11301    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11302}
11303extern "C" {
11304    #[link_name = "\u{1}aws_lc_0_34_0_d2i_PUBKEY"]
11305    pub fn d2i_PUBKEY(
11306        out: *mut *mut EVP_PKEY,
11307        inp: *mut *const u8,
11308        len: ::std::os::raw::c_long,
11309    ) -> *mut EVP_PKEY;
11310}
11311extern "C" {
11312    #[link_name = "\u{1}aws_lc_0_34_0_i2d_RSA_PUBKEY"]
11313    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11314}
11315extern "C" {
11316    #[link_name = "\u{1}aws_lc_0_34_0_d2i_RSA_PUBKEY"]
11317    pub fn d2i_RSA_PUBKEY(
11318        out: *mut *mut RSA,
11319        inp: *mut *const u8,
11320        len: ::std::os::raw::c_long,
11321    ) -> *mut RSA;
11322}
11323extern "C" {
11324    #[link_name = "\u{1}aws_lc_0_34_0_i2d_DSA_PUBKEY"]
11325    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11326}
11327extern "C" {
11328    #[link_name = "\u{1}aws_lc_0_34_0_d2i_DSA_PUBKEY"]
11329    pub fn d2i_DSA_PUBKEY(
11330        out: *mut *mut DSA,
11331        inp: *mut *const u8,
11332        len: ::std::os::raw::c_long,
11333    ) -> *mut DSA;
11334}
11335extern "C" {
11336    #[link_name = "\u{1}aws_lc_0_34_0_i2d_EC_PUBKEY"]
11337    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11338}
11339extern "C" {
11340    #[link_name = "\u{1}aws_lc_0_34_0_d2i_EC_PUBKEY"]
11341    pub fn d2i_EC_PUBKEY(
11342        out: *mut *mut EC_KEY,
11343        inp: *mut *const u8,
11344        len: ::std::os::raw::c_long,
11345    ) -> *mut EC_KEY;
11346}
11347extern "C" {
11348    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_assign"]
11349    pub fn EVP_PKEY_assign(
11350        pkey: *mut EVP_PKEY,
11351        type_: ::std::os::raw::c_int,
11352        key: *mut ::std::os::raw::c_void,
11353    ) -> ::std::os::raw::c_int;
11354}
11355extern "C" {
11356    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_type"]
11357    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11358}
11359extern "C" {
11360    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_new_mac_key"]
11361    pub fn EVP_PKEY_new_mac_key(
11362        type_: ::std::os::raw::c_int,
11363        engine: *mut ENGINE,
11364        mac_key: *const u8,
11365        mac_key_len: usize,
11366    ) -> *mut EVP_PKEY;
11367}
11368extern "C" {
11369    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_get0"]
11370    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11371}
11372extern "C" {
11373    #[link_name = "\u{1}aws_lc_0_34_0_OpenSSL_add_all_algorithms"]
11374    pub fn OpenSSL_add_all_algorithms();
11375}
11376extern "C" {
11377    #[link_name = "\u{1}aws_lc_0_34_0_OPENSSL_add_all_algorithms_conf"]
11378    pub fn OPENSSL_add_all_algorithms_conf();
11379}
11380extern "C" {
11381    #[link_name = "\u{1}aws_lc_0_34_0_OpenSSL_add_all_ciphers"]
11382    pub fn OpenSSL_add_all_ciphers();
11383}
11384extern "C" {
11385    #[link_name = "\u{1}aws_lc_0_34_0_OpenSSL_add_all_digests"]
11386    pub fn OpenSSL_add_all_digests();
11387}
11388extern "C" {
11389    #[link_name = "\u{1}aws_lc_0_34_0_EVP_cleanup"]
11390    pub fn EVP_cleanup();
11391}
11392extern "C" {
11393    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11394    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11395        ctx: *mut EVP_PKEY_CTX,
11396        nbits: ::std::os::raw::c_int,
11397    ) -> ::std::os::raw::c_int;
11398}
11399extern "C" {
11400    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11401    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11402        ctx: *mut EVP_PKEY_CTX,
11403        md: *const EVP_MD,
11404    ) -> ::std::os::raw::c_int;
11405}
11406extern "C" {
11407    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11408    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11409        ctx: *mut EVP_PKEY_CTX,
11410        qbits: ::std::os::raw::c_int,
11411    ) -> ::std::os::raw::c_int;
11412}
11413extern "C" {
11414    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_ctrl_str"]
11415    pub fn EVP_PKEY_CTX_ctrl_str(
11416        ctx: *mut EVP_PKEY_CTX,
11417        type_: *const ::std::os::raw::c_char,
11418        value: *const ::std::os::raw::c_char,
11419    ) -> ::std::os::raw::c_int;
11420}
11421extern "C" {
11422    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_tls1_prf"]
11423    pub fn CRYPTO_tls1_prf(
11424        digest: *const EVP_MD,
11425        out: *mut u8,
11426        out_len: usize,
11427        secret: *const u8,
11428        secret_len: usize,
11429        label: *const ::std::os::raw::c_char,
11430        label_len: usize,
11431        seed1: *const u8,
11432        seed1_len: usize,
11433        seed2: *const u8,
11434        seed2_len: usize,
11435    ) -> ::std::os::raw::c_int;
11436}
11437extern "C" {
11438    #[link_name = "\u{1}aws_lc_0_34_0_SSKDF_digest"]
11439    pub fn SSKDF_digest(
11440        out_key: *mut u8,
11441        out_len: usize,
11442        digest: *const EVP_MD,
11443        secret: *const u8,
11444        secret_len: usize,
11445        info: *const u8,
11446        info_len: usize,
11447    ) -> ::std::os::raw::c_int;
11448}
11449extern "C" {
11450    #[link_name = "\u{1}aws_lc_0_34_0_SSKDF_hmac"]
11451    pub fn SSKDF_hmac(
11452        out_key: *mut u8,
11453        out_len: usize,
11454        digest: *const EVP_MD,
11455        secret: *const u8,
11456        secret_len: usize,
11457        info: *const u8,
11458        info_len: usize,
11459        salt: *const u8,
11460        salt_len: usize,
11461    ) -> ::std::os::raw::c_int;
11462}
11463extern "C" {
11464    #[link_name = "\u{1}aws_lc_0_34_0_KBKDF_ctr_hmac"]
11465    pub fn KBKDF_ctr_hmac(
11466        out_key: *mut u8,
11467        out_len: usize,
11468        digest: *const EVP_MD,
11469        secret: *const u8,
11470        secret_len: usize,
11471        info: *const u8,
11472        info_len: usize,
11473    ) -> ::std::os::raw::c_int;
11474}
11475extern "C" {
11476    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_hkdf_mode"]
11477    pub fn EVP_PKEY_CTX_hkdf_mode(
11478        ctx: *mut EVP_PKEY_CTX,
11479        mode: ::std::os::raw::c_int,
11480    ) -> ::std::os::raw::c_int;
11481}
11482extern "C" {
11483    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set_hkdf_md"]
11484    pub fn EVP_PKEY_CTX_set_hkdf_md(
11485        ctx: *mut EVP_PKEY_CTX,
11486        md: *const EVP_MD,
11487    ) -> ::std::os::raw::c_int;
11488}
11489extern "C" {
11490    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set1_hkdf_key"]
11491    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11492        ctx: *mut EVP_PKEY_CTX,
11493        key: *const u8,
11494        key_len: usize,
11495    ) -> ::std::os::raw::c_int;
11496}
11497extern "C" {
11498    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_set1_hkdf_salt"]
11499    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11500        ctx: *mut EVP_PKEY_CTX,
11501        salt: *const u8,
11502        salt_len: usize,
11503    ) -> ::std::os::raw::c_int;
11504}
11505extern "C" {
11506    #[link_name = "\u{1}aws_lc_0_34_0_EVP_PKEY_CTX_add1_hkdf_info"]
11507    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11508        ctx: *mut EVP_PKEY_CTX,
11509        info: *const u8,
11510        info_len: usize,
11511    ) -> ::std::os::raw::c_int;
11512}
11513extern "C" {
11514    #[link_name = "\u{1}aws_lc_0_34_0_HKDF"]
11515    pub fn HKDF(
11516        out_key: *mut u8,
11517        out_len: usize,
11518        digest: *const EVP_MD,
11519        secret: *const u8,
11520        secret_len: usize,
11521        salt: *const u8,
11522        salt_len: usize,
11523        info: *const u8,
11524        info_len: usize,
11525    ) -> ::std::os::raw::c_int;
11526}
11527extern "C" {
11528    #[link_name = "\u{1}aws_lc_0_34_0_HKDF_extract"]
11529    pub fn HKDF_extract(
11530        out_key: *mut u8,
11531        out_len: *mut usize,
11532        digest: *const EVP_MD,
11533        secret: *const u8,
11534        secret_len: usize,
11535        salt: *const u8,
11536        salt_len: usize,
11537    ) -> ::std::os::raw::c_int;
11538}
11539extern "C" {
11540    #[link_name = "\u{1}aws_lc_0_34_0_HKDF_expand"]
11541    pub fn HKDF_expand(
11542        out_key: *mut u8,
11543        out_len: usize,
11544        digest: *const EVP_MD,
11545        prk: *const u8,
11546        prk_len: usize,
11547        info: *const u8,
11548        info_len: usize,
11549    ) -> ::std::os::raw::c_int;
11550}
11551#[repr(C)]
11552#[derive(Copy, Clone)]
11553pub struct evp_hpke_ctx_st {
11554    pub kem: *const EVP_HPKE_KEM,
11555    pub aead: *const EVP_HPKE_AEAD,
11556    pub kdf: *const EVP_HPKE_KDF,
11557    pub aead_ctx: EVP_AEAD_CTX,
11558    pub base_nonce: [u8; 24usize],
11559    pub exporter_secret: [u8; 64usize],
11560    pub seq: u64,
11561    pub is_sender: ::std::os::raw::c_int,
11562}
11563#[test]
11564fn bindgen_test_layout_evp_hpke_ctx_st() {
11565    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11566    let ptr = UNINIT.as_ptr();
11567    assert_eq!(
11568        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11569        712usize,
11570        "Size of evp_hpke_ctx_st"
11571    );
11572    assert_eq!(
11573        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11574        8usize,
11575        "Alignment of evp_hpke_ctx_st"
11576    );
11577    assert_eq!(
11578        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11579        0usize,
11580        "Offset of field: evp_hpke_ctx_st::kem"
11581    );
11582    assert_eq!(
11583        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11584        8usize,
11585        "Offset of field: evp_hpke_ctx_st::aead"
11586    );
11587    assert_eq!(
11588        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11589        16usize,
11590        "Offset of field: evp_hpke_ctx_st::kdf"
11591    );
11592    assert_eq!(
11593        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11594        24usize,
11595        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11596    );
11597    assert_eq!(
11598        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11599        608usize,
11600        "Offset of field: evp_hpke_ctx_st::base_nonce"
11601    );
11602    assert_eq!(
11603        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11604        632usize,
11605        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11606    );
11607    assert_eq!(
11608        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11609        696usize,
11610        "Offset of field: evp_hpke_ctx_st::seq"
11611    );
11612    assert_eq!(
11613        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11614        704usize,
11615        "Offset of field: evp_hpke_ctx_st::is_sender"
11616    );
11617}
11618impl Default for evp_hpke_ctx_st {
11619    fn default() -> Self {
11620        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11621        unsafe {
11622            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11623            s.assume_init()
11624        }
11625    }
11626}
11627#[repr(C)]
11628#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11629pub struct evp_hpke_key_st {
11630    pub kem: *const EVP_HPKE_KEM,
11631    pub private_key: [u8; 32usize],
11632    pub public_key: [u8; 32usize],
11633}
11634#[test]
11635fn bindgen_test_layout_evp_hpke_key_st() {
11636    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11637    let ptr = UNINIT.as_ptr();
11638    assert_eq!(
11639        ::std::mem::size_of::<evp_hpke_key_st>(),
11640        72usize,
11641        "Size of evp_hpke_key_st"
11642    );
11643    assert_eq!(
11644        ::std::mem::align_of::<evp_hpke_key_st>(),
11645        8usize,
11646        "Alignment of evp_hpke_key_st"
11647    );
11648    assert_eq!(
11649        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11650        0usize,
11651        "Offset of field: evp_hpke_key_st::kem"
11652    );
11653    assert_eq!(
11654        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11655        8usize,
11656        "Offset of field: evp_hpke_key_st::private_key"
11657    );
11658    assert_eq!(
11659        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11660        40usize,
11661        "Offset of field: evp_hpke_key_st::public_key"
11662    );
11663}
11664impl Default for evp_hpke_key_st {
11665    fn default() -> Self {
11666        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11667        unsafe {
11668            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11669            s.assume_init()
11670        }
11671    }
11672}
11673#[repr(C)]
11674#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11675pub struct md4_state_st {
11676    pub h: [u32; 4usize],
11677    pub Nl: u32,
11678    pub Nh: u32,
11679    pub data: [u8; 64usize],
11680    pub num: ::std::os::raw::c_uint,
11681}
11682#[test]
11683fn bindgen_test_layout_md4_state_st() {
11684    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11685    let ptr = UNINIT.as_ptr();
11686    assert_eq!(
11687        ::std::mem::size_of::<md4_state_st>(),
11688        92usize,
11689        "Size of md4_state_st"
11690    );
11691    assert_eq!(
11692        ::std::mem::align_of::<md4_state_st>(),
11693        4usize,
11694        "Alignment of md4_state_st"
11695    );
11696    assert_eq!(
11697        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11698        0usize,
11699        "Offset of field: md4_state_st::h"
11700    );
11701    assert_eq!(
11702        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11703        16usize,
11704        "Offset of field: md4_state_st::Nl"
11705    );
11706    assert_eq!(
11707        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11708        20usize,
11709        "Offset of field: md4_state_st::Nh"
11710    );
11711    assert_eq!(
11712        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11713        24usize,
11714        "Offset of field: md4_state_st::data"
11715    );
11716    assert_eq!(
11717        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11718        88usize,
11719        "Offset of field: md4_state_st::num"
11720    );
11721}
11722impl Default for md4_state_st {
11723    fn default() -> Self {
11724        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11725        unsafe {
11726            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11727            s.assume_init()
11728        }
11729    }
11730}
11731#[repr(C)]
11732#[derive(Debug, Copy, Clone)]
11733pub struct stack_st_X509 {
11734    _unused: [u8; 0],
11735}
11736#[repr(C)]
11737#[derive(Debug, Copy, Clone)]
11738pub struct stack_st_X509_CRL {
11739    _unused: [u8; 0],
11740}
11741#[repr(C)]
11742#[derive(Copy, Clone)]
11743pub struct pkcs7_st {
11744    pub type_: *mut ASN1_OBJECT,
11745    pub d: pkcs7_st__bindgen_ty_1,
11746}
11747#[repr(C)]
11748#[derive(Copy, Clone)]
11749pub union pkcs7_st__bindgen_ty_1 {
11750    pub ptr: *mut ::std::os::raw::c_char,
11751    pub data: *mut ASN1_OCTET_STRING,
11752    pub sign: *mut PKCS7_SIGNED,
11753    pub enveloped: *mut PKCS7_ENVELOPE,
11754    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
11755    pub digest: *mut PKCS7_DIGEST,
11756    pub encrypted: *mut PKCS7_ENCRYPT,
11757    pub other: *mut ASN1_TYPE,
11758}
11759#[test]
11760fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
11761    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
11762        ::std::mem::MaybeUninit::uninit();
11763    let ptr = UNINIT.as_ptr();
11764    assert_eq!(
11765        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
11766        8usize,
11767        "Size of pkcs7_st__bindgen_ty_1"
11768    );
11769    assert_eq!(
11770        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
11771        8usize,
11772        "Alignment of pkcs7_st__bindgen_ty_1"
11773    );
11774    assert_eq!(
11775        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
11776        0usize,
11777        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
11778    );
11779    assert_eq!(
11780        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11781        0usize,
11782        "Offset of field: pkcs7_st__bindgen_ty_1::data"
11783    );
11784    assert_eq!(
11785        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
11786        0usize,
11787        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
11788    );
11789    assert_eq!(
11790        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
11791        0usize,
11792        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
11793    );
11794    assert_eq!(
11795        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
11796        0usize,
11797        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
11798    );
11799    assert_eq!(
11800        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
11801        0usize,
11802        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
11803    );
11804    assert_eq!(
11805        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
11806        0usize,
11807        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
11808    );
11809    assert_eq!(
11810        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
11811        0usize,
11812        "Offset of field: pkcs7_st__bindgen_ty_1::other"
11813    );
11814}
11815impl Default for pkcs7_st__bindgen_ty_1 {
11816    fn default() -> Self {
11817        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11818        unsafe {
11819            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11820            s.assume_init()
11821        }
11822    }
11823}
11824#[test]
11825fn bindgen_test_layout_pkcs7_st() {
11826    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
11827    let ptr = UNINIT.as_ptr();
11828    assert_eq!(
11829        ::std::mem::size_of::<pkcs7_st>(),
11830        16usize,
11831        "Size of pkcs7_st"
11832    );
11833    assert_eq!(
11834        ::std::mem::align_of::<pkcs7_st>(),
11835        8usize,
11836        "Alignment of pkcs7_st"
11837    );
11838    assert_eq!(
11839        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
11840        0usize,
11841        "Offset of field: pkcs7_st::type_"
11842    );
11843    assert_eq!(
11844        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
11845        8usize,
11846        "Offset of field: pkcs7_st::d"
11847    );
11848}
11849impl Default for pkcs7_st {
11850    fn default() -> Self {
11851        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11852        unsafe {
11853            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11854            s.assume_init()
11855        }
11856    }
11857}
11858#[repr(C)]
11859#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11860pub struct pkcs7_signed_st {
11861    pub version: *mut ASN1_INTEGER,
11862    pub md_algs: *mut stack_st_X509_ALGOR,
11863    pub contents: *mut PKCS7,
11864    pub cert: *mut stack_st_X509,
11865    pub crl: *mut stack_st_X509_CRL,
11866    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
11867}
11868#[test]
11869fn bindgen_test_layout_pkcs7_signed_st() {
11870    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
11871    let ptr = UNINIT.as_ptr();
11872    assert_eq!(
11873        ::std::mem::size_of::<pkcs7_signed_st>(),
11874        48usize,
11875        "Size of pkcs7_signed_st"
11876    );
11877    assert_eq!(
11878        ::std::mem::align_of::<pkcs7_signed_st>(),
11879        8usize,
11880        "Alignment of pkcs7_signed_st"
11881    );
11882    assert_eq!(
11883        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11884        0usize,
11885        "Offset of field: pkcs7_signed_st::version"
11886    );
11887    assert_eq!(
11888        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
11889        8usize,
11890        "Offset of field: pkcs7_signed_st::md_algs"
11891    );
11892    assert_eq!(
11893        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
11894        16usize,
11895        "Offset of field: pkcs7_signed_st::contents"
11896    );
11897    assert_eq!(
11898        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
11899        24usize,
11900        "Offset of field: pkcs7_signed_st::cert"
11901    );
11902    assert_eq!(
11903        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
11904        32usize,
11905        "Offset of field: pkcs7_signed_st::crl"
11906    );
11907    assert_eq!(
11908        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
11909        40usize,
11910        "Offset of field: pkcs7_signed_st::signer_info"
11911    );
11912}
11913impl Default for pkcs7_signed_st {
11914    fn default() -> Self {
11915        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11916        unsafe {
11917            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11918            s.assume_init()
11919        }
11920    }
11921}
11922#[repr(C)]
11923#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11924pub struct pkcs7_signer_info_st {
11925    pub version: *mut ASN1_INTEGER,
11926    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
11927    pub digest_alg: *mut X509_ALGOR,
11928    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
11929    pub digest_enc_alg: *mut X509_ALGOR,
11930    pub enc_digest: *mut ASN1_OCTET_STRING,
11931    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
11932    pub pkey: *mut EVP_PKEY,
11933}
11934#[test]
11935fn bindgen_test_layout_pkcs7_signer_info_st() {
11936    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
11937    let ptr = UNINIT.as_ptr();
11938    assert_eq!(
11939        ::std::mem::size_of::<pkcs7_signer_info_st>(),
11940        64usize,
11941        "Size of pkcs7_signer_info_st"
11942    );
11943    assert_eq!(
11944        ::std::mem::align_of::<pkcs7_signer_info_st>(),
11945        8usize,
11946        "Alignment of pkcs7_signer_info_st"
11947    );
11948    assert_eq!(
11949        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11950        0usize,
11951        "Offset of field: pkcs7_signer_info_st::version"
11952    );
11953    assert_eq!(
11954        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
11955        8usize,
11956        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
11957    );
11958    assert_eq!(
11959        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
11960        16usize,
11961        "Offset of field: pkcs7_signer_info_st::digest_alg"
11962    );
11963    assert_eq!(
11964        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
11965        24usize,
11966        "Offset of field: pkcs7_signer_info_st::auth_attr"
11967    );
11968    assert_eq!(
11969        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
11970        32usize,
11971        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
11972    );
11973    assert_eq!(
11974        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
11975        40usize,
11976        "Offset of field: pkcs7_signer_info_st::enc_digest"
11977    );
11978    assert_eq!(
11979        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
11980        48usize,
11981        "Offset of field: pkcs7_signer_info_st::unauth_attr"
11982    );
11983    assert_eq!(
11984        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
11985        56usize,
11986        "Offset of field: pkcs7_signer_info_st::pkey"
11987    );
11988}
11989impl Default for pkcs7_signer_info_st {
11990    fn default() -> Self {
11991        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11992        unsafe {
11993            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11994            s.assume_init()
11995        }
11996    }
11997}
11998#[repr(C)]
11999#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12000pub struct pkcs7_sign_envelope_st {
12001    pub version: *mut ASN1_INTEGER,
12002    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12003    pub md_algs: *mut stack_st_X509_ALGOR,
12004    pub enc_data: *mut PKCS7_ENC_CONTENT,
12005    pub cert: *mut stack_st_X509,
12006    pub crl: *mut stack_st_X509_CRL,
12007    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12008}
12009#[test]
12010fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12011    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12012        ::std::mem::MaybeUninit::uninit();
12013    let ptr = UNINIT.as_ptr();
12014    assert_eq!(
12015        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12016        56usize,
12017        "Size of pkcs7_sign_envelope_st"
12018    );
12019    assert_eq!(
12020        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12021        8usize,
12022        "Alignment of pkcs7_sign_envelope_st"
12023    );
12024    assert_eq!(
12025        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12026        0usize,
12027        "Offset of field: pkcs7_sign_envelope_st::version"
12028    );
12029    assert_eq!(
12030        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12031        8usize,
12032        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12033    );
12034    assert_eq!(
12035        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12036        16usize,
12037        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12038    );
12039    assert_eq!(
12040        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12041        24usize,
12042        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12043    );
12044    assert_eq!(
12045        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12046        32usize,
12047        "Offset of field: pkcs7_sign_envelope_st::cert"
12048    );
12049    assert_eq!(
12050        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12051        40usize,
12052        "Offset of field: pkcs7_sign_envelope_st::crl"
12053    );
12054    assert_eq!(
12055        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12056        48usize,
12057        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12058    );
12059}
12060impl Default for pkcs7_sign_envelope_st {
12061    fn default() -> Self {
12062        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12063        unsafe {
12064            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12065            s.assume_init()
12066        }
12067    }
12068}
12069#[repr(C)]
12070#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12071pub struct pkcs7_envelope_st {
12072    pub version: *mut ASN1_INTEGER,
12073    pub enc_data: *mut PKCS7_ENC_CONTENT,
12074    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12075}
12076#[test]
12077fn bindgen_test_layout_pkcs7_envelope_st() {
12078    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12079    let ptr = UNINIT.as_ptr();
12080    assert_eq!(
12081        ::std::mem::size_of::<pkcs7_envelope_st>(),
12082        24usize,
12083        "Size of pkcs7_envelope_st"
12084    );
12085    assert_eq!(
12086        ::std::mem::align_of::<pkcs7_envelope_st>(),
12087        8usize,
12088        "Alignment of pkcs7_envelope_st"
12089    );
12090    assert_eq!(
12091        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12092        0usize,
12093        "Offset of field: pkcs7_envelope_st::version"
12094    );
12095    assert_eq!(
12096        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12097        8usize,
12098        "Offset of field: pkcs7_envelope_st::enc_data"
12099    );
12100    assert_eq!(
12101        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12102        16usize,
12103        "Offset of field: pkcs7_envelope_st::recipientinfo"
12104    );
12105}
12106impl Default for pkcs7_envelope_st {
12107    fn default() -> Self {
12108        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12109        unsafe {
12110            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12111            s.assume_init()
12112        }
12113    }
12114}
12115#[repr(C)]
12116#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12117pub struct pkcs7_recip_info_st {
12118    pub version: *mut ASN1_INTEGER,
12119    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12120    pub key_enc_algor: *mut X509_ALGOR,
12121    pub enc_key: *mut ASN1_OCTET_STRING,
12122    pub cert: *mut X509,
12123}
12124#[test]
12125fn bindgen_test_layout_pkcs7_recip_info_st() {
12126    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12127    let ptr = UNINIT.as_ptr();
12128    assert_eq!(
12129        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12130        40usize,
12131        "Size of pkcs7_recip_info_st"
12132    );
12133    assert_eq!(
12134        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12135        8usize,
12136        "Alignment of pkcs7_recip_info_st"
12137    );
12138    assert_eq!(
12139        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12140        0usize,
12141        "Offset of field: pkcs7_recip_info_st::version"
12142    );
12143    assert_eq!(
12144        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12145        8usize,
12146        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12147    );
12148    assert_eq!(
12149        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12150        16usize,
12151        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12152    );
12153    assert_eq!(
12154        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12155        24usize,
12156        "Offset of field: pkcs7_recip_info_st::enc_key"
12157    );
12158    assert_eq!(
12159        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12160        32usize,
12161        "Offset of field: pkcs7_recip_info_st::cert"
12162    );
12163}
12164impl Default for pkcs7_recip_info_st {
12165    fn default() -> Self {
12166        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12167        unsafe {
12168            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12169            s.assume_init()
12170        }
12171    }
12172}
12173#[repr(C)]
12174#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12175pub struct pkcs7_issuer_and_serial_st {
12176    pub issuer: *mut X509_NAME,
12177    pub serial: *mut ASN1_INTEGER,
12178}
12179#[test]
12180fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12181    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12182        ::std::mem::MaybeUninit::uninit();
12183    let ptr = UNINIT.as_ptr();
12184    assert_eq!(
12185        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12186        16usize,
12187        "Size of pkcs7_issuer_and_serial_st"
12188    );
12189    assert_eq!(
12190        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12191        8usize,
12192        "Alignment of pkcs7_issuer_and_serial_st"
12193    );
12194    assert_eq!(
12195        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12196        0usize,
12197        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12198    );
12199    assert_eq!(
12200        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12201        8usize,
12202        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12203    );
12204}
12205impl Default for pkcs7_issuer_and_serial_st {
12206    fn default() -> Self {
12207        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12208        unsafe {
12209            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12210            s.assume_init()
12211        }
12212    }
12213}
12214#[repr(C)]
12215#[derive(Debug, Copy, Clone)]
12216pub struct stack_st_PKCS7_RECIP_INFO {
12217    _unused: [u8; 0],
12218}
12219#[repr(C)]
12220#[derive(Debug, Copy, Clone)]
12221pub struct stack_st_PKCS7_SIGNER_INFO {
12222    _unused: [u8; 0],
12223}
12224extern "C" {
12225    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_public_key"]
12226    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12227}
12228extern "C" {
12229    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_private_key"]
12230    pub fn RSA_new_private_key(
12231        n: *const BIGNUM,
12232        e: *const BIGNUM,
12233        d: *const BIGNUM,
12234        p: *const BIGNUM,
12235        q: *const BIGNUM,
12236        dmp1: *const BIGNUM,
12237        dmq1: *const BIGNUM,
12238        iqmp: *const BIGNUM,
12239    ) -> *mut RSA;
12240}
12241extern "C" {
12242    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new"]
12243    pub fn RSA_new() -> *mut RSA;
12244}
12245extern "C" {
12246    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_method"]
12247    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12248}
12249extern "C" {
12250    #[link_name = "\u{1}aws_lc_0_34_0_RSA_free"]
12251    pub fn RSA_free(rsa: *mut RSA);
12252}
12253extern "C" {
12254    #[link_name = "\u{1}aws_lc_0_34_0_RSA_up_ref"]
12255    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12256}
12257extern "C" {
12258    #[link_name = "\u{1}aws_lc_0_34_0_RSA_bits"]
12259    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12260}
12261extern "C" {
12262    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_n"]
12263    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12264}
12265extern "C" {
12266    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_e"]
12267    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12268}
12269extern "C" {
12270    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_d"]
12271    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12272}
12273extern "C" {
12274    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_p"]
12275    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12276}
12277extern "C" {
12278    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_q"]
12279    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12280}
12281extern "C" {
12282    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_dmp1"]
12283    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12284}
12285extern "C" {
12286    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_dmq1"]
12287    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12288}
12289extern "C" {
12290    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_iqmp"]
12291    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12292}
12293extern "C" {
12294    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_key"]
12295    pub fn RSA_get0_key(
12296        rsa: *const RSA,
12297        out_n: *mut *const BIGNUM,
12298        out_e: *mut *const BIGNUM,
12299        out_d: *mut *const BIGNUM,
12300    );
12301}
12302extern "C" {
12303    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_factors"]
12304    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12305}
12306extern "C" {
12307    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_crt_params"]
12308    pub fn RSA_get0_crt_params(
12309        rsa: *const RSA,
12310        out_dmp1: *mut *const BIGNUM,
12311        out_dmq1: *mut *const BIGNUM,
12312        out_iqmp: *mut *const BIGNUM,
12313    );
12314}
12315extern "C" {
12316    #[link_name = "\u{1}aws_lc_0_34_0_RSA_set0_key"]
12317    pub fn RSA_set0_key(
12318        rsa: *mut RSA,
12319        n: *mut BIGNUM,
12320        e: *mut BIGNUM,
12321        d: *mut BIGNUM,
12322    ) -> ::std::os::raw::c_int;
12323}
12324extern "C" {
12325    #[link_name = "\u{1}aws_lc_0_34_0_RSA_set0_factors"]
12326    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12327        -> ::std::os::raw::c_int;
12328}
12329extern "C" {
12330    #[link_name = "\u{1}aws_lc_0_34_0_RSA_set0_crt_params"]
12331    pub fn RSA_set0_crt_params(
12332        rsa: *mut RSA,
12333        dmp1: *mut BIGNUM,
12334        dmq1: *mut BIGNUM,
12335        iqmp: *mut BIGNUM,
12336    ) -> ::std::os::raw::c_int;
12337}
12338extern "C" {
12339    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get_default_method"]
12340    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12341}
12342extern "C" {
12343    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_new"]
12344    pub fn RSA_meth_new(
12345        name: *const ::std::os::raw::c_char,
12346        flags: ::std::os::raw::c_int,
12347    ) -> *mut RSA_METHOD;
12348}
12349extern "C" {
12350    #[link_name = "\u{1}aws_lc_0_34_0_RSA_set_method"]
12351    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12352}
12353extern "C" {
12354    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get_method"]
12355    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12356}
12357extern "C" {
12358    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_free"]
12359    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12360}
12361extern "C" {
12362    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set_init"]
12363    pub fn RSA_meth_set_init(
12364        meth: *mut RSA_METHOD,
12365        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12366    ) -> ::std::os::raw::c_int;
12367}
12368extern "C" {
12369    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set_finish"]
12370    pub fn RSA_meth_set_finish(
12371        meth: *mut RSA_METHOD,
12372        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12373    ) -> ::std::os::raw::c_int;
12374}
12375extern "C" {
12376    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set_priv_dec"]
12377    pub fn RSA_meth_set_priv_dec(
12378        meth: *mut RSA_METHOD,
12379        priv_dec: ::std::option::Option<
12380            unsafe extern "C" fn(
12381                max_out: ::std::os::raw::c_int,
12382                from: *const u8,
12383                to: *mut u8,
12384                rsa: *mut RSA,
12385                padding: ::std::os::raw::c_int,
12386            ) -> ::std::os::raw::c_int,
12387        >,
12388    ) -> ::std::os::raw::c_int;
12389}
12390extern "C" {
12391    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set_priv_enc"]
12392    pub fn RSA_meth_set_priv_enc(
12393        meth: *mut RSA_METHOD,
12394        priv_enc: ::std::option::Option<
12395            unsafe extern "C" fn(
12396                max_out: ::std::os::raw::c_int,
12397                from: *const u8,
12398                to: *mut u8,
12399                rsa: *mut RSA,
12400                padding: ::std::os::raw::c_int,
12401            ) -> ::std::os::raw::c_int,
12402        >,
12403    ) -> ::std::os::raw::c_int;
12404}
12405extern "C" {
12406    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set_pub_dec"]
12407    pub fn RSA_meth_set_pub_dec(
12408        meth: *mut RSA_METHOD,
12409        pub_dec: ::std::option::Option<
12410            unsafe extern "C" fn(
12411                max_out: ::std::os::raw::c_int,
12412                from: *const u8,
12413                to: *mut u8,
12414                rsa: *mut RSA,
12415                padding: ::std::os::raw::c_int,
12416            ) -> ::std::os::raw::c_int,
12417        >,
12418    ) -> ::std::os::raw::c_int;
12419}
12420extern "C" {
12421    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set_pub_enc"]
12422    pub fn RSA_meth_set_pub_enc(
12423        meth: *mut RSA_METHOD,
12424        pub_enc: ::std::option::Option<
12425            unsafe extern "C" fn(
12426                max_out: ::std::os::raw::c_int,
12427                from: *const u8,
12428                to: *mut u8,
12429                rsa: *mut RSA,
12430                padding: ::std::os::raw::c_int,
12431            ) -> ::std::os::raw::c_int,
12432        >,
12433    ) -> ::std::os::raw::c_int;
12434}
12435extern "C" {
12436    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set0_app_data"]
12437    pub fn RSA_meth_set0_app_data(
12438        meth: *mut RSA_METHOD,
12439        app_data: *mut ::std::os::raw::c_void,
12440    ) -> ::std::os::raw::c_int;
12441}
12442extern "C" {
12443    #[link_name = "\u{1}aws_lc_0_34_0_RSA_meth_set_sign"]
12444    pub fn RSA_meth_set_sign(
12445        meth: *mut RSA_METHOD,
12446        sign: ::std::option::Option<
12447            unsafe extern "C" fn(
12448                type_: ::std::os::raw::c_int,
12449                m: *const ::std::os::raw::c_uchar,
12450                m_length: ::std::os::raw::c_uint,
12451                sigret: *mut ::std::os::raw::c_uchar,
12452                siglen: *mut ::std::os::raw::c_uint,
12453                rsa: *const RSA,
12454            ) -> ::std::os::raw::c_int,
12455        >,
12456    ) -> ::std::os::raw::c_int;
12457}
12458extern "C" {
12459    #[link_name = "\u{1}aws_lc_0_34_0_RSA_generate_key_ex"]
12460    pub fn RSA_generate_key_ex(
12461        rsa: *mut RSA,
12462        bits: ::std::os::raw::c_int,
12463        e: *const BIGNUM,
12464        cb: *mut BN_GENCB,
12465    ) -> ::std::os::raw::c_int;
12466}
12467extern "C" {
12468    #[link_name = "\u{1}aws_lc_0_34_0_RSA_generate_key_fips"]
12469    pub fn RSA_generate_key_fips(
12470        rsa: *mut RSA,
12471        bits: ::std::os::raw::c_int,
12472        cb: *mut BN_GENCB,
12473    ) -> ::std::os::raw::c_int;
12474}
12475extern "C" {
12476    #[link_name = "\u{1}aws_lc_0_34_0_RSA_encrypt"]
12477    pub fn RSA_encrypt(
12478        rsa: *mut RSA,
12479        out_len: *mut usize,
12480        out: *mut u8,
12481        max_out: usize,
12482        in_: *const u8,
12483        in_len: usize,
12484        padding: ::std::os::raw::c_int,
12485    ) -> ::std::os::raw::c_int;
12486}
12487extern "C" {
12488    #[link_name = "\u{1}aws_lc_0_34_0_RSA_decrypt"]
12489    pub fn RSA_decrypt(
12490        rsa: *mut RSA,
12491        out_len: *mut usize,
12492        out: *mut u8,
12493        max_out: usize,
12494        in_: *const u8,
12495        in_len: usize,
12496        padding: ::std::os::raw::c_int,
12497    ) -> ::std::os::raw::c_int;
12498}
12499extern "C" {
12500    #[link_name = "\u{1}aws_lc_0_34_0_RSA_public_encrypt"]
12501    pub fn RSA_public_encrypt(
12502        flen: usize,
12503        from: *const u8,
12504        to: *mut u8,
12505        rsa: *mut RSA,
12506        padding: ::std::os::raw::c_int,
12507    ) -> ::std::os::raw::c_int;
12508}
12509extern "C" {
12510    #[link_name = "\u{1}aws_lc_0_34_0_RSA_private_decrypt"]
12511    pub fn RSA_private_decrypt(
12512        flen: usize,
12513        from: *const u8,
12514        to: *mut u8,
12515        rsa: *mut RSA,
12516        padding: ::std::os::raw::c_int,
12517    ) -> ::std::os::raw::c_int;
12518}
12519extern "C" {
12520    #[link_name = "\u{1}aws_lc_0_34_0_RSA_sign"]
12521    pub fn RSA_sign(
12522        hash_nid: ::std::os::raw::c_int,
12523        digest: *const u8,
12524        digest_len: usize,
12525        out: *mut u8,
12526        out_len: *mut ::std::os::raw::c_uint,
12527        rsa: *mut RSA,
12528    ) -> ::std::os::raw::c_int;
12529}
12530extern "C" {
12531    #[link_name = "\u{1}aws_lc_0_34_0_RSA_sign_pss_mgf1"]
12532    pub fn RSA_sign_pss_mgf1(
12533        rsa: *mut RSA,
12534        out_len: *mut usize,
12535        out: *mut u8,
12536        max_out: usize,
12537        digest: *const u8,
12538        digest_len: usize,
12539        md: *const EVP_MD,
12540        mgf1_md: *const EVP_MD,
12541        salt_len: ::std::os::raw::c_int,
12542    ) -> ::std::os::raw::c_int;
12543}
12544extern "C" {
12545    #[link_name = "\u{1}aws_lc_0_34_0_RSA_sign_raw"]
12546    pub fn RSA_sign_raw(
12547        rsa: *mut RSA,
12548        out_len: *mut usize,
12549        out: *mut u8,
12550        max_out: usize,
12551        in_: *const u8,
12552        in_len: usize,
12553        padding: ::std::os::raw::c_int,
12554    ) -> ::std::os::raw::c_int;
12555}
12556extern "C" {
12557    #[link_name = "\u{1}aws_lc_0_34_0_RSA_verify"]
12558    pub fn RSA_verify(
12559        hash_nid: ::std::os::raw::c_int,
12560        digest: *const u8,
12561        digest_len: usize,
12562        sig: *const u8,
12563        sig_len: usize,
12564        rsa: *mut RSA,
12565    ) -> ::std::os::raw::c_int;
12566}
12567extern "C" {
12568    #[link_name = "\u{1}aws_lc_0_34_0_RSA_verify_pss_mgf1"]
12569    pub fn RSA_verify_pss_mgf1(
12570        rsa: *mut RSA,
12571        digest: *const u8,
12572        digest_len: usize,
12573        md: *const EVP_MD,
12574        mgf1_md: *const EVP_MD,
12575        salt_len: ::std::os::raw::c_int,
12576        sig: *const u8,
12577        sig_len: usize,
12578    ) -> ::std::os::raw::c_int;
12579}
12580extern "C" {
12581    #[link_name = "\u{1}aws_lc_0_34_0_RSA_verify_raw"]
12582    pub fn RSA_verify_raw(
12583        rsa: *mut RSA,
12584        out_len: *mut usize,
12585        out: *mut u8,
12586        max_out: usize,
12587        in_: *const u8,
12588        in_len: usize,
12589        padding: ::std::os::raw::c_int,
12590    ) -> ::std::os::raw::c_int;
12591}
12592extern "C" {
12593    #[link_name = "\u{1}aws_lc_0_34_0_RSA_private_encrypt"]
12594    pub fn RSA_private_encrypt(
12595        flen: usize,
12596        from: *const u8,
12597        to: *mut u8,
12598        rsa: *mut RSA,
12599        padding: ::std::os::raw::c_int,
12600    ) -> ::std::os::raw::c_int;
12601}
12602extern "C" {
12603    #[link_name = "\u{1}aws_lc_0_34_0_RSA_public_decrypt"]
12604    pub fn RSA_public_decrypt(
12605        flen: usize,
12606        from: *const u8,
12607        to: *mut u8,
12608        rsa: *mut RSA,
12609        padding: ::std::os::raw::c_int,
12610    ) -> ::std::os::raw::c_int;
12611}
12612extern "C" {
12613    #[link_name = "\u{1}aws_lc_0_34_0_RSA_size"]
12614    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12615}
12616extern "C" {
12617    #[link_name = "\u{1}aws_lc_0_34_0_RSA_is_opaque"]
12618    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12619}
12620extern "C" {
12621    #[link_name = "\u{1}aws_lc_0_34_0_RSAPublicKey_dup"]
12622    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12623}
12624extern "C" {
12625    #[link_name = "\u{1}aws_lc_0_34_0_RSAPrivateKey_dup"]
12626    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12627}
12628extern "C" {
12629    #[link_name = "\u{1}aws_lc_0_34_0_RSA_check_key"]
12630    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12631}
12632extern "C" {
12633    #[link_name = "\u{1}aws_lc_0_34_0_RSA_check_fips"]
12634    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12635}
12636extern "C" {
12637    #[link_name = "\u{1}aws_lc_0_34_0_RSA_verify_PKCS1_PSS_mgf1"]
12638    pub fn RSA_verify_PKCS1_PSS_mgf1(
12639        rsa: *const RSA,
12640        mHash: *const u8,
12641        Hash: *const EVP_MD,
12642        mgf1Hash: *const EVP_MD,
12643        EM: *const u8,
12644        sLen: ::std::os::raw::c_int,
12645    ) -> ::std::os::raw::c_int;
12646}
12647extern "C" {
12648    #[link_name = "\u{1}aws_lc_0_34_0_RSA_padding_add_PKCS1_PSS_mgf1"]
12649    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12650        rsa: *const RSA,
12651        EM: *mut u8,
12652        mHash: *const u8,
12653        Hash: *const EVP_MD,
12654        mgf1Hash: *const EVP_MD,
12655        sLen: ::std::os::raw::c_int,
12656    ) -> ::std::os::raw::c_int;
12657}
12658extern "C" {
12659    #[link_name = "\u{1}aws_lc_0_34_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
12660    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12661        to: *mut u8,
12662        to_len: usize,
12663        from: *const u8,
12664        from_len: usize,
12665        param: *const u8,
12666        param_len: usize,
12667        md: *const EVP_MD,
12668        mgf1md: *const EVP_MD,
12669    ) -> ::std::os::raw::c_int;
12670}
12671extern "C" {
12672    #[link_name = "\u{1}aws_lc_0_34_0_PKCS1_MGF1"]
12673    pub fn PKCS1_MGF1(
12674        out: *mut u8,
12675        len: usize,
12676        seed: *const u8,
12677        seed_len: usize,
12678        md: *const EVP_MD,
12679    ) -> ::std::os::raw::c_int;
12680}
12681extern "C" {
12682    #[link_name = "\u{1}aws_lc_0_34_0_RSA_add_pkcs1_prefix"]
12683    pub fn RSA_add_pkcs1_prefix(
12684        out_msg: *mut *mut u8,
12685        out_msg_len: *mut usize,
12686        is_alloced: *mut ::std::os::raw::c_int,
12687        hash_nid: ::std::os::raw::c_int,
12688        digest: *const u8,
12689        digest_len: usize,
12690    ) -> ::std::os::raw::c_int;
12691}
12692extern "C" {
12693    #[link_name = "\u{1}aws_lc_0_34_0_RSA_parse_public_key"]
12694    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12695}
12696extern "C" {
12697    #[link_name = "\u{1}aws_lc_0_34_0_RSA_public_key_from_bytes"]
12698    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12699}
12700extern "C" {
12701    #[link_name = "\u{1}aws_lc_0_34_0_RSA_marshal_public_key"]
12702    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12703}
12704extern "C" {
12705    #[link_name = "\u{1}aws_lc_0_34_0_RSA_public_key_to_bytes"]
12706    pub fn RSA_public_key_to_bytes(
12707        out_bytes: *mut *mut u8,
12708        out_len: *mut usize,
12709        rsa: *const RSA,
12710    ) -> ::std::os::raw::c_int;
12711}
12712extern "C" {
12713    #[link_name = "\u{1}aws_lc_0_34_0_RSA_parse_private_key"]
12714    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12715}
12716extern "C" {
12717    #[link_name = "\u{1}aws_lc_0_34_0_RSA_private_key_from_bytes"]
12718    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12719}
12720extern "C" {
12721    #[link_name = "\u{1}aws_lc_0_34_0_RSA_marshal_private_key"]
12722    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12723}
12724extern "C" {
12725    #[link_name = "\u{1}aws_lc_0_34_0_RSA_private_key_to_bytes"]
12726    pub fn RSA_private_key_to_bytes(
12727        out_bytes: *mut *mut u8,
12728        out_len: *mut usize,
12729        rsa: *const RSA,
12730    ) -> ::std::os::raw::c_int;
12731}
12732extern "C" {
12733    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_private_key_no_crt"]
12734    pub fn RSA_new_private_key_no_crt(
12735        n: *const BIGNUM,
12736        e: *const BIGNUM,
12737        d: *const BIGNUM,
12738    ) -> *mut RSA;
12739}
12740extern "C" {
12741    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_private_key_no_e"]
12742    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
12743}
12744extern "C" {
12745    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_public_key_large_e"]
12746    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12747}
12748extern "C" {
12749    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_private_key_large_e"]
12750    pub fn RSA_new_private_key_large_e(
12751        n: *const BIGNUM,
12752        e: *const BIGNUM,
12753        d: *const BIGNUM,
12754        p: *const BIGNUM,
12755        q: *const BIGNUM,
12756        dmp1: *const BIGNUM,
12757        dmq1: *const BIGNUM,
12758        iqmp: *const BIGNUM,
12759    ) -> *mut RSA;
12760}
12761extern "C" {
12762    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get_ex_new_index"]
12763    pub fn RSA_get_ex_new_index(
12764        argl: ::std::os::raw::c_long,
12765        argp: *mut ::std::os::raw::c_void,
12766        unused: *mut CRYPTO_EX_unused,
12767        dup_unused: CRYPTO_EX_dup,
12768        free_func: CRYPTO_EX_free,
12769    ) -> ::std::os::raw::c_int;
12770}
12771extern "C" {
12772    #[link_name = "\u{1}aws_lc_0_34_0_RSA_set_ex_data"]
12773    pub fn RSA_set_ex_data(
12774        rsa: *mut RSA,
12775        idx: ::std::os::raw::c_int,
12776        arg: *mut ::std::os::raw::c_void,
12777    ) -> ::std::os::raw::c_int;
12778}
12779extern "C" {
12780    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get_ex_data"]
12781    pub fn RSA_get_ex_data(
12782        rsa: *const RSA,
12783        idx: ::std::os::raw::c_int,
12784    ) -> *mut ::std::os::raw::c_void;
12785}
12786extern "C" {
12787    #[link_name = "\u{1}aws_lc_0_34_0_RSA_flags"]
12788    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
12789}
12790extern "C" {
12791    #[link_name = "\u{1}aws_lc_0_34_0_RSA_set_flags"]
12792    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
12793}
12794extern "C" {
12795    #[link_name = "\u{1}aws_lc_0_34_0_RSA_test_flags"]
12796    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12797}
12798extern "C" {
12799    #[link_name = "\u{1}aws_lc_0_34_0_RSA_blinding_on"]
12800    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
12801}
12802extern "C" {
12803    #[link_name = "\u{1}aws_lc_0_34_0_RSA_blinding_off_temp_for_accp_compatibility"]
12804    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
12805}
12806extern "C" {
12807    #[link_name = "\u{1}aws_lc_0_34_0_RSA_pkey_ctx_ctrl"]
12808    pub fn RSA_pkey_ctx_ctrl(
12809        ctx: *mut EVP_PKEY_CTX,
12810        optype: ::std::os::raw::c_int,
12811        cmd: ::std::os::raw::c_int,
12812        p1: ::std::os::raw::c_int,
12813        p2: *mut ::std::os::raw::c_void,
12814    ) -> ::std::os::raw::c_int;
12815}
12816extern "C" {
12817    #[link_name = "\u{1}aws_lc_0_34_0_RSA_generate_key"]
12818    pub fn RSA_generate_key(
12819        bits: ::std::os::raw::c_int,
12820        e: u64,
12821        callback: *mut ::std::os::raw::c_void,
12822        cb_arg: *mut ::std::os::raw::c_void,
12823    ) -> *mut RSA;
12824}
12825extern "C" {
12826    #[link_name = "\u{1}aws_lc_0_34_0_d2i_RSAPublicKey"]
12827    pub fn d2i_RSAPublicKey(
12828        out: *mut *mut RSA,
12829        inp: *mut *const u8,
12830        len: ::std::os::raw::c_long,
12831    ) -> *mut RSA;
12832}
12833extern "C" {
12834    #[link_name = "\u{1}aws_lc_0_34_0_i2d_RSAPublicKey"]
12835    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12836}
12837extern "C" {
12838    #[link_name = "\u{1}aws_lc_0_34_0_d2i_RSAPrivateKey"]
12839    pub fn d2i_RSAPrivateKey(
12840        out: *mut *mut RSA,
12841        inp: *mut *const u8,
12842        len: ::std::os::raw::c_long,
12843    ) -> *mut RSA;
12844}
12845extern "C" {
12846    #[link_name = "\u{1}aws_lc_0_34_0_i2d_RSAPrivateKey"]
12847    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12848}
12849extern "C" {
12850    #[link_name = "\u{1}aws_lc_0_34_0_RSA_padding_add_PKCS1_PSS"]
12851    pub fn RSA_padding_add_PKCS1_PSS(
12852        rsa: *const RSA,
12853        EM: *mut u8,
12854        mHash: *const u8,
12855        Hash: *const EVP_MD,
12856        sLen: ::std::os::raw::c_int,
12857    ) -> ::std::os::raw::c_int;
12858}
12859extern "C" {
12860    #[link_name = "\u{1}aws_lc_0_34_0_RSA_verify_PKCS1_PSS"]
12861    pub fn RSA_verify_PKCS1_PSS(
12862        rsa: *const RSA,
12863        mHash: *const u8,
12864        Hash: *const EVP_MD,
12865        EM: *const u8,
12866        sLen: ::std::os::raw::c_int,
12867    ) -> ::std::os::raw::c_int;
12868}
12869extern "C" {
12870    #[link_name = "\u{1}aws_lc_0_34_0_RSA_padding_add_PKCS1_OAEP"]
12871    pub fn RSA_padding_add_PKCS1_OAEP(
12872        to: *mut u8,
12873        to_len: usize,
12874        from: *const u8,
12875        from_len: usize,
12876        param: *const u8,
12877        param_len: usize,
12878    ) -> ::std::os::raw::c_int;
12879}
12880extern "C" {
12881    #[link_name = "\u{1}aws_lc_0_34_0_RSA_print"]
12882    pub fn RSA_print(
12883        bio: *mut BIO,
12884        rsa: *const RSA,
12885        indent: ::std::os::raw::c_int,
12886    ) -> ::std::os::raw::c_int;
12887}
12888extern "C" {
12889    #[link_name = "\u{1}aws_lc_0_34_0_RSA_get0_pss_params"]
12890    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
12891}
12892extern "C" {
12893    #[link_name = "\u{1}aws_lc_0_34_0_RSA_new_method_no_e"]
12894    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
12895}
12896#[repr(C)]
12897#[derive(Debug, Copy, Clone)]
12898pub struct stack_st_GENERAL_NAME {
12899    _unused: [u8; 0],
12900}
12901pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
12902#[repr(C)]
12903#[derive(Debug, Copy, Clone)]
12904pub struct stack_st_X509_NAME_ENTRY {
12905    _unused: [u8; 0],
12906}
12907#[repr(C)]
12908#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12909pub struct otherName_st {
12910    pub type_id: *mut ASN1_OBJECT,
12911    pub value: *mut ASN1_TYPE,
12912}
12913#[test]
12914fn bindgen_test_layout_otherName_st() {
12915    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
12916    let ptr = UNINIT.as_ptr();
12917    assert_eq!(
12918        ::std::mem::size_of::<otherName_st>(),
12919        16usize,
12920        "Size of otherName_st"
12921    );
12922    assert_eq!(
12923        ::std::mem::align_of::<otherName_st>(),
12924        8usize,
12925        "Alignment of otherName_st"
12926    );
12927    assert_eq!(
12928        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
12929        0usize,
12930        "Offset of field: otherName_st::type_id"
12931    );
12932    assert_eq!(
12933        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
12934        8usize,
12935        "Offset of field: otherName_st::value"
12936    );
12937}
12938impl Default for otherName_st {
12939    fn default() -> Self {
12940        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12941        unsafe {
12942            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12943            s.assume_init()
12944        }
12945    }
12946}
12947pub type OTHERNAME = otherName_st;
12948#[repr(C)]
12949#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12950pub struct EDIPartyName_st {
12951    pub nameAssigner: *mut ASN1_STRING,
12952    pub partyName: *mut ASN1_STRING,
12953}
12954#[test]
12955fn bindgen_test_layout_EDIPartyName_st() {
12956    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
12957    let ptr = UNINIT.as_ptr();
12958    assert_eq!(
12959        ::std::mem::size_of::<EDIPartyName_st>(),
12960        16usize,
12961        "Size of EDIPartyName_st"
12962    );
12963    assert_eq!(
12964        ::std::mem::align_of::<EDIPartyName_st>(),
12965        8usize,
12966        "Alignment of EDIPartyName_st"
12967    );
12968    assert_eq!(
12969        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
12970        0usize,
12971        "Offset of field: EDIPartyName_st::nameAssigner"
12972    );
12973    assert_eq!(
12974        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
12975        8usize,
12976        "Offset of field: EDIPartyName_st::partyName"
12977    );
12978}
12979impl Default for EDIPartyName_st {
12980    fn default() -> Self {
12981        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12982        unsafe {
12983            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12984            s.assume_init()
12985        }
12986    }
12987}
12988pub type EDIPARTYNAME = EDIPartyName_st;
12989#[repr(C)]
12990#[derive(Copy, Clone)]
12991pub struct GENERAL_NAME_st {
12992    pub type_: ::std::os::raw::c_int,
12993    pub d: GENERAL_NAME_st__bindgen_ty_1,
12994}
12995#[repr(C)]
12996#[derive(Copy, Clone)]
12997pub union GENERAL_NAME_st__bindgen_ty_1 {
12998    pub ptr: *mut ::std::os::raw::c_char,
12999    pub otherName: *mut OTHERNAME,
13000    pub rfc822Name: *mut ASN1_IA5STRING,
13001    pub dNSName: *mut ASN1_IA5STRING,
13002    pub x400Address: *mut ASN1_STRING,
13003    pub directoryName: *mut X509_NAME,
13004    pub ediPartyName: *mut EDIPARTYNAME,
13005    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13006    pub iPAddress: *mut ASN1_OCTET_STRING,
13007    pub registeredID: *mut ASN1_OBJECT,
13008    pub ip: *mut ASN1_OCTET_STRING,
13009    pub dirn: *mut X509_NAME,
13010    pub ia5: *mut ASN1_IA5STRING,
13011    pub rid: *mut ASN1_OBJECT,
13012}
13013#[test]
13014fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13015    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13016        ::std::mem::MaybeUninit::uninit();
13017    let ptr = UNINIT.as_ptr();
13018    assert_eq!(
13019        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13020        8usize,
13021        "Size of GENERAL_NAME_st__bindgen_ty_1"
13022    );
13023    assert_eq!(
13024        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13025        8usize,
13026        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13027    );
13028    assert_eq!(
13029        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13030        0usize,
13031        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13032    );
13033    assert_eq!(
13034        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13035        0usize,
13036        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13037    );
13038    assert_eq!(
13039        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13040        0usize,
13041        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13042    );
13043    assert_eq!(
13044        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13045        0usize,
13046        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13047    );
13048    assert_eq!(
13049        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13050        0usize,
13051        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13052    );
13053    assert_eq!(
13054        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13055        0usize,
13056        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13057    );
13058    assert_eq!(
13059        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13060        0usize,
13061        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13062    );
13063    assert_eq!(
13064        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13065        0usize,
13066        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13067    );
13068    assert_eq!(
13069        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13070        0usize,
13071        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13072    );
13073    assert_eq!(
13074        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13075        0usize,
13076        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13077    );
13078    assert_eq!(
13079        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13080        0usize,
13081        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13082    );
13083    assert_eq!(
13084        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13085        0usize,
13086        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13087    );
13088    assert_eq!(
13089        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13090        0usize,
13091        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13092    );
13093    assert_eq!(
13094        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13095        0usize,
13096        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13097    );
13098}
13099impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13100    fn default() -> Self {
13101        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13102        unsafe {
13103            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13104            s.assume_init()
13105        }
13106    }
13107}
13108#[test]
13109fn bindgen_test_layout_GENERAL_NAME_st() {
13110    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13111    let ptr = UNINIT.as_ptr();
13112    assert_eq!(
13113        ::std::mem::size_of::<GENERAL_NAME_st>(),
13114        16usize,
13115        "Size of GENERAL_NAME_st"
13116    );
13117    assert_eq!(
13118        ::std::mem::align_of::<GENERAL_NAME_st>(),
13119        8usize,
13120        "Alignment of GENERAL_NAME_st"
13121    );
13122    assert_eq!(
13123        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13124        0usize,
13125        "Offset of field: GENERAL_NAME_st::type_"
13126    );
13127    assert_eq!(
13128        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13129        8usize,
13130        "Offset of field: GENERAL_NAME_st::d"
13131    );
13132}
13133impl Default for GENERAL_NAME_st {
13134    fn default() -> Self {
13135        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13136        unsafe {
13137            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13138            s.assume_init()
13139        }
13140    }
13141}
13142#[repr(C)]
13143#[derive(Debug, Copy, Clone)]
13144pub struct stack_st_X509_ALGOR {
13145    _unused: [u8; 0],
13146}
13147#[repr(C)]
13148#[derive(Debug, Copy, Clone)]
13149pub struct stack_st_X509_ATTRIBUTE {
13150    _unused: [u8; 0],
13151}
13152#[repr(C)]
13153#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13154pub struct Netscape_spki_st {
13155    pub spkac: *mut NETSCAPE_SPKAC,
13156    pub sig_algor: *mut X509_ALGOR,
13157    pub signature: *mut ASN1_BIT_STRING,
13158}
13159#[test]
13160fn bindgen_test_layout_Netscape_spki_st() {
13161    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13162    let ptr = UNINIT.as_ptr();
13163    assert_eq!(
13164        ::std::mem::size_of::<Netscape_spki_st>(),
13165        24usize,
13166        "Size of Netscape_spki_st"
13167    );
13168    assert_eq!(
13169        ::std::mem::align_of::<Netscape_spki_st>(),
13170        8usize,
13171        "Alignment of Netscape_spki_st"
13172    );
13173    assert_eq!(
13174        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13175        0usize,
13176        "Offset of field: Netscape_spki_st::spkac"
13177    );
13178    assert_eq!(
13179        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13180        8usize,
13181        "Offset of field: Netscape_spki_st::sig_algor"
13182    );
13183    assert_eq!(
13184        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13185        16usize,
13186        "Offset of field: Netscape_spki_st::signature"
13187    );
13188}
13189impl Default for Netscape_spki_st {
13190    fn default() -> Self {
13191        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13192        unsafe {
13193            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13194            s.assume_init()
13195        }
13196    }
13197}
13198#[repr(C)]
13199#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13200pub struct Netscape_spkac_st {
13201    pub pubkey: *mut X509_PUBKEY,
13202    pub challenge: *mut ASN1_IA5STRING,
13203}
13204#[test]
13205fn bindgen_test_layout_Netscape_spkac_st() {
13206    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13207    let ptr = UNINIT.as_ptr();
13208    assert_eq!(
13209        ::std::mem::size_of::<Netscape_spkac_st>(),
13210        16usize,
13211        "Size of Netscape_spkac_st"
13212    );
13213    assert_eq!(
13214        ::std::mem::align_of::<Netscape_spkac_st>(),
13215        8usize,
13216        "Alignment of Netscape_spkac_st"
13217    );
13218    assert_eq!(
13219        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13220        0usize,
13221        "Offset of field: Netscape_spkac_st::pubkey"
13222    );
13223    assert_eq!(
13224        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13225        8usize,
13226        "Offset of field: Netscape_spkac_st::challenge"
13227    );
13228}
13229impl Default for Netscape_spkac_st {
13230    fn default() -> Self {
13231        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13232        unsafe {
13233            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13234            s.assume_init()
13235        }
13236    }
13237}
13238#[repr(C)]
13239#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13240pub struct rsa_pss_params_st {
13241    pub hashAlgorithm: *mut X509_ALGOR,
13242    pub maskGenAlgorithm: *mut X509_ALGOR,
13243    pub saltLength: *mut ASN1_INTEGER,
13244    pub trailerField: *mut ASN1_INTEGER,
13245    pub maskHash: *mut X509_ALGOR,
13246}
13247#[test]
13248fn bindgen_test_layout_rsa_pss_params_st() {
13249    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13250    let ptr = UNINIT.as_ptr();
13251    assert_eq!(
13252        ::std::mem::size_of::<rsa_pss_params_st>(),
13253        40usize,
13254        "Size of rsa_pss_params_st"
13255    );
13256    assert_eq!(
13257        ::std::mem::align_of::<rsa_pss_params_st>(),
13258        8usize,
13259        "Alignment of rsa_pss_params_st"
13260    );
13261    assert_eq!(
13262        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13263        0usize,
13264        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13265    );
13266    assert_eq!(
13267        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13268        8usize,
13269        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13270    );
13271    assert_eq!(
13272        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13273        16usize,
13274        "Offset of field: rsa_pss_params_st::saltLength"
13275    );
13276    assert_eq!(
13277        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13278        24usize,
13279        "Offset of field: rsa_pss_params_st::trailerField"
13280    );
13281    assert_eq!(
13282        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13283        32usize,
13284        "Offset of field: rsa_pss_params_st::maskHash"
13285    );
13286}
13287impl Default for rsa_pss_params_st {
13288    fn default() -> Self {
13289        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13290        unsafe {
13291            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13292            s.assume_init()
13293        }
13294    }
13295}
13296#[repr(C)]
13297#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13298pub struct private_key_st {
13299    pub dec_pkey: *mut EVP_PKEY,
13300}
13301#[test]
13302fn bindgen_test_layout_private_key_st() {
13303    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13304    let ptr = UNINIT.as_ptr();
13305    assert_eq!(
13306        ::std::mem::size_of::<private_key_st>(),
13307        8usize,
13308        "Size of private_key_st"
13309    );
13310    assert_eq!(
13311        ::std::mem::align_of::<private_key_st>(),
13312        8usize,
13313        "Alignment of private_key_st"
13314    );
13315    assert_eq!(
13316        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13317        0usize,
13318        "Offset of field: private_key_st::dec_pkey"
13319    );
13320}
13321impl Default for private_key_st {
13322    fn default() -> Self {
13323        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13324        unsafe {
13325            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13326            s.assume_init()
13327        }
13328    }
13329}
13330#[repr(C)]
13331#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13332pub struct X509_info_st {
13333    pub x509: *mut X509,
13334    pub crl: *mut X509_CRL,
13335    pub x_pkey: *mut X509_PKEY,
13336    pub enc_cipher: EVP_CIPHER_INFO,
13337    pub enc_len: ::std::os::raw::c_int,
13338    pub enc_data: *mut ::std::os::raw::c_char,
13339}
13340#[test]
13341fn bindgen_test_layout_X509_info_st() {
13342    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13343    let ptr = UNINIT.as_ptr();
13344    assert_eq!(
13345        ::std::mem::size_of::<X509_info_st>(),
13346        64usize,
13347        "Size of X509_info_st"
13348    );
13349    assert_eq!(
13350        ::std::mem::align_of::<X509_info_st>(),
13351        8usize,
13352        "Alignment of X509_info_st"
13353    );
13354    assert_eq!(
13355        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13356        0usize,
13357        "Offset of field: X509_info_st::x509"
13358    );
13359    assert_eq!(
13360        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13361        8usize,
13362        "Offset of field: X509_info_st::crl"
13363    );
13364    assert_eq!(
13365        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13366        16usize,
13367        "Offset of field: X509_info_st::x_pkey"
13368    );
13369    assert_eq!(
13370        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13371        24usize,
13372        "Offset of field: X509_info_st::enc_cipher"
13373    );
13374    assert_eq!(
13375        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13376        48usize,
13377        "Offset of field: X509_info_st::enc_len"
13378    );
13379    assert_eq!(
13380        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13381        56usize,
13382        "Offset of field: X509_info_st::enc_data"
13383    );
13384}
13385impl Default for X509_info_st {
13386    fn default() -> Self {
13387        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13388        unsafe {
13389            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13390            s.assume_init()
13391        }
13392    }
13393}
13394pub type X509V3_EXT_NEW =
13395    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13396pub type X509V3_EXT_FREE =
13397    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13398pub type X509V3_EXT_D2I = ::std::option::Option<
13399    unsafe extern "C" fn(
13400        ext: *mut ::std::os::raw::c_void,
13401        inp: *mut *const u8,
13402        len: ::std::os::raw::c_long,
13403    ) -> *mut ::std::os::raw::c_void,
13404>;
13405pub type X509V3_EXT_I2D = ::std::option::Option<
13406    unsafe extern "C" fn(
13407        ext: *mut ::std::os::raw::c_void,
13408        outp: *mut *mut u8,
13409    ) -> ::std::os::raw::c_int,
13410>;
13411pub type X509V3_EXT_I2V = ::std::option::Option<
13412    unsafe extern "C" fn(
13413        method: *const X509V3_EXT_METHOD,
13414        ext: *mut ::std::os::raw::c_void,
13415        extlist: *mut stack_st_CONF_VALUE,
13416    ) -> *mut stack_st_CONF_VALUE,
13417>;
13418pub type X509V3_EXT_V2I = ::std::option::Option<
13419    unsafe extern "C" fn(
13420        method: *const X509V3_EXT_METHOD,
13421        ctx: *const X509V3_CTX,
13422        values: *const stack_st_CONF_VALUE,
13423    ) -> *mut ::std::os::raw::c_void,
13424>;
13425pub type X509V3_EXT_I2S = ::std::option::Option<
13426    unsafe extern "C" fn(
13427        method: *const X509V3_EXT_METHOD,
13428        ext: *mut ::std::os::raw::c_void,
13429    ) -> *mut ::std::os::raw::c_char,
13430>;
13431pub type X509V3_EXT_S2I = ::std::option::Option<
13432    unsafe extern "C" fn(
13433        method: *const X509V3_EXT_METHOD,
13434        ctx: *const X509V3_CTX,
13435        str_: *const ::std::os::raw::c_char,
13436    ) -> *mut ::std::os::raw::c_void,
13437>;
13438pub type X509V3_EXT_I2R = ::std::option::Option<
13439    unsafe extern "C" fn(
13440        method: *const X509V3_EXT_METHOD,
13441        ext: *mut ::std::os::raw::c_void,
13442        out: *mut BIO,
13443        indent: ::std::os::raw::c_int,
13444    ) -> ::std::os::raw::c_int,
13445>;
13446pub type X509V3_EXT_R2I = ::std::option::Option<
13447    unsafe extern "C" fn(
13448        method: *const X509V3_EXT_METHOD,
13449        ctx: *const X509V3_CTX,
13450        str_: *const ::std::os::raw::c_char,
13451    ) -> *mut ::std::os::raw::c_void,
13452>;
13453#[repr(C)]
13454#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13455pub struct v3_ext_method {
13456    pub ext_nid: ::std::os::raw::c_int,
13457    pub ext_flags: ::std::os::raw::c_int,
13458    pub it: *const ASN1_ITEM_st,
13459    pub ext_new: X509V3_EXT_NEW,
13460    pub ext_free: X509V3_EXT_FREE,
13461    pub d2i: X509V3_EXT_D2I,
13462    pub i2d: X509V3_EXT_I2D,
13463    pub i2s: X509V3_EXT_I2S,
13464    pub s2i: X509V3_EXT_S2I,
13465    pub i2v: X509V3_EXT_I2V,
13466    pub v2i: X509V3_EXT_V2I,
13467    pub i2r: X509V3_EXT_I2R,
13468    pub r2i: X509V3_EXT_R2I,
13469    pub usr_data: *mut ::std::os::raw::c_void,
13470}
13471#[test]
13472fn bindgen_test_layout_v3_ext_method() {
13473    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13474    let ptr = UNINIT.as_ptr();
13475    assert_eq!(
13476        ::std::mem::size_of::<v3_ext_method>(),
13477        104usize,
13478        "Size of v3_ext_method"
13479    );
13480    assert_eq!(
13481        ::std::mem::align_of::<v3_ext_method>(),
13482        8usize,
13483        "Alignment of v3_ext_method"
13484    );
13485    assert_eq!(
13486        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13487        0usize,
13488        "Offset of field: v3_ext_method::ext_nid"
13489    );
13490    assert_eq!(
13491        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13492        4usize,
13493        "Offset of field: v3_ext_method::ext_flags"
13494    );
13495    assert_eq!(
13496        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13497        8usize,
13498        "Offset of field: v3_ext_method::it"
13499    );
13500    assert_eq!(
13501        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13502        16usize,
13503        "Offset of field: v3_ext_method::ext_new"
13504    );
13505    assert_eq!(
13506        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13507        24usize,
13508        "Offset of field: v3_ext_method::ext_free"
13509    );
13510    assert_eq!(
13511        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13512        32usize,
13513        "Offset of field: v3_ext_method::d2i"
13514    );
13515    assert_eq!(
13516        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13517        40usize,
13518        "Offset of field: v3_ext_method::i2d"
13519    );
13520    assert_eq!(
13521        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13522        48usize,
13523        "Offset of field: v3_ext_method::i2s"
13524    );
13525    assert_eq!(
13526        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13527        56usize,
13528        "Offset of field: v3_ext_method::s2i"
13529    );
13530    assert_eq!(
13531        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13532        64usize,
13533        "Offset of field: v3_ext_method::i2v"
13534    );
13535    assert_eq!(
13536        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13537        72usize,
13538        "Offset of field: v3_ext_method::v2i"
13539    );
13540    assert_eq!(
13541        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13542        80usize,
13543        "Offset of field: v3_ext_method::i2r"
13544    );
13545    assert_eq!(
13546        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13547        88usize,
13548        "Offset of field: v3_ext_method::r2i"
13549    );
13550    assert_eq!(
13551        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13552        96usize,
13553        "Offset of field: v3_ext_method::usr_data"
13554    );
13555}
13556impl Default for v3_ext_method {
13557    fn default() -> Self {
13558        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13559        unsafe {
13560            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13561            s.assume_init()
13562        }
13563    }
13564}
13565#[repr(C)]
13566#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13567pub struct v3_ext_ctx {
13568    pub flags: ::std::os::raw::c_int,
13569    pub issuer_cert: *const X509,
13570    pub subject_cert: *const X509,
13571    pub subject_req: *const X509_REQ,
13572    pub crl: *const X509_CRL,
13573    pub db: *const CONF,
13574}
13575#[test]
13576fn bindgen_test_layout_v3_ext_ctx() {
13577    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13578    let ptr = UNINIT.as_ptr();
13579    assert_eq!(
13580        ::std::mem::size_of::<v3_ext_ctx>(),
13581        48usize,
13582        "Size of v3_ext_ctx"
13583    );
13584    assert_eq!(
13585        ::std::mem::align_of::<v3_ext_ctx>(),
13586        8usize,
13587        "Alignment of v3_ext_ctx"
13588    );
13589    assert_eq!(
13590        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13591        0usize,
13592        "Offset of field: v3_ext_ctx::flags"
13593    );
13594    assert_eq!(
13595        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13596        8usize,
13597        "Offset of field: v3_ext_ctx::issuer_cert"
13598    );
13599    assert_eq!(
13600        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13601        16usize,
13602        "Offset of field: v3_ext_ctx::subject_cert"
13603    );
13604    assert_eq!(
13605        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13606        24usize,
13607        "Offset of field: v3_ext_ctx::subject_req"
13608    );
13609    assert_eq!(
13610        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13611        32usize,
13612        "Offset of field: v3_ext_ctx::crl"
13613    );
13614    assert_eq!(
13615        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13616        40usize,
13617        "Offset of field: v3_ext_ctx::db"
13618    );
13619}
13620impl Default for v3_ext_ctx {
13621    fn default() -> Self {
13622        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13623        unsafe {
13624            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13625            s.assume_init()
13626        }
13627    }
13628}
13629#[repr(C)]
13630#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13631pub struct X509_algor_st {
13632    pub algorithm: *mut ASN1_OBJECT,
13633    pub parameter: *mut ASN1_TYPE,
13634}
13635#[test]
13636fn bindgen_test_layout_X509_algor_st() {
13637    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13638    let ptr = UNINIT.as_ptr();
13639    assert_eq!(
13640        ::std::mem::size_of::<X509_algor_st>(),
13641        16usize,
13642        "Size of X509_algor_st"
13643    );
13644    assert_eq!(
13645        ::std::mem::align_of::<X509_algor_st>(),
13646        8usize,
13647        "Alignment of X509_algor_st"
13648    );
13649    assert_eq!(
13650        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13651        0usize,
13652        "Offset of field: X509_algor_st::algorithm"
13653    );
13654    assert_eq!(
13655        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13656        8usize,
13657        "Offset of field: X509_algor_st::parameter"
13658    );
13659}
13660impl Default for X509_algor_st {
13661    fn default() -> Self {
13662        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13663        unsafe {
13664            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13665            s.assume_init()
13666        }
13667    }
13668}
13669#[repr(C)]
13670#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13671pub struct x509_trust_st {
13672    pub trust: ::std::os::raw::c_int,
13673    pub flags: ::std::os::raw::c_int,
13674    pub check_trust: ::std::option::Option<
13675        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13676    >,
13677    pub name: *mut ::std::os::raw::c_char,
13678    pub arg1: ::std::os::raw::c_int,
13679    pub arg2: *mut ::std::os::raw::c_void,
13680}
13681#[test]
13682fn bindgen_test_layout_x509_trust_st() {
13683    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13684    let ptr = UNINIT.as_ptr();
13685    assert_eq!(
13686        ::std::mem::size_of::<x509_trust_st>(),
13687        40usize,
13688        "Size of x509_trust_st"
13689    );
13690    assert_eq!(
13691        ::std::mem::align_of::<x509_trust_st>(),
13692        8usize,
13693        "Alignment of x509_trust_st"
13694    );
13695    assert_eq!(
13696        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13697        0usize,
13698        "Offset of field: x509_trust_st::trust"
13699    );
13700    assert_eq!(
13701        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13702        4usize,
13703        "Offset of field: x509_trust_st::flags"
13704    );
13705    assert_eq!(
13706        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13707        8usize,
13708        "Offset of field: x509_trust_st::check_trust"
13709    );
13710    assert_eq!(
13711        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13712        16usize,
13713        "Offset of field: x509_trust_st::name"
13714    );
13715    assert_eq!(
13716        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13717        24usize,
13718        "Offset of field: x509_trust_st::arg1"
13719    );
13720    assert_eq!(
13721        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13722        32usize,
13723        "Offset of field: x509_trust_st::arg2"
13724    );
13725}
13726impl Default for x509_trust_st {
13727    fn default() -> Self {
13728        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13729        unsafe {
13730            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13731            s.assume_init()
13732        }
13733    }
13734}
13735#[repr(C)]
13736#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13737pub struct BASIC_CONSTRAINTS_st {
13738    pub ca: ASN1_BOOLEAN,
13739    pub pathlen: *mut ASN1_INTEGER,
13740}
13741#[test]
13742fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
13743    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13744    let ptr = UNINIT.as_ptr();
13745    assert_eq!(
13746        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
13747        16usize,
13748        "Size of BASIC_CONSTRAINTS_st"
13749    );
13750    assert_eq!(
13751        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
13752        8usize,
13753        "Alignment of BASIC_CONSTRAINTS_st"
13754    );
13755    assert_eq!(
13756        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
13757        0usize,
13758        "Offset of field: BASIC_CONSTRAINTS_st::ca"
13759    );
13760    assert_eq!(
13761        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
13762        8usize,
13763        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
13764    );
13765}
13766impl Default for BASIC_CONSTRAINTS_st {
13767    fn default() -> Self {
13768        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13769        unsafe {
13770            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13771            s.assume_init()
13772        }
13773    }
13774}
13775#[repr(C)]
13776#[derive(Copy, Clone)]
13777pub struct DIST_POINT_NAME_st {
13778    pub type_: ::std::os::raw::c_int,
13779    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
13780    pub dpname: *mut X509_NAME,
13781}
13782#[repr(C)]
13783#[derive(Copy, Clone)]
13784pub union DIST_POINT_NAME_st__bindgen_ty_1 {
13785    pub fullname: *mut GENERAL_NAMES,
13786    pub relativename: *mut stack_st_X509_NAME_ENTRY,
13787}
13788#[test]
13789fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
13790    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
13791        ::std::mem::MaybeUninit::uninit();
13792    let ptr = UNINIT.as_ptr();
13793    assert_eq!(
13794        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13795        8usize,
13796        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
13797    );
13798    assert_eq!(
13799        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13800        8usize,
13801        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
13802    );
13803    assert_eq!(
13804        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
13805        0usize,
13806        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
13807    );
13808    assert_eq!(
13809        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
13810        0usize,
13811        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
13812    );
13813}
13814impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
13815    fn default() -> Self {
13816        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13817        unsafe {
13818            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13819            s.assume_init()
13820        }
13821    }
13822}
13823#[test]
13824fn bindgen_test_layout_DIST_POINT_NAME_st() {
13825    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
13826    let ptr = UNINIT.as_ptr();
13827    assert_eq!(
13828        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
13829        24usize,
13830        "Size of DIST_POINT_NAME_st"
13831    );
13832    assert_eq!(
13833        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
13834        8usize,
13835        "Alignment of DIST_POINT_NAME_st"
13836    );
13837    assert_eq!(
13838        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13839        0usize,
13840        "Offset of field: DIST_POINT_NAME_st::type_"
13841    );
13842    assert_eq!(
13843        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13844        8usize,
13845        "Offset of field: DIST_POINT_NAME_st::name"
13846    );
13847    assert_eq!(
13848        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
13849        16usize,
13850        "Offset of field: DIST_POINT_NAME_st::dpname"
13851    );
13852}
13853impl Default for DIST_POINT_NAME_st {
13854    fn default() -> Self {
13855        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13856        unsafe {
13857            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13858            s.assume_init()
13859        }
13860    }
13861}
13862pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
13863#[repr(C)]
13864#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13865pub struct DIST_POINT_st {
13866    pub distpoint: *mut DIST_POINT_NAME,
13867    pub reasons: *mut ASN1_BIT_STRING,
13868    pub CRLissuer: *mut GENERAL_NAMES,
13869}
13870#[test]
13871fn bindgen_test_layout_DIST_POINT_st() {
13872    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
13873    let ptr = UNINIT.as_ptr();
13874    assert_eq!(
13875        ::std::mem::size_of::<DIST_POINT_st>(),
13876        24usize,
13877        "Size of DIST_POINT_st"
13878    );
13879    assert_eq!(
13880        ::std::mem::align_of::<DIST_POINT_st>(),
13881        8usize,
13882        "Alignment of DIST_POINT_st"
13883    );
13884    assert_eq!(
13885        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
13886        0usize,
13887        "Offset of field: DIST_POINT_st::distpoint"
13888    );
13889    assert_eq!(
13890        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
13891        8usize,
13892        "Offset of field: DIST_POINT_st::reasons"
13893    );
13894    assert_eq!(
13895        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
13896        16usize,
13897        "Offset of field: DIST_POINT_st::CRLissuer"
13898    );
13899}
13900impl Default for DIST_POINT_st {
13901    fn default() -> Self {
13902        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13903        unsafe {
13904            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13905            s.assume_init()
13906        }
13907    }
13908}
13909#[repr(C)]
13910#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13911pub struct AUTHORITY_KEYID_st {
13912    pub keyid: *mut ASN1_OCTET_STRING,
13913    pub issuer: *mut GENERAL_NAMES,
13914    pub serial: *mut ASN1_INTEGER,
13915}
13916#[test]
13917fn bindgen_test_layout_AUTHORITY_KEYID_st() {
13918    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
13919    let ptr = UNINIT.as_ptr();
13920    assert_eq!(
13921        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
13922        24usize,
13923        "Size of AUTHORITY_KEYID_st"
13924    );
13925    assert_eq!(
13926        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
13927        8usize,
13928        "Alignment of AUTHORITY_KEYID_st"
13929    );
13930    assert_eq!(
13931        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
13932        0usize,
13933        "Offset of field: AUTHORITY_KEYID_st::keyid"
13934    );
13935    assert_eq!(
13936        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
13937        8usize,
13938        "Offset of field: AUTHORITY_KEYID_st::issuer"
13939    );
13940    assert_eq!(
13941        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
13942        16usize,
13943        "Offset of field: AUTHORITY_KEYID_st::serial"
13944    );
13945}
13946impl Default for AUTHORITY_KEYID_st {
13947    fn default() -> Self {
13948        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13949        unsafe {
13950            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13951            s.assume_init()
13952        }
13953    }
13954}
13955#[repr(C)]
13956#[derive(Debug, Copy, Clone)]
13957pub struct stack_st_GENERAL_SUBTREE {
13958    _unused: [u8; 0],
13959}
13960#[repr(C)]
13961#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13962pub struct NAME_CONSTRAINTS_st {
13963    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
13964    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
13965}
13966#[test]
13967fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
13968    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13969    let ptr = UNINIT.as_ptr();
13970    assert_eq!(
13971        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
13972        16usize,
13973        "Size of NAME_CONSTRAINTS_st"
13974    );
13975    assert_eq!(
13976        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
13977        8usize,
13978        "Alignment of NAME_CONSTRAINTS_st"
13979    );
13980    assert_eq!(
13981        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
13982        0usize,
13983        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
13984    );
13985    assert_eq!(
13986        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
13987        8usize,
13988        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
13989    );
13990}
13991impl Default for NAME_CONSTRAINTS_st {
13992    fn default() -> Self {
13993        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13994        unsafe {
13995            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13996            s.assume_init()
13997        }
13998    }
13999}
14000#[repr(C)]
14001#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14002pub struct ISSUING_DIST_POINT_st {
14003    pub distpoint: *mut DIST_POINT_NAME,
14004    pub onlyuser: ASN1_BOOLEAN,
14005    pub onlyCA: ASN1_BOOLEAN,
14006    pub onlysomereasons: *mut ASN1_BIT_STRING,
14007    pub indirectCRL: ASN1_BOOLEAN,
14008    pub onlyattr: ASN1_BOOLEAN,
14009}
14010#[test]
14011fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14012    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14013        ::std::mem::MaybeUninit::uninit();
14014    let ptr = UNINIT.as_ptr();
14015    assert_eq!(
14016        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14017        32usize,
14018        "Size of ISSUING_DIST_POINT_st"
14019    );
14020    assert_eq!(
14021        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14022        8usize,
14023        "Alignment of ISSUING_DIST_POINT_st"
14024    );
14025    assert_eq!(
14026        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14027        0usize,
14028        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14029    );
14030    assert_eq!(
14031        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14032        8usize,
14033        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14034    );
14035    assert_eq!(
14036        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14037        12usize,
14038        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14039    );
14040    assert_eq!(
14041        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14042        16usize,
14043        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14044    );
14045    assert_eq!(
14046        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14047        24usize,
14048        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14049    );
14050    assert_eq!(
14051        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14052        28usize,
14053        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14054    );
14055}
14056impl Default for ISSUING_DIST_POINT_st {
14057    fn default() -> Self {
14058        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14059        unsafe {
14060            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14061            s.assume_init()
14062        }
14063    }
14064}
14065pub type poly1305_state = [u8; 512usize];
14066extern "C" {
14067    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_poly1305_init"]
14068    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14069}
14070extern "C" {
14071    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_poly1305_update"]
14072    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14073}
14074extern "C" {
14075    #[link_name = "\u{1}aws_lc_0_34_0_CRYPTO_poly1305_finish"]
14076    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14077}
14078extern "C" {
14079    #[link_name = "\u{1}aws_lc_0_34_0_RAND_bytes"]
14080    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14081}
14082extern "C" {
14083    #[link_name = "\u{1}aws_lc_0_34_0_RAND_priv_bytes"]
14084    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14085}
14086extern "C" {
14087    #[link_name = "\u{1}aws_lc_0_34_0_RAND_bytes_with_user_prediction_resistance"]
14088    pub fn RAND_bytes_with_user_prediction_resistance(
14089        out: *mut u8,
14090        out_len: usize,
14091        user_pred_resistance: *const u8,
14092    ) -> ::std::os::raw::c_int;
14093}
14094extern "C" {
14095    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
14096}
14097extern "C" {
14098    #[link_name = "\u{1}aws_lc_0_34_0_RAND_pseudo_bytes"]
14099    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14100}
14101extern "C" {
14102    #[link_name = "\u{1}aws_lc_0_34_0_RAND_seed"]
14103    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14104}
14105extern "C" {
14106    #[link_name = "\u{1}aws_lc_0_34_0_RAND_load_file"]
14107    pub fn RAND_load_file(
14108        path: *const ::std::os::raw::c_char,
14109        num: ::std::os::raw::c_long,
14110    ) -> ::std::os::raw::c_int;
14111}
14112extern "C" {
14113    #[link_name = "\u{1}aws_lc_0_34_0_RAND_write_file"]
14114    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14115}
14116extern "C" {
14117    #[link_name = "\u{1}aws_lc_0_34_0_RAND_file_name"]
14118    pub fn RAND_file_name(
14119        buf: *mut ::std::os::raw::c_char,
14120        num: usize,
14121    ) -> *const ::std::os::raw::c_char;
14122}
14123extern "C" {
14124    #[link_name = "\u{1}aws_lc_0_34_0_RAND_add"]
14125    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14126}
14127extern "C" {
14128    #[link_name = "\u{1}aws_lc_0_34_0_RAND_egd"]
14129    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14130}
14131extern "C" {
14132    #[link_name = "\u{1}aws_lc_0_34_0_RAND_egd_bytes"]
14133    pub fn RAND_egd_bytes(
14134        arg1: *const ::std::os::raw::c_char,
14135        bytes: ::std::os::raw::c_int,
14136    ) -> ::std::os::raw::c_int;
14137}
14138extern "C" {
14139    #[link_name = "\u{1}aws_lc_0_34_0_RAND_poll"]
14140    pub fn RAND_poll() -> ::std::os::raw::c_int;
14141}
14142extern "C" {
14143    #[link_name = "\u{1}aws_lc_0_34_0_RAND_status"]
14144    pub fn RAND_status() -> ::std::os::raw::c_int;
14145}
14146extern "C" {
14147    #[link_name = "\u{1}aws_lc_0_34_0_RAND_cleanup"]
14148    pub fn RAND_cleanup();
14149}
14150#[repr(C)]
14151#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14152pub struct rand_meth_st {
14153    pub seed: ::std::option::Option<
14154        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14155    >,
14156    pub bytes: ::std::option::Option<
14157        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14158    >,
14159    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14160    pub add: ::std::option::Option<
14161        unsafe extern "C" fn(
14162            buf: *const ::std::os::raw::c_void,
14163            num: ::std::os::raw::c_int,
14164            entropy: f64,
14165        ),
14166    >,
14167    pub pseudorand: ::std::option::Option<
14168        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14169    >,
14170    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14171}
14172#[test]
14173fn bindgen_test_layout_rand_meth_st() {
14174    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14175    let ptr = UNINIT.as_ptr();
14176    assert_eq!(
14177        ::std::mem::size_of::<rand_meth_st>(),
14178        48usize,
14179        "Size of rand_meth_st"
14180    );
14181    assert_eq!(
14182        ::std::mem::align_of::<rand_meth_st>(),
14183        8usize,
14184        "Alignment of rand_meth_st"
14185    );
14186    assert_eq!(
14187        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14188        0usize,
14189        "Offset of field: rand_meth_st::seed"
14190    );
14191    assert_eq!(
14192        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14193        8usize,
14194        "Offset of field: rand_meth_st::bytes"
14195    );
14196    assert_eq!(
14197        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14198        16usize,
14199        "Offset of field: rand_meth_st::cleanup"
14200    );
14201    assert_eq!(
14202        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14203        24usize,
14204        "Offset of field: rand_meth_st::add"
14205    );
14206    assert_eq!(
14207        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14208        32usize,
14209        "Offset of field: rand_meth_st::pseudorand"
14210    );
14211    assert_eq!(
14212        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14213        40usize,
14214        "Offset of field: rand_meth_st::status"
14215    );
14216}
14217extern "C" {
14218    #[link_name = "\u{1}aws_lc_0_34_0_RAND_SSLeay"]
14219    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14220}
14221extern "C" {
14222    #[link_name = "\u{1}aws_lc_0_34_0_RAND_OpenSSL"]
14223    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14224}
14225extern "C" {
14226    #[link_name = "\u{1}aws_lc_0_34_0_RAND_get_rand_method"]
14227    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14228}
14229extern "C" {
14230    #[link_name = "\u{1}aws_lc_0_34_0_RAND_set_rand_method"]
14231    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14232}
14233extern "C" {
14234    #[link_name = "\u{1}aws_lc_0_34_0_RAND_keep_random_devices_open"]
14235    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14236}
14237#[repr(C)]
14238#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14239pub struct rc4_key_st {
14240    pub x: u32,
14241    pub y: u32,
14242    pub data: [u32; 256usize],
14243}
14244#[test]
14245fn bindgen_test_layout_rc4_key_st() {
14246    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14247    let ptr = UNINIT.as_ptr();
14248    assert_eq!(
14249        ::std::mem::size_of::<rc4_key_st>(),
14250        1032usize,
14251        "Size of rc4_key_st"
14252    );
14253    assert_eq!(
14254        ::std::mem::align_of::<rc4_key_st>(),
14255        4usize,
14256        "Alignment of rc4_key_st"
14257    );
14258    assert_eq!(
14259        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14260        0usize,
14261        "Offset of field: rc4_key_st::x"
14262    );
14263    assert_eq!(
14264        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14265        4usize,
14266        "Offset of field: rc4_key_st::y"
14267    );
14268    assert_eq!(
14269        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14270        8usize,
14271        "Offset of field: rc4_key_st::data"
14272    );
14273}
14274impl Default for rc4_key_st {
14275    fn default() -> Self {
14276        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14277        unsafe {
14278            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14279            s.assume_init()
14280        }
14281    }
14282}
14283#[repr(C)]
14284#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14285pub struct RIPEMD160state_st {
14286    pub h: [u32; 5usize],
14287    pub Nl: u32,
14288    pub Nh: u32,
14289    pub data: [u8; 64usize],
14290    pub num: ::std::os::raw::c_uint,
14291}
14292#[test]
14293fn bindgen_test_layout_RIPEMD160state_st() {
14294    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14295    let ptr = UNINIT.as_ptr();
14296    assert_eq!(
14297        ::std::mem::size_of::<RIPEMD160state_st>(),
14298        96usize,
14299        "Size of RIPEMD160state_st"
14300    );
14301    assert_eq!(
14302        ::std::mem::align_of::<RIPEMD160state_st>(),
14303        4usize,
14304        "Alignment of RIPEMD160state_st"
14305    );
14306    assert_eq!(
14307        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14308        0usize,
14309        "Offset of field: RIPEMD160state_st::h"
14310    );
14311    assert_eq!(
14312        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14313        20usize,
14314        "Offset of field: RIPEMD160state_st::Nl"
14315    );
14316    assert_eq!(
14317        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14318        24usize,
14319        "Offset of field: RIPEMD160state_st::Nh"
14320    );
14321    assert_eq!(
14322        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14323        28usize,
14324        "Offset of field: RIPEMD160state_st::data"
14325    );
14326    assert_eq!(
14327        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14328        92usize,
14329        "Offset of field: RIPEMD160state_st::num"
14330    );
14331}
14332impl Default for RIPEMD160state_st {
14333    fn default() -> Self {
14334        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14335        unsafe {
14336            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14337            s.assume_init()
14338        }
14339    }
14340}
14341#[repr(C)]
14342#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14343pub struct trust_token_st {
14344    pub data: *mut u8,
14345    pub len: usize,
14346}
14347#[test]
14348fn bindgen_test_layout_trust_token_st() {
14349    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14350    let ptr = UNINIT.as_ptr();
14351    assert_eq!(
14352        ::std::mem::size_of::<trust_token_st>(),
14353        16usize,
14354        "Size of trust_token_st"
14355    );
14356    assert_eq!(
14357        ::std::mem::align_of::<trust_token_st>(),
14358        8usize,
14359        "Alignment of trust_token_st"
14360    );
14361    assert_eq!(
14362        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14363        0usize,
14364        "Offset of field: trust_token_st::data"
14365    );
14366    assert_eq!(
14367        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14368        8usize,
14369        "Offset of field: trust_token_st::len"
14370    );
14371}
14372impl Default for trust_token_st {
14373    fn default() -> Self {
14374        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14375        unsafe {
14376            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14377            s.assume_init()
14378        }
14379    }
14380}
14381extern "C" {
14382    #[link_name = "\u{1}aws_lc_0_34_0_ERR_GET_LIB_RUST"]
14383    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14384}
14385extern "C" {
14386    #[link_name = "\u{1}aws_lc_0_34_0_ERR_GET_REASON_RUST"]
14387    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14388}
14389extern "C" {
14390    #[link_name = "\u{1}aws_lc_0_34_0_ERR_GET_FUNC_RUST"]
14391    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14392}
14393pub type __builtin_va_list = [__va_list_tag; 1usize];
14394#[repr(C)]
14395#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14396pub struct __va_list_tag {
14397    pub gp_offset: ::std::os::raw::c_uint,
14398    pub fp_offset: ::std::os::raw::c_uint,
14399    pub overflow_arg_area: *mut ::std::os::raw::c_void,
14400    pub reg_save_area: *mut ::std::os::raw::c_void,
14401}
14402#[test]
14403fn bindgen_test_layout___va_list_tag() {
14404    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
14405    let ptr = UNINIT.as_ptr();
14406    assert_eq!(
14407        ::std::mem::size_of::<__va_list_tag>(),
14408        24usize,
14409        "Size of __va_list_tag"
14410    );
14411    assert_eq!(
14412        ::std::mem::align_of::<__va_list_tag>(),
14413        8usize,
14414        "Alignment of __va_list_tag"
14415    );
14416    assert_eq!(
14417        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
14418        0usize,
14419        "Offset of field: __va_list_tag::gp_offset"
14420    );
14421    assert_eq!(
14422        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
14423        4usize,
14424        "Offset of field: __va_list_tag::fp_offset"
14425    );
14426    assert_eq!(
14427        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
14428        8usize,
14429        "Offset of field: __va_list_tag::overflow_arg_area"
14430    );
14431    assert_eq!(
14432        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
14433        16usize,
14434        "Offset of field: __va_list_tag::reg_save_area"
14435    );
14436}
14437impl Default for __va_list_tag {
14438    fn default() -> Self {
14439        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14440        unsafe {
14441            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14442            s.assume_init()
14443        }
14444    }
14445}