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::doc_markdown,
14    clippy::missing_safety_doc,
15    clippy::must_use_candidate,
16    clippy::not_unsafe_ptr_arg_deref,
17    clippy::ptr_as_ptr,
18    clippy::ptr_offset_with_cast,
19    clippy::pub_underscore_fields,
20    clippy::semicolon_if_nothing_returned,
21    clippy::too_many_lines,
22    clippy::unreadable_literal,
23    clippy::used_underscore_binding,
24    clippy::useless_transmute,
25    dead_code,
26    improper_ctypes,
27    non_camel_case_types,
28    non_snake_case,
29    non_upper_case_globals,
30    unpredictable_function_pointer_comparisons,
31    unused_imports
32)]
33
34
35#[repr(C)]
36#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
37pub struct __BindgenBitfieldUnit<Storage> {
38    storage: Storage,
39}
40impl<Storage> __BindgenBitfieldUnit<Storage> {
41    #[inline]
42    pub const fn new(storage: Storage) -> Self {
43        Self { storage }
44    }
45}
46impl<Storage> __BindgenBitfieldUnit<Storage>
47where
48    Storage: AsRef<[u8]> + AsMut<[u8]>,
49{
50    #[inline]
51    fn extract_bit(byte: u8, index: usize) -> bool {
52        let bit_index = if cfg!(target_endian = "big") {
53            7 - (index % 8)
54        } else {
55            index % 8
56        };
57        let mask = 1 << bit_index;
58        byte & mask == mask
59    }
60    #[inline]
61    pub fn get_bit(&self, index: usize) -> bool {
62        debug_assert!(index / 8 < self.storage.as_ref().len());
63        let byte_index = index / 8;
64        let byte = self.storage.as_ref()[byte_index];
65        Self::extract_bit(byte, index)
66    }
67    #[inline]
68    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
69        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
70        let byte_index = index / 8;
71        let byte = unsafe {
72            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
73        };
74        Self::extract_bit(byte, index)
75    }
76    #[inline]
77    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
78        let bit_index = if cfg!(target_endian = "big") {
79            7 - (index % 8)
80        } else {
81            index % 8
82        };
83        let mask = 1 << bit_index;
84        if val {
85            byte | mask
86        } else {
87            byte & !mask
88        }
89    }
90    #[inline]
91    pub fn set_bit(&mut self, index: usize, val: bool) {
92        debug_assert!(index / 8 < self.storage.as_ref().len());
93        let byte_index = index / 8;
94        let byte = &mut self.storage.as_mut()[byte_index];
95        *byte = Self::change_bit(*byte, index, val);
96    }
97    #[inline]
98    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
99        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
100        let byte_index = index / 8;
101        let byte = unsafe {
102            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
103        };
104        unsafe { *byte = Self::change_bit(*byte, index, val) };
105    }
106    #[inline]
107    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
108        debug_assert!(bit_width <= 64);
109        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
111        let mut val = 0;
112        for i in 0..(bit_width as usize) {
113            if self.get_bit(i + bit_offset) {
114                let index = if cfg!(target_endian = "big") {
115                    bit_width as usize - 1 - i
116                } else {
117                    i
118                };
119                val |= 1 << index;
120            }
121        }
122        val
123    }
124    #[inline]
125    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
126        debug_assert!(bit_width <= 64);
127        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
128        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
129        let mut val = 0;
130        for i in 0..(bit_width as usize) {
131            if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
132                let index = if cfg!(target_endian = "big") {
133                    bit_width as usize - 1 - i
134                } else {
135                    i
136                };
137                val |= 1 << index;
138            }
139        }
140        val
141    }
142    #[inline]
143    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
144        debug_assert!(bit_width <= 64);
145        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
146        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
147        for i in 0..(bit_width as usize) {
148            let mask = 1 << i;
149            let val_bit_is_set = val & mask == mask;
150            let index = if cfg!(target_endian = "big") {
151                bit_width as usize - 1 - i
152            } else {
153                i
154            };
155            self.set_bit(index + bit_offset, val_bit_is_set);
156        }
157    }
158    #[inline]
159    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
160        debug_assert!(bit_width <= 64);
161        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
162        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
163        for i in 0..(bit_width as usize) {
164            let mask = 1 << i;
165            let val_bit_is_set = val & mask == mask;
166            let index = if cfg!(target_endian = "big") {
167                bit_width as usize - 1 - i
168            } else {
169                i
170            };
171            unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
172        }
173    }
174}
175pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
176pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
177pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
178pub const AWSLC_API_VERSION: i32 = 35;
179pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 7] = b"1.71.0\0";
180pub const AES_ENCRYPT: i32 = 1;
181pub const AES_DECRYPT: i32 = 0;
182pub const AES_MAXNR: i32 = 14;
183pub const AES_BLOCK_SIZE: i32 = 16;
184pub const SHA_CBLOCK: i32 = 64;
185pub const SHA_DIGEST_LENGTH: i32 = 20;
186pub const SHA224_CBLOCK: i32 = 64;
187pub const SHA224_DIGEST_LENGTH: i32 = 28;
188pub const SHA256_CBLOCK: i32 = 64;
189pub const SHA256_DIGEST_LENGTH: i32 = 32;
190pub const SHA384_CBLOCK: i32 = 128;
191pub const SHA384_DIGEST_LENGTH: i32 = 48;
192pub const SHA512_CBLOCK: i32 = 128;
193pub const SHA512_DIGEST_LENGTH: i32 = 64;
194pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
195pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
196pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 1.71.0)\0";
197pub const OPENSSL_VERSION: i32 = 0;
198pub const OPENSSL_CFLAGS: i32 = 1;
199pub const OPENSSL_BUILT_ON: i32 = 2;
200pub const OPENSSL_PLATFORM: i32 = 3;
201pub const OPENSSL_DIR: i32 = 4;
202pub const SSLEAY_VERSION: i32 = 0;
203pub const SSLEAY_CFLAGS: i32 = 1;
204pub const SSLEAY_BUILT_ON: i32 = 2;
205pub const SSLEAY_PLATFORM: i32 = 3;
206pub const SSLEAY_DIR: i32 = 4;
207pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
208pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
209pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
210pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
211pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
212pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
213pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
214pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
215pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
216pub const CRYPTO_MEM_CHECK_ON: i32 = 0;
217pub const ERR_FLAG_STRING: i32 = 1;
218pub const ERR_FLAG_MALLOCED: i32 = 2;
219pub const ERR_LIB_NONE: i32 = 1;
220pub const ERR_LIB_SYS: i32 = 2;
221pub const ERR_LIB_BN: i32 = 3;
222pub const ERR_LIB_RSA: i32 = 4;
223pub const ERR_LIB_DH: i32 = 5;
224pub const ERR_LIB_EVP: i32 = 6;
225pub const ERR_LIB_BUF: i32 = 7;
226pub const ERR_LIB_OBJ: i32 = 8;
227pub const ERR_LIB_PEM: i32 = 9;
228pub const ERR_LIB_DSA: i32 = 10;
229pub const ERR_LIB_X509: i32 = 11;
230pub const ERR_LIB_ASN1: i32 = 12;
231pub const ERR_LIB_CONF: i32 = 13;
232pub const ERR_LIB_CRYPTO: i32 = 14;
233pub const ERR_LIB_EC: i32 = 15;
234pub const ERR_LIB_SSL: i32 = 16;
235pub const ERR_LIB_BIO: i32 = 17;
236pub const ERR_LIB_PKCS7: i32 = 18;
237pub const ERR_LIB_PKCS8: i32 = 19;
238pub const ERR_LIB_X509V3: i32 = 20;
239pub const ERR_LIB_RAND: i32 = 21;
240pub const ERR_LIB_ENGINE: i32 = 22;
241pub const ERR_LIB_OCSP: i32 = 23;
242pub const ERR_LIB_UI: i32 = 24;
243pub const ERR_LIB_COMP: i32 = 25;
244pub const ERR_LIB_ECDSA: i32 = 26;
245pub const ERR_LIB_ECDH: i32 = 27;
246pub const ERR_LIB_HMAC: i32 = 28;
247pub const ERR_LIB_DIGEST: i32 = 29;
248pub const ERR_LIB_CIPHER: i32 = 30;
249pub const ERR_LIB_HKDF: i32 = 31;
250pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
251pub const ERR_LIB_USER: i32 = 33;
252pub const ERR_NUM_LIBS: i32 = 34;
253pub const ERR_LIB_PKCS12: i32 = 35;
254pub const ERR_LIB_DSO: i32 = 36;
255pub const ERR_LIB_OSSL_STORE: i32 = 37;
256pub const ERR_LIB_FIPS: i32 = 38;
257pub const ERR_LIB_CMS: i32 = 39;
258pub const ERR_LIB_TS: i32 = 40;
259pub const ERR_LIB_CT: i32 = 41;
260pub const ERR_LIB_ASYNC: i32 = 42;
261pub const ERR_LIB_KDF: i32 = 43;
262pub const ERR_LIB_SM2: i32 = 44;
263pub const ERR_R_SYS_LIB: i32 = 2;
264pub const ERR_R_BN_LIB: i32 = 3;
265pub const ERR_R_RSA_LIB: i32 = 4;
266pub const ERR_R_DH_LIB: i32 = 5;
267pub const ERR_R_EVP_LIB: i32 = 6;
268pub const ERR_R_BUF_LIB: i32 = 7;
269pub const ERR_R_OBJ_LIB: i32 = 8;
270pub const ERR_R_PEM_LIB: i32 = 9;
271pub const ERR_R_DSA_LIB: i32 = 10;
272pub const ERR_R_X509_LIB: i32 = 11;
273pub const ERR_R_ASN1_LIB: i32 = 12;
274pub const ERR_R_CONF_LIB: i32 = 13;
275pub const ERR_R_CRYPTO_LIB: i32 = 14;
276pub const ERR_R_EC_LIB: i32 = 15;
277pub const ERR_R_SSL_LIB: i32 = 16;
278pub const ERR_R_BIO_LIB: i32 = 17;
279pub const ERR_R_PKCS7_LIB: i32 = 18;
280pub const ERR_R_PKCS8_LIB: i32 = 19;
281pub const ERR_R_X509V3_LIB: i32 = 20;
282pub const ERR_R_RAND_LIB: i32 = 21;
283pub const ERR_R_DSO_LIB: i32 = 36;
284pub const ERR_R_ENGINE_LIB: i32 = 22;
285pub const ERR_R_OCSP_LIB: i32 = 23;
286pub const ERR_R_UI_LIB: i32 = 24;
287pub const ERR_R_COMP_LIB: i32 = 25;
288pub const ERR_R_ECDSA_LIB: i32 = 26;
289pub const ERR_R_ECDH_LIB: i32 = 27;
290pub const ERR_R_FIPS_LIB: i32 = 38;
291pub const ERR_R_CMS_LIB: i32 = 39;
292pub const ERR_R_TS_LIB: i32 = 40;
293pub const ERR_R_HMAC_LIB: i32 = 28;
294pub const ERR_R_USER_LIB: i32 = 33;
295pub const ERR_R_DIGEST_LIB: i32 = 29;
296pub const ERR_R_CIPHER_LIB: i32 = 30;
297pub const ERR_R_HKDF_LIB: i32 = 31;
298pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
299pub const ERR_R_FATAL: i32 = 64;
300pub const ERR_R_MALLOC_FAILURE: i32 = 65;
301pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
302pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
303pub const ERR_R_INTERNAL_ERROR: i32 = 68;
304pub const ERR_R_OVERFLOW: i32 = 69;
305pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
306pub const ERR_TXT_STRING: i32 = 1;
307pub const ERR_TXT_MALLOCED: i32 = 2;
308pub const ERR_NUM_ERRORS: i32 = 16;
309pub const BN_BITS2: i32 = 64;
310pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
311pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
312pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
313pub const BN_RAND_TOP_ANY: i32 = -1;
314pub const BN_RAND_TOP_ONE: i32 = 0;
315pub const BN_RAND_TOP_TWO: i32 = 1;
316pub const BN_RAND_BOTTOM_ANY: i32 = 0;
317pub const BN_RAND_BOTTOM_ODD: i32 = 1;
318pub const BN_GENCB_GENERATED: i32 = 0;
319pub const BN_GENCB_PRIME_TEST: i32 = 1;
320pub const BN_prime_checks_for_validation: i32 = 64;
321pub const BN_prime_checks_for_generation: i32 = 0;
322pub const BN_prime_checks: i32 = 64;
323pub const BN_FLG_MALLOCED: i32 = 1;
324pub const BN_FLG_STATIC_DATA: i32 = 2;
325pub const BN_R_ARG2_LT_ARG3: i32 = 100;
326pub const BN_R_BAD_RECIPROCAL: i32 = 101;
327pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
328pub const BN_R_BITS_TOO_SMALL: i32 = 103;
329pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
330pub const BN_R_DIV_BY_ZERO: i32 = 105;
331pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
332pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
333pub const BN_R_INVALID_RANGE: i32 = 108;
334pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
335pub const BN_R_NOT_A_SQUARE: i32 = 110;
336pub const BN_R_NOT_INITIALIZED: i32 = 111;
337pub const BN_R_NO_INVERSE: i32 = 112;
338pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
339pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
340pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
341pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
342pub const BN_R_BAD_ENCODING: i32 = 117;
343pub const BN_R_ENCODE_ERROR: i32 = 118;
344pub const BN_R_INVALID_INPUT: i32 = 119;
345pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
346pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
347pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
348pub const CBS_ASN1_UNIVERSAL: i32 = 0;
349pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
350pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
351pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
352pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
353pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
354pub const CBS_ASN1_BOOLEAN: i32 = 1;
355pub const CBS_ASN1_INTEGER: i32 = 2;
356pub const CBS_ASN1_BITSTRING: i32 = 3;
357pub const CBS_ASN1_OCTETSTRING: i32 = 4;
358pub const CBS_ASN1_NULL: i32 = 5;
359pub const CBS_ASN1_OBJECT: i32 = 6;
360pub const CBS_ASN1_ENUMERATED: i32 = 10;
361pub const CBS_ASN1_UTF8STRING: i32 = 12;
362pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
363pub const CBS_ASN1_SET: i32 = 536870929;
364pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
365pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
366pub const CBS_ASN1_T61STRING: i32 = 20;
367pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
368pub const CBS_ASN1_IA5STRING: i32 = 22;
369pub const CBS_ASN1_UTCTIME: i32 = 23;
370pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
371pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
372pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
373pub const CBS_ASN1_GENERALSTRING: i32 = 27;
374pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
375pub const CBS_ASN1_BMPSTRING: i32 = 30;
376pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
377pub const EVP_CIPH_ECB_MODE: i32 = 1;
378pub const EVP_CIPH_CBC_MODE: i32 = 2;
379pub const EVP_CIPH_CFB_MODE: i32 = 3;
380pub const EVP_CIPH_OFB_MODE: i32 = 4;
381pub const EVP_CIPH_CTR_MODE: i32 = 5;
382pub const EVP_CIPH_GCM_MODE: i32 = 6;
383pub const EVP_CIPH_XTS_MODE: i32 = 7;
384pub const EVP_CIPH_CCM_MODE: i32 = 8;
385pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
386pub const EVP_CIPH_OCB_MODE: i32 = 9;
387pub const EVP_CIPH_WRAP_MODE: i32 = 10;
388pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
389pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
390pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
391pub const EVP_CIPH_CTRL_INIT: i32 = 512;
392pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
393pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
394pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
395pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
396pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
397pub const EVP_CIPH_NO_PADDING: i32 = 2048;
398pub const EVP_CTRL_INIT: i32 = 0;
399pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
400pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
401pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
402pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
403pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
404pub const EVP_CTRL_RAND_KEY: i32 = 6;
405pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
406pub const EVP_CTRL_COPY: i32 = 8;
407pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
408pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
409pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
410pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
411pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
412pub const EVP_CTRL_CCM_SET_L: i32 = 20;
413pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
414pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
415pub const EVP_CTRL_GET_IVLEN: i32 = 25;
416pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
417pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
418pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
419pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
420pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
421pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
422pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
423pub const EVP_MAX_KEY_LENGTH: i32 = 64;
424pub const EVP_MAX_IV_LENGTH: i32 = 16;
425pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
426pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
427pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
428pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
429pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
430pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
431pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
432pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
433pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
434pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
435pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
436pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
437pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
438pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
439pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
440pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
441pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
442pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
443pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
444pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
445pub const CIPHER_R_TOO_LARGE: i32 = 117;
446pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
447pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
448pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
449pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
450pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
451pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
452pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
453pub const CIPHER_R_INVALID_NONCE: i32 = 125;
454pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
455pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
456pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
457pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
458pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
459pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
460pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
461pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
462pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
463pub const X25519_SHARED_KEY_LEN: i32 = 32;
464pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
465pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
466pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
467pub const ED25519_SIGNATURE_LEN: i32 = 64;
468pub const ED25519_SEED_LEN: i32 = 32;
469pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
470pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
471pub const EVP_MAX_MD_SIZE: i32 = 64;
472pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
473pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
474pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
475pub const EVP_MD_FLAG_XOF: i32 = 4;
476pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
477pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
478pub const DIGEST_R_DECODE_ERROR: i32 = 101;
479pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
480pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
481pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
482pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
483pub const EC_PKEY_NO_PUBKEY: i32 = 2;
484pub const ECDSA_FLAG_OPAQUE: i32 = 1;
485pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
486pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
487pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
488pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
489pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
490pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
491pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
492pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
493pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
494pub const EC_R_INVALID_ENCODING: i32 = 109;
495pub const EC_R_INVALID_FIELD: i32 = 110;
496pub const EC_R_INVALID_FORM: i32 = 111;
497pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
498pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
499pub const EC_R_MISSING_PARAMETERS: i32 = 114;
500pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
501pub const EC_R_NON_NAMED_CURVE: i32 = 116;
502pub const EC_R_NOT_INITIALIZED: i32 = 117;
503pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
504pub const EC_R_POINT_AT_INFINITY: i32 = 119;
505pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
506pub const EC_R_SLOT_FULL: i32 = 121;
507pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
508pub const EC_R_UNKNOWN_GROUP: i32 = 123;
509pub const EC_R_UNKNOWN_ORDER: i32 = 124;
510pub const EC_R_WRONG_ORDER: i32 = 125;
511pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
512pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
513pub const EC_R_DECODE_ERROR: i32 = 128;
514pub const EC_R_ENCODE_ERROR: i32 = 129;
515pub const EC_R_GROUP_MISMATCH: i32 = 130;
516pub const EC_R_INVALID_COFACTOR: i32 = 131;
517pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
518pub const EC_R_INVALID_SCALAR: i32 = 133;
519pub const ECDH_R_KDF_FAILED: i32 = 100;
520pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
521pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
522pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
523pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
524pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
525pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
526pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
527pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
528pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
529pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
530pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
531pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
532pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
533pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
534pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
535pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
536pub const SN_undef: &[u8; 6] = b"UNDEF\0";
537pub const LN_undef: &[u8; 10] = b"undefined\0";
538pub const NID_undef: i32 = 0;
539pub const OBJ_undef: i32 = 0;
540pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
541pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
542pub const NID_rsadsi: i32 = 1;
543pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
544pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
545pub const NID_pkcs: i32 = 2;
546pub const SN_md2: &[u8; 4] = b"MD2\0";
547pub const LN_md2: &[u8; 4] = b"md2\0";
548pub const NID_md2: i32 = 3;
549pub const SN_md5: &[u8; 4] = b"MD5\0";
550pub const LN_md5: &[u8; 4] = b"md5\0";
551pub const NID_md5: i32 = 4;
552pub const SN_rc4: &[u8; 4] = b"RC4\0";
553pub const LN_rc4: &[u8; 4] = b"rc4\0";
554pub const NID_rc4: i32 = 5;
555pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
556pub const NID_rsaEncryption: i32 = 6;
557pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
558pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
559pub const NID_md2WithRSAEncryption: i32 = 7;
560pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
561pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
562pub const NID_md5WithRSAEncryption: i32 = 8;
563pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
564pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
565pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
566pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
567pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
568pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
569pub const SN_X500: &[u8; 5] = b"X500\0";
570pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
571pub const NID_X500: i32 = 11;
572pub const SN_X509: &[u8; 5] = b"X509\0";
573pub const NID_X509: i32 = 12;
574pub const SN_commonName: &[u8; 3] = b"CN\0";
575pub const LN_commonName: &[u8; 11] = b"commonName\0";
576pub const NID_commonName: i32 = 13;
577pub const SN_countryName: &[u8; 2] = b"C\0";
578pub const LN_countryName: &[u8; 12] = b"countryName\0";
579pub const NID_countryName: i32 = 14;
580pub const SN_localityName: &[u8; 2] = b"L\0";
581pub const LN_localityName: &[u8; 13] = b"localityName\0";
582pub const NID_localityName: i32 = 15;
583pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
584pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
585pub const NID_stateOrProvinceName: i32 = 16;
586pub const SN_organizationName: &[u8; 2] = b"O\0";
587pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
588pub const NID_organizationName: i32 = 17;
589pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
590pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
591pub const NID_organizationalUnitName: i32 = 18;
592pub const SN_rsa: &[u8; 4] = b"RSA\0";
593pub const LN_rsa: &[u8; 4] = b"rsa\0";
594pub const NID_rsa: i32 = 19;
595pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
596pub const NID_pkcs7: i32 = 20;
597pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
598pub const NID_pkcs7_data: i32 = 21;
599pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
600pub const NID_pkcs7_signed: i32 = 22;
601pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
602pub const NID_pkcs7_enveloped: i32 = 23;
603pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
604pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
605pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
606pub const NID_pkcs7_digest: i32 = 25;
607pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
608pub const NID_pkcs7_encrypted: i32 = 26;
609pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
610pub const NID_pkcs3: i32 = 27;
611pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
612pub const NID_dhKeyAgreement: i32 = 28;
613pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
614pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
615pub const NID_des_ecb: i32 = 29;
616pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
617pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
618pub const NID_des_cfb64: i32 = 30;
619pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
620pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
621pub const NID_des_cbc: i32 = 31;
622pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
623pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
624pub const NID_des_ede_ecb: i32 = 32;
625pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
626pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
627pub const NID_des_ede3_ecb: i32 = 33;
628pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
629pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
630pub const NID_idea_cbc: i32 = 34;
631pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
632pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
633pub const NID_idea_cfb64: i32 = 35;
634pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
635pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
636pub const NID_idea_ecb: i32 = 36;
637pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
638pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
639pub const NID_rc2_cbc: i32 = 37;
640pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
641pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
642pub const NID_rc2_ecb: i32 = 38;
643pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
644pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
645pub const NID_rc2_cfb64: i32 = 39;
646pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
647pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
648pub const NID_rc2_ofb64: i32 = 40;
649pub const SN_sha: &[u8; 4] = b"SHA\0";
650pub const LN_sha: &[u8; 4] = b"sha\0";
651pub const NID_sha: i32 = 41;
652pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
653pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
654pub const NID_shaWithRSAEncryption: i32 = 42;
655pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
656pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
657pub const NID_des_ede_cbc: i32 = 43;
658pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
659pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
660pub const NID_des_ede3_cbc: i32 = 44;
661pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
662pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
663pub const NID_des_ofb64: i32 = 45;
664pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
665pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
666pub const NID_idea_ofb64: i32 = 46;
667pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
668pub const NID_pkcs9: i32 = 47;
669pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
670pub const NID_pkcs9_emailAddress: i32 = 48;
671pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
672pub const NID_pkcs9_unstructuredName: i32 = 49;
673pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
674pub const NID_pkcs9_contentType: i32 = 50;
675pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
676pub const NID_pkcs9_messageDigest: i32 = 51;
677pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
678pub const NID_pkcs9_signingTime: i32 = 52;
679pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
680pub const NID_pkcs9_countersignature: i32 = 53;
681pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
682pub const NID_pkcs9_challengePassword: i32 = 54;
683pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
684pub const NID_pkcs9_unstructuredAddress: i32 = 55;
685pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
686pub const NID_pkcs9_extCertAttributes: i32 = 56;
687pub const SN_netscape: &[u8; 9] = b"Netscape\0";
688pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
689pub const NID_netscape: i32 = 57;
690pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
691pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
692pub const NID_netscape_cert_extension: i32 = 58;
693pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
694pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
695pub const NID_netscape_data_type: i32 = 59;
696pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
697pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
698pub const NID_des_ede_cfb64: i32 = 60;
699pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
700pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
701pub const NID_des_ede3_cfb64: i32 = 61;
702pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
703pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
704pub const NID_des_ede_ofb64: i32 = 62;
705pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
706pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
707pub const NID_des_ede3_ofb64: i32 = 63;
708pub const SN_sha1: &[u8; 5] = b"SHA1\0";
709pub const LN_sha1: &[u8; 5] = b"sha1\0";
710pub const NID_sha1: i32 = 64;
711pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
712pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
713pub const NID_sha1WithRSAEncryption: i32 = 65;
714pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
715pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
716pub const NID_dsaWithSHA: i32 = 66;
717pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
718pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
719pub const NID_dsa_2: i32 = 67;
720pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
721pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
722pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
723pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
724pub const NID_id_pbkdf2: i32 = 69;
725pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
726pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
727pub const NID_dsaWithSHA1_2: i32 = 70;
728pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
729pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
730pub const NID_netscape_cert_type: i32 = 71;
731pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
732pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
733pub const NID_netscape_base_url: i32 = 72;
734pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
735pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
736pub const NID_netscape_revocation_url: i32 = 73;
737pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
738pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
739pub const NID_netscape_ca_revocation_url: i32 = 74;
740pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
741pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
742pub const NID_netscape_renewal_url: i32 = 75;
743pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
744pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
745pub const NID_netscape_ca_policy_url: i32 = 76;
746pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
747pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
748pub const NID_netscape_ssl_server_name: i32 = 77;
749pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
750pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
751pub const NID_netscape_comment: i32 = 78;
752pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
753pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
754pub const NID_netscape_cert_sequence: i32 = 79;
755pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
756pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
757pub const NID_desx_cbc: i32 = 80;
758pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
759pub const NID_id_ce: i32 = 81;
760pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
761pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
762pub const NID_subject_key_identifier: i32 = 82;
763pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
764pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
765pub const NID_key_usage: i32 = 83;
766pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
767pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
768pub const NID_private_key_usage_period: i32 = 84;
769pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
770pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
771pub const NID_subject_alt_name: i32 = 85;
772pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
773pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
774pub const NID_issuer_alt_name: i32 = 86;
775pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
776pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
777pub const NID_basic_constraints: i32 = 87;
778pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
779pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
780pub const NID_crl_number: i32 = 88;
781pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
782pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
783pub const NID_certificate_policies: i32 = 89;
784pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
785pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
786pub const NID_authority_key_identifier: i32 = 90;
787pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
788pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
789pub const NID_bf_cbc: i32 = 91;
790pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
791pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
792pub const NID_bf_ecb: i32 = 92;
793pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
794pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
795pub const NID_bf_cfb64: i32 = 93;
796pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
797pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
798pub const NID_bf_ofb64: i32 = 94;
799pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
800pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
801pub const NID_mdc2: i32 = 95;
802pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
803pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
804pub const NID_mdc2WithRSA: i32 = 96;
805pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
806pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
807pub const NID_rc4_40: i32 = 97;
808pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
809pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
810pub const NID_rc2_40_cbc: i32 = 98;
811pub const SN_givenName: &[u8; 3] = b"GN\0";
812pub const LN_givenName: &[u8; 10] = b"givenName\0";
813pub const NID_givenName: i32 = 99;
814pub const SN_surname: &[u8; 3] = b"SN\0";
815pub const LN_surname: &[u8; 8] = b"surname\0";
816pub const NID_surname: i32 = 100;
817pub const SN_initials: &[u8; 9] = b"initials\0";
818pub const LN_initials: &[u8; 9] = b"initials\0";
819pub const NID_initials: i32 = 101;
820pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
821pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
822pub const NID_crl_distribution_points: i32 = 103;
823pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
824pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
825pub const NID_md5WithRSA: i32 = 104;
826pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
827pub const NID_serialNumber: i32 = 105;
828pub const SN_title: &[u8; 6] = b"title\0";
829pub const LN_title: &[u8; 6] = b"title\0";
830pub const NID_title: i32 = 106;
831pub const LN_description: &[u8; 12] = b"description\0";
832pub const NID_description: i32 = 107;
833pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
834pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
835pub const NID_cast5_cbc: i32 = 108;
836pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
837pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
838pub const NID_cast5_ecb: i32 = 109;
839pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
840pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
841pub const NID_cast5_cfb64: i32 = 110;
842pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
843pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
844pub const NID_cast5_ofb64: i32 = 111;
845pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
846pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
847pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
848pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
849pub const NID_dsaWithSHA1: i32 = 113;
850pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
851pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
852pub const NID_md5_sha1: i32 = 114;
853pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
854pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
855pub const NID_sha1WithRSA: i32 = 115;
856pub const SN_dsa: &[u8; 4] = b"DSA\0";
857pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
858pub const NID_dsa: i32 = 116;
859pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
860pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
861pub const NID_ripemd160: i32 = 117;
862pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
863pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
864pub const NID_ripemd160WithRSA: i32 = 119;
865pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
866pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
867pub const NID_rc5_cbc: i32 = 120;
868pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
869pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
870pub const NID_rc5_ecb: i32 = 121;
871pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
872pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
873pub const NID_rc5_cfb64: i32 = 122;
874pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
875pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
876pub const NID_rc5_ofb64: i32 = 123;
877pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
878pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
879pub const NID_zlib_compression: i32 = 125;
880pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
881pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
882pub const NID_ext_key_usage: i32 = 126;
883pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
884pub const NID_id_pkix: i32 = 127;
885pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
886pub const NID_id_kp: i32 = 128;
887pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
888pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
889pub const NID_server_auth: i32 = 129;
890pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
891pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
892pub const NID_client_auth: i32 = 130;
893pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
894pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
895pub const NID_code_sign: i32 = 131;
896pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
897pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
898pub const NID_email_protect: i32 = 132;
899pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
900pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
901pub const NID_time_stamp: i32 = 133;
902pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
903pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
904pub const NID_ms_code_ind: i32 = 134;
905pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
906pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
907pub const NID_ms_code_com: i32 = 135;
908pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
909pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
910pub const NID_ms_ctl_sign: i32 = 136;
911pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
912pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
913pub const NID_ms_sgc: i32 = 137;
914pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
915pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
916pub const NID_ms_efs: i32 = 138;
917pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
918pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
919pub const NID_ns_sgc: i32 = 139;
920pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
921pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
922pub const NID_delta_crl: i32 = 140;
923pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
924pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
925pub const NID_crl_reason: i32 = 141;
926pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
927pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
928pub const NID_invalidity_date: i32 = 142;
929pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
930pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
931pub const NID_sxnet: i32 = 143;
932pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
933pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
934pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
935pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
936pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
937pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
938pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
939pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
940pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
941pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
942pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
943pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
944pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
945pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
946pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
947pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
948pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
949pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
950pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
951pub const NID_keyBag: i32 = 150;
952pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
953pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
954pub const LN_certBag: &[u8; 8] = b"certBag\0";
955pub const NID_certBag: i32 = 152;
956pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
957pub const NID_crlBag: i32 = 153;
958pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
959pub const NID_secretBag: i32 = 154;
960pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
961pub const NID_safeContentsBag: i32 = 155;
962pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
963pub const NID_friendlyName: i32 = 156;
964pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
965pub const NID_localKeyID: i32 = 157;
966pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
967pub const NID_x509Certificate: i32 = 158;
968pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
969pub const NID_sdsiCertificate: i32 = 159;
970pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
971pub const NID_x509Crl: i32 = 160;
972pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
973pub const NID_pbes2: i32 = 161;
974pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
975pub const NID_pbmac1: i32 = 162;
976pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
977pub const NID_hmacWithSHA1: i32 = 163;
978pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
979pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
980pub const NID_id_qt_cps: i32 = 164;
981pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
982pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
983pub const NID_id_qt_unotice: i32 = 165;
984pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
985pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
986pub const NID_rc2_64_cbc: i32 = 166;
987pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
988pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
989pub const NID_SMIMECapabilities: i32 = 167;
990pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
991pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
992pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
993pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
994pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
995pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
996pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
997pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
998pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
999pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1000pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1001pub const NID_ms_ext_req: i32 = 171;
1002pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1003pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1004pub const NID_ext_req: i32 = 172;
1005pub const SN_name: &[u8; 5] = b"name\0";
1006pub const LN_name: &[u8; 5] = b"name\0";
1007pub const NID_name: i32 = 173;
1008pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1009pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1010pub const NID_dnQualifier: i32 = 174;
1011pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1012pub const NID_id_pe: i32 = 175;
1013pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1014pub const NID_id_ad: i32 = 176;
1015pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1016pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1017pub const NID_info_access: i32 = 177;
1018pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1019pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1020pub const NID_ad_OCSP: i32 = 178;
1021pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1022pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1023pub const NID_ad_ca_issuers: i32 = 179;
1024pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1025pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1026pub const NID_OCSP_sign: i32 = 180;
1027pub const SN_iso: &[u8; 4] = b"ISO\0";
1028pub const LN_iso: &[u8; 4] = b"iso\0";
1029pub const NID_iso: i32 = 181;
1030pub const OBJ_iso: i32 = 1;
1031pub const SN_member_body: &[u8; 12] = b"member-body\0";
1032pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1033pub const NID_member_body: i32 = 182;
1034pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1035pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1036pub const NID_ISO_US: i32 = 183;
1037pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1038pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1039pub const NID_X9_57: i32 = 184;
1040pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1041pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1042pub const NID_X9cm: i32 = 185;
1043pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1044pub const NID_pkcs1: i32 = 186;
1045pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1046pub const NID_pkcs5: i32 = 187;
1047pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1048pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1049pub const NID_SMIME: i32 = 188;
1050pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1051pub const NID_id_smime_mod: i32 = 189;
1052pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1053pub const NID_id_smime_ct: i32 = 190;
1054pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1055pub const NID_id_smime_aa: i32 = 191;
1056pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1057pub const NID_id_smime_alg: i32 = 192;
1058pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1059pub const NID_id_smime_cd: i32 = 193;
1060pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1061pub const NID_id_smime_spq: i32 = 194;
1062pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1063pub const NID_id_smime_cti: i32 = 195;
1064pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1065pub const NID_id_smime_mod_cms: i32 = 196;
1066pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1067pub const NID_id_smime_mod_ess: i32 = 197;
1068pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1069pub const NID_id_smime_mod_oid: i32 = 198;
1070pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1071pub const NID_id_smime_mod_msg_v3: i32 = 199;
1072pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1073pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1074pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1075pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1076pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1077pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1078pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1079pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1080pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1081pub const NID_id_smime_ct_receipt: i32 = 204;
1082pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1083pub const NID_id_smime_ct_authData: i32 = 205;
1084pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1085pub const NID_id_smime_ct_publishCert: i32 = 206;
1086pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1087pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1088pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1089pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1090pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1091pub const NID_id_smime_ct_contentInfo: i32 = 209;
1092pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1093pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1094pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1095pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1096pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1097pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1098pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1099pub const NID_id_smime_aa_securityLabel: i32 = 213;
1100pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1101pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1102pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1103pub const NID_id_smime_aa_contentHint: i32 = 215;
1104pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1105pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1106pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1107pub const NID_id_smime_aa_encapContentType: i32 = 217;
1108pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1109pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1110pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1111pub const NID_id_smime_aa_macValue: i32 = 219;
1112pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1113pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1114pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1115pub const NID_id_smime_aa_contentReference: i32 = 221;
1116pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1117pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1118pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1119pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1120pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1121pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1122pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1123pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1124pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1125pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1126pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1127pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1128pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1129pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1130pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1131pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1132pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1133pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1134pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1135pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1136pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1137pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1138pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1139pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1140pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1141pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1142pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1143pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1144pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1145pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1146pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1147pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1148pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1149pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1150pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1151pub const NID_id_smime_aa_signatureType: i32 = 239;
1152pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1153pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1154pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1155pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1156pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1157pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1158pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1159pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1160pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1161pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1162pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1163pub const NID_id_smime_alg_ESDH: i32 = 245;
1164pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1165pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1166pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1167pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1168pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1169pub const NID_id_smime_cd_ldap: i32 = 248;
1170pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1171pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1172pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1173pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1174pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1175pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1176pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1177pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1178pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1179pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1180pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1181pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1182pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1183pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1184pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1185pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1186pub const SN_md4: &[u8; 4] = b"MD4\0";
1187pub const LN_md4: &[u8; 4] = b"md4\0";
1188pub const NID_md4: i32 = 257;
1189pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1190pub const NID_id_pkix_mod: i32 = 258;
1191pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1192pub const NID_id_qt: i32 = 259;
1193pub const SN_id_it: &[u8; 6] = b"id-it\0";
1194pub const NID_id_it: i32 = 260;
1195pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1196pub const NID_id_pkip: i32 = 261;
1197pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1198pub const NID_id_alg: i32 = 262;
1199pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1200pub const NID_id_cmc: i32 = 263;
1201pub const SN_id_on: &[u8; 6] = b"id-on\0";
1202pub const NID_id_on: i32 = 264;
1203pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1204pub const NID_id_pda: i32 = 265;
1205pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1206pub const NID_id_aca: i32 = 266;
1207pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1208pub const NID_id_qcs: i32 = 267;
1209pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1210pub const NID_id_cct: i32 = 268;
1211pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1212pub const NID_id_pkix1_explicit_88: i32 = 269;
1213pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1214pub const NID_id_pkix1_implicit_88: i32 = 270;
1215pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1216pub const NID_id_pkix1_explicit_93: i32 = 271;
1217pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1218pub const NID_id_pkix1_implicit_93: i32 = 272;
1219pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1220pub const NID_id_mod_crmf: i32 = 273;
1221pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1222pub const NID_id_mod_cmc: i32 = 274;
1223pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1224pub const NID_id_mod_kea_profile_88: i32 = 275;
1225pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1226pub const NID_id_mod_kea_profile_93: i32 = 276;
1227pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1228pub const NID_id_mod_cmp: i32 = 277;
1229pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1230pub const NID_id_mod_qualified_cert_88: i32 = 278;
1231pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1232pub const NID_id_mod_qualified_cert_93: i32 = 279;
1233pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1234pub const NID_id_mod_attribute_cert: i32 = 280;
1235pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1236pub const NID_id_mod_timestamp_protocol: i32 = 281;
1237pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1238pub const NID_id_mod_ocsp: i32 = 282;
1239pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1240pub const NID_id_mod_dvcs: i32 = 283;
1241pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1242pub const NID_id_mod_cmp2000: i32 = 284;
1243pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1244pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1245pub const NID_biometricInfo: i32 = 285;
1246pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1247pub const NID_qcStatements: i32 = 286;
1248pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1249pub const NID_ac_auditEntity: i32 = 287;
1250pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1251pub const NID_ac_targeting: i32 = 288;
1252pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1253pub const NID_aaControls: i32 = 289;
1254pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1255pub const NID_sbgp_ipAddrBlock: i32 = 290;
1256pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1257pub const NID_sbgp_autonomousSysNum: i32 = 291;
1258pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1259pub const NID_sbgp_routerIdentifier: i32 = 292;
1260pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1261pub const NID_textNotice: i32 = 293;
1262pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1263pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1264pub const NID_ipsecEndSystem: i32 = 294;
1265pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1266pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1267pub const NID_ipsecTunnel: i32 = 295;
1268pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1269pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1270pub const NID_ipsecUser: i32 = 296;
1271pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1272pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1273pub const NID_dvcs: i32 = 297;
1274pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1275pub const NID_id_it_caProtEncCert: i32 = 298;
1276pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1277pub const NID_id_it_signKeyPairTypes: i32 = 299;
1278pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1279pub const NID_id_it_encKeyPairTypes: i32 = 300;
1280pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1281pub const NID_id_it_preferredSymmAlg: i32 = 301;
1282pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1283pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1284pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1285pub const NID_id_it_currentCRL: i32 = 303;
1286pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1287pub const NID_id_it_unsupportedOIDs: i32 = 304;
1288pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1289pub const NID_id_it_subscriptionRequest: i32 = 305;
1290pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1291pub const NID_id_it_subscriptionResponse: i32 = 306;
1292pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1293pub const NID_id_it_keyPairParamReq: i32 = 307;
1294pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1295pub const NID_id_it_keyPairParamRep: i32 = 308;
1296pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1297pub const NID_id_it_revPassphrase: i32 = 309;
1298pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1299pub const NID_id_it_implicitConfirm: i32 = 310;
1300pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1301pub const NID_id_it_confirmWaitTime: i32 = 311;
1302pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1303pub const NID_id_it_origPKIMessage: i32 = 312;
1304pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1305pub const NID_id_regCtrl: i32 = 313;
1306pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1307pub const NID_id_regInfo: i32 = 314;
1308pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1309pub const NID_id_regCtrl_regToken: i32 = 315;
1310pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1311pub const NID_id_regCtrl_authenticator: i32 = 316;
1312pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1313pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1314pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1315pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1316pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1317pub const NID_id_regCtrl_oldCertID: i32 = 319;
1318pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1319pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1320pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1321pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1322pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1323pub const NID_id_regInfo_certReq: i32 = 322;
1324pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1325pub const NID_id_alg_des40: i32 = 323;
1326pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1327pub const NID_id_alg_noSignature: i32 = 324;
1328pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1329pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1330pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1331pub const NID_id_alg_dh_pop: i32 = 326;
1332pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1333pub const NID_id_cmc_statusInfo: i32 = 327;
1334pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1335pub const NID_id_cmc_identification: i32 = 328;
1336pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1337pub const NID_id_cmc_identityProof: i32 = 329;
1338pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1339pub const NID_id_cmc_dataReturn: i32 = 330;
1340pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1341pub const NID_id_cmc_transactionId: i32 = 331;
1342pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1343pub const NID_id_cmc_senderNonce: i32 = 332;
1344pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1345pub const NID_id_cmc_recipientNonce: i32 = 333;
1346pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1347pub const NID_id_cmc_addExtensions: i32 = 334;
1348pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1349pub const NID_id_cmc_encryptedPOP: i32 = 335;
1350pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1351pub const NID_id_cmc_decryptedPOP: i32 = 336;
1352pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1353pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1354pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1355pub const NID_id_cmc_getCert: i32 = 338;
1356pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1357pub const NID_id_cmc_getCRL: i32 = 339;
1358pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1359pub const NID_id_cmc_revokeRequest: i32 = 340;
1360pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1361pub const NID_id_cmc_regInfo: i32 = 341;
1362pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1363pub const NID_id_cmc_responseInfo: i32 = 342;
1364pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1365pub const NID_id_cmc_queryPending: i32 = 343;
1366pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1367pub const NID_id_cmc_popLinkRandom: i32 = 344;
1368pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1369pub const NID_id_cmc_popLinkWitness: i32 = 345;
1370pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1371pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1372pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1373pub const NID_id_on_personalData: i32 = 347;
1374pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1375pub const NID_id_pda_dateOfBirth: i32 = 348;
1376pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1377pub const NID_id_pda_placeOfBirth: i32 = 349;
1378pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1379pub const NID_id_pda_gender: i32 = 351;
1380pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1381pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1382pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1383pub const NID_id_pda_countryOfResidence: i32 = 353;
1384pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1385pub const NID_id_aca_authenticationInfo: i32 = 354;
1386pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1387pub const NID_id_aca_accessIdentity: i32 = 355;
1388pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1389pub const NID_id_aca_chargingIdentity: i32 = 356;
1390pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1391pub const NID_id_aca_group: i32 = 357;
1392pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1393pub const NID_id_aca_role: i32 = 358;
1394pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1395pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1396pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1397pub const NID_id_cct_crs: i32 = 360;
1398pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1399pub const NID_id_cct_PKIData: i32 = 361;
1400pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1401pub const NID_id_cct_PKIResponse: i32 = 362;
1402pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1403pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1404pub const NID_ad_timeStamping: i32 = 363;
1405pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1406pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1407pub const NID_ad_dvcs: i32 = 364;
1408pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1409pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1410pub const NID_id_pkix_OCSP_basic: i32 = 365;
1411pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1412pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1413pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1414pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1415pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1416pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1417pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1418pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1419pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1420pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1421pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1422pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1423pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1424pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1425pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1426pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1427pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1428pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1429pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1430pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1431pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1432pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1433pub const NID_id_pkix_OCSP_valid: i32 = 373;
1434pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1435pub const NID_id_pkix_OCSP_path: i32 = 374;
1436pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1437pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1438pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1439pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1440pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1441pub const NID_algorithm: i32 = 376;
1442pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1443pub const NID_rsaSignature: i32 = 377;
1444pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1445pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1446pub const NID_X500algorithms: i32 = 378;
1447pub const SN_org: &[u8; 4] = b"ORG\0";
1448pub const LN_org: &[u8; 4] = b"org\0";
1449pub const NID_org: i32 = 379;
1450pub const SN_dod: &[u8; 4] = b"DOD\0";
1451pub const LN_dod: &[u8; 4] = b"dod\0";
1452pub const NID_dod: i32 = 380;
1453pub const SN_iana: &[u8; 5] = b"IANA\0";
1454pub const LN_iana: &[u8; 5] = b"iana\0";
1455pub const NID_iana: i32 = 381;
1456pub const SN_Directory: &[u8; 10] = b"directory\0";
1457pub const LN_Directory: &[u8; 10] = b"Directory\0";
1458pub const NID_Directory: i32 = 382;
1459pub const SN_Management: &[u8; 5] = b"mgmt\0";
1460pub const LN_Management: &[u8; 11] = b"Management\0";
1461pub const NID_Management: i32 = 383;
1462pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1463pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1464pub const NID_Experimental: i32 = 384;
1465pub const SN_Private: &[u8; 8] = b"private\0";
1466pub const LN_Private: &[u8; 8] = b"Private\0";
1467pub const NID_Private: i32 = 385;
1468pub const SN_Security: &[u8; 9] = b"security\0";
1469pub const LN_Security: &[u8; 9] = b"Security\0";
1470pub const NID_Security: i32 = 386;
1471pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1472pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1473pub const NID_SNMPv2: i32 = 387;
1474pub const LN_Mail: &[u8; 5] = b"Mail\0";
1475pub const NID_Mail: i32 = 388;
1476pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1477pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1478pub const NID_Enterprises: i32 = 389;
1479pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1480pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1481pub const NID_dcObject: i32 = 390;
1482pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1483pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1484pub const NID_domainComponent: i32 = 391;
1485pub const SN_Domain: &[u8; 7] = b"domain\0";
1486pub const LN_Domain: &[u8; 7] = b"Domain\0";
1487pub const NID_Domain: i32 = 392;
1488pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1489pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1490pub const NID_selected_attribute_types: i32 = 394;
1491pub const SN_clearance: &[u8; 10] = b"clearance\0";
1492pub const NID_clearance: i32 = 395;
1493pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1494pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1495pub const NID_md4WithRSAEncryption: i32 = 396;
1496pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1497pub const NID_ac_proxying: i32 = 397;
1498pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1499pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1500pub const NID_sinfo_access: i32 = 398;
1501pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1502pub const NID_id_aca_encAttrs: i32 = 399;
1503pub const SN_role: &[u8; 5] = b"role\0";
1504pub const LN_role: &[u8; 5] = b"role\0";
1505pub const NID_role: i32 = 400;
1506pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1507pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1508pub const NID_policy_constraints: i32 = 401;
1509pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1510pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1511pub const NID_target_information: i32 = 402;
1512pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1513pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1514pub const NID_no_rev_avail: i32 = 403;
1515pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1516pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1517pub const NID_ansi_X9_62: i32 = 405;
1518pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1519pub const NID_X9_62_prime_field: i32 = 406;
1520pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1521pub const NID_X9_62_characteristic_two_field: i32 = 407;
1522pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1523pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1524pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1525pub const NID_X9_62_prime192v1: i32 = 409;
1526pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1527pub const NID_X9_62_prime192v2: i32 = 410;
1528pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1529pub const NID_X9_62_prime192v3: i32 = 411;
1530pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1531pub const NID_X9_62_prime239v1: i32 = 412;
1532pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1533pub const NID_X9_62_prime239v2: i32 = 413;
1534pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1535pub const NID_X9_62_prime239v3: i32 = 414;
1536pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1537pub const NID_X9_62_prime256v1: i32 = 415;
1538pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1539pub const NID_ecdsa_with_SHA1: i32 = 416;
1540pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1541pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1542pub const NID_ms_csp_name: i32 = 417;
1543pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1544pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1545pub const NID_aes_128_ecb: i32 = 418;
1546pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1547pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1548pub const NID_aes_128_cbc: i32 = 419;
1549pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1550pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1551pub const NID_aes_128_ofb128: i32 = 420;
1552pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1553pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1554pub const NID_aes_128_cfb128: i32 = 421;
1555pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1556pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1557pub const NID_aes_192_ecb: i32 = 422;
1558pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1559pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1560pub const NID_aes_192_cbc: i32 = 423;
1561pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1562pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1563pub const NID_aes_192_ofb128: i32 = 424;
1564pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1565pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1566pub const NID_aes_192_cfb128: i32 = 425;
1567pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1568pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1569pub const NID_aes_256_ecb: i32 = 426;
1570pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1571pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1572pub const NID_aes_256_cbc: i32 = 427;
1573pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1574pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1575pub const NID_aes_256_ofb128: i32 = 428;
1576pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1577pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1578pub const NID_aes_256_cfb128: i32 = 429;
1579pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1580pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1581pub const NID_hold_instruction_code: i32 = 430;
1582pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1583pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1584pub const NID_hold_instruction_none: i32 = 431;
1585pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1586pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1587pub const NID_hold_instruction_call_issuer: i32 = 432;
1588pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1589pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1590pub const NID_hold_instruction_reject: i32 = 433;
1591pub const SN_data: &[u8; 5] = b"data\0";
1592pub const NID_data: i32 = 434;
1593pub const SN_pss: &[u8; 4] = b"pss\0";
1594pub const NID_pss: i32 = 435;
1595pub const SN_ucl: &[u8; 4] = b"ucl\0";
1596pub const NID_ucl: i32 = 436;
1597pub const SN_pilot: &[u8; 6] = b"pilot\0";
1598pub const NID_pilot: i32 = 437;
1599pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1600pub const NID_pilotAttributeType: i32 = 438;
1601pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
1602pub const NID_pilotAttributeSyntax: i32 = 439;
1603pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
1604pub const NID_pilotObjectClass: i32 = 440;
1605pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
1606pub const NID_pilotGroups: i32 = 441;
1607pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
1608pub const NID_iA5StringSyntax: i32 = 442;
1609pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
1610pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
1611pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
1612pub const NID_pilotObject: i32 = 444;
1613pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
1614pub const NID_pilotPerson: i32 = 445;
1615pub const SN_account: &[u8; 8] = b"account\0";
1616pub const NID_account: i32 = 446;
1617pub const SN_document: &[u8; 9] = b"document\0";
1618pub const NID_document: i32 = 447;
1619pub const SN_room: &[u8; 5] = b"room\0";
1620pub const NID_room: i32 = 448;
1621pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
1622pub const NID_documentSeries: i32 = 449;
1623pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
1624pub const NID_rFC822localPart: i32 = 450;
1625pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
1626pub const NID_dNSDomain: i32 = 451;
1627pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
1628pub const NID_domainRelatedObject: i32 = 452;
1629pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
1630pub const NID_friendlyCountry: i32 = 453;
1631pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
1632pub const NID_simpleSecurityObject: i32 = 454;
1633pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
1634pub const NID_pilotOrganization: i32 = 455;
1635pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
1636pub const NID_pilotDSA: i32 = 456;
1637pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
1638pub const NID_qualityLabelledData: i32 = 457;
1639pub const SN_userId: &[u8; 4] = b"UID\0";
1640pub const LN_userId: &[u8; 7] = b"userId\0";
1641pub const NID_userId: i32 = 458;
1642pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
1643pub const NID_textEncodedORAddress: i32 = 459;
1644pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
1645pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
1646pub const NID_rfc822Mailbox: i32 = 460;
1647pub const SN_info: &[u8; 5] = b"info\0";
1648pub const NID_info: i32 = 461;
1649pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
1650pub const NID_favouriteDrink: i32 = 462;
1651pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
1652pub const NID_roomNumber: i32 = 463;
1653pub const SN_photo: &[u8; 6] = b"photo\0";
1654pub const NID_photo: i32 = 464;
1655pub const LN_userClass: &[u8; 10] = b"userClass\0";
1656pub const NID_userClass: i32 = 465;
1657pub const SN_host: &[u8; 5] = b"host\0";
1658pub const NID_host: i32 = 466;
1659pub const SN_manager: &[u8; 8] = b"manager\0";
1660pub const NID_manager: i32 = 467;
1661pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
1662pub const NID_documentIdentifier: i32 = 468;
1663pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
1664pub const NID_documentTitle: i32 = 469;
1665pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
1666pub const NID_documentVersion: i32 = 470;
1667pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
1668pub const NID_documentAuthor: i32 = 471;
1669pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
1670pub const NID_documentLocation: i32 = 472;
1671pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
1672pub const NID_homeTelephoneNumber: i32 = 473;
1673pub const SN_secretary: &[u8; 10] = b"secretary\0";
1674pub const NID_secretary: i32 = 474;
1675pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
1676pub const NID_otherMailbox: i32 = 475;
1677pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
1678pub const NID_lastModifiedTime: i32 = 476;
1679pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
1680pub const NID_lastModifiedBy: i32 = 477;
1681pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
1682pub const NID_aRecord: i32 = 478;
1683pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
1684pub const NID_pilotAttributeType27: i32 = 479;
1685pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
1686pub const NID_mXRecord: i32 = 480;
1687pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
1688pub const NID_nSRecord: i32 = 481;
1689pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
1690pub const NID_sOARecord: i32 = 482;
1691pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
1692pub const NID_cNAMERecord: i32 = 483;
1693pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
1694pub const NID_associatedDomain: i32 = 484;
1695pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
1696pub const NID_associatedName: i32 = 485;
1697pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
1698pub const NID_homePostalAddress: i32 = 486;
1699pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
1700pub const NID_personalTitle: i32 = 487;
1701pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
1702pub const NID_mobileTelephoneNumber: i32 = 488;
1703pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
1704pub const NID_pagerTelephoneNumber: i32 = 489;
1705pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
1706pub const NID_friendlyCountryName: i32 = 490;
1707pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
1708pub const NID_organizationalStatus: i32 = 491;
1709pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
1710pub const NID_janetMailbox: i32 = 492;
1711pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
1712pub const NID_mailPreferenceOption: i32 = 493;
1713pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
1714pub const NID_buildingName: i32 = 494;
1715pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
1716pub const NID_dSAQuality: i32 = 495;
1717pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
1718pub const NID_singleLevelQuality: i32 = 496;
1719pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
1720pub const NID_subtreeMinimumQuality: i32 = 497;
1721pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
1722pub const NID_subtreeMaximumQuality: i32 = 498;
1723pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
1724pub const NID_personalSignature: i32 = 499;
1725pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
1726pub const NID_dITRedirect: i32 = 500;
1727pub const SN_audio: &[u8; 6] = b"audio\0";
1728pub const NID_audio: i32 = 501;
1729pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
1730pub const NID_documentPublisher: i32 = 502;
1731pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
1732pub const NID_x500UniqueIdentifier: i32 = 503;
1733pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
1734pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
1735pub const NID_mime_mhs: i32 = 504;
1736pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1737pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1738pub const NID_mime_mhs_headings: i32 = 505;
1739pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1740pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1741pub const NID_mime_mhs_bodies: i32 = 506;
1742pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1743pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1744pub const NID_id_hex_partial_message: i32 = 507;
1745pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1746pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1747pub const NID_id_hex_multipart_message: i32 = 508;
1748pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
1749pub const NID_generationQualifier: i32 = 509;
1750pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
1751pub const NID_pseudonym: i32 = 510;
1752pub const SN_id_set: &[u8; 7] = b"id-set\0";
1753pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
1754pub const NID_id_set: i32 = 512;
1755pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
1756pub const LN_set_ctype: &[u8; 14] = b"content types\0";
1757pub const NID_set_ctype: i32 = 513;
1758pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
1759pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
1760pub const NID_set_msgExt: i32 = 514;
1761pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
1762pub const NID_set_attr: i32 = 515;
1763pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
1764pub const NID_set_policy: i32 = 516;
1765pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
1766pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
1767pub const NID_set_certExt: i32 = 517;
1768pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
1769pub const NID_set_brand: i32 = 518;
1770pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
1771pub const NID_setct_PANData: i32 = 519;
1772pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
1773pub const NID_setct_PANToken: i32 = 520;
1774pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
1775pub const NID_setct_PANOnly: i32 = 521;
1776pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
1777pub const NID_setct_OIData: i32 = 522;
1778pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
1779pub const NID_setct_PI: i32 = 523;
1780pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
1781pub const NID_setct_PIData: i32 = 524;
1782pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
1783pub const NID_setct_PIDataUnsigned: i32 = 525;
1784pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
1785pub const NID_setct_HODInput: i32 = 526;
1786pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
1787pub const NID_setct_AuthResBaggage: i32 = 527;
1788pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
1789pub const NID_setct_AuthRevReqBaggage: i32 = 528;
1790pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
1791pub const NID_setct_AuthRevResBaggage: i32 = 529;
1792pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
1793pub const NID_setct_CapTokenSeq: i32 = 530;
1794pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
1795pub const NID_setct_PInitResData: i32 = 531;
1796pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
1797pub const NID_setct_PI_TBS: i32 = 532;
1798pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
1799pub const NID_setct_PResData: i32 = 533;
1800pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
1801pub const NID_setct_AuthReqTBS: i32 = 534;
1802pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
1803pub const NID_setct_AuthResTBS: i32 = 535;
1804pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
1805pub const NID_setct_AuthResTBSX: i32 = 536;
1806pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
1807pub const NID_setct_AuthTokenTBS: i32 = 537;
1808pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
1809pub const NID_setct_CapTokenData: i32 = 538;
1810pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
1811pub const NID_setct_CapTokenTBS: i32 = 539;
1812pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
1813pub const NID_setct_AcqCardCodeMsg: i32 = 540;
1814pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
1815pub const NID_setct_AuthRevReqTBS: i32 = 541;
1816pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
1817pub const NID_setct_AuthRevResData: i32 = 542;
1818pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
1819pub const NID_setct_AuthRevResTBS: i32 = 543;
1820pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
1821pub const NID_setct_CapReqTBS: i32 = 544;
1822pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
1823pub const NID_setct_CapReqTBSX: i32 = 545;
1824pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
1825pub const NID_setct_CapResData: i32 = 546;
1826pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
1827pub const NID_setct_CapRevReqTBS: i32 = 547;
1828pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
1829pub const NID_setct_CapRevReqTBSX: i32 = 548;
1830pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
1831pub const NID_setct_CapRevResData: i32 = 549;
1832pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
1833pub const NID_setct_CredReqTBS: i32 = 550;
1834pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
1835pub const NID_setct_CredReqTBSX: i32 = 551;
1836pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
1837pub const NID_setct_CredResData: i32 = 552;
1838pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
1839pub const NID_setct_CredRevReqTBS: i32 = 553;
1840pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
1841pub const NID_setct_CredRevReqTBSX: i32 = 554;
1842pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
1843pub const NID_setct_CredRevResData: i32 = 555;
1844pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
1845pub const NID_setct_PCertReqData: i32 = 556;
1846pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
1847pub const NID_setct_PCertResTBS: i32 = 557;
1848pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
1849pub const NID_setct_BatchAdminReqData: i32 = 558;
1850pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
1851pub const NID_setct_BatchAdminResData: i32 = 559;
1852pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
1853pub const NID_setct_CardCInitResTBS: i32 = 560;
1854pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
1855pub const NID_setct_MeAqCInitResTBS: i32 = 561;
1856pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
1857pub const NID_setct_RegFormResTBS: i32 = 562;
1858pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
1859pub const NID_setct_CertReqData: i32 = 563;
1860pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
1861pub const NID_setct_CertReqTBS: i32 = 564;
1862pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
1863pub const NID_setct_CertResData: i32 = 565;
1864pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
1865pub const NID_setct_CertInqReqTBS: i32 = 566;
1866pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
1867pub const NID_setct_ErrorTBS: i32 = 567;
1868pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
1869pub const NID_setct_PIDualSignedTBE: i32 = 568;
1870pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
1871pub const NID_setct_PIUnsignedTBE: i32 = 569;
1872pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
1873pub const NID_setct_AuthReqTBE: i32 = 570;
1874pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
1875pub const NID_setct_AuthResTBE: i32 = 571;
1876pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
1877pub const NID_setct_AuthResTBEX: i32 = 572;
1878pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
1879pub const NID_setct_AuthTokenTBE: i32 = 573;
1880pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
1881pub const NID_setct_CapTokenTBE: i32 = 574;
1882pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
1883pub const NID_setct_CapTokenTBEX: i32 = 575;
1884pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
1885pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
1886pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
1887pub const NID_setct_AuthRevReqTBE: i32 = 577;
1888pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
1889pub const NID_setct_AuthRevResTBE: i32 = 578;
1890pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
1891pub const NID_setct_AuthRevResTBEB: i32 = 579;
1892pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
1893pub const NID_setct_CapReqTBE: i32 = 580;
1894pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
1895pub const NID_setct_CapReqTBEX: i32 = 581;
1896pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
1897pub const NID_setct_CapResTBE: i32 = 582;
1898pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
1899pub const NID_setct_CapRevReqTBE: i32 = 583;
1900pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
1901pub const NID_setct_CapRevReqTBEX: i32 = 584;
1902pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
1903pub const NID_setct_CapRevResTBE: i32 = 585;
1904pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
1905pub const NID_setct_CredReqTBE: i32 = 586;
1906pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
1907pub const NID_setct_CredReqTBEX: i32 = 587;
1908pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
1909pub const NID_setct_CredResTBE: i32 = 588;
1910pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
1911pub const NID_setct_CredRevReqTBE: i32 = 589;
1912pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
1913pub const NID_setct_CredRevReqTBEX: i32 = 590;
1914pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
1915pub const NID_setct_CredRevResTBE: i32 = 591;
1916pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
1917pub const NID_setct_BatchAdminReqTBE: i32 = 592;
1918pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
1919pub const NID_setct_BatchAdminResTBE: i32 = 593;
1920pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
1921pub const NID_setct_RegFormReqTBE: i32 = 594;
1922pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
1923pub const NID_setct_CertReqTBE: i32 = 595;
1924pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
1925pub const NID_setct_CertReqTBEX: i32 = 596;
1926pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
1927pub const NID_setct_CertResTBE: i32 = 597;
1928pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
1929pub const NID_setct_CRLNotificationTBS: i32 = 598;
1930pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
1931pub const NID_setct_CRLNotificationResTBS: i32 = 599;
1932pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
1933pub const NID_setct_BCIDistributionTBS: i32 = 600;
1934pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
1935pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
1936pub const NID_setext_genCrypt: i32 = 601;
1937pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
1938pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
1939pub const NID_setext_miAuth: i32 = 602;
1940pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
1941pub const NID_setext_pinSecure: i32 = 603;
1942pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
1943pub const NID_setext_pinAny: i32 = 604;
1944pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
1945pub const NID_setext_track2: i32 = 605;
1946pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
1947pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
1948pub const NID_setext_cv: i32 = 606;
1949pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
1950pub const NID_set_policy_root: i32 = 607;
1951pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
1952pub const NID_setCext_hashedRoot: i32 = 608;
1953pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
1954pub const NID_setCext_certType: i32 = 609;
1955pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
1956pub const NID_setCext_merchData: i32 = 610;
1957pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
1958pub const NID_setCext_cCertRequired: i32 = 611;
1959pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
1960pub const NID_setCext_tunneling: i32 = 612;
1961pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
1962pub const NID_setCext_setExt: i32 = 613;
1963pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
1964pub const NID_setCext_setQualf: i32 = 614;
1965pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
1966pub const NID_setCext_PGWYcapabilities: i32 = 615;
1967pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
1968pub const NID_setCext_TokenIdentifier: i32 = 616;
1969pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
1970pub const NID_setCext_Track2Data: i32 = 617;
1971pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
1972pub const NID_setCext_TokenType: i32 = 618;
1973pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
1974pub const NID_setCext_IssuerCapabilities: i32 = 619;
1975pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
1976pub const NID_setAttr_Cert: i32 = 620;
1977pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
1978pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
1979pub const NID_setAttr_PGWYcap: i32 = 621;
1980pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
1981pub const NID_setAttr_TokenType: i32 = 622;
1982pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
1983pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
1984pub const NID_setAttr_IssCap: i32 = 623;
1985pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
1986pub const NID_set_rootKeyThumb: i32 = 624;
1987pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
1988pub const NID_set_addPolicy: i32 = 625;
1989pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
1990pub const NID_setAttr_Token_EMV: i32 = 626;
1991pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
1992pub const NID_setAttr_Token_B0Prime: i32 = 627;
1993pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
1994pub const NID_setAttr_IssCap_CVM: i32 = 628;
1995pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
1996pub const NID_setAttr_IssCap_T2: i32 = 629;
1997pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
1998pub const NID_setAttr_IssCap_Sig: i32 = 630;
1999pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2000pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2001pub const NID_setAttr_GenCryptgrm: i32 = 631;
2002pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2003pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2004pub const NID_setAttr_T2Enc: i32 = 632;
2005pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2006pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2007pub const NID_setAttr_T2cleartxt: i32 = 633;
2008pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2009pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2010pub const NID_setAttr_TokICCsig: i32 = 634;
2011pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2012pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2013pub const NID_setAttr_SecDevSig: i32 = 635;
2014pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2015pub const NID_set_brand_IATA_ATA: i32 = 636;
2016pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2017pub const NID_set_brand_Diners: i32 = 637;
2018pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2019pub const NID_set_brand_AmericanExpress: i32 = 638;
2020pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2021pub const NID_set_brand_JCB: i32 = 639;
2022pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2023pub const NID_set_brand_Visa: i32 = 640;
2024pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2025pub const NID_set_brand_MasterCard: i32 = 641;
2026pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2027pub const NID_set_brand_Novus: i32 = 642;
2028pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2029pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2030pub const NID_des_cdmf: i32 = 643;
2031pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2032pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2033pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2034pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2035pub const NID_itu_t: i32 = 645;
2036pub const OBJ_itu_t: i32 = 0;
2037pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2038pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2039pub const NID_joint_iso_itu_t: i32 = 646;
2040pub const OBJ_joint_iso_itu_t: i32 = 2;
2041pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2042pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2043pub const NID_international_organizations: i32 = 647;
2044pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2045pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2046pub const NID_ms_smartcard_login: i32 = 648;
2047pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2048pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2049pub const NID_ms_upn: i32 = 649;
2050pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2051pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2052pub const NID_aes_128_cfb1: i32 = 650;
2053pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2054pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2055pub const NID_aes_192_cfb1: i32 = 651;
2056pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2057pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2058pub const NID_aes_256_cfb1: i32 = 652;
2059pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2060pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2061pub const NID_aes_128_cfb8: i32 = 653;
2062pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2063pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2064pub const NID_aes_192_cfb8: i32 = 654;
2065pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2066pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2067pub const NID_aes_256_cfb8: i32 = 655;
2068pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2069pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2070pub const NID_des_cfb1: i32 = 656;
2071pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2072pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2073pub const NID_des_cfb8: i32 = 657;
2074pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2075pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2076pub const NID_des_ede3_cfb1: i32 = 658;
2077pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2078pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2079pub const NID_des_ede3_cfb8: i32 = 659;
2080pub const SN_streetAddress: &[u8; 7] = b"street\0";
2081pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2082pub const NID_streetAddress: i32 = 660;
2083pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2084pub const NID_postalCode: i32 = 661;
2085pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2086pub const NID_id_ppl: i32 = 662;
2087pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2088pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2089pub const NID_proxyCertInfo: i32 = 663;
2090pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2091pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2092pub const NID_id_ppl_anyLanguage: i32 = 664;
2093pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2094pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2095pub const NID_id_ppl_inheritAll: i32 = 665;
2096pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2097pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2098pub const NID_name_constraints: i32 = 666;
2099pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2100pub const LN_Independent: &[u8; 12] = b"Independent\0";
2101pub const NID_Independent: i32 = 667;
2102pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2103pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2104pub const NID_sha256WithRSAEncryption: i32 = 668;
2105pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2106pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2107pub const NID_sha384WithRSAEncryption: i32 = 669;
2108pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2109pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2110pub const NID_sha512WithRSAEncryption: i32 = 670;
2111pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2112pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2113pub const NID_sha224WithRSAEncryption: i32 = 671;
2114pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2115pub const LN_sha256: &[u8; 7] = b"sha256\0";
2116pub const NID_sha256: i32 = 672;
2117pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2118pub const LN_sha384: &[u8; 7] = b"sha384\0";
2119pub const NID_sha384: i32 = 673;
2120pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2121pub const LN_sha512: &[u8; 7] = b"sha512\0";
2122pub const NID_sha512: i32 = 674;
2123pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2124pub const LN_sha224: &[u8; 7] = b"sha224\0";
2125pub const NID_sha224: i32 = 675;
2126pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2127pub const NID_identified_organization: i32 = 676;
2128pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2129pub const NID_certicom_arc: i32 = 677;
2130pub const SN_wap: &[u8; 4] = b"wap\0";
2131pub const NID_wap: i32 = 678;
2132pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2133pub const NID_wap_wsg: i32 = 679;
2134pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2135pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2136pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2137pub const NID_X9_62_onBasis: i32 = 681;
2138pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2139pub const NID_X9_62_tpBasis: i32 = 682;
2140pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2141pub const NID_X9_62_ppBasis: i32 = 683;
2142pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2143pub const NID_X9_62_c2pnb163v1: i32 = 684;
2144pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2145pub const NID_X9_62_c2pnb163v2: i32 = 685;
2146pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2147pub const NID_X9_62_c2pnb163v3: i32 = 686;
2148pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2149pub const NID_X9_62_c2pnb176v1: i32 = 687;
2150pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2151pub const NID_X9_62_c2tnb191v1: i32 = 688;
2152pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2153pub const NID_X9_62_c2tnb191v2: i32 = 689;
2154pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2155pub const NID_X9_62_c2tnb191v3: i32 = 690;
2156pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2157pub const NID_X9_62_c2onb191v4: i32 = 691;
2158pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2159pub const NID_X9_62_c2onb191v5: i32 = 692;
2160pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2161pub const NID_X9_62_c2pnb208w1: i32 = 693;
2162pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2163pub const NID_X9_62_c2tnb239v1: i32 = 694;
2164pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2165pub const NID_X9_62_c2tnb239v2: i32 = 695;
2166pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2167pub const NID_X9_62_c2tnb239v3: i32 = 696;
2168pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2169pub const NID_X9_62_c2onb239v4: i32 = 697;
2170pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2171pub const NID_X9_62_c2onb239v5: i32 = 698;
2172pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2173pub const NID_X9_62_c2pnb272w1: i32 = 699;
2174pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2175pub const NID_X9_62_c2pnb304w1: i32 = 700;
2176pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2177pub const NID_X9_62_c2tnb359v1: i32 = 701;
2178pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2179pub const NID_X9_62_c2pnb368w1: i32 = 702;
2180pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2181pub const NID_X9_62_c2tnb431r1: i32 = 703;
2182pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2183pub const NID_secp112r1: i32 = 704;
2184pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2185pub const NID_secp112r2: i32 = 705;
2186pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2187pub const NID_secp128r1: i32 = 706;
2188pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2189pub const NID_secp128r2: i32 = 707;
2190pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2191pub const NID_secp160k1: i32 = 708;
2192pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2193pub const NID_secp160r1: i32 = 709;
2194pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2195pub const NID_secp160r2: i32 = 710;
2196pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2197pub const NID_secp192k1: i32 = 711;
2198pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2199pub const NID_secp224k1: i32 = 712;
2200pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2201pub const NID_secp224r1: i32 = 713;
2202pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2203pub const NID_secp256k1: i32 = 714;
2204pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2205pub const NID_secp384r1: i32 = 715;
2206pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2207pub const NID_secp521r1: i32 = 716;
2208pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2209pub const NID_sect113r1: i32 = 717;
2210pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2211pub const NID_sect113r2: i32 = 718;
2212pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2213pub const NID_sect131r1: i32 = 719;
2214pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2215pub const NID_sect131r2: i32 = 720;
2216pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2217pub const NID_sect163k1: i32 = 721;
2218pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2219pub const NID_sect163r1: i32 = 722;
2220pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2221pub const NID_sect163r2: i32 = 723;
2222pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2223pub const NID_sect193r1: i32 = 724;
2224pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2225pub const NID_sect193r2: i32 = 725;
2226pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2227pub const NID_sect233k1: i32 = 726;
2228pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2229pub const NID_sect233r1: i32 = 727;
2230pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2231pub const NID_sect239k1: i32 = 728;
2232pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2233pub const NID_sect283k1: i32 = 729;
2234pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2235pub const NID_sect283r1: i32 = 730;
2236pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2237pub const NID_sect409k1: i32 = 731;
2238pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2239pub const NID_sect409r1: i32 = 732;
2240pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2241pub const NID_sect571k1: i32 = 733;
2242pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2243pub const NID_sect571r1: i32 = 734;
2244pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2245pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2246pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2247pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2248pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2249pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2250pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2251pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2252pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2253pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2254pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2255pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2256pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2257pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2258pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2259pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2260pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2261pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2262pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2263pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2264pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2265pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2266pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2267pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2268pub const NID_any_policy: i32 = 746;
2269pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2270pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2271pub const NID_policy_mappings: i32 = 747;
2272pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2273pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2274pub const NID_inhibit_any_policy: i32 = 748;
2275pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2276pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2277pub const NID_ipsec3: i32 = 749;
2278pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2279pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2280pub const NID_ipsec4: i32 = 750;
2281pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2282pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2283pub const NID_camellia_128_cbc: i32 = 751;
2284pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2285pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2286pub const NID_camellia_192_cbc: i32 = 752;
2287pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2288pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2289pub const NID_camellia_256_cbc: i32 = 753;
2290pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2291pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2292pub const NID_camellia_128_ecb: i32 = 754;
2293pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2294pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2295pub const NID_camellia_192_ecb: i32 = 755;
2296pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2297pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2298pub const NID_camellia_256_ecb: i32 = 756;
2299pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2300pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2301pub const NID_camellia_128_cfb128: i32 = 757;
2302pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2303pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2304pub const NID_camellia_192_cfb128: i32 = 758;
2305pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2306pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2307pub const NID_camellia_256_cfb128: i32 = 759;
2308pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2309pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2310pub const NID_camellia_128_cfb1: i32 = 760;
2311pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2312pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2313pub const NID_camellia_192_cfb1: i32 = 761;
2314pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2315pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2316pub const NID_camellia_256_cfb1: i32 = 762;
2317pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2318pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2319pub const NID_camellia_128_cfb8: i32 = 763;
2320pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2321pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2322pub const NID_camellia_192_cfb8: i32 = 764;
2323pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2324pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2325pub const NID_camellia_256_cfb8: i32 = 765;
2326pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2327pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2328pub const NID_camellia_128_ofb128: i32 = 766;
2329pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2330pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2331pub const NID_camellia_192_ofb128: i32 = 767;
2332pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2333pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2334pub const NID_camellia_256_ofb128: i32 = 768;
2335pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2336pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2337pub const NID_subject_directory_attributes: i32 = 769;
2338pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2339pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2340pub const NID_issuing_distribution_point: i32 = 770;
2341pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2342pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2343pub const NID_certificate_issuer: i32 = 771;
2344pub const SN_kisa: &[u8; 5] = b"KISA\0";
2345pub const LN_kisa: &[u8; 5] = b"kisa\0";
2346pub const NID_kisa: i32 = 773;
2347pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2348pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2349pub const NID_seed_ecb: i32 = 776;
2350pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2351pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2352pub const NID_seed_cbc: i32 = 777;
2353pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2354pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2355pub const NID_seed_ofb128: i32 = 778;
2356pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2357pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2358pub const NID_seed_cfb128: i32 = 779;
2359pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2360pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2361pub const NID_hmac_md5: i32 = 780;
2362pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2363pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2364pub const NID_hmac_sha1: i32 = 781;
2365pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2366pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2367pub const NID_id_PasswordBasedMAC: i32 = 782;
2368pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2369pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2370pub const NID_id_DHBasedMac: i32 = 783;
2371pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2372pub const NID_id_it_suppLangTags: i32 = 784;
2373pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2374pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2375pub const NID_caRepository: i32 = 785;
2376pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2377pub const NID_id_smime_ct_compressedData: i32 = 786;
2378pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2379pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2380pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2381pub const NID_id_aes128_wrap: i32 = 788;
2382pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2383pub const NID_id_aes192_wrap: i32 = 789;
2384pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2385pub const NID_id_aes256_wrap: i32 = 790;
2386pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2387pub const NID_ecdsa_with_Recommended: i32 = 791;
2388pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2389pub const NID_ecdsa_with_Specified: i32 = 792;
2390pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2391pub const NID_ecdsa_with_SHA224: i32 = 793;
2392pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2393pub const NID_ecdsa_with_SHA256: i32 = 794;
2394pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2395pub const NID_ecdsa_with_SHA384: i32 = 795;
2396pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2397pub const NID_ecdsa_with_SHA512: i32 = 796;
2398pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2399pub const NID_hmacWithMD5: i32 = 797;
2400pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2401pub const NID_hmacWithSHA224: i32 = 798;
2402pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2403pub const NID_hmacWithSHA256: i32 = 799;
2404pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2405pub const NID_hmacWithSHA384: i32 = 800;
2406pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2407pub const NID_hmacWithSHA512: i32 = 801;
2408pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2409pub const NID_dsa_with_SHA224: i32 = 802;
2410pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2411pub const NID_dsa_with_SHA256: i32 = 803;
2412pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2413pub const NID_whirlpool: i32 = 804;
2414pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2415pub const NID_cryptopro: i32 = 805;
2416pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2417pub const NID_cryptocom: i32 = 806;
2418pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2419    b"id-GostR3411-94-with-GostR3410-2001\0";
2420pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2421    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2422pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2423pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2424pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2425    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2426pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2427pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2428pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2429pub const NID_id_GostR3411_94: i32 = 809;
2430pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2431pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2432pub const NID_id_HMACGostR3411_94: i32 = 810;
2433pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2434pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2435pub const NID_id_GostR3410_2001: i32 = 811;
2436pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2437pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2438pub const NID_id_GostR3410_94: i32 = 812;
2439pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2440pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2441pub const NID_id_Gost28147_89: i32 = 813;
2442pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2443pub const NID_gost89_cnt: i32 = 814;
2444pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2445pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2446pub const NID_id_Gost28147_89_MAC: i32 = 815;
2447pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2448pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2449pub const NID_id_GostR3411_94_prf: i32 = 816;
2450pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2451pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2452pub const NID_id_GostR3410_2001DH: i32 = 817;
2453pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2454pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2455pub const NID_id_GostR3410_94DH: i32 = 818;
2456pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2457    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2458pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2459pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2460pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2461pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2462pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2463pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2464pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2465pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2466pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2467pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2468    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2469pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2470pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2471    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2472pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2473pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2474    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2475pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2476pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2477    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2478pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2479pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2480    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2481pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2482pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2483    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2484pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2485pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2486    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2487pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2488pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2489pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2490pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2491    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2492pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2493pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2494    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2495pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2496pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2497    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2498pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2499pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2500    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2501pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2502pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2503    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2504pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2505pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2506    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2507pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2508pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2509    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2510pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2511pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2512pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2513pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2514    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2515pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2516pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2517    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2518pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2519pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2520    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2521pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2522pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2523    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2524pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2525pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2526    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2527pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2528pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2529pub const NID_id_GostR3410_94_a: i32 = 845;
2530pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2531pub const NID_id_GostR3410_94_aBis: i32 = 846;
2532pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2533pub const NID_id_GostR3410_94_b: i32 = 847;
2534pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2535pub const NID_id_GostR3410_94_bBis: i32 = 848;
2536pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2537pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2538pub const NID_id_Gost28147_89_cc: i32 = 849;
2539pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2540pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2541pub const NID_id_GostR3410_94_cc: i32 = 850;
2542pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2543pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2544pub const NID_id_GostR3410_2001_cc: i32 = 851;
2545pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2546    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2547pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2548    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2549pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2550pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2551    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2552pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2553    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2554pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2555pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2556pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2557    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2558pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2559pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2560pub const LN_hmac: &[u8; 5] = b"hmac\0";
2561pub const NID_hmac: i32 = 855;
2562pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2563pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2564pub const NID_LocalKeySet: i32 = 856;
2565pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2566pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2567pub const NID_freshest_crl: i32 = 857;
2568pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2569pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2570pub const NID_id_on_permanentIdentifier: i32 = 858;
2571pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2572pub const NID_searchGuide: i32 = 859;
2573pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2574pub const NID_businessCategory: i32 = 860;
2575pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2576pub const NID_postalAddress: i32 = 861;
2577pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2578pub const NID_postOfficeBox: i32 = 862;
2579pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2580pub const NID_physicalDeliveryOfficeName: i32 = 863;
2581pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2582pub const NID_telephoneNumber: i32 = 864;
2583pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2584pub const NID_telexNumber: i32 = 865;
2585pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2586pub const NID_teletexTerminalIdentifier: i32 = 866;
2587pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2588pub const NID_facsimileTelephoneNumber: i32 = 867;
2589pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2590pub const NID_x121Address: i32 = 868;
2591pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2592pub const NID_internationaliSDNNumber: i32 = 869;
2593pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2594pub const NID_registeredAddress: i32 = 870;
2595pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2596pub const NID_destinationIndicator: i32 = 871;
2597pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2598pub const NID_preferredDeliveryMethod: i32 = 872;
2599pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2600pub const NID_presentationAddress: i32 = 873;
2601pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
2602pub const NID_supportedApplicationContext: i32 = 874;
2603pub const SN_member: &[u8; 7] = b"member\0";
2604pub const NID_member: i32 = 875;
2605pub const SN_owner: &[u8; 6] = b"owner\0";
2606pub const NID_owner: i32 = 876;
2607pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
2608pub const NID_roleOccupant: i32 = 877;
2609pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
2610pub const NID_seeAlso: i32 = 878;
2611pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
2612pub const NID_userPassword: i32 = 879;
2613pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
2614pub const NID_userCertificate: i32 = 880;
2615pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
2616pub const NID_cACertificate: i32 = 881;
2617pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
2618pub const NID_authorityRevocationList: i32 = 882;
2619pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
2620pub const NID_certificateRevocationList: i32 = 883;
2621pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
2622pub const NID_crossCertificatePair: i32 = 884;
2623pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
2624pub const NID_enhancedSearchGuide: i32 = 885;
2625pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
2626pub const NID_protocolInformation: i32 = 886;
2627pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
2628pub const NID_distinguishedName: i32 = 887;
2629pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
2630pub const NID_uniqueMember: i32 = 888;
2631pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
2632pub const NID_houseIdentifier: i32 = 889;
2633pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
2634pub const NID_supportedAlgorithms: i32 = 890;
2635pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
2636pub const NID_deltaRevocationList: i32 = 891;
2637pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
2638pub const NID_dmdName: i32 = 892;
2639pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
2640pub const NID_id_alg_PWRI_KEK: i32 = 893;
2641pub const SN_cmac: &[u8; 5] = b"CMAC\0";
2642pub const LN_cmac: &[u8; 5] = b"cmac\0";
2643pub const NID_cmac: i32 = 894;
2644pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
2645pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
2646pub const NID_aes_128_gcm: i32 = 895;
2647pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
2648pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
2649pub const NID_aes_128_ccm: i32 = 896;
2650pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
2651pub const NID_id_aes128_wrap_pad: i32 = 897;
2652pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
2653pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
2654pub const NID_aes_192_gcm: i32 = 898;
2655pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
2656pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
2657pub const NID_aes_192_ccm: i32 = 899;
2658pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
2659pub const NID_id_aes192_wrap_pad: i32 = 900;
2660pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
2661pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
2662pub const NID_aes_256_gcm: i32 = 901;
2663pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
2664pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
2665pub const NID_aes_256_ccm: i32 = 902;
2666pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
2667pub const NID_id_aes256_wrap_pad: i32 = 903;
2668pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
2669pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
2670pub const NID_aes_128_ctr: i32 = 904;
2671pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
2672pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
2673pub const NID_aes_192_ctr: i32 = 905;
2674pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
2675pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
2676pub const NID_aes_256_ctr: i32 = 906;
2677pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
2678pub const NID_id_camellia128_wrap: i32 = 907;
2679pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
2680pub const NID_id_camellia192_wrap: i32 = 908;
2681pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
2682pub const NID_id_camellia256_wrap: i32 = 909;
2683pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
2684pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
2685pub const NID_anyExtendedKeyUsage: i32 = 910;
2686pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
2687pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
2688pub const NID_mgf1: i32 = 911;
2689pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
2690pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
2691pub const NID_rsassaPss: i32 = 912;
2692pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
2693pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
2694pub const NID_aes_128_xts: i32 = 913;
2695pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
2696pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
2697pub const NID_aes_256_xts: i32 = 914;
2698pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
2699pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
2700pub const NID_rc4_hmac_md5: i32 = 915;
2701pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
2702pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
2703pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
2704pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
2705pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
2706pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
2707pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
2708pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
2709pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
2710pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
2711pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
2712pub const NID_rsaesOaep: i32 = 919;
2713pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
2714pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
2715pub const NID_dhpublicnumber: i32 = 920;
2716pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
2717pub const NID_brainpoolP160r1: i32 = 921;
2718pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
2719pub const NID_brainpoolP160t1: i32 = 922;
2720pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
2721pub const NID_brainpoolP192r1: i32 = 923;
2722pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
2723pub const NID_brainpoolP192t1: i32 = 924;
2724pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
2725pub const NID_brainpoolP224r1: i32 = 925;
2726pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
2727pub const NID_brainpoolP224t1: i32 = 926;
2728pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
2729pub const NID_brainpoolP256r1: i32 = 927;
2730pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
2731pub const NID_brainpoolP256t1: i32 = 928;
2732pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
2733pub const NID_brainpoolP320r1: i32 = 929;
2734pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
2735pub const NID_brainpoolP320t1: i32 = 930;
2736pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
2737pub const NID_brainpoolP384r1: i32 = 931;
2738pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
2739pub const NID_brainpoolP384t1: i32 = 932;
2740pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
2741pub const NID_brainpoolP512r1: i32 = 933;
2742pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
2743pub const NID_brainpoolP512t1: i32 = 934;
2744pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
2745pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
2746pub const NID_pSpecified: i32 = 935;
2747pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
2748pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
2749pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
2750    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
2751pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
2752pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
2753    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
2754pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
2755pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
2756    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
2757pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
2758pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
2759    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
2760pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
2761pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
2762    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
2763pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
2764pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
2765    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
2766pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
2767pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
2768    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
2769pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
2770pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
2771    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
2772pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
2773pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
2774    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
2775pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
2776pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
2777pub const NID_dh_std_kdf: i32 = 946;
2778pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
2779pub const NID_dh_cofactor_kdf: i32 = 947;
2780pub const SN_X25519: &[u8; 7] = b"X25519\0";
2781pub const NID_X25519: i32 = 948;
2782pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
2783pub const NID_ED25519: i32 = 949;
2784pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
2785pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
2786pub const NID_chacha20_poly1305: i32 = 950;
2787pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
2788pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
2789pub const NID_kx_rsa: i32 = 951;
2790pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
2791pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
2792pub const NID_kx_ecdhe: i32 = 952;
2793pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
2794pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
2795pub const NID_kx_psk: i32 = 953;
2796pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
2797pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
2798pub const NID_auth_rsa: i32 = 954;
2799pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
2800pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
2801pub const NID_auth_ecdsa: i32 = 955;
2802pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
2803pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
2804pub const NID_auth_psk: i32 = 956;
2805pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
2806pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
2807pub const NID_kx_any: i32 = 957;
2808pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
2809pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
2810pub const NID_auth_any: i32 = 958;
2811pub const SN_ED448: &[u8; 6] = b"ED448\0";
2812pub const NID_ED448: i32 = 960;
2813pub const SN_X448: &[u8; 5] = b"X448\0";
2814pub const NID_X448: i32 = 961;
2815pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
2816pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
2817pub const NID_sha512_256: i32 = 962;
2818pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
2819pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
2820pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
2821pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
2822pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
2823pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
2824pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
2825pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
2826pub const NID_sha3_224: i32 = 965;
2827pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
2828pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
2829pub const NID_sha3_256: i32 = 966;
2830pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
2831pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
2832pub const NID_sha3_384: i32 = 967;
2833pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
2834pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
2835pub const NID_sha3_512: i32 = 968;
2836pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
2837pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
2838pub const NID_hkdf: i32 = 969;
2839pub const SN_kem: &[u8; 4] = b"KEM\0";
2840pub const LN_kem: &[u8; 4] = b"kem\0";
2841pub const NID_kem: i32 = 970;
2842pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
2843pub const NID_ffdhe2048: i32 = 976;
2844pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
2845pub const NID_ffdhe4096: i32 = 977;
2846pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
2847pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
2848pub const NID_sha512_224: i32 = 978;
2849pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
2850pub const LN_shake128: &[u8; 9] = b"shake128\0";
2851pub const NID_shake128: i32 = 979;
2852pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
2853pub const LN_shake256: &[u8; 9] = b"shake256\0";
2854pub const NID_shake256: i32 = 980;
2855pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
2856pub const NID_ffdhe3072: i32 = 983;
2857pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
2858pub const NID_ffdhe8192: i32 = 984;
2859pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
2860pub const NID_MLKEM512IPD: i32 = 985;
2861pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
2862pub const NID_MLKEM768IPD: i32 = 986;
2863pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
2864pub const NID_MLKEM1024IPD: i32 = 987;
2865pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
2866pub const NID_MLKEM512: i32 = 988;
2867pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
2868pub const NID_MLKEM768: i32 = 989;
2869pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
2870pub const NID_MLKEM1024: i32 = 990;
2871pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
2872pub const NID_X25519MLKEM768: i32 = 991;
2873pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
2874pub const NID_SecP256r1MLKEM768: i32 = 992;
2875pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
2876pub const NID_PQDSA: i32 = 993;
2877pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
2878pub const NID_MLDSA44: i32 = 994;
2879pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
2880pub const NID_MLDSA65: i32 = 995;
2881pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
2882pub const NID_MLDSA87: i32 = 996;
2883pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
2884pub const NID_ED25519ph: i32 = 997;
2885pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
2886pub const NID_SecP384r1MLKEM1024: i32 = 998;
2887pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
2888pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
2889pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
2890pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
2891pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
2892pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
2893pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
2894pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
2895pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
2896pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
2897pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
2898pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
2899pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
2900pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
2901pub const HMAC_R_UNSUPPORTED_DIGEST: i32 = 106;
2902pub const EVP_PKEY_NONE: i32 = 0;
2903pub const EVP_PKEY_RSA: i32 = 6;
2904pub const EVP_PKEY_RSA_PSS: i32 = 912;
2905pub const EVP_PKEY_EC: i32 = 408;
2906pub const EVP_PKEY_ED25519: i32 = 949;
2907pub const EVP_PKEY_ED25519PH: i32 = 997;
2908pub const EVP_PKEY_X25519: i32 = 948;
2909pub const EVP_PKEY_HKDF: i32 = 969;
2910pub const EVP_PKEY_HMAC: i32 = 855;
2911pub const EVP_PKEY_DH: i32 = 28;
2912pub const EVP_PKEY_PQDSA: i32 = 993;
2913pub const EVP_PKEY_KEM: i32 = 970;
2914pub const PKCS5_SALT_LEN: i32 = 8;
2915pub const EVP_PKEY_RSA2: i32 = 19;
2916pub const EVP_PKEY_X448: i32 = 961;
2917pub const EVP_PKEY_ED448: i32 = 960;
2918pub const EVP_PKEY_DSA: i32 = 116;
2919pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
2920pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
2921pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
2922pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
2923pub const HKDF_R_UNSUPPORTED_DIGEST: i32 = 101;
2924pub const RSA_PKCS1_PADDING: i32 = 1;
2925pub const RSA_NO_PADDING: i32 = 3;
2926pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
2927pub const RSA_X931_PADDING: i32 = 5;
2928pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
2929pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
2930pub const RSA_FLAG_OPAQUE: i32 = 1;
2931pub const RSA_FLAG_NO_BLINDING: i32 = 8;
2932pub const RSA_FLAG_EXT_PKEY: i32 = 32;
2933pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
2934pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
2935pub const RSA_3: i32 = 3;
2936pub const RSA_F4: i32 = 65537;
2937pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
2938pub const RSA_R_BAD_ENCODING: i32 = 100;
2939pub const RSA_R_BAD_E_VALUE: i32 = 101;
2940pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
2941pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
2942pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
2943pub const RSA_R_BAD_SIGNATURE: i32 = 105;
2944pub const RSA_R_BAD_VERSION: i32 = 106;
2945pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
2946pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
2947pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
2948pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
2949pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
2950pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
2951pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
2952pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
2953pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
2954pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
2955pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
2956pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
2957pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
2958pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
2959pub const RSA_R_ENCODE_ERROR: i32 = 121;
2960pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
2961pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
2962pub const RSA_R_INTERNAL_ERROR: i32 = 124;
2963pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
2964pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
2965pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
2966pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
2967pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
2968pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
2969pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
2970pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
2971pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
2972pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
2973pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
2974pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
2975pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
2976pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
2977pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
2978pub const RSA_R_TOO_LONG: i32 = 140;
2979pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
2980pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
2981pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
2982pub const RSA_R_VALUE_MISSING: i32 = 144;
2983pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
2984pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
2985pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
2986pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
2987pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
2988pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
2989pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
2990pub type __off_t = ::std::os::raw::c_long;
2991pub type __off64_t = ::std::os::raw::c_long;
2992#[repr(C)]
2993#[repr(align(4))]
2994#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
2995pub struct static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit {
2996    pub _bitfield_align_1: [u8; 0],
2997    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
2998    pub __bindgen_padding_0: [u8; 3usize],
2999}
3000#[test]
3001fn bindgen_test_layout_static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3002) {
3003    assert_eq!(
3004        ::std::mem::size_of::<
3005            static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit,
3006        >(),
3007        4usize,
3008        "Size of static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit"
3009    );
3010    assert_eq ! (:: std :: mem :: align_of :: < static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit > () , 4usize , "Alignment of static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit");
3011}
3012impl static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3013    #[inline]
3014    pub fn static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3015        &self,
3016    ) -> ::std::os::raw::c_uint {
3017        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3018    }
3019    #[inline]
3020    pub fn set_static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3021        &mut self,
3022        val: ::std::os::raw::c_uint,
3023    ) {
3024        unsafe {
3025            let val: u32 = ::std::mem::transmute(val);
3026            self._bitfield_1.set(0usize, 1u8, val as u64)
3027        }
3028    }
3029    #[inline]
3030    pub unsafe fn static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3031        this: *const Self,
3032    ) -> ::std::os::raw::c_uint {
3033        unsafe {
3034            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3035                ::std::ptr::addr_of!((*this)._bitfield_1),
3036                0usize,
3037                1u8,
3038            ) as u32)
3039        }
3040    }
3041    #[inline]
3042    pub unsafe fn set_static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3043        this: *mut Self,
3044        val: ::std::os::raw::c_uint,
3045    ) {
3046        unsafe {
3047            let val: u32 = ::std::mem::transmute(val);
3048            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3049                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3050                0usize,
3051                1u8,
3052                val as u64,
3053            )
3054        }
3055    }
3056    #[inline]
3057    pub fn new_bitfield_1(
3058        static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
3059    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3060        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3061        __bindgen_bitfield_unit . set (0usize , 1u8 , { let static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit : u32 = unsafe { :: std :: mem :: transmute (static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit) } ; static_assertion_at_line_230_error_is_pointer_size_must_be_8_bytes_for_64_bit as u64 }) ;
3062        __bindgen_bitfield_unit
3063    }
3064}
3065pub type ossl_ssize_t = isize;
3066pub type CBS_ASN1_TAG = u32;
3067pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3068#[repr(C)]
3069#[derive(Debug, Copy, Clone)]
3070pub struct asn1_null_st {
3071    _unused: [u8; 0],
3072}
3073pub type ASN1_NULL = asn1_null_st;
3074pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3075pub type ASN1_ITEM = ASN1_ITEM_st;
3076#[repr(C)]
3077#[derive(Debug, Copy, Clone)]
3078pub struct asn1_object_st {
3079    _unused: [u8; 0],
3080}
3081pub type ASN1_OBJECT = asn1_object_st;
3082#[repr(C)]
3083#[derive(Debug, Copy, Clone)]
3084pub struct asn1_pctx_st {
3085    _unused: [u8; 0],
3086}
3087pub type ASN1_PCTX = asn1_pctx_st;
3088pub type ASN1_BIT_STRING = asn1_string_st;
3089pub type ASN1_BMPSTRING = asn1_string_st;
3090pub type ASN1_ENUMERATED = asn1_string_st;
3091pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3092pub type ASN1_GENERALSTRING = asn1_string_st;
3093pub type ASN1_IA5STRING = asn1_string_st;
3094pub type ASN1_INTEGER = asn1_string_st;
3095pub type ASN1_OCTET_STRING = asn1_string_st;
3096pub type ASN1_PRINTABLESTRING = asn1_string_st;
3097pub type ASN1_STRING = asn1_string_st;
3098pub type ASN1_T61STRING = asn1_string_st;
3099pub type ASN1_TIME = asn1_string_st;
3100pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3101pub type ASN1_UTCTIME = asn1_string_st;
3102pub type ASN1_UTF8STRING = asn1_string_st;
3103pub type ASN1_VISIBLESTRING = asn1_string_st;
3104pub type ASN1_TYPE = asn1_type_st;
3105pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3106pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3107pub type DIST_POINT = DIST_POINT_st;
3108pub type DSA_SIG = DSA_SIG_st;
3109pub type GENERAL_NAME = GENERAL_NAME_st;
3110pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3111pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3112pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3113pub type NETSCAPE_SPKI = Netscape_spki_st;
3114pub type RIPEMD160_CTX = RIPEMD160state_st;
3115#[repr(C)]
3116#[derive(Debug, Copy, Clone)]
3117pub struct X509_VERIFY_PARAM_st {
3118    _unused: [u8; 0],
3119}
3120pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3121pub type X509_ALGOR = X509_algor_st;
3122#[repr(C)]
3123#[derive(Debug, Copy, Clone)]
3124pub struct X509_crl_st {
3125    _unused: [u8; 0],
3126}
3127pub type X509_CRL = X509_crl_st;
3128#[repr(C)]
3129#[derive(Debug, Copy, Clone)]
3130pub struct X509_extension_st {
3131    _unused: [u8; 0],
3132}
3133pub type X509_EXTENSION = X509_extension_st;
3134pub type X509_INFO = X509_info_st;
3135#[repr(C)]
3136#[derive(Debug, Copy, Clone)]
3137pub struct X509_name_entry_st {
3138    _unused: [u8; 0],
3139}
3140pub type X509_NAME_ENTRY = X509_name_entry_st;
3141#[repr(C)]
3142#[derive(Debug, Copy, Clone)]
3143pub struct X509_name_st {
3144    _unused: [u8; 0],
3145}
3146pub type X509_NAME = X509_name_st;
3147#[repr(C)]
3148#[derive(Debug, Copy, Clone)]
3149pub struct X509_pubkey_st {
3150    _unused: [u8; 0],
3151}
3152pub type X509_PUBKEY = X509_pubkey_st;
3153#[repr(C)]
3154#[derive(Debug, Copy, Clone)]
3155pub struct X509_req_st {
3156    _unused: [u8; 0],
3157}
3158pub type X509_REQ = X509_req_st;
3159#[repr(C)]
3160#[derive(Debug, Copy, Clone)]
3161pub struct x509_sig_info_st {
3162    _unused: [u8; 0],
3163}
3164pub type X509_SIG_INFO = x509_sig_info_st;
3165#[repr(C)]
3166#[derive(Debug, Copy, Clone)]
3167pub struct X509_sig_st {
3168    _unused: [u8; 0],
3169}
3170pub type X509_SIG = X509_sig_st;
3171#[repr(C)]
3172#[derive(Debug, Copy, Clone)]
3173pub struct bignum_ctx {
3174    _unused: [u8; 0],
3175}
3176pub type BN_CTX = bignum_ctx;
3177pub type BIGNUM = bignum_st;
3178pub type BIO_METHOD = bio_method_st;
3179pub type BIO = bio_st;
3180pub type BLAKE2B_CTX = blake2b_state_st;
3181pub type BN_GENCB = bn_gencb_st;
3182pub type BN_MONT_CTX = bn_mont_ctx_st;
3183pub type BUF_MEM = buf_mem_st;
3184#[repr(C)]
3185#[derive(Debug, Copy, Clone)]
3186pub struct cast_key_st {
3187    _unused: [u8; 0],
3188}
3189pub type CAST_KEY = cast_key_st;
3190pub type CBB = cbb_st;
3191pub type CBS = cbs_st;
3192#[repr(C)]
3193#[derive(Debug, Copy, Clone)]
3194pub struct cmac_ctx_st {
3195    _unused: [u8; 0],
3196}
3197pub type CMAC_CTX = cmac_ctx_st;
3198pub type CONF = conf_st;
3199pub type CONF_VALUE = conf_value_st;
3200#[repr(C)]
3201#[derive(Debug, Copy, Clone)]
3202pub struct crypto_buffer_pool_st {
3203    _unused: [u8; 0],
3204}
3205pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3206#[repr(C)]
3207#[derive(Debug, Copy, Clone)]
3208pub struct crypto_buffer_st {
3209    _unused: [u8; 0],
3210}
3211pub type CRYPTO_BUFFER = crypto_buffer_st;
3212#[repr(C)]
3213#[derive(Debug, Copy, Clone)]
3214pub struct ctr_drbg_state_st {
3215    _unused: [u8; 0],
3216}
3217pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3218#[repr(C)]
3219#[derive(Debug, Copy, Clone)]
3220pub struct dh_st {
3221    _unused: [u8; 0],
3222}
3223pub type DH = dh_st;
3224#[repr(C)]
3225#[derive(Debug, Copy, Clone)]
3226pub struct dsa_st {
3227    _unused: [u8; 0],
3228}
3229pub type DSA = dsa_st;
3230#[repr(C)]
3231#[derive(Debug, Copy, Clone)]
3232pub struct ec_group_st {
3233    _unused: [u8; 0],
3234}
3235pub type EC_GROUP = ec_group_st;
3236#[repr(C)]
3237#[derive(Debug, Copy, Clone)]
3238pub struct ec_key_st {
3239    _unused: [u8; 0],
3240}
3241pub type EC_KEY = ec_key_st;
3242#[repr(C)]
3243#[derive(Debug, Copy, Clone)]
3244pub struct ec_point_st {
3245    _unused: [u8; 0],
3246}
3247pub type EC_POINT = ec_point_st;
3248#[repr(C)]
3249#[derive(Debug, Copy, Clone)]
3250pub struct ec_key_method_st {
3251    _unused: [u8; 0],
3252}
3253pub type EC_KEY_METHOD = ec_key_method_st;
3254pub type ECDSA_SIG = ecdsa_sig_st;
3255#[repr(C)]
3256#[derive(Debug, Copy, Clone)]
3257pub struct engine_st {
3258    _unused: [u8; 0],
3259}
3260pub type ENGINE = engine_st;
3261pub type EVP_MD_CTX = env_md_ctx_st;
3262#[repr(C)]
3263#[derive(Debug, Copy, Clone)]
3264pub struct env_md_st {
3265    _unused: [u8; 0],
3266}
3267pub type EVP_MD = env_md_st;
3268#[repr(C)]
3269#[derive(Debug, Copy, Clone)]
3270pub struct evp_aead_st {
3271    _unused: [u8; 0],
3272}
3273pub type EVP_AEAD = evp_aead_st;
3274pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3275pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3276#[repr(C)]
3277#[derive(Debug, Copy, Clone)]
3278pub struct evp_cipher_st {
3279    _unused: [u8; 0],
3280}
3281pub type EVP_CIPHER = evp_cipher_st;
3282#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
3283pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3284#[repr(C)]
3285#[derive(Debug, Copy, Clone)]
3286pub struct evp_hpke_aead_st {
3287    _unused: [u8; 0],
3288}
3289pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3290pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3291#[repr(C)]
3292#[derive(Debug, Copy, Clone)]
3293pub struct evp_hpke_kdf_st {
3294    _unused: [u8; 0],
3295}
3296pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3297#[repr(C)]
3298#[derive(Debug, Copy, Clone)]
3299pub struct evp_hpke_kem_st {
3300    _unused: [u8; 0],
3301}
3302pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3303pub type EVP_HPKE_KEY = evp_hpke_key_st;
3304#[repr(C)]
3305#[derive(Debug, Copy, Clone)]
3306pub struct evp_kem_st {
3307    _unused: [u8; 0],
3308}
3309pub type EVP_KEM = evp_kem_st;
3310#[repr(C)]
3311#[derive(Debug, Copy, Clone)]
3312pub struct kem_key_st {
3313    _unused: [u8; 0],
3314}
3315pub type KEM_KEY = kem_key_st;
3316#[repr(C)]
3317#[derive(Debug, Copy, Clone)]
3318pub struct evp_pkey_ctx_st {
3319    _unused: [u8; 0],
3320}
3321pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3322#[repr(C)]
3323#[derive(Debug, Copy, Clone)]
3324pub struct evp_pkey_asn1_method_st {
3325    _unused: [u8; 0],
3326}
3327pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3328#[repr(C)]
3329#[derive(Debug, Copy, Clone)]
3330pub struct evp_pkey_st {
3331    _unused: [u8; 0],
3332}
3333pub type EVP_PKEY = evp_pkey_st;
3334#[repr(C)]
3335#[derive(Debug, Copy, Clone)]
3336pub struct evp_pkey_ctx_signature_context_params_st {
3337    _unused: [u8; 0],
3338}
3339pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3340pub type HMAC_CTX = hmac_ctx_st;
3341pub type MD4_CTX = md4_state_st;
3342pub type MD5_CTX = md5_state_st;
3343#[repr(C)]
3344#[derive(Debug, Copy, Clone)]
3345pub struct pqdsa_key_st {
3346    _unused: [u8; 0],
3347}
3348pub type PQDSA_KEY = pqdsa_key_st;
3349#[repr(C)]
3350#[derive(Debug, Copy, Clone)]
3351pub struct ocsp_req_ctx_st {
3352    _unused: [u8; 0],
3353}
3354pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3355#[repr(C)]
3356#[derive(Debug, Copy, Clone)]
3357pub struct ossl_init_settings_st {
3358    _unused: [u8; 0],
3359}
3360pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3361#[repr(C)]
3362#[derive(Debug, Copy, Clone)]
3363pub struct pkcs7_digest_st {
3364    _unused: [u8; 0],
3365}
3366pub type PKCS7_DIGEST = pkcs7_digest_st;
3367#[repr(C)]
3368#[derive(Debug, Copy, Clone)]
3369pub struct pkcs7_enc_content_st {
3370    _unused: [u8; 0],
3371}
3372pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3373#[repr(C)]
3374#[derive(Debug, Copy, Clone)]
3375pub struct pkcs7_encrypt_st {
3376    _unused: [u8; 0],
3377}
3378pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3379pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3380pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3381pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3382pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3383pub type PKCS7_SIGNED = pkcs7_signed_st;
3384pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3385pub type PKCS7 = pkcs7_st;
3386#[repr(C)]
3387#[derive(Debug, Copy, Clone)]
3388pub struct pkcs12_st {
3389    _unused: [u8; 0],
3390}
3391pub type PKCS12 = pkcs12_st;
3392#[repr(C)]
3393#[derive(Debug, Copy, Clone)]
3394pub struct pkcs8_priv_key_info_st {
3395    _unused: [u8; 0],
3396}
3397pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3398pub type X509_PKEY = private_key_st;
3399pub type RAND_METHOD = rand_meth_st;
3400pub type RC4_KEY = rc4_key_st;
3401#[repr(C)]
3402#[derive(Debug, Copy, Clone)]
3403pub struct rsa_meth_st {
3404    _unused: [u8; 0],
3405}
3406pub type RSA_METHOD = rsa_meth_st;
3407#[repr(C)]
3408#[derive(Debug, Copy, Clone)]
3409pub struct rsassa_pss_params_st {
3410    _unused: [u8; 0],
3411}
3412pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3413pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3414#[repr(C)]
3415#[derive(Debug, Copy, Clone)]
3416pub struct rsa_st {
3417    _unused: [u8; 0],
3418}
3419pub type RSA = rsa_st;
3420pub type SHA256_CTX = sha256_state_st;
3421pub type SHA512_CTX = sha512_state_st;
3422pub type SHA_CTX = sha_state_st;
3423#[repr(C)]
3424#[derive(Debug, Copy, Clone)]
3425pub struct spake2_ctx_st {
3426    _unused: [u8; 0],
3427}
3428pub type SPAKE2_CTX = spake2_ctx_st;
3429#[repr(C)]
3430#[derive(Debug, Copy, Clone)]
3431pub struct srtp_protection_profile_st {
3432    _unused: [u8; 0],
3433}
3434pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3435#[repr(C)]
3436#[derive(Debug, Copy, Clone)]
3437pub struct ssl_cipher_st {
3438    _unused: [u8; 0],
3439}
3440pub type SSL_CIPHER = ssl_cipher_st;
3441#[repr(C)]
3442#[derive(Debug, Copy, Clone)]
3443pub struct ssl_ctx_st {
3444    _unused: [u8; 0],
3445}
3446pub type SSL_CTX = ssl_ctx_st;
3447#[repr(C)]
3448#[derive(Debug, Copy, Clone)]
3449pub struct ssl_early_callback_ctx {
3450    _unused: [u8; 0],
3451}
3452pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3453#[repr(C)]
3454#[derive(Debug, Copy, Clone)]
3455pub struct ssl_ech_keys_st {
3456    _unused: [u8; 0],
3457}
3458pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3459#[repr(C)]
3460#[derive(Debug, Copy, Clone)]
3461pub struct ssl_method_st {
3462    _unused: [u8; 0],
3463}
3464pub type SSL_METHOD = ssl_method_st;
3465#[repr(C)]
3466#[derive(Debug, Copy, Clone)]
3467pub struct ssl_private_key_method_st {
3468    _unused: [u8; 0],
3469}
3470pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3471#[repr(C)]
3472#[derive(Debug, Copy, Clone)]
3473pub struct ssl_quic_method_st {
3474    _unused: [u8; 0],
3475}
3476pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3477#[repr(C)]
3478#[derive(Debug, Copy, Clone)]
3479pub struct ssl_session_st {
3480    _unused: [u8; 0],
3481}
3482pub type SSL_SESSION = ssl_session_st;
3483#[repr(C)]
3484#[derive(Debug, Copy, Clone)]
3485pub struct ssl_st {
3486    _unused: [u8; 0],
3487}
3488pub type SSL = ssl_st;
3489#[repr(C)]
3490#[derive(Debug, Copy, Clone)]
3491pub struct ssl_ticket_aead_method_st {
3492    _unused: [u8; 0],
3493}
3494pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3495#[repr(C)]
3496#[derive(Debug, Copy, Clone)]
3497pub struct st_ERR_FNS {
3498    _unused: [u8; 0],
3499}
3500pub type ERR_FNS = st_ERR_FNS;
3501pub type TRUST_TOKEN = trust_token_st;
3502#[repr(C)]
3503#[derive(Debug, Copy, Clone)]
3504pub struct trust_token_client_st {
3505    _unused: [u8; 0],
3506}
3507pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3508#[repr(C)]
3509#[derive(Debug, Copy, Clone)]
3510pub struct trust_token_issuer_st {
3511    _unused: [u8; 0],
3512}
3513pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3514#[repr(C)]
3515#[derive(Debug, Copy, Clone)]
3516pub struct trust_token_method_st {
3517    _unused: [u8; 0],
3518}
3519pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3520pub type X509V3_CTX = v3_ext_ctx;
3521pub type X509V3_EXT_METHOD = v3_ext_method;
3522#[repr(C)]
3523#[derive(Debug, Copy, Clone)]
3524pub struct x509_attributes_st {
3525    _unused: [u8; 0],
3526}
3527pub type X509_ATTRIBUTE = x509_attributes_st;
3528#[repr(C)]
3529#[derive(Debug, Copy, Clone)]
3530pub struct x509_lookup_st {
3531    _unused: [u8; 0],
3532}
3533pub type X509_LOOKUP = x509_lookup_st;
3534#[repr(C)]
3535#[derive(Debug, Copy, Clone)]
3536pub struct x509_lookup_method_st {
3537    _unused: [u8; 0],
3538}
3539pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3540#[repr(C)]
3541#[derive(Debug, Copy, Clone)]
3542pub struct x509_object_st {
3543    _unused: [u8; 0],
3544}
3545pub type X509_OBJECT = x509_object_st;
3546#[repr(C)]
3547#[derive(Debug, Copy, Clone)]
3548pub struct x509_revoked_st {
3549    _unused: [u8; 0],
3550}
3551pub type X509_REVOKED = x509_revoked_st;
3552#[repr(C)]
3553#[derive(Debug, Copy, Clone)]
3554pub struct x509_st {
3555    _unused: [u8; 0],
3556}
3557pub type X509 = x509_st;
3558#[repr(C)]
3559#[derive(Debug, Copy, Clone)]
3560pub struct x509_store_ctx_st {
3561    _unused: [u8; 0],
3562}
3563pub type X509_STORE_CTX = x509_store_ctx_st;
3564#[repr(C)]
3565#[derive(Debug, Copy, Clone)]
3566pub struct x509_store_st {
3567    _unused: [u8; 0],
3568}
3569pub type X509_STORE = x509_store_st;
3570pub type X509_TRUST = x509_trust_st;
3571pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3572#[repr(C)]
3573#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3574pub struct aes_key_st {
3575    pub rd_key: [u32; 60usize],
3576    pub rounds: ::std::os::raw::c_uint,
3577}
3578#[test]
3579fn bindgen_test_layout_aes_key_st() {
3580    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3581    let ptr = UNINIT.as_ptr();
3582    assert_eq!(
3583        ::std::mem::size_of::<aes_key_st>(),
3584        244usize,
3585        "Size of aes_key_st"
3586    );
3587    assert_eq!(
3588        ::std::mem::align_of::<aes_key_st>(),
3589        4usize,
3590        "Alignment of aes_key_st"
3591    );
3592    assert_eq!(
3593        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3594        0usize,
3595        "Offset of field: aes_key_st::rd_key"
3596    );
3597    assert_eq!(
3598        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3599        240usize,
3600        "Offset of field: aes_key_st::rounds"
3601    );
3602}
3603impl Default for aes_key_st {
3604    fn default() -> Self {
3605        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3606        unsafe {
3607            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3608            s.assume_init()
3609        }
3610    }
3611}
3612pub type AES_KEY = aes_key_st;
3613extern "C" {
3614    #[link_name = "\u{1}aws_lc_0_39_1_AES_set_encrypt_key"]
3615    pub fn AES_set_encrypt_key(
3616        key: *const u8,
3617        bits: ::std::os::raw::c_uint,
3618        aeskey: *mut AES_KEY,
3619    ) -> ::std::os::raw::c_int;
3620}
3621extern "C" {
3622    #[link_name = "\u{1}aws_lc_0_39_1_AES_set_decrypt_key"]
3623    pub fn AES_set_decrypt_key(
3624        key: *const u8,
3625        bits: ::std::os::raw::c_uint,
3626        aeskey: *mut AES_KEY,
3627    ) -> ::std::os::raw::c_int;
3628}
3629extern "C" {
3630    #[link_name = "\u{1}aws_lc_0_39_1_AES_encrypt"]
3631    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3632}
3633extern "C" {
3634    #[link_name = "\u{1}aws_lc_0_39_1_AES_decrypt"]
3635    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3636}
3637extern "C" {
3638    #[link_name = "\u{1}aws_lc_0_39_1_AES_ctr128_encrypt"]
3639    pub fn AES_ctr128_encrypt(
3640        in_: *const u8,
3641        out: *mut u8,
3642        len: usize,
3643        key: *const AES_KEY,
3644        ivec: *mut u8,
3645        ecount_buf: *mut u8,
3646        num: *mut ::std::os::raw::c_uint,
3647    );
3648}
3649extern "C" {
3650    #[link_name = "\u{1}aws_lc_0_39_1_AES_ecb_encrypt"]
3651    pub fn AES_ecb_encrypt(
3652        in_: *const u8,
3653        out: *mut u8,
3654        key: *const AES_KEY,
3655        enc: ::std::os::raw::c_int,
3656    );
3657}
3658extern "C" {
3659    #[link_name = "\u{1}aws_lc_0_39_1_AES_cbc_encrypt"]
3660    pub fn AES_cbc_encrypt(
3661        in_: *const u8,
3662        out: *mut u8,
3663        len: usize,
3664        key: *const AES_KEY,
3665        ivec: *mut u8,
3666        enc: ::std::os::raw::c_int,
3667    );
3668}
3669extern "C" {
3670    #[link_name = "\u{1}aws_lc_0_39_1_AES_ofb128_encrypt"]
3671    pub fn AES_ofb128_encrypt(
3672        in_: *const u8,
3673        out: *mut u8,
3674        len: usize,
3675        key: *const AES_KEY,
3676        ivec: *mut u8,
3677        num: *mut ::std::os::raw::c_int,
3678    );
3679}
3680extern "C" {
3681    #[link_name = "\u{1}aws_lc_0_39_1_AES_cfb1_encrypt"]
3682    pub fn AES_cfb1_encrypt(
3683        in_: *const u8,
3684        out: *mut u8,
3685        bits: usize,
3686        key: *const AES_KEY,
3687        ivec: *mut u8,
3688        num: *mut ::std::os::raw::c_int,
3689        enc: ::std::os::raw::c_int,
3690    );
3691}
3692extern "C" {
3693    #[link_name = "\u{1}aws_lc_0_39_1_AES_cfb8_encrypt"]
3694    pub fn AES_cfb8_encrypt(
3695        in_: *const u8,
3696        out: *mut u8,
3697        len: usize,
3698        key: *const AES_KEY,
3699        ivec: *mut u8,
3700        num: *mut ::std::os::raw::c_int,
3701        enc: ::std::os::raw::c_int,
3702    );
3703}
3704extern "C" {
3705    #[link_name = "\u{1}aws_lc_0_39_1_AES_cfb128_encrypt"]
3706    pub fn AES_cfb128_encrypt(
3707        in_: *const u8,
3708        out: *mut u8,
3709        len: usize,
3710        key: *const AES_KEY,
3711        ivec: *mut u8,
3712        num: *mut ::std::os::raw::c_int,
3713        enc: ::std::os::raw::c_int,
3714    );
3715}
3716extern "C" {
3717    #[link_name = "\u{1}aws_lc_0_39_1_AES_wrap_key"]
3718    pub fn AES_wrap_key(
3719        key: *const AES_KEY,
3720        iv: *const u8,
3721        out: *mut u8,
3722        in_: *const u8,
3723        in_len: usize,
3724    ) -> ::std::os::raw::c_int;
3725}
3726extern "C" {
3727    #[link_name = "\u{1}aws_lc_0_39_1_AES_unwrap_key"]
3728    pub fn AES_unwrap_key(
3729        key: *const AES_KEY,
3730        iv: *const u8,
3731        out: *mut u8,
3732        in_: *const u8,
3733        in_len: usize,
3734    ) -> ::std::os::raw::c_int;
3735}
3736extern "C" {
3737    #[link_name = "\u{1}aws_lc_0_39_1_AES_wrap_key_padded"]
3738    pub fn AES_wrap_key_padded(
3739        key: *const AES_KEY,
3740        out: *mut u8,
3741        out_len: *mut usize,
3742        max_out: usize,
3743        in_: *const u8,
3744        in_len: usize,
3745    ) -> ::std::os::raw::c_int;
3746}
3747extern "C" {
3748    #[link_name = "\u{1}aws_lc_0_39_1_AES_unwrap_key_padded"]
3749    pub fn AES_unwrap_key_padded(
3750        key: *const AES_KEY,
3751        out: *mut u8,
3752        out_len: *mut usize,
3753        max_out: usize,
3754        in_: *const u8,
3755        in_len: usize,
3756    ) -> ::std::os::raw::c_int;
3757}
3758pub type __gnuc_va_list = __builtin_va_list;
3759#[repr(C)]
3760#[derive(Debug, Copy, Clone)]
3761pub struct _IO_marker {
3762    _unused: [u8; 0],
3763}
3764#[repr(C)]
3765#[derive(Debug, Copy, Clone)]
3766pub struct _IO_codecvt {
3767    _unused: [u8; 0],
3768}
3769#[repr(C)]
3770#[derive(Debug, Copy, Clone)]
3771pub struct _IO_wide_data {
3772    _unused: [u8; 0],
3773}
3774pub type _IO_lock_t = ::std::os::raw::c_void;
3775#[repr(C)]
3776#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3777pub struct _IO_FILE {
3778    pub _flags: ::std::os::raw::c_int,
3779    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3780    pub _IO_read_end: *mut ::std::os::raw::c_char,
3781    pub _IO_read_base: *mut ::std::os::raw::c_char,
3782    pub _IO_write_base: *mut ::std::os::raw::c_char,
3783    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3784    pub _IO_write_end: *mut ::std::os::raw::c_char,
3785    pub _IO_buf_base: *mut ::std::os::raw::c_char,
3786    pub _IO_buf_end: *mut ::std::os::raw::c_char,
3787    pub _IO_save_base: *mut ::std::os::raw::c_char,
3788    pub _IO_backup_base: *mut ::std::os::raw::c_char,
3789    pub _IO_save_end: *mut ::std::os::raw::c_char,
3790    pub _markers: *mut _IO_marker,
3791    pub _chain: *mut _IO_FILE,
3792    pub _fileno: ::std::os::raw::c_int,
3793    pub _flags2: ::std::os::raw::c_int,
3794    pub _old_offset: __off_t,
3795    pub _cur_column: ::std::os::raw::c_ushort,
3796    pub _vtable_offset: ::std::os::raw::c_schar,
3797    pub _shortbuf: [::std::os::raw::c_char; 1usize],
3798    pub _lock: *mut _IO_lock_t,
3799    pub _offset: __off64_t,
3800    pub _codecvt: *mut _IO_codecvt,
3801    pub _wide_data: *mut _IO_wide_data,
3802    pub _freeres_list: *mut _IO_FILE,
3803    pub _freeres_buf: *mut ::std::os::raw::c_void,
3804    pub __pad5: usize,
3805    pub _mode: ::std::os::raw::c_int,
3806    pub _unused2: [::std::os::raw::c_char; 20usize],
3807}
3808#[test]
3809fn bindgen_test_layout__IO_FILE() {
3810    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
3811    let ptr = UNINIT.as_ptr();
3812    assert_eq!(
3813        ::std::mem::size_of::<_IO_FILE>(),
3814        216usize,
3815        "Size of _IO_FILE"
3816    );
3817    assert_eq!(
3818        ::std::mem::align_of::<_IO_FILE>(),
3819        8usize,
3820        "Alignment of _IO_FILE"
3821    );
3822    assert_eq!(
3823        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
3824        0usize,
3825        "Offset of field: _IO_FILE::_flags"
3826    );
3827    assert_eq!(
3828        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
3829        8usize,
3830        "Offset of field: _IO_FILE::_IO_read_ptr"
3831    );
3832    assert_eq!(
3833        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
3834        16usize,
3835        "Offset of field: _IO_FILE::_IO_read_end"
3836    );
3837    assert_eq!(
3838        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
3839        24usize,
3840        "Offset of field: _IO_FILE::_IO_read_base"
3841    );
3842    assert_eq!(
3843        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
3844        32usize,
3845        "Offset of field: _IO_FILE::_IO_write_base"
3846    );
3847    assert_eq!(
3848        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
3849        40usize,
3850        "Offset of field: _IO_FILE::_IO_write_ptr"
3851    );
3852    assert_eq!(
3853        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
3854        48usize,
3855        "Offset of field: _IO_FILE::_IO_write_end"
3856    );
3857    assert_eq!(
3858        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
3859        56usize,
3860        "Offset of field: _IO_FILE::_IO_buf_base"
3861    );
3862    assert_eq!(
3863        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
3864        64usize,
3865        "Offset of field: _IO_FILE::_IO_buf_end"
3866    );
3867    assert_eq!(
3868        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
3869        72usize,
3870        "Offset of field: _IO_FILE::_IO_save_base"
3871    );
3872    assert_eq!(
3873        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
3874        80usize,
3875        "Offset of field: _IO_FILE::_IO_backup_base"
3876    );
3877    assert_eq!(
3878        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
3879        88usize,
3880        "Offset of field: _IO_FILE::_IO_save_end"
3881    );
3882    assert_eq!(
3883        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
3884        96usize,
3885        "Offset of field: _IO_FILE::_markers"
3886    );
3887    assert_eq!(
3888        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
3889        104usize,
3890        "Offset of field: _IO_FILE::_chain"
3891    );
3892    assert_eq!(
3893        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
3894        112usize,
3895        "Offset of field: _IO_FILE::_fileno"
3896    );
3897    assert_eq!(
3898        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
3899        116usize,
3900        "Offset of field: _IO_FILE::_flags2"
3901    );
3902    assert_eq!(
3903        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
3904        120usize,
3905        "Offset of field: _IO_FILE::_old_offset"
3906    );
3907    assert_eq!(
3908        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
3909        128usize,
3910        "Offset of field: _IO_FILE::_cur_column"
3911    );
3912    assert_eq!(
3913        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
3914        130usize,
3915        "Offset of field: _IO_FILE::_vtable_offset"
3916    );
3917    assert_eq!(
3918        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
3919        131usize,
3920        "Offset of field: _IO_FILE::_shortbuf"
3921    );
3922    assert_eq!(
3923        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
3924        136usize,
3925        "Offset of field: _IO_FILE::_lock"
3926    );
3927    assert_eq!(
3928        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
3929        144usize,
3930        "Offset of field: _IO_FILE::_offset"
3931    );
3932    assert_eq!(
3933        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
3934        152usize,
3935        "Offset of field: _IO_FILE::_codecvt"
3936    );
3937    assert_eq!(
3938        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
3939        160usize,
3940        "Offset of field: _IO_FILE::_wide_data"
3941    );
3942    assert_eq!(
3943        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
3944        168usize,
3945        "Offset of field: _IO_FILE::_freeres_list"
3946    );
3947    assert_eq!(
3948        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
3949        176usize,
3950        "Offset of field: _IO_FILE::_freeres_buf"
3951    );
3952    assert_eq!(
3953        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
3954        184usize,
3955        "Offset of field: _IO_FILE::__pad5"
3956    );
3957    assert_eq!(
3958        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
3959        192usize,
3960        "Offset of field: _IO_FILE::_mode"
3961    );
3962    assert_eq!(
3963        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
3964        196usize,
3965        "Offset of field: _IO_FILE::_unused2"
3966    );
3967}
3968impl Default for _IO_FILE {
3969    fn default() -> Self {
3970        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3971        unsafe {
3972            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3973            s.assume_init()
3974        }
3975    }
3976}
3977pub type va_list = __gnuc_va_list;
3978#[repr(C)]
3979#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3980pub struct buf_mem_st {
3981    pub length: usize,
3982    pub data: *mut ::std::os::raw::c_char,
3983    pub max: usize,
3984}
3985#[test]
3986fn bindgen_test_layout_buf_mem_st() {
3987    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
3988    let ptr = UNINIT.as_ptr();
3989    assert_eq!(
3990        ::std::mem::size_of::<buf_mem_st>(),
3991        24usize,
3992        "Size of buf_mem_st"
3993    );
3994    assert_eq!(
3995        ::std::mem::align_of::<buf_mem_st>(),
3996        8usize,
3997        "Alignment of buf_mem_st"
3998    );
3999    assert_eq!(
4000        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
4001        0usize,
4002        "Offset of field: buf_mem_st::length"
4003    );
4004    assert_eq!(
4005        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4006        8usize,
4007        "Offset of field: buf_mem_st::data"
4008    );
4009    assert_eq!(
4010        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
4011        16usize,
4012        "Offset of field: buf_mem_st::max"
4013    );
4014}
4015impl Default for buf_mem_st {
4016    fn default() -> Self {
4017        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4018        unsafe {
4019            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4020            s.assume_init()
4021        }
4022    }
4023}
4024extern "C" {
4025    #[link_name = "\u{1}aws_lc_0_39_1_SHA1_Init"]
4026    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4027}
4028extern "C" {
4029    #[link_name = "\u{1}aws_lc_0_39_1_SHA1_Update"]
4030    pub fn SHA1_Update(
4031        sha: *mut SHA_CTX,
4032        data: *const ::std::os::raw::c_void,
4033        len: usize,
4034    ) -> ::std::os::raw::c_int;
4035}
4036extern "C" {
4037    #[link_name = "\u{1}aws_lc_0_39_1_SHA1_Final"]
4038    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4039}
4040extern "C" {
4041    #[link_name = "\u{1}aws_lc_0_39_1_SHA1"]
4042    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4043}
4044extern "C" {
4045    #[link_name = "\u{1}aws_lc_0_39_1_SHA1_Transform"]
4046    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
4047}
4048#[repr(C)]
4049#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4050pub struct sha_state_st {
4051    pub h: [u32; 5usize],
4052    pub Nl: u32,
4053    pub Nh: u32,
4054    pub data: [u8; 64usize],
4055    pub num: ::std::os::raw::c_uint,
4056}
4057#[test]
4058fn bindgen_test_layout_sha_state_st() {
4059    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
4060    let ptr = UNINIT.as_ptr();
4061    assert_eq!(
4062        ::std::mem::size_of::<sha_state_st>(),
4063        96usize,
4064        "Size of sha_state_st"
4065    );
4066    assert_eq!(
4067        ::std::mem::align_of::<sha_state_st>(),
4068        4usize,
4069        "Alignment of sha_state_st"
4070    );
4071    assert_eq!(
4072        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4073        0usize,
4074        "Offset of field: sha_state_st::h"
4075    );
4076    assert_eq!(
4077        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4078        20usize,
4079        "Offset of field: sha_state_st::Nl"
4080    );
4081    assert_eq!(
4082        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4083        24usize,
4084        "Offset of field: sha_state_st::Nh"
4085    );
4086    assert_eq!(
4087        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4088        28usize,
4089        "Offset of field: sha_state_st::data"
4090    );
4091    assert_eq!(
4092        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4093        92usize,
4094        "Offset of field: sha_state_st::num"
4095    );
4096}
4097impl Default for sha_state_st {
4098    fn default() -> Self {
4099        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4100        unsafe {
4101            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4102            s.assume_init()
4103        }
4104    }
4105}
4106extern "C" {
4107    #[link_name = "\u{1}aws_lc_0_39_1_SHA224_Init"]
4108    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4109}
4110extern "C" {
4111    #[link_name = "\u{1}aws_lc_0_39_1_SHA224_Update"]
4112    pub fn SHA224_Update(
4113        sha: *mut SHA256_CTX,
4114        data: *const ::std::os::raw::c_void,
4115        len: usize,
4116    ) -> ::std::os::raw::c_int;
4117}
4118extern "C" {
4119    #[link_name = "\u{1}aws_lc_0_39_1_SHA224_Final"]
4120    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4121}
4122extern "C" {
4123    #[link_name = "\u{1}aws_lc_0_39_1_SHA224"]
4124    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4125}
4126extern "C" {
4127    #[link_name = "\u{1}aws_lc_0_39_1_SHA256_Init"]
4128    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4129}
4130extern "C" {
4131    #[link_name = "\u{1}aws_lc_0_39_1_SHA256_Update"]
4132    pub fn SHA256_Update(
4133        sha: *mut SHA256_CTX,
4134        data: *const ::std::os::raw::c_void,
4135        len: usize,
4136    ) -> ::std::os::raw::c_int;
4137}
4138extern "C" {
4139    #[link_name = "\u{1}aws_lc_0_39_1_SHA256_Final"]
4140    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4141}
4142extern "C" {
4143    #[link_name = "\u{1}aws_lc_0_39_1_SHA256"]
4144    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4145}
4146extern "C" {
4147    #[link_name = "\u{1}aws_lc_0_39_1_SHA256_Transform"]
4148    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4149}
4150extern "C" {
4151    #[link_name = "\u{1}aws_lc_0_39_1_SHA256_TransformBlocks"]
4152    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4153}
4154#[repr(C)]
4155#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4156pub struct sha256_state_st {
4157    pub h: [u32; 8usize],
4158    pub Nl: u32,
4159    pub Nh: u32,
4160    pub data: [u8; 64usize],
4161    pub num: ::std::os::raw::c_uint,
4162    pub md_len: ::std::os::raw::c_uint,
4163}
4164#[test]
4165fn bindgen_test_layout_sha256_state_st() {
4166    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4167    let ptr = UNINIT.as_ptr();
4168    assert_eq!(
4169        ::std::mem::size_of::<sha256_state_st>(),
4170        112usize,
4171        "Size of sha256_state_st"
4172    );
4173    assert_eq!(
4174        ::std::mem::align_of::<sha256_state_st>(),
4175        4usize,
4176        "Alignment of sha256_state_st"
4177    );
4178    assert_eq!(
4179        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4180        0usize,
4181        "Offset of field: sha256_state_st::h"
4182    );
4183    assert_eq!(
4184        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4185        32usize,
4186        "Offset of field: sha256_state_st::Nl"
4187    );
4188    assert_eq!(
4189        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4190        36usize,
4191        "Offset of field: sha256_state_st::Nh"
4192    );
4193    assert_eq!(
4194        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4195        40usize,
4196        "Offset of field: sha256_state_st::data"
4197    );
4198    assert_eq!(
4199        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4200        104usize,
4201        "Offset of field: sha256_state_st::num"
4202    );
4203    assert_eq!(
4204        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4205        108usize,
4206        "Offset of field: sha256_state_st::md_len"
4207    );
4208}
4209impl Default for sha256_state_st {
4210    fn default() -> Self {
4211        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4212        unsafe {
4213            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4214            s.assume_init()
4215        }
4216    }
4217}
4218extern "C" {
4219    #[link_name = "\u{1}aws_lc_0_39_1_SHA384_Init"]
4220    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4221}
4222extern "C" {
4223    #[link_name = "\u{1}aws_lc_0_39_1_SHA384_Update"]
4224    pub fn SHA384_Update(
4225        sha: *mut SHA512_CTX,
4226        data: *const ::std::os::raw::c_void,
4227        len: usize,
4228    ) -> ::std::os::raw::c_int;
4229}
4230extern "C" {
4231    #[link_name = "\u{1}aws_lc_0_39_1_SHA384_Final"]
4232    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4233}
4234extern "C" {
4235    #[link_name = "\u{1}aws_lc_0_39_1_SHA384"]
4236    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4237}
4238extern "C" {
4239    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_Init"]
4240    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4241}
4242extern "C" {
4243    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_Update"]
4244    pub fn SHA512_Update(
4245        sha: *mut SHA512_CTX,
4246        data: *const ::std::os::raw::c_void,
4247        len: usize,
4248    ) -> ::std::os::raw::c_int;
4249}
4250extern "C" {
4251    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_Final"]
4252    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4253}
4254extern "C" {
4255    #[link_name = "\u{1}aws_lc_0_39_1_SHA512"]
4256    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4257}
4258extern "C" {
4259    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_Transform"]
4260    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4261}
4262#[repr(C)]
4263#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4264pub struct sha512_state_st {
4265    pub h: [u64; 8usize],
4266    pub Nl: u64,
4267    pub Nh: u64,
4268    pub p: [u8; 128usize],
4269    pub num: ::std::os::raw::c_uint,
4270    pub md_len: ::std::os::raw::c_uint,
4271}
4272#[test]
4273fn bindgen_test_layout_sha512_state_st() {
4274    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4275    let ptr = UNINIT.as_ptr();
4276    assert_eq!(
4277        ::std::mem::size_of::<sha512_state_st>(),
4278        216usize,
4279        "Size of sha512_state_st"
4280    );
4281    assert_eq!(
4282        ::std::mem::align_of::<sha512_state_st>(),
4283        8usize,
4284        "Alignment of sha512_state_st"
4285    );
4286    assert_eq!(
4287        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4288        0usize,
4289        "Offset of field: sha512_state_st::h"
4290    );
4291    assert_eq!(
4292        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4293        64usize,
4294        "Offset of field: sha512_state_st::Nl"
4295    );
4296    assert_eq!(
4297        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4298        72usize,
4299        "Offset of field: sha512_state_st::Nh"
4300    );
4301    assert_eq!(
4302        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4303        80usize,
4304        "Offset of field: sha512_state_st::p"
4305    );
4306    assert_eq!(
4307        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4308        208usize,
4309        "Offset of field: sha512_state_st::num"
4310    );
4311    assert_eq!(
4312        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4313        212usize,
4314        "Offset of field: sha512_state_st::md_len"
4315    );
4316}
4317impl Default for sha512_state_st {
4318    fn default() -> Self {
4319        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4320        unsafe {
4321            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4322            s.assume_init()
4323        }
4324    }
4325}
4326extern "C" {
4327    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_224_Init"]
4328    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4329}
4330extern "C" {
4331    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_224_Update"]
4332    pub fn SHA512_224_Update(
4333        sha: *mut SHA512_CTX,
4334        data: *const ::std::os::raw::c_void,
4335        len: usize,
4336    ) -> ::std::os::raw::c_int;
4337}
4338extern "C" {
4339    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_224_Final"]
4340    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4341}
4342extern "C" {
4343    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_224"]
4344    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4345}
4346extern "C" {
4347    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_256_Init"]
4348    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4349}
4350extern "C" {
4351    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_256_Update"]
4352    pub fn SHA512_256_Update(
4353        sha: *mut SHA512_CTX,
4354        data: *const ::std::os::raw::c_void,
4355        len: usize,
4356    ) -> ::std::os::raw::c_int;
4357}
4358extern "C" {
4359    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_256_Final"]
4360    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4361}
4362extern "C" {
4363    #[link_name = "\u{1}aws_lc_0_39_1_SHA512_256"]
4364    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4365}
4366extern "C" {
4367    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_malloc"]
4368    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4369}
4370extern "C" {
4371    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_zalloc"]
4372    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4373}
4374extern "C" {
4375    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_calloc"]
4376    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4377}
4378extern "C" {
4379    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_realloc"]
4380    pub fn OPENSSL_realloc(
4381        ptr: *mut ::std::os::raw::c_void,
4382        new_size: usize,
4383    ) -> *mut ::std::os::raw::c_void;
4384}
4385extern "C" {
4386    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_free"]
4387    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4388}
4389extern "C" {
4390    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_cleanse"]
4391    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4392}
4393extern "C" {
4394    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_memcmp"]
4395    pub fn CRYPTO_memcmp(
4396        a: *const ::std::os::raw::c_void,
4397        b: *const ::std::os::raw::c_void,
4398        len: usize,
4399    ) -> ::std::os::raw::c_int;
4400}
4401extern "C" {
4402    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_hash32"]
4403    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4404}
4405extern "C" {
4406    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strhash"]
4407    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4408}
4409extern "C" {
4410    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strdup"]
4411    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4412}
4413extern "C" {
4414    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strnlen"]
4415    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4416}
4417extern "C" {
4418    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_isalpha"]
4419    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4420}
4421extern "C" {
4422    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_isdigit"]
4423    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4424}
4425extern "C" {
4426    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_isxdigit"]
4427    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4428}
4429extern "C" {
4430    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_fromxdigit"]
4431    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4432}
4433extern "C" {
4434    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_hexstr2buf"]
4435    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4436}
4437extern "C" {
4438    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_isalnum"]
4439    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4440}
4441extern "C" {
4442    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_tolower"]
4443    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4444}
4445extern "C" {
4446    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_isspace"]
4447    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4448}
4449extern "C" {
4450    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strcasecmp"]
4451    pub fn OPENSSL_strcasecmp(
4452        a: *const ::std::os::raw::c_char,
4453        b: *const ::std::os::raw::c_char,
4454    ) -> ::std::os::raw::c_int;
4455}
4456extern "C" {
4457    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strncasecmp"]
4458    pub fn OPENSSL_strncasecmp(
4459        a: *const ::std::os::raw::c_char,
4460        b: *const ::std::os::raw::c_char,
4461        n: usize,
4462    ) -> ::std::os::raw::c_int;
4463}
4464extern "C" {
4465    #[link_name = "\u{1}aws_lc_0_39_1_BIO_snprintf"]
4466    pub fn BIO_snprintf(
4467        buf: *mut ::std::os::raw::c_char,
4468        n: usize,
4469        format: *const ::std::os::raw::c_char,
4470        ...
4471    ) -> ::std::os::raw::c_int;
4472}
4473extern "C" {
4474    #[link_name = "\u{1}aws_lc_0_39_1_BIO_vsnprintf"]
4475    pub fn BIO_vsnprintf(
4476        buf: *mut ::std::os::raw::c_char,
4477        n: usize,
4478        format: *const ::std::os::raw::c_char,
4479        args: *mut __va_list_tag,
4480    ) -> ::std::os::raw::c_int;
4481}
4482extern "C" {
4483    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_vasprintf"]
4484    pub fn OPENSSL_vasprintf(
4485        str_: *mut *mut ::std::os::raw::c_char,
4486        format: *const ::std::os::raw::c_char,
4487        args: *mut __va_list_tag,
4488    ) -> ::std::os::raw::c_int;
4489}
4490extern "C" {
4491    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_asprintf"]
4492    pub fn OPENSSL_asprintf(
4493        str_: *mut *mut ::std::os::raw::c_char,
4494        format: *const ::std::os::raw::c_char,
4495        ...
4496    ) -> ::std::os::raw::c_int;
4497}
4498extern "C" {
4499    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strndup"]
4500    pub fn OPENSSL_strndup(
4501        str_: *const ::std::os::raw::c_char,
4502        size: usize,
4503    ) -> *mut ::std::os::raw::c_char;
4504}
4505extern "C" {
4506    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_memdup"]
4507    pub fn OPENSSL_memdup(
4508        data: *const ::std::os::raw::c_void,
4509        size: usize,
4510    ) -> *mut ::std::os::raw::c_void;
4511}
4512extern "C" {
4513    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strlcpy"]
4514    pub fn OPENSSL_strlcpy(
4515        dst: *mut ::std::os::raw::c_char,
4516        src: *const ::std::os::raw::c_char,
4517        dst_size: usize,
4518    ) -> usize;
4519}
4520extern "C" {
4521    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_strlcat"]
4522    pub fn OPENSSL_strlcat(
4523        dst: *mut ::std::os::raw::c_char,
4524        src: *const ::std::os::raw::c_char,
4525        dst_size: usize,
4526    ) -> usize;
4527}
4528extern "C" {
4529    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_malloc"]
4530    pub fn CRYPTO_malloc(
4531        size: usize,
4532        file: *const ::std::os::raw::c_char,
4533        line: ::std::os::raw::c_int,
4534    ) -> *mut ::std::os::raw::c_void;
4535}
4536extern "C" {
4537    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_realloc"]
4538    pub fn CRYPTO_realloc(
4539        ptr: *mut ::std::os::raw::c_void,
4540        new_size: usize,
4541        file: *const ::std::os::raw::c_char,
4542        line: ::std::os::raw::c_int,
4543    ) -> *mut ::std::os::raw::c_void;
4544}
4545extern "C" {
4546    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_free"]
4547    pub fn CRYPTO_free(
4548        ptr: *mut ::std::os::raw::c_void,
4549        file: *const ::std::os::raw::c_char,
4550        line: ::std::os::raw::c_int,
4551    );
4552}
4553extern "C" {
4554    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_clear_free"]
4555    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4556}
4557extern "C" {
4558    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_set_mem_functions"]
4559    pub fn CRYPTO_set_mem_functions(
4560        m: ::std::option::Option<
4561            unsafe extern "C" fn(
4562                arg1: usize,
4563                arg2: *const ::std::os::raw::c_char,
4564                arg3: ::std::os::raw::c_int,
4565            ) -> *mut ::std::os::raw::c_void,
4566        >,
4567        r: ::std::option::Option<
4568            unsafe extern "C" fn(
4569                arg1: *mut ::std::os::raw::c_void,
4570                arg2: usize,
4571                arg3: *const ::std::os::raw::c_char,
4572                arg4: ::std::os::raw::c_int,
4573            ) -> *mut ::std::os::raw::c_void,
4574        >,
4575        f: ::std::option::Option<
4576            unsafe extern "C" fn(
4577                arg1: *mut ::std::os::raw::c_void,
4578                arg2: *const ::std::os::raw::c_char,
4579                arg3: ::std::os::raw::c_int,
4580            ),
4581        >,
4582    ) -> ::std::os::raw::c_int;
4583}
4584extern "C" {
4585    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_secure_malloc_init"]
4586    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4587}
4588extern "C" {
4589    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_secure_malloc_initialized"]
4590    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4591}
4592extern "C" {
4593    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_secure_used"]
4594    pub fn CRYPTO_secure_used() -> usize;
4595}
4596extern "C" {
4597    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_secure_malloc"]
4598    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4599}
4600extern "C" {
4601    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_secure_zalloc"]
4602    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4603}
4604extern "C" {
4605    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_secure_clear_free"]
4606    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4607}
4608pub type CRYPTO_refcount_t = u32;
4609extern "C" {
4610    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_library_init"]
4611    pub fn CRYPTO_library_init();
4612}
4613extern "C" {
4614    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_is_confidential_build"]
4615    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4616}
4617extern "C" {
4618    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_has_asm"]
4619    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4620}
4621extern "C" {
4622    #[link_name = "\u{1}aws_lc_0_39_1_BORINGSSL_self_test"]
4623    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4624}
4625extern "C" {
4626    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4627}
4628extern "C" {
4629    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_pre_sandbox_init"]
4630    pub fn CRYPTO_pre_sandbox_init();
4631}
4632extern "C" {
4633    #[link_name = "\u{1}aws_lc_0_39_1_FIPS_mode"]
4634    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4635}
4636extern "C" {
4637    #[link_name = "\u{1}aws_lc_0_39_1_FIPS_is_entropy_cpu_jitter"]
4638    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4639}
4640extern "C" {
4641    #[link_name = "\u{1}aws_lc_0_39_1_OpenSSL_version"]
4642    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4643}
4644extern "C" {
4645    #[link_name = "\u{1}aws_lc_0_39_1_SSLeay_version"]
4646    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4647}
4648extern "C" {
4649    #[link_name = "\u{1}aws_lc_0_39_1_SSLeay"]
4650    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4651}
4652extern "C" {
4653    #[link_name = "\u{1}aws_lc_0_39_1_OpenSSL_version_num"]
4654    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4655}
4656extern "C" {
4657    #[link_name = "\u{1}aws_lc_0_39_1_awslc_api_version_num"]
4658    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4659}
4660extern "C" {
4661    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_malloc_init"]
4662    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4663}
4664extern "C" {
4665    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_malloc_init"]
4666    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4667}
4668extern "C" {
4669    #[link_name = "\u{1}aws_lc_0_39_1_ENGINE_load_builtin_engines"]
4670    pub fn ENGINE_load_builtin_engines();
4671}
4672extern "C" {
4673    #[link_name = "\u{1}aws_lc_0_39_1_ENGINE_register_all_ciphers"]
4674    pub fn ENGINE_register_all_ciphers();
4675}
4676extern "C" {
4677    #[link_name = "\u{1}aws_lc_0_39_1_ENGINE_register_all_digests"]
4678    pub fn ENGINE_register_all_digests();
4679}
4680extern "C" {
4681    #[link_name = "\u{1}aws_lc_0_39_1_ENGINE_register_all_complete"]
4682    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4683}
4684extern "C" {
4685    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_load_builtin_modules"]
4686    pub fn OPENSSL_load_builtin_modules();
4687}
4688extern "C" {
4689    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_init_crypto"]
4690    pub fn OPENSSL_init_crypto(
4691        opts: u64,
4692        settings: *const OPENSSL_INIT_SETTINGS,
4693    ) -> ::std::os::raw::c_int;
4694}
4695extern "C" {
4696    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_init"]
4697    pub fn OPENSSL_init();
4698}
4699extern "C" {
4700    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_cleanup"]
4701    pub fn OPENSSL_cleanup();
4702}
4703extern "C" {
4704    #[link_name = "\u{1}aws_lc_0_39_1_FIPS_mode_set"]
4705    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4706}
4707extern "C" {
4708    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_mem_ctrl"]
4709    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4710}
4711extern "C" {
4712    #[link_name = "\u{1}aws_lc_0_39_1_ERR_load_BIO_strings"]
4713    pub fn ERR_load_BIO_strings();
4714}
4715extern "C" {
4716    #[link_name = "\u{1}aws_lc_0_39_1_ERR_load_ERR_strings"]
4717    pub fn ERR_load_ERR_strings();
4718}
4719extern "C" {
4720    #[link_name = "\u{1}aws_lc_0_39_1_ERR_load_CRYPTO_strings"]
4721    pub fn ERR_load_CRYPTO_strings();
4722}
4723extern "C" {
4724    #[link_name = "\u{1}aws_lc_0_39_1_ERR_load_crypto_strings"]
4725    pub fn ERR_load_crypto_strings();
4726}
4727extern "C" {
4728    #[link_name = "\u{1}aws_lc_0_39_1_ERR_load_RAND_strings"]
4729    pub fn ERR_load_RAND_strings();
4730}
4731extern "C" {
4732    #[link_name = "\u{1}aws_lc_0_39_1_ERR_free_strings"]
4733    pub fn ERR_free_strings();
4734}
4735extern "C" {
4736    #[link_name = "\u{1}aws_lc_0_39_1_ERR_get_error"]
4737    pub fn ERR_get_error() -> u32;
4738}
4739extern "C" {
4740    #[link_name = "\u{1}aws_lc_0_39_1_ERR_get_error_line"]
4741    pub fn ERR_get_error_line(
4742        file: *mut *const ::std::os::raw::c_char,
4743        line: *mut ::std::os::raw::c_int,
4744    ) -> u32;
4745}
4746extern "C" {
4747    #[link_name = "\u{1}aws_lc_0_39_1_ERR_get_error_line_data"]
4748    pub fn ERR_get_error_line_data(
4749        file: *mut *const ::std::os::raw::c_char,
4750        line: *mut ::std::os::raw::c_int,
4751        data: *mut *const ::std::os::raw::c_char,
4752        flags: *mut ::std::os::raw::c_int,
4753    ) -> u32;
4754}
4755extern "C" {
4756    #[link_name = "\u{1}aws_lc_0_39_1_ERR_peek_error"]
4757    pub fn ERR_peek_error() -> u32;
4758}
4759extern "C" {
4760    #[link_name = "\u{1}aws_lc_0_39_1_ERR_peek_error_line"]
4761    pub fn ERR_peek_error_line(
4762        file: *mut *const ::std::os::raw::c_char,
4763        line: *mut ::std::os::raw::c_int,
4764    ) -> u32;
4765}
4766extern "C" {
4767    #[link_name = "\u{1}aws_lc_0_39_1_ERR_peek_error_line_data"]
4768    pub fn ERR_peek_error_line_data(
4769        file: *mut *const ::std::os::raw::c_char,
4770        line: *mut ::std::os::raw::c_int,
4771        data: *mut *const ::std::os::raw::c_char,
4772        flags: *mut ::std::os::raw::c_int,
4773    ) -> u32;
4774}
4775extern "C" {
4776    #[link_name = "\u{1}aws_lc_0_39_1_ERR_peek_last_error"]
4777    pub fn ERR_peek_last_error() -> u32;
4778}
4779extern "C" {
4780    #[link_name = "\u{1}aws_lc_0_39_1_ERR_peek_last_error_line"]
4781    pub fn ERR_peek_last_error_line(
4782        file: *mut *const ::std::os::raw::c_char,
4783        line: *mut ::std::os::raw::c_int,
4784    ) -> u32;
4785}
4786extern "C" {
4787    #[link_name = "\u{1}aws_lc_0_39_1_ERR_peek_last_error_line_data"]
4788    pub fn ERR_peek_last_error_line_data(
4789        file: *mut *const ::std::os::raw::c_char,
4790        line: *mut ::std::os::raw::c_int,
4791        data: *mut *const ::std::os::raw::c_char,
4792        flags: *mut ::std::os::raw::c_int,
4793    ) -> u32;
4794}
4795extern "C" {
4796    #[link_name = "\u{1}aws_lc_0_39_1_ERR_error_string_n"]
4797    pub fn ERR_error_string_n(
4798        packed_error: u32,
4799        buf: *mut ::std::os::raw::c_char,
4800        len: usize,
4801    ) -> *mut ::std::os::raw::c_char;
4802}
4803extern "C" {
4804    #[link_name = "\u{1}aws_lc_0_39_1_ERR_lib_error_string"]
4805    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4806}
4807extern "C" {
4808    #[link_name = "\u{1}aws_lc_0_39_1_ERR_reason_error_string"]
4809    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4810}
4811pub type ERR_print_errors_callback_t = ::std::option::Option<
4812    unsafe extern "C" fn(
4813        str_: *const ::std::os::raw::c_char,
4814        len: usize,
4815        ctx: *mut ::std::os::raw::c_void,
4816    ) -> ::std::os::raw::c_int,
4817>;
4818extern "C" {
4819    #[link_name = "\u{1}aws_lc_0_39_1_ERR_print_errors_cb"]
4820    pub fn ERR_print_errors_cb(
4821        callback: ERR_print_errors_callback_t,
4822        ctx: *mut ::std::os::raw::c_void,
4823    );
4824}
4825extern "C" {
4826    #[link_name = "\u{1}aws_lc_0_39_1_ERR_clear_error"]
4827    pub fn ERR_clear_error();
4828}
4829extern "C" {
4830    #[link_name = "\u{1}aws_lc_0_39_1_ERR_set_mark"]
4831    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4832}
4833extern "C" {
4834    #[link_name = "\u{1}aws_lc_0_39_1_ERR_pop_to_mark"]
4835    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4836}
4837extern "C" {
4838    #[link_name = "\u{1}aws_lc_0_39_1_ERR_get_next_error_library"]
4839    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4840}
4841extern "C" {
4842    #[link_name = "\u{1}aws_lc_0_39_1_ERR_remove_state"]
4843    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4844}
4845extern "C" {
4846    #[link_name = "\u{1}aws_lc_0_39_1_ERR_remove_thread_state"]
4847    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4848}
4849extern "C" {
4850    #[link_name = "\u{1}aws_lc_0_39_1_ERR_func_error_string"]
4851    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4852}
4853extern "C" {
4854    #[link_name = "\u{1}aws_lc_0_39_1_ERR_error_string"]
4855    pub fn ERR_error_string(
4856        packed_error: u32,
4857        buf: *mut ::std::os::raw::c_char,
4858    ) -> *mut ::std::os::raw::c_char;
4859}
4860extern "C" {
4861    #[link_name = "\u{1}aws_lc_0_39_1_ERR_clear_system_error"]
4862    pub fn ERR_clear_system_error();
4863}
4864extern "C" {
4865    #[link_name = "\u{1}aws_lc_0_39_1_ERR_put_error"]
4866    pub fn ERR_put_error(
4867        library: ::std::os::raw::c_int,
4868        unused: ::std::os::raw::c_int,
4869        reason: ::std::os::raw::c_int,
4870        file: *const ::std::os::raw::c_char,
4871        line: ::std::os::raw::c_uint,
4872    );
4873}
4874extern "C" {
4875    #[link_name = "\u{1}aws_lc_0_39_1_ERR_add_error_data"]
4876    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
4877}
4878extern "C" {
4879    #[link_name = "\u{1}aws_lc_0_39_1_ERR_add_error_dataf"]
4880    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
4881}
4882extern "C" {
4883    #[link_name = "\u{1}aws_lc_0_39_1_ERR_set_error_data"]
4884    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
4885}
4886#[repr(C)]
4887#[derive(Debug, Copy, Clone)]
4888pub struct stack_st_void {
4889    _unused: [u8; 0],
4890}
4891pub type CRYPTO_EX_DATA = crypto_ex_data_st;
4892pub type CRYPTO_EX_free = ::std::option::Option<
4893    unsafe extern "C" fn(
4894        parent: *mut ::std::os::raw::c_void,
4895        ptr: *mut ::std::os::raw::c_void,
4896        ad: *mut CRYPTO_EX_DATA,
4897        index: ::std::os::raw::c_int,
4898        argl: ::std::os::raw::c_long,
4899        argp: *mut ::std::os::raw::c_void,
4900    ),
4901>;
4902pub type CRYPTO_EX_dup = ::std::option::Option<
4903    unsafe extern "C" fn(
4904        to: *mut CRYPTO_EX_DATA,
4905        from: *const CRYPTO_EX_DATA,
4906        from_d: *mut *mut ::std::os::raw::c_void,
4907        index: ::std::os::raw::c_int,
4908        argl: ::std::os::raw::c_long,
4909        argp: *mut ::std::os::raw::c_void,
4910    ) -> ::std::os::raw::c_int,
4911>;
4912pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
4913#[repr(C)]
4914#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4915pub struct crypto_ex_data_st {
4916    pub sk: *mut stack_st_void,
4917}
4918#[test]
4919fn bindgen_test_layout_crypto_ex_data_st() {
4920    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
4921    let ptr = UNINIT.as_ptr();
4922    assert_eq!(
4923        ::std::mem::size_of::<crypto_ex_data_st>(),
4924        8usize,
4925        "Size of crypto_ex_data_st"
4926    );
4927    assert_eq!(
4928        ::std::mem::align_of::<crypto_ex_data_st>(),
4929        8usize,
4930        "Alignment of crypto_ex_data_st"
4931    );
4932    assert_eq!(
4933        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
4934        0usize,
4935        "Offset of field: crypto_ex_data_st::sk"
4936    );
4937}
4938impl Default for crypto_ex_data_st {
4939    fn default() -> Self {
4940        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4941        unsafe {
4942            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4943            s.assume_init()
4944        }
4945    }
4946}
4947pub type bio_info_cb = ::std::option::Option<
4948    unsafe extern "C" fn(
4949        b: *mut BIO,
4950        state: ::std::os::raw::c_int,
4951        res: ::std::os::raw::c_int,
4952    ) -> ::std::os::raw::c_long,
4953>;
4954pub type BIO_callback_fn_ex = ::std::option::Option<
4955    unsafe extern "C" fn(
4956        bio: *mut BIO,
4957        oper: ::std::os::raw::c_int,
4958        argp: *const ::std::os::raw::c_char,
4959        len: usize,
4960        argi: ::std::os::raw::c_int,
4961        argl: ::std::os::raw::c_long,
4962        bio_ret: ::std::os::raw::c_int,
4963        processed: *mut usize,
4964    ) -> ::std::os::raw::c_long,
4965>;
4966pub type BIO_callback_fn = ::std::option::Option<
4967    unsafe extern "C" fn(
4968        bio: *mut BIO,
4969        oper: ::std::os::raw::c_int,
4970        argp: *const ::std::os::raw::c_char,
4971        argi: ::std::os::raw::c_int,
4972        argl: ::std::os::raw::c_long,
4973        bio_ret: ::std::os::raw::c_long,
4974    ) -> ::std::os::raw::c_long,
4975>;
4976#[repr(C)]
4977#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4978pub struct bio_method_st {
4979    pub type_: ::std::os::raw::c_int,
4980    pub name: *const ::std::os::raw::c_char,
4981    pub bwrite: ::std::option::Option<
4982        unsafe extern "C" fn(
4983            arg1: *mut BIO,
4984            arg2: *const ::std::os::raw::c_char,
4985            arg3: ::std::os::raw::c_int,
4986        ) -> ::std::os::raw::c_int,
4987    >,
4988    pub bread: ::std::option::Option<
4989        unsafe extern "C" fn(
4990            arg1: *mut BIO,
4991            arg2: *mut ::std::os::raw::c_char,
4992            arg3: ::std::os::raw::c_int,
4993        ) -> ::std::os::raw::c_int,
4994    >,
4995    pub bputs: ::std::option::Option<
4996        unsafe extern "C" fn(
4997            arg1: *mut BIO,
4998            arg2: *const ::std::os::raw::c_char,
4999        ) -> ::std::os::raw::c_int,
5000    >,
5001    pub bgets: ::std::option::Option<
5002        unsafe extern "C" fn(
5003            arg1: *mut BIO,
5004            arg2: *mut ::std::os::raw::c_char,
5005            arg3: ::std::os::raw::c_int,
5006        ) -> ::std::os::raw::c_int,
5007    >,
5008    pub ctrl: ::std::option::Option<
5009        unsafe extern "C" fn(
5010            arg1: *mut BIO,
5011            arg2: ::std::os::raw::c_int,
5012            arg3: ::std::os::raw::c_long,
5013            arg4: *mut ::std::os::raw::c_void,
5014        ) -> ::std::os::raw::c_long,
5015    >,
5016    pub create:
5017        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5018    pub destroy:
5019        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5020    pub callback_ctrl: ::std::option::Option<
5021        unsafe extern "C" fn(
5022            arg1: *mut BIO,
5023            arg2: ::std::os::raw::c_int,
5024            arg3: bio_info_cb,
5025        ) -> ::std::os::raw::c_long,
5026    >,
5027}
5028#[test]
5029fn bindgen_test_layout_bio_method_st() {
5030    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
5031    let ptr = UNINIT.as_ptr();
5032    assert_eq!(
5033        ::std::mem::size_of::<bio_method_st>(),
5034        80usize,
5035        "Size of bio_method_st"
5036    );
5037    assert_eq!(
5038        ::std::mem::align_of::<bio_method_st>(),
5039        8usize,
5040        "Alignment of bio_method_st"
5041    );
5042    assert_eq!(
5043        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5044        0usize,
5045        "Offset of field: bio_method_st::type_"
5046    );
5047    assert_eq!(
5048        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
5049        8usize,
5050        "Offset of field: bio_method_st::name"
5051    );
5052    assert_eq!(
5053        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5054        16usize,
5055        "Offset of field: bio_method_st::bwrite"
5056    );
5057    assert_eq!(
5058        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5059        24usize,
5060        "Offset of field: bio_method_st::bread"
5061    );
5062    assert_eq!(
5063        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5064        32usize,
5065        "Offset of field: bio_method_st::bputs"
5066    );
5067    assert_eq!(
5068        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5069        40usize,
5070        "Offset of field: bio_method_st::bgets"
5071    );
5072    assert_eq!(
5073        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5074        48usize,
5075        "Offset of field: bio_method_st::ctrl"
5076    );
5077    assert_eq!(
5078        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5079        56usize,
5080        "Offset of field: bio_method_st::create"
5081    );
5082    assert_eq!(
5083        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5084        64usize,
5085        "Offset of field: bio_method_st::destroy"
5086    );
5087    assert_eq!(
5088        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5089        72usize,
5090        "Offset of field: bio_method_st::callback_ctrl"
5091    );
5092}
5093impl Default for bio_method_st {
5094    fn default() -> Self {
5095        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5096        unsafe {
5097            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5098            s.assume_init()
5099        }
5100    }
5101}
5102#[repr(C)]
5103#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5104pub struct bio_st {
5105    pub method: *const BIO_METHOD,
5106    pub ex_data: CRYPTO_EX_DATA,
5107    pub callback_ex: BIO_callback_fn_ex,
5108    pub callback: BIO_callback_fn,
5109    pub cb_arg: *mut ::std::os::raw::c_char,
5110    pub init: ::std::os::raw::c_int,
5111    pub shutdown: ::std::os::raw::c_int,
5112    pub flags: ::std::os::raw::c_int,
5113    pub retry_reason: ::std::os::raw::c_int,
5114    pub num: ::std::os::raw::c_int,
5115    pub references: CRYPTO_refcount_t,
5116    pub ptr: *mut ::std::os::raw::c_void,
5117    pub next_bio: *mut BIO,
5118    pub num_read: u64,
5119    pub num_write: u64,
5120}
5121#[test]
5122fn bindgen_test_layout_bio_st() {
5123    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5124    let ptr = UNINIT.as_ptr();
5125    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5126    assert_eq!(
5127        ::std::mem::align_of::<bio_st>(),
5128        8usize,
5129        "Alignment of bio_st"
5130    );
5131    assert_eq!(
5132        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5133        0usize,
5134        "Offset of field: bio_st::method"
5135    );
5136    assert_eq!(
5137        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5138        8usize,
5139        "Offset of field: bio_st::ex_data"
5140    );
5141    assert_eq!(
5142        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5143        16usize,
5144        "Offset of field: bio_st::callback_ex"
5145    );
5146    assert_eq!(
5147        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5148        24usize,
5149        "Offset of field: bio_st::callback"
5150    );
5151    assert_eq!(
5152        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5153        32usize,
5154        "Offset of field: bio_st::cb_arg"
5155    );
5156    assert_eq!(
5157        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5158        40usize,
5159        "Offset of field: bio_st::init"
5160    );
5161    assert_eq!(
5162        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5163        44usize,
5164        "Offset of field: bio_st::shutdown"
5165    );
5166    assert_eq!(
5167        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5168        48usize,
5169        "Offset of field: bio_st::flags"
5170    );
5171    assert_eq!(
5172        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5173        52usize,
5174        "Offset of field: bio_st::retry_reason"
5175    );
5176    assert_eq!(
5177        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5178        56usize,
5179        "Offset of field: bio_st::num"
5180    );
5181    assert_eq!(
5182        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5183        60usize,
5184        "Offset of field: bio_st::references"
5185    );
5186    assert_eq!(
5187        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5188        64usize,
5189        "Offset of field: bio_st::ptr"
5190    );
5191    assert_eq!(
5192        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5193        72usize,
5194        "Offset of field: bio_st::next_bio"
5195    );
5196    assert_eq!(
5197        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5198        80usize,
5199        "Offset of field: bio_st::num_read"
5200    );
5201    assert_eq!(
5202        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5203        88usize,
5204        "Offset of field: bio_st::num_write"
5205    );
5206}
5207impl Default for bio_st {
5208    fn default() -> Self {
5209        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5210        unsafe {
5211            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5212            s.assume_init()
5213        }
5214    }
5215}
5216pub type BN_ULONG = u64;
5217extern "C" {
5218    #[link_name = "\u{1}aws_lc_0_39_1_BN_new"]
5219    pub fn BN_new() -> *mut BIGNUM;
5220}
5221extern "C" {
5222    #[link_name = "\u{1}aws_lc_0_39_1_BN_init"]
5223    pub fn BN_init(bn: *mut BIGNUM);
5224}
5225extern "C" {
5226    #[link_name = "\u{1}aws_lc_0_39_1_BN_free"]
5227    pub fn BN_free(bn: *mut BIGNUM);
5228}
5229extern "C" {
5230    #[link_name = "\u{1}aws_lc_0_39_1_BN_clear_free"]
5231    pub fn BN_clear_free(bn: *mut BIGNUM);
5232}
5233extern "C" {
5234    #[link_name = "\u{1}aws_lc_0_39_1_BN_dup"]
5235    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5236}
5237extern "C" {
5238    #[link_name = "\u{1}aws_lc_0_39_1_BN_copy"]
5239    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5240}
5241extern "C" {
5242    #[link_name = "\u{1}aws_lc_0_39_1_BN_clear"]
5243    pub fn BN_clear(bn: *mut BIGNUM);
5244}
5245extern "C" {
5246    #[link_name = "\u{1}aws_lc_0_39_1_BN_value_one"]
5247    pub fn BN_value_one() -> *const BIGNUM;
5248}
5249extern "C" {
5250    #[link_name = "\u{1}aws_lc_0_39_1_BN_num_bits"]
5251    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5252}
5253extern "C" {
5254    #[link_name = "\u{1}aws_lc_0_39_1_BN_num_bytes"]
5255    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5256}
5257extern "C" {
5258    #[link_name = "\u{1}aws_lc_0_39_1_BN_get_minimal_width"]
5259    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5260}
5261extern "C" {
5262    #[link_name = "\u{1}aws_lc_0_39_1_BN_zero"]
5263    pub fn BN_zero(bn: *mut BIGNUM);
5264}
5265extern "C" {
5266    #[link_name = "\u{1}aws_lc_0_39_1_BN_one"]
5267    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5268}
5269extern "C" {
5270    #[link_name = "\u{1}aws_lc_0_39_1_BN_set_word"]
5271    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5272}
5273extern "C" {
5274    #[link_name = "\u{1}aws_lc_0_39_1_BN_set_u64"]
5275    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5276}
5277extern "C" {
5278    #[link_name = "\u{1}aws_lc_0_39_1_BN_set_negative"]
5279    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5280}
5281extern "C" {
5282    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_negative"]
5283    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5284}
5285extern "C" {
5286    #[link_name = "\u{1}aws_lc_0_39_1_BN_bin2bn"]
5287    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5288}
5289extern "C" {
5290    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2bin"]
5291    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5292}
5293extern "C" {
5294    #[link_name = "\u{1}aws_lc_0_39_1_BN_le2bn"]
5295    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5296}
5297extern "C" {
5298    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2le_padded"]
5299    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5300}
5301extern "C" {
5302    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2bin_padded"]
5303    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5304}
5305extern "C" {
5306    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2cbb_padded"]
5307    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5308        -> ::std::os::raw::c_int;
5309}
5310extern "C" {
5311    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2hex"]
5312    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5313}
5314extern "C" {
5315    #[link_name = "\u{1}aws_lc_0_39_1_BN_hex2bn"]
5316    pub fn BN_hex2bn(
5317        outp: *mut *mut BIGNUM,
5318        in_: *const ::std::os::raw::c_char,
5319    ) -> ::std::os::raw::c_int;
5320}
5321extern "C" {
5322    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2dec"]
5323    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5324}
5325extern "C" {
5326    #[link_name = "\u{1}aws_lc_0_39_1_BN_dec2bn"]
5327    pub fn BN_dec2bn(
5328        outp: *mut *mut BIGNUM,
5329        in_: *const ::std::os::raw::c_char,
5330    ) -> ::std::os::raw::c_int;
5331}
5332extern "C" {
5333    #[link_name = "\u{1}aws_lc_0_39_1_BN_asc2bn"]
5334    pub fn BN_asc2bn(
5335        outp: *mut *mut BIGNUM,
5336        in_: *const ::std::os::raw::c_char,
5337    ) -> ::std::os::raw::c_int;
5338}
5339extern "C" {
5340    #[link_name = "\u{1}aws_lc_0_39_1_BN_print"]
5341    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5342}
5343extern "C" {
5344    #[link_name = "\u{1}aws_lc_0_39_1_BN_get_word"]
5345    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5346}
5347extern "C" {
5348    #[link_name = "\u{1}aws_lc_0_39_1_BN_get_u64"]
5349    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5350}
5351extern "C" {
5352    #[link_name = "\u{1}aws_lc_0_39_1_BN_get_flags"]
5353    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5354}
5355extern "C" {
5356    #[link_name = "\u{1}aws_lc_0_39_1_BN_parse_asn1_unsigned"]
5357    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5358}
5359extern "C" {
5360    #[link_name = "\u{1}aws_lc_0_39_1_BN_marshal_asn1"]
5361    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5362}
5363extern "C" {
5364    #[link_name = "\u{1}aws_lc_0_39_1_BN_CTX_new"]
5365    pub fn BN_CTX_new() -> *mut BN_CTX;
5366}
5367extern "C" {
5368    #[link_name = "\u{1}aws_lc_0_39_1_BN_CTX_free"]
5369    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5370}
5371extern "C" {
5372    #[link_name = "\u{1}aws_lc_0_39_1_BN_CTX_start"]
5373    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5374}
5375extern "C" {
5376    #[link_name = "\u{1}aws_lc_0_39_1_BN_CTX_get"]
5377    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5378}
5379extern "C" {
5380    #[link_name = "\u{1}aws_lc_0_39_1_BN_CTX_end"]
5381    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5382}
5383extern "C" {
5384    #[link_name = "\u{1}aws_lc_0_39_1_BN_add"]
5385    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5386}
5387extern "C" {
5388    #[link_name = "\u{1}aws_lc_0_39_1_BN_uadd"]
5389    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5390}
5391extern "C" {
5392    #[link_name = "\u{1}aws_lc_0_39_1_BN_add_word"]
5393    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5394}
5395extern "C" {
5396    #[link_name = "\u{1}aws_lc_0_39_1_BN_sub"]
5397    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5398}
5399extern "C" {
5400    #[link_name = "\u{1}aws_lc_0_39_1_BN_usub"]
5401    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5402}
5403extern "C" {
5404    #[link_name = "\u{1}aws_lc_0_39_1_BN_sub_word"]
5405    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5406}
5407extern "C" {
5408    #[link_name = "\u{1}aws_lc_0_39_1_BN_mul"]
5409    pub fn BN_mul(
5410        r: *mut BIGNUM,
5411        a: *const BIGNUM,
5412        b: *const BIGNUM,
5413        ctx: *mut BN_CTX,
5414    ) -> ::std::os::raw::c_int;
5415}
5416extern "C" {
5417    #[link_name = "\u{1}aws_lc_0_39_1_BN_mul_word"]
5418    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5419}
5420extern "C" {
5421    #[link_name = "\u{1}aws_lc_0_39_1_BN_sqr"]
5422    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5423}
5424extern "C" {
5425    #[link_name = "\u{1}aws_lc_0_39_1_BN_div"]
5426    pub fn BN_div(
5427        quotient: *mut BIGNUM,
5428        rem: *mut BIGNUM,
5429        numerator: *const BIGNUM,
5430        divisor: *const BIGNUM,
5431        ctx: *mut BN_CTX,
5432    ) -> ::std::os::raw::c_int;
5433}
5434extern "C" {
5435    #[link_name = "\u{1}aws_lc_0_39_1_BN_div_word"]
5436    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5437}
5438extern "C" {
5439    #[link_name = "\u{1}aws_lc_0_39_1_BN_sqrt"]
5440    pub fn BN_sqrt(
5441        out_sqrt: *mut BIGNUM,
5442        in_: *const BIGNUM,
5443        ctx: *mut BN_CTX,
5444    ) -> ::std::os::raw::c_int;
5445}
5446extern "C" {
5447    #[link_name = "\u{1}aws_lc_0_39_1_BN_cmp"]
5448    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5449}
5450extern "C" {
5451    #[link_name = "\u{1}aws_lc_0_39_1_BN_cmp_word"]
5452    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5453}
5454extern "C" {
5455    #[link_name = "\u{1}aws_lc_0_39_1_BN_ucmp"]
5456    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5457}
5458extern "C" {
5459    #[link_name = "\u{1}aws_lc_0_39_1_BN_equal_consttime"]
5460    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5461}
5462extern "C" {
5463    #[link_name = "\u{1}aws_lc_0_39_1_BN_abs_is_word"]
5464    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5465}
5466extern "C" {
5467    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_zero"]
5468    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5469}
5470extern "C" {
5471    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_one"]
5472    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5473}
5474extern "C" {
5475    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_word"]
5476    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5477}
5478extern "C" {
5479    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_odd"]
5480    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5481}
5482extern "C" {
5483    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_pow2"]
5484    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5485}
5486extern "C" {
5487    #[link_name = "\u{1}aws_lc_0_39_1_BN_lshift"]
5488    pub fn BN_lshift(
5489        r: *mut BIGNUM,
5490        a: *const BIGNUM,
5491        n: ::std::os::raw::c_int,
5492    ) -> ::std::os::raw::c_int;
5493}
5494extern "C" {
5495    #[link_name = "\u{1}aws_lc_0_39_1_BN_lshift1"]
5496    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5497}
5498extern "C" {
5499    #[link_name = "\u{1}aws_lc_0_39_1_BN_rshift"]
5500    pub fn BN_rshift(
5501        r: *mut BIGNUM,
5502        a: *const BIGNUM,
5503        n: ::std::os::raw::c_int,
5504    ) -> ::std::os::raw::c_int;
5505}
5506extern "C" {
5507    #[link_name = "\u{1}aws_lc_0_39_1_BN_rshift1"]
5508    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5509}
5510extern "C" {
5511    #[link_name = "\u{1}aws_lc_0_39_1_BN_set_bit"]
5512    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5513}
5514extern "C" {
5515    #[link_name = "\u{1}aws_lc_0_39_1_BN_clear_bit"]
5516    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5517}
5518extern "C" {
5519    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_bit_set"]
5520    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5521}
5522extern "C" {
5523    #[link_name = "\u{1}aws_lc_0_39_1_BN_mask_bits"]
5524    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5525}
5526extern "C" {
5527    #[link_name = "\u{1}aws_lc_0_39_1_BN_count_low_zero_bits"]
5528    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5529}
5530extern "C" {
5531    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_word"]
5532    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5533}
5534extern "C" {
5535    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_pow2"]
5536    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5537}
5538extern "C" {
5539    #[link_name = "\u{1}aws_lc_0_39_1_BN_nnmod_pow2"]
5540    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5541}
5542extern "C" {
5543    #[link_name = "\u{1}aws_lc_0_39_1_BN_nnmod"]
5544    pub fn BN_nnmod(
5545        rem: *mut BIGNUM,
5546        numerator: *const BIGNUM,
5547        divisor: *const BIGNUM,
5548        ctx: *mut BN_CTX,
5549    ) -> ::std::os::raw::c_int;
5550}
5551extern "C" {
5552    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_add"]
5553    pub fn BN_mod_add(
5554        r: *mut BIGNUM,
5555        a: *const BIGNUM,
5556        b: *const BIGNUM,
5557        m: *const BIGNUM,
5558        ctx: *mut BN_CTX,
5559    ) -> ::std::os::raw::c_int;
5560}
5561extern "C" {
5562    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_add_quick"]
5563    pub fn BN_mod_add_quick(
5564        r: *mut BIGNUM,
5565        a: *const BIGNUM,
5566        b: *const BIGNUM,
5567        m: *const BIGNUM,
5568    ) -> ::std::os::raw::c_int;
5569}
5570extern "C" {
5571    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_sub"]
5572    pub fn BN_mod_sub(
5573        r: *mut BIGNUM,
5574        a: *const BIGNUM,
5575        b: *const BIGNUM,
5576        m: *const BIGNUM,
5577        ctx: *mut BN_CTX,
5578    ) -> ::std::os::raw::c_int;
5579}
5580extern "C" {
5581    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_sub_quick"]
5582    pub fn BN_mod_sub_quick(
5583        r: *mut BIGNUM,
5584        a: *const BIGNUM,
5585        b: *const BIGNUM,
5586        m: *const BIGNUM,
5587    ) -> ::std::os::raw::c_int;
5588}
5589extern "C" {
5590    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_mul"]
5591    pub fn BN_mod_mul(
5592        r: *mut BIGNUM,
5593        a: *const BIGNUM,
5594        b: *const BIGNUM,
5595        m: *const BIGNUM,
5596        ctx: *mut BN_CTX,
5597    ) -> ::std::os::raw::c_int;
5598}
5599extern "C" {
5600    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_sqr"]
5601    pub fn BN_mod_sqr(
5602        r: *mut BIGNUM,
5603        a: *const BIGNUM,
5604        m: *const BIGNUM,
5605        ctx: *mut BN_CTX,
5606    ) -> ::std::os::raw::c_int;
5607}
5608extern "C" {
5609    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_lshift"]
5610    pub fn BN_mod_lshift(
5611        r: *mut BIGNUM,
5612        a: *const BIGNUM,
5613        n: ::std::os::raw::c_int,
5614        m: *const BIGNUM,
5615        ctx: *mut BN_CTX,
5616    ) -> ::std::os::raw::c_int;
5617}
5618extern "C" {
5619    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_lshift_quick"]
5620    pub fn BN_mod_lshift_quick(
5621        r: *mut BIGNUM,
5622        a: *const BIGNUM,
5623        n: ::std::os::raw::c_int,
5624        m: *const BIGNUM,
5625    ) -> ::std::os::raw::c_int;
5626}
5627extern "C" {
5628    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_lshift1"]
5629    pub fn BN_mod_lshift1(
5630        r: *mut BIGNUM,
5631        a: *const BIGNUM,
5632        m: *const BIGNUM,
5633        ctx: *mut BN_CTX,
5634    ) -> ::std::os::raw::c_int;
5635}
5636extern "C" {
5637    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_lshift1_quick"]
5638    pub fn BN_mod_lshift1_quick(
5639        r: *mut BIGNUM,
5640        a: *const BIGNUM,
5641        m: *const BIGNUM,
5642    ) -> ::std::os::raw::c_int;
5643}
5644extern "C" {
5645    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_sqrt"]
5646    pub fn BN_mod_sqrt(
5647        in_: *mut BIGNUM,
5648        a: *const BIGNUM,
5649        p: *const BIGNUM,
5650        ctx: *mut BN_CTX,
5651    ) -> *mut BIGNUM;
5652}
5653extern "C" {
5654    #[link_name = "\u{1}aws_lc_0_39_1_BN_rand"]
5655    pub fn BN_rand(
5656        rnd: *mut BIGNUM,
5657        bits: ::std::os::raw::c_int,
5658        top: ::std::os::raw::c_int,
5659        bottom: ::std::os::raw::c_int,
5660    ) -> ::std::os::raw::c_int;
5661}
5662extern "C" {
5663    #[link_name = "\u{1}aws_lc_0_39_1_BN_pseudo_rand"]
5664    pub fn BN_pseudo_rand(
5665        rnd: *mut BIGNUM,
5666        bits: ::std::os::raw::c_int,
5667        top: ::std::os::raw::c_int,
5668        bottom: ::std::os::raw::c_int,
5669    ) -> ::std::os::raw::c_int;
5670}
5671extern "C" {
5672    #[link_name = "\u{1}aws_lc_0_39_1_BN_rand_range"]
5673    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5674}
5675extern "C" {
5676    #[link_name = "\u{1}aws_lc_0_39_1_BN_rand_range_ex"]
5677    pub fn BN_rand_range_ex(
5678        r: *mut BIGNUM,
5679        min_inclusive: BN_ULONG,
5680        max_exclusive: *const BIGNUM,
5681    ) -> ::std::os::raw::c_int;
5682}
5683extern "C" {
5684    #[link_name = "\u{1}aws_lc_0_39_1_BN_pseudo_rand_range"]
5685    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5686}
5687#[repr(C)]
5688#[derive(Copy, Clone)]
5689pub struct bn_gencb_st {
5690    pub type_: u8,
5691    pub arg: *mut ::std::os::raw::c_void,
5692    pub callback: bn_gencb_st__bindgen_ty_1,
5693}
5694#[repr(C)]
5695#[derive(Copy, Clone)]
5696pub union bn_gencb_st__bindgen_ty_1 {
5697    pub new_style: ::std::option::Option<
5698        unsafe extern "C" fn(
5699            event: ::std::os::raw::c_int,
5700            n: ::std::os::raw::c_int,
5701            arg1: *mut bn_gencb_st,
5702        ) -> ::std::os::raw::c_int,
5703    >,
5704    pub old_style: ::std::option::Option<
5705        unsafe extern "C" fn(
5706            arg1: ::std::os::raw::c_int,
5707            arg2: ::std::os::raw::c_int,
5708            arg3: *mut ::std::os::raw::c_void,
5709        ),
5710    >,
5711}
5712#[test]
5713fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5714    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5715        ::std::mem::MaybeUninit::uninit();
5716    let ptr = UNINIT.as_ptr();
5717    assert_eq!(
5718        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5719        8usize,
5720        "Size of bn_gencb_st__bindgen_ty_1"
5721    );
5722    assert_eq!(
5723        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5724        8usize,
5725        "Alignment of bn_gencb_st__bindgen_ty_1"
5726    );
5727    assert_eq!(
5728        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5729        0usize,
5730        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5731    );
5732    assert_eq!(
5733        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5734        0usize,
5735        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5736    );
5737}
5738impl Default for bn_gencb_st__bindgen_ty_1 {
5739    fn default() -> Self {
5740        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5741        unsafe {
5742            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5743            s.assume_init()
5744        }
5745    }
5746}
5747#[test]
5748fn bindgen_test_layout_bn_gencb_st() {
5749    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5750    let ptr = UNINIT.as_ptr();
5751    assert_eq!(
5752        ::std::mem::size_of::<bn_gencb_st>(),
5753        24usize,
5754        "Size of bn_gencb_st"
5755    );
5756    assert_eq!(
5757        ::std::mem::align_of::<bn_gencb_st>(),
5758        8usize,
5759        "Alignment of bn_gencb_st"
5760    );
5761    assert_eq!(
5762        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5763        0usize,
5764        "Offset of field: bn_gencb_st::type_"
5765    );
5766    assert_eq!(
5767        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5768        8usize,
5769        "Offset of field: bn_gencb_st::arg"
5770    );
5771    assert_eq!(
5772        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5773        16usize,
5774        "Offset of field: bn_gencb_st::callback"
5775    );
5776}
5777impl Default for bn_gencb_st {
5778    fn default() -> Self {
5779        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5780        unsafe {
5781            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5782            s.assume_init()
5783        }
5784    }
5785}
5786extern "C" {
5787    #[link_name = "\u{1}aws_lc_0_39_1_BN_GENCB_new"]
5788    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5789}
5790extern "C" {
5791    #[link_name = "\u{1}aws_lc_0_39_1_BN_GENCB_free"]
5792    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5793}
5794extern "C" {
5795    #[link_name = "\u{1}aws_lc_0_39_1_BN_GENCB_set"]
5796    pub fn BN_GENCB_set(
5797        callback: *mut BN_GENCB,
5798        f: ::std::option::Option<
5799            unsafe extern "C" fn(
5800                event: ::std::os::raw::c_int,
5801                n: ::std::os::raw::c_int,
5802                arg1: *mut BN_GENCB,
5803            ) -> ::std::os::raw::c_int,
5804        >,
5805        arg: *mut ::std::os::raw::c_void,
5806    );
5807}
5808extern "C" {
5809    #[link_name = "\u{1}aws_lc_0_39_1_BN_GENCB_call"]
5810    pub fn BN_GENCB_call(
5811        callback: *mut BN_GENCB,
5812        event: ::std::os::raw::c_int,
5813        n: ::std::os::raw::c_int,
5814    ) -> ::std::os::raw::c_int;
5815}
5816extern "C" {
5817    #[link_name = "\u{1}aws_lc_0_39_1_BN_GENCB_get_arg"]
5818    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5819}
5820extern "C" {
5821    #[link_name = "\u{1}aws_lc_0_39_1_BN_generate_prime_ex"]
5822    pub fn BN_generate_prime_ex(
5823        ret: *mut BIGNUM,
5824        bits: ::std::os::raw::c_int,
5825        safe: ::std::os::raw::c_int,
5826        add: *const BIGNUM,
5827        rem: *const BIGNUM,
5828        cb: *mut BN_GENCB,
5829    ) -> ::std::os::raw::c_int;
5830}
5831pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5832pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5833pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5834pub type bn_primality_result_t = ::std::os::raw::c_uint;
5835extern "C" {
5836    #[link_name = "\u{1}aws_lc_0_39_1_BN_enhanced_miller_rabin_primality_test"]
5837    pub fn BN_enhanced_miller_rabin_primality_test(
5838        out_result: *mut bn_primality_result_t,
5839        w: *const BIGNUM,
5840        checks: ::std::os::raw::c_int,
5841        ctx: *mut BN_CTX,
5842        cb: *mut BN_GENCB,
5843    ) -> ::std::os::raw::c_int;
5844}
5845extern "C" {
5846    #[link_name = "\u{1}aws_lc_0_39_1_BN_primality_test"]
5847    pub fn BN_primality_test(
5848        is_probably_prime: *mut ::std::os::raw::c_int,
5849        candidate: *const BIGNUM,
5850        checks: ::std::os::raw::c_int,
5851        ctx: *mut BN_CTX,
5852        do_trial_division: ::std::os::raw::c_int,
5853        cb: *mut BN_GENCB,
5854    ) -> ::std::os::raw::c_int;
5855}
5856extern "C" {
5857    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_prime_fasttest_ex"]
5858    pub fn BN_is_prime_fasttest_ex(
5859        candidate: *const BIGNUM,
5860        checks: ::std::os::raw::c_int,
5861        ctx: *mut BN_CTX,
5862        do_trial_division: ::std::os::raw::c_int,
5863        cb: *mut BN_GENCB,
5864    ) -> ::std::os::raw::c_int;
5865}
5866extern "C" {
5867    #[link_name = "\u{1}aws_lc_0_39_1_BN_is_prime_ex"]
5868    pub fn BN_is_prime_ex(
5869        candidate: *const BIGNUM,
5870        checks: ::std::os::raw::c_int,
5871        ctx: *mut BN_CTX,
5872        cb: *mut BN_GENCB,
5873    ) -> ::std::os::raw::c_int;
5874}
5875extern "C" {
5876    #[link_name = "\u{1}aws_lc_0_39_1_BN_gcd"]
5877    pub fn BN_gcd(
5878        r: *mut BIGNUM,
5879        a: *const BIGNUM,
5880        b: *const BIGNUM,
5881        ctx: *mut BN_CTX,
5882    ) -> ::std::os::raw::c_int;
5883}
5884extern "C" {
5885    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_inverse"]
5886    pub fn BN_mod_inverse(
5887        out: *mut BIGNUM,
5888        a: *const BIGNUM,
5889        n: *const BIGNUM,
5890        ctx: *mut BN_CTX,
5891    ) -> *mut BIGNUM;
5892}
5893extern "C" {
5894    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_inverse_blinded"]
5895    pub fn BN_mod_inverse_blinded(
5896        out: *mut BIGNUM,
5897        out_no_inverse: *mut ::std::os::raw::c_int,
5898        a: *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_39_1_BN_mod_inverse_odd"]
5905    pub fn BN_mod_inverse_odd(
5906        out: *mut BIGNUM,
5907        out_no_inverse: *mut ::std::os::raw::c_int,
5908        a: *const BIGNUM,
5909        n: *const BIGNUM,
5910        ctx: *mut BN_CTX,
5911    ) -> ::std::os::raw::c_int;
5912}
5913extern "C" {
5914    #[link_name = "\u{1}aws_lc_0_39_1_BN_MONT_CTX_new_for_modulus"]
5915    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5916}
5917extern "C" {
5918    #[link_name = "\u{1}aws_lc_0_39_1_BN_MONT_CTX_new_consttime"]
5919    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5920}
5921extern "C" {
5922    #[link_name = "\u{1}aws_lc_0_39_1_BN_MONT_CTX_free"]
5923    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
5924}
5925extern "C" {
5926    #[link_name = "\u{1}aws_lc_0_39_1_BN_MONT_CTX_copy"]
5927    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
5928}
5929extern "C" {
5930    #[link_name = "\u{1}aws_lc_0_39_1_BN_to_montgomery"]
5931    pub fn BN_to_montgomery(
5932        ret: *mut BIGNUM,
5933        a: *const BIGNUM,
5934        mont: *const BN_MONT_CTX,
5935        ctx: *mut BN_CTX,
5936    ) -> ::std::os::raw::c_int;
5937}
5938extern "C" {
5939    #[link_name = "\u{1}aws_lc_0_39_1_BN_from_montgomery"]
5940    pub fn BN_from_montgomery(
5941        ret: *mut BIGNUM,
5942        a: *const BIGNUM,
5943        mont: *const BN_MONT_CTX,
5944        ctx: *mut BN_CTX,
5945    ) -> ::std::os::raw::c_int;
5946}
5947extern "C" {
5948    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_mul_montgomery"]
5949    pub fn BN_mod_mul_montgomery(
5950        r: *mut BIGNUM,
5951        a: *const BIGNUM,
5952        b: *const BIGNUM,
5953        mont: *const BN_MONT_CTX,
5954        ctx: *mut BN_CTX,
5955    ) -> ::std::os::raw::c_int;
5956}
5957extern "C" {
5958    #[link_name = "\u{1}aws_lc_0_39_1_BN_exp"]
5959    pub fn BN_exp(
5960        r: *mut BIGNUM,
5961        a: *const BIGNUM,
5962        p: *const BIGNUM,
5963        ctx: *mut BN_CTX,
5964    ) -> ::std::os::raw::c_int;
5965}
5966extern "C" {
5967    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_exp"]
5968    pub fn BN_mod_exp(
5969        r: *mut BIGNUM,
5970        a: *const BIGNUM,
5971        p: *const BIGNUM,
5972        m: *const BIGNUM,
5973        ctx: *mut BN_CTX,
5974    ) -> ::std::os::raw::c_int;
5975}
5976extern "C" {
5977    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_exp_mont"]
5978    pub fn BN_mod_exp_mont(
5979        r: *mut BIGNUM,
5980        a: *const BIGNUM,
5981        p: *const BIGNUM,
5982        m: *const BIGNUM,
5983        ctx: *mut BN_CTX,
5984        mont: *const BN_MONT_CTX,
5985    ) -> ::std::os::raw::c_int;
5986}
5987extern "C" {
5988    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_exp_mont_consttime"]
5989    pub fn BN_mod_exp_mont_consttime(
5990        rr: *mut BIGNUM,
5991        a: *const BIGNUM,
5992        p: *const BIGNUM,
5993        m: *const BIGNUM,
5994        ctx: *mut BN_CTX,
5995        mont: *const BN_MONT_CTX,
5996    ) -> ::std::os::raw::c_int;
5997}
5998extern "C" {
5999    #[link_name = "\u{1}aws_lc_0_39_1_BN_GENCB_set_old"]
6000    pub fn BN_GENCB_set_old(
6001        callback: *mut BN_GENCB,
6002        f: ::std::option::Option<
6003            unsafe extern "C" fn(
6004                arg1: ::std::os::raw::c_int,
6005                arg2: ::std::os::raw::c_int,
6006                arg3: *mut ::std::os::raw::c_void,
6007            ),
6008        >,
6009        cb_arg: *mut ::std::os::raw::c_void,
6010    );
6011}
6012extern "C" {
6013    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2mpi"]
6014    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
6015}
6016extern "C" {
6017    #[link_name = "\u{1}aws_lc_0_39_1_BN_mpi2bn"]
6018    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
6019}
6020extern "C" {
6021    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_exp_mont_word"]
6022    pub fn BN_mod_exp_mont_word(
6023        r: *mut BIGNUM,
6024        a: BN_ULONG,
6025        p: *const BIGNUM,
6026        m: *const BIGNUM,
6027        ctx: *mut BN_CTX,
6028        mont: *const BN_MONT_CTX,
6029    ) -> ::std::os::raw::c_int;
6030}
6031extern "C" {
6032    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_exp2_mont"]
6033    pub fn BN_mod_exp2_mont(
6034        r: *mut BIGNUM,
6035        a1: *const BIGNUM,
6036        p1: *const BIGNUM,
6037        a2: *const BIGNUM,
6038        p2: *const BIGNUM,
6039        m: *const BIGNUM,
6040        ctx: *mut BN_CTX,
6041        mont: *const BN_MONT_CTX,
6042    ) -> ::std::os::raw::c_int;
6043}
6044extern "C" {
6045    #[link_name = "\u{1}aws_lc_0_39_1_BN_MONT_CTX_new"]
6046    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
6047}
6048extern "C" {
6049    #[link_name = "\u{1}aws_lc_0_39_1_BN_MONT_CTX_set"]
6050    pub fn BN_MONT_CTX_set(
6051        mont: *mut BN_MONT_CTX,
6052        mod_: *const BIGNUM,
6053        ctx: *mut BN_CTX,
6054    ) -> ::std::os::raw::c_int;
6055}
6056extern "C" {
6057    #[link_name = "\u{1}aws_lc_0_39_1_BN_bn2binpad"]
6058    pub fn BN_bn2binpad(
6059        in_: *const BIGNUM,
6060        out: *mut u8,
6061        len: ::std::os::raw::c_int,
6062    ) -> ::std::os::raw::c_int;
6063}
6064extern "C" {
6065    #[link_name = "\u{1}aws_lc_0_39_1_BN_secure_new"]
6066    pub fn BN_secure_new() -> *mut BIGNUM;
6067}
6068extern "C" {
6069    #[link_name = "\u{1}aws_lc_0_39_1_BN_CTX_secure_new"]
6070    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6071}
6072extern "C" {
6073    #[link_name = "\u{1}aws_lc_0_39_1_BN_mod_exp_mont_consttime_x2"]
6074    pub fn BN_mod_exp_mont_consttime_x2(
6075        rr1: *mut BIGNUM,
6076        a1: *const BIGNUM,
6077        p1: *const BIGNUM,
6078        m1: *const BIGNUM,
6079        in_mont1: *const BN_MONT_CTX,
6080        rr2: *mut BIGNUM,
6081        a2: *const BIGNUM,
6082        p2: *const BIGNUM,
6083        m2: *const BIGNUM,
6084        in_mont2: *const BN_MONT_CTX,
6085        ctx: *mut BN_CTX,
6086    ) -> ::std::os::raw::c_int;
6087}
6088extern "C" {
6089    #[link_name = "\u{1}aws_lc_0_39_1_BN_set_flags"]
6090    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6091}
6092#[repr(C)]
6093#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6094pub struct bignum_st {
6095    pub d: *mut BN_ULONG,
6096    pub width: ::std::os::raw::c_int,
6097    pub dmax: ::std::os::raw::c_int,
6098    pub neg: ::std::os::raw::c_int,
6099    pub flags: ::std::os::raw::c_int,
6100}
6101#[test]
6102fn bindgen_test_layout_bignum_st() {
6103    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6104    let ptr = UNINIT.as_ptr();
6105    assert_eq!(
6106        ::std::mem::size_of::<bignum_st>(),
6107        24usize,
6108        "Size of bignum_st"
6109    );
6110    assert_eq!(
6111        ::std::mem::align_of::<bignum_st>(),
6112        8usize,
6113        "Alignment of bignum_st"
6114    );
6115    assert_eq!(
6116        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6117        0usize,
6118        "Offset of field: bignum_st::d"
6119    );
6120    assert_eq!(
6121        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6122        8usize,
6123        "Offset of field: bignum_st::width"
6124    );
6125    assert_eq!(
6126        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6127        12usize,
6128        "Offset of field: bignum_st::dmax"
6129    );
6130    assert_eq!(
6131        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6132        16usize,
6133        "Offset of field: bignum_st::neg"
6134    );
6135    assert_eq!(
6136        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6137        20usize,
6138        "Offset of field: bignum_st::flags"
6139    );
6140}
6141impl Default for bignum_st {
6142    fn default() -> Self {
6143        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6144        unsafe {
6145            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6146            s.assume_init()
6147        }
6148    }
6149}
6150#[repr(C)]
6151#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6152pub struct bn_mont_ctx_st {
6153    pub RR: BIGNUM,
6154    pub N: BIGNUM,
6155    pub n0: [BN_ULONG; 2usize],
6156}
6157#[test]
6158fn bindgen_test_layout_bn_mont_ctx_st() {
6159    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6160    let ptr = UNINIT.as_ptr();
6161    assert_eq!(
6162        ::std::mem::size_of::<bn_mont_ctx_st>(),
6163        64usize,
6164        "Size of bn_mont_ctx_st"
6165    );
6166    assert_eq!(
6167        ::std::mem::align_of::<bn_mont_ctx_st>(),
6168        8usize,
6169        "Alignment of bn_mont_ctx_st"
6170    );
6171    assert_eq!(
6172        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6173        0usize,
6174        "Offset of field: bn_mont_ctx_st::RR"
6175    );
6176    assert_eq!(
6177        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6178        24usize,
6179        "Offset of field: bn_mont_ctx_st::N"
6180    );
6181    assert_eq!(
6182        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6183        48usize,
6184        "Offset of field: bn_mont_ctx_st::n0"
6185    );
6186}
6187impl Default for bn_mont_ctx_st {
6188    fn default() -> Self {
6189        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6190        unsafe {
6191            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6192            s.assume_init()
6193        }
6194    }
6195}
6196extern "C" {
6197    #[link_name = "\u{1}aws_lc_0_39_1_BN_num_bits_word"]
6198    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6199}
6200#[repr(C)]
6201#[derive(Debug, Copy, Clone)]
6202pub struct ASN1_VALUE_st {
6203    _unused: [u8; 0],
6204}
6205pub type ASN1_VALUE = ASN1_VALUE_st;
6206#[repr(C)]
6207#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6208pub struct asn1_string_st {
6209    pub length: ::std::os::raw::c_int,
6210    pub type_: ::std::os::raw::c_int,
6211    pub data: *mut ::std::os::raw::c_uchar,
6212    pub flags: ::std::os::raw::c_long,
6213}
6214#[test]
6215fn bindgen_test_layout_asn1_string_st() {
6216    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6217    let ptr = UNINIT.as_ptr();
6218    assert_eq!(
6219        ::std::mem::size_of::<asn1_string_st>(),
6220        24usize,
6221        "Size of asn1_string_st"
6222    );
6223    assert_eq!(
6224        ::std::mem::align_of::<asn1_string_st>(),
6225        8usize,
6226        "Alignment of asn1_string_st"
6227    );
6228    assert_eq!(
6229        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6230        0usize,
6231        "Offset of field: asn1_string_st::length"
6232    );
6233    assert_eq!(
6234        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6235        4usize,
6236        "Offset of field: asn1_string_st::type_"
6237    );
6238    assert_eq!(
6239        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6240        8usize,
6241        "Offset of field: asn1_string_st::data"
6242    );
6243    assert_eq!(
6244        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6245        16usize,
6246        "Offset of field: asn1_string_st::flags"
6247    );
6248}
6249impl Default for asn1_string_st {
6250    fn default() -> Self {
6251        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6252        unsafe {
6253            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6254            s.assume_init()
6255        }
6256    }
6257}
6258#[repr(C)]
6259#[derive(Copy, Clone)]
6260pub struct asn1_type_st {
6261    pub type_: ::std::os::raw::c_int,
6262    pub value: asn1_type_st__bindgen_ty_1,
6263}
6264#[repr(C)]
6265#[derive(Copy, Clone)]
6266pub union asn1_type_st__bindgen_ty_1 {
6267    pub ptr: *mut ::std::os::raw::c_char,
6268    pub boolean: ASN1_BOOLEAN,
6269    pub asn1_string: *mut ASN1_STRING,
6270    pub object: *mut ASN1_OBJECT,
6271    pub integer: *mut ASN1_INTEGER,
6272    pub enumerated: *mut ASN1_ENUMERATED,
6273    pub bit_string: *mut ASN1_BIT_STRING,
6274    pub octet_string: *mut ASN1_OCTET_STRING,
6275    pub printablestring: *mut ASN1_PRINTABLESTRING,
6276    pub t61string: *mut ASN1_T61STRING,
6277    pub ia5string: *mut ASN1_IA5STRING,
6278    pub generalstring: *mut ASN1_GENERALSTRING,
6279    pub bmpstring: *mut ASN1_BMPSTRING,
6280    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6281    pub utctime: *mut ASN1_UTCTIME,
6282    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6283    pub visiblestring: *mut ASN1_VISIBLESTRING,
6284    pub utf8string: *mut ASN1_UTF8STRING,
6285    pub set: *mut ASN1_STRING,
6286    pub sequence: *mut ASN1_STRING,
6287    pub asn1_value: *mut ASN1_VALUE,
6288}
6289#[test]
6290fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6291    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6292        ::std::mem::MaybeUninit::uninit();
6293    let ptr = UNINIT.as_ptr();
6294    assert_eq!(
6295        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6296        8usize,
6297        "Size of asn1_type_st__bindgen_ty_1"
6298    );
6299    assert_eq!(
6300        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6301        8usize,
6302        "Alignment of asn1_type_st__bindgen_ty_1"
6303    );
6304    assert_eq!(
6305        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6306        0usize,
6307        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6308    );
6309    assert_eq!(
6310        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6311        0usize,
6312        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6313    );
6314    assert_eq!(
6315        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6316        0usize,
6317        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6318    );
6319    assert_eq!(
6320        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6321        0usize,
6322        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6323    );
6324    assert_eq!(
6325        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6326        0usize,
6327        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6328    );
6329    assert_eq!(
6330        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6331        0usize,
6332        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6333    );
6334    assert_eq!(
6335        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6336        0usize,
6337        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6338    );
6339    assert_eq!(
6340        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6341        0usize,
6342        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6343    );
6344    assert_eq!(
6345        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6346        0usize,
6347        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6348    );
6349    assert_eq!(
6350        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6351        0usize,
6352        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6353    );
6354    assert_eq!(
6355        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6356        0usize,
6357        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6358    );
6359    assert_eq!(
6360        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6361        0usize,
6362        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6363    );
6364    assert_eq!(
6365        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6366        0usize,
6367        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6368    );
6369    assert_eq!(
6370        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6371        0usize,
6372        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6373    );
6374    assert_eq!(
6375        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6376        0usize,
6377        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6378    );
6379    assert_eq!(
6380        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6381        0usize,
6382        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6383    );
6384    assert_eq!(
6385        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6386        0usize,
6387        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6388    );
6389    assert_eq!(
6390        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6391        0usize,
6392        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6393    );
6394    assert_eq!(
6395        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6396        0usize,
6397        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6398    );
6399    assert_eq!(
6400        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6401        0usize,
6402        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6403    );
6404    assert_eq!(
6405        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6406        0usize,
6407        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6408    );
6409}
6410impl Default for asn1_type_st__bindgen_ty_1 {
6411    fn default() -> Self {
6412        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6413        unsafe {
6414            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6415            s.assume_init()
6416        }
6417    }
6418}
6419#[test]
6420fn bindgen_test_layout_asn1_type_st() {
6421    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6422    let ptr = UNINIT.as_ptr();
6423    assert_eq!(
6424        ::std::mem::size_of::<asn1_type_st>(),
6425        16usize,
6426        "Size of asn1_type_st"
6427    );
6428    assert_eq!(
6429        ::std::mem::align_of::<asn1_type_st>(),
6430        8usize,
6431        "Alignment of asn1_type_st"
6432    );
6433    assert_eq!(
6434        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6435        0usize,
6436        "Offset of field: asn1_type_st::type_"
6437    );
6438    assert_eq!(
6439        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6440        8usize,
6441        "Offset of field: asn1_type_st::value"
6442    );
6443}
6444impl Default for asn1_type_st {
6445    fn default() -> Self {
6446        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6447        unsafe {
6448            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6449            s.assume_init()
6450        }
6451    }
6452}
6453pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6454#[repr(C)]
6455#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6456pub struct ASN1_TEMPLATE_st {
6457    pub flags: u32,
6458    pub tag: ::std::os::raw::c_int,
6459    pub offset: ::std::os::raw::c_ulong,
6460    pub field_name: *const ::std::os::raw::c_char,
6461    pub item: *const ASN1_ITEM_st,
6462}
6463#[test]
6464fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6465    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6466    let ptr = UNINIT.as_ptr();
6467    assert_eq!(
6468        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6469        32usize,
6470        "Size of ASN1_TEMPLATE_st"
6471    );
6472    assert_eq!(
6473        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6474        8usize,
6475        "Alignment of ASN1_TEMPLATE_st"
6476    );
6477    assert_eq!(
6478        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6479        0usize,
6480        "Offset of field: ASN1_TEMPLATE_st::flags"
6481    );
6482    assert_eq!(
6483        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6484        4usize,
6485        "Offset of field: ASN1_TEMPLATE_st::tag"
6486    );
6487    assert_eq!(
6488        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6489        8usize,
6490        "Offset of field: ASN1_TEMPLATE_st::offset"
6491    );
6492    assert_eq!(
6493        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6494        16usize,
6495        "Offset of field: ASN1_TEMPLATE_st::field_name"
6496    );
6497    assert_eq!(
6498        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6499        24usize,
6500        "Offset of field: ASN1_TEMPLATE_st::item"
6501    );
6502}
6503impl Default for ASN1_TEMPLATE_st {
6504    fn default() -> Self {
6505        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6506        unsafe {
6507            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6508            s.assume_init()
6509        }
6510    }
6511}
6512#[repr(C)]
6513#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6514pub struct ASN1_ITEM_st {
6515    pub itype: ::std::os::raw::c_char,
6516    pub utype: ::std::os::raw::c_int,
6517    pub templates: *const ASN1_TEMPLATE,
6518    pub tcount: ::std::os::raw::c_long,
6519    pub funcs: *const ::std::os::raw::c_void,
6520    pub size: ::std::os::raw::c_long,
6521    pub sname: *const ::std::os::raw::c_char,
6522}
6523#[test]
6524fn bindgen_test_layout_ASN1_ITEM_st() {
6525    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6526    let ptr = UNINIT.as_ptr();
6527    assert_eq!(
6528        ::std::mem::size_of::<ASN1_ITEM_st>(),
6529        48usize,
6530        "Size of ASN1_ITEM_st"
6531    );
6532    assert_eq!(
6533        ::std::mem::align_of::<ASN1_ITEM_st>(),
6534        8usize,
6535        "Alignment of ASN1_ITEM_st"
6536    );
6537    assert_eq!(
6538        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6539        0usize,
6540        "Offset of field: ASN1_ITEM_st::itype"
6541    );
6542    assert_eq!(
6543        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6544        4usize,
6545        "Offset of field: ASN1_ITEM_st::utype"
6546    );
6547    assert_eq!(
6548        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6549        8usize,
6550        "Offset of field: ASN1_ITEM_st::templates"
6551    );
6552    assert_eq!(
6553        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6554        16usize,
6555        "Offset of field: ASN1_ITEM_st::tcount"
6556    );
6557    assert_eq!(
6558        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6559        24usize,
6560        "Offset of field: ASN1_ITEM_st::funcs"
6561    );
6562    assert_eq!(
6563        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6564        32usize,
6565        "Offset of field: ASN1_ITEM_st::size"
6566    );
6567    assert_eq!(
6568        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6569        40usize,
6570        "Offset of field: ASN1_ITEM_st::sname"
6571    );
6572}
6573impl Default for ASN1_ITEM_st {
6574    fn default() -> Self {
6575        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6576        unsafe {
6577            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6578            s.assume_init()
6579        }
6580    }
6581}
6582#[doc = " @struct evp_encode_ctx_st\n Encoding Context"]
6583#[repr(C)]
6584#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6585pub struct evp_encode_ctx_st {
6586    #[doc = " @brief Number of valid bytes\n\n @details\n When encoding, `data` will be filled and encoded as a lump. When decoding,\n only the first four bytes of `data` will be used."]
6587    pub data_used: ::std::os::raw::c_uint,
6588    #[doc = " @brief Encoded or decoded data."]
6589    pub data: [u8; 48usize],
6590    #[doc = " @brief Indicates that the end of the base64 data has been seen.\n\n @details\n Only used when decoding. Only whitespace can follow."]
6591    pub eof_seen: ::std::os::raw::c_char,
6592    #[doc = " @brief indicates that invalid base64 data was found.\n\n @details\n This will gitcause all future calls to fail."]
6593    pub error_encountered: ::std::os::raw::c_char,
6594}
6595#[test]
6596fn bindgen_test_layout_evp_encode_ctx_st() {
6597    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6598    let ptr = UNINIT.as_ptr();
6599    assert_eq!(
6600        ::std::mem::size_of::<evp_encode_ctx_st>(),
6601        56usize,
6602        "Size of evp_encode_ctx_st"
6603    );
6604    assert_eq!(
6605        ::std::mem::align_of::<evp_encode_ctx_st>(),
6606        4usize,
6607        "Alignment of evp_encode_ctx_st"
6608    );
6609    assert_eq!(
6610        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6611        0usize,
6612        "Offset of field: evp_encode_ctx_st::data_used"
6613    );
6614    assert_eq!(
6615        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6616        4usize,
6617        "Offset of field: evp_encode_ctx_st::data"
6618    );
6619    assert_eq!(
6620        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6621        52usize,
6622        "Offset of field: evp_encode_ctx_st::eof_seen"
6623    );
6624    assert_eq!(
6625        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6626        53usize,
6627        "Offset of field: evp_encode_ctx_st::error_encountered"
6628    );
6629}
6630impl Default for evp_encode_ctx_st {
6631    fn default() -> Self {
6632        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6633        unsafe {
6634            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6635            s.assume_init()
6636        }
6637    }
6638}
6639#[repr(C)]
6640#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6641pub struct blake2b_state_st {
6642    pub h: [u64; 8usize],
6643    pub t_low: u64,
6644    pub t_high: u64,
6645    pub block: [u8; 128usize],
6646    pub block_used: usize,
6647}
6648#[test]
6649fn bindgen_test_layout_blake2b_state_st() {
6650    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6651    let ptr = UNINIT.as_ptr();
6652    assert_eq!(
6653        ::std::mem::size_of::<blake2b_state_st>(),
6654        216usize,
6655        "Size of blake2b_state_st"
6656    );
6657    assert_eq!(
6658        ::std::mem::align_of::<blake2b_state_st>(),
6659        8usize,
6660        "Alignment of blake2b_state_st"
6661    );
6662    assert_eq!(
6663        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6664        0usize,
6665        "Offset of field: blake2b_state_st::h"
6666    );
6667    assert_eq!(
6668        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6669        64usize,
6670        "Offset of field: blake2b_state_st::t_low"
6671    );
6672    assert_eq!(
6673        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6674        72usize,
6675        "Offset of field: blake2b_state_st::t_high"
6676    );
6677    assert_eq!(
6678        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6679        80usize,
6680        "Offset of field: blake2b_state_st::block"
6681    );
6682    assert_eq!(
6683        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6684        208usize,
6685        "Offset of field: blake2b_state_st::block_used"
6686    );
6687}
6688impl Default for blake2b_state_st {
6689    fn default() -> Self {
6690        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6691        unsafe {
6692            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6693            s.assume_init()
6694        }
6695    }
6696}
6697#[repr(C)]
6698#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6699pub struct cbs_st {
6700    pub data: *const u8,
6701    pub len: usize,
6702}
6703#[test]
6704fn bindgen_test_layout_cbs_st() {
6705    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6706    let ptr = UNINIT.as_ptr();
6707    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6708    assert_eq!(
6709        ::std::mem::align_of::<cbs_st>(),
6710        8usize,
6711        "Alignment of cbs_st"
6712    );
6713    assert_eq!(
6714        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6715        0usize,
6716        "Offset of field: cbs_st::data"
6717    );
6718    assert_eq!(
6719        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6720        8usize,
6721        "Offset of field: cbs_st::len"
6722    );
6723}
6724impl Default for cbs_st {
6725    fn default() -> Self {
6726        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6727        unsafe {
6728            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6729            s.assume_init()
6730        }
6731    }
6732}
6733extern "C" {
6734    #[link_name = "\u{1}aws_lc_0_39_1_CBS_init"]
6735    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6736}
6737extern "C" {
6738    #[link_name = "\u{1}aws_lc_0_39_1_CBS_skip"]
6739    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6740}
6741extern "C" {
6742    #[link_name = "\u{1}aws_lc_0_39_1_CBS_data"]
6743    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6744}
6745extern "C" {
6746    #[link_name = "\u{1}aws_lc_0_39_1_CBS_len"]
6747    pub fn CBS_len(cbs: *const CBS) -> usize;
6748}
6749extern "C" {
6750    #[link_name = "\u{1}aws_lc_0_39_1_CBS_stow"]
6751    pub fn CBS_stow(
6752        cbs: *const CBS,
6753        out_ptr: *mut *mut u8,
6754        out_len: *mut usize,
6755    ) -> ::std::os::raw::c_int;
6756}
6757extern "C" {
6758    #[link_name = "\u{1}aws_lc_0_39_1_CBS_strdup"]
6759    pub fn CBS_strdup(
6760        cbs: *const CBS,
6761        out_ptr: *mut *mut ::std::os::raw::c_char,
6762    ) -> ::std::os::raw::c_int;
6763}
6764extern "C" {
6765    #[link_name = "\u{1}aws_lc_0_39_1_CBS_contains_zero_byte"]
6766    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6767}
6768extern "C" {
6769    #[link_name = "\u{1}aws_lc_0_39_1_CBS_mem_equal"]
6770    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6771}
6772extern "C" {
6773    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u8"]
6774    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6775}
6776extern "C" {
6777    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u16"]
6778    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6779}
6780extern "C" {
6781    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u16le"]
6782    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6783}
6784extern "C" {
6785    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u24"]
6786    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6787}
6788extern "C" {
6789    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u32"]
6790    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6791}
6792extern "C" {
6793    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u32le"]
6794    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6795}
6796extern "C" {
6797    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u64"]
6798    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6799}
6800extern "C" {
6801    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u64le"]
6802    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6803}
6804extern "C" {
6805    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_last_u8"]
6806    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6807}
6808extern "C" {
6809    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_bytes"]
6810    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6811}
6812extern "C" {
6813    #[link_name = "\u{1}aws_lc_0_39_1_CBS_copy_bytes"]
6814    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6815}
6816extern "C" {
6817    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u8_length_prefixed"]
6818    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6819}
6820extern "C" {
6821    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u16_length_prefixed"]
6822    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6823}
6824extern "C" {
6825    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u24_length_prefixed"]
6826    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6827}
6828extern "C" {
6829    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_until_first"]
6830    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6831}
6832extern "C" {
6833    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_u64_decimal"]
6834    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6835}
6836extern "C" {
6837    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_asn1"]
6838    pub fn CBS_get_asn1(
6839        cbs: *mut CBS,
6840        out: *mut CBS,
6841        tag_value: CBS_ASN1_TAG,
6842    ) -> ::std::os::raw::c_int;
6843}
6844extern "C" {
6845    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_asn1_element"]
6846    pub fn CBS_get_asn1_element(
6847        cbs: *mut CBS,
6848        out: *mut CBS,
6849        tag_value: CBS_ASN1_TAG,
6850    ) -> ::std::os::raw::c_int;
6851}
6852extern "C" {
6853    #[link_name = "\u{1}aws_lc_0_39_1_CBS_peek_asn1_tag"]
6854    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6855}
6856extern "C" {
6857    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_any_asn1"]
6858    pub fn CBS_get_any_asn1(
6859        cbs: *mut CBS,
6860        out: *mut CBS,
6861        out_tag: *mut CBS_ASN1_TAG,
6862    ) -> ::std::os::raw::c_int;
6863}
6864extern "C" {
6865    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_any_asn1_element"]
6866    pub fn CBS_get_any_asn1_element(
6867        cbs: *mut CBS,
6868        out: *mut CBS,
6869        out_tag: *mut CBS_ASN1_TAG,
6870        out_header_len: *mut usize,
6871    ) -> ::std::os::raw::c_int;
6872}
6873extern "C" {
6874    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_any_ber_asn1_element"]
6875    pub fn CBS_get_any_ber_asn1_element(
6876        cbs: *mut CBS,
6877        out: *mut CBS,
6878        out_tag: *mut CBS_ASN1_TAG,
6879        out_header_len: *mut usize,
6880        out_ber_found: *mut ::std::os::raw::c_int,
6881        out_indefinite: *mut ::std::os::raw::c_int,
6882    ) -> ::std::os::raw::c_int;
6883}
6884extern "C" {
6885    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_asn1_uint64"]
6886    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6887}
6888extern "C" {
6889    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_asn1_int64"]
6890    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
6891}
6892extern "C" {
6893    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_asn1_bool"]
6894    pub fn CBS_get_asn1_bool(
6895        cbs: *mut CBS,
6896        out: *mut ::std::os::raw::c_int,
6897    ) -> ::std::os::raw::c_int;
6898}
6899extern "C" {
6900    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_optional_asn1"]
6901    pub fn CBS_get_optional_asn1(
6902        cbs: *mut CBS,
6903        out: *mut CBS,
6904        out_present: *mut ::std::os::raw::c_int,
6905        tag: CBS_ASN1_TAG,
6906    ) -> ::std::os::raw::c_int;
6907}
6908extern "C" {
6909    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_optional_asn1_octet_string"]
6910    pub fn CBS_get_optional_asn1_octet_string(
6911        cbs: *mut CBS,
6912        out: *mut CBS,
6913        out_present: *mut ::std::os::raw::c_int,
6914        tag: CBS_ASN1_TAG,
6915    ) -> ::std::os::raw::c_int;
6916}
6917extern "C" {
6918    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_optional_asn1_uint64"]
6919    pub fn CBS_get_optional_asn1_uint64(
6920        cbs: *mut CBS,
6921        out: *mut u64,
6922        tag: CBS_ASN1_TAG,
6923        default_value: u64,
6924    ) -> ::std::os::raw::c_int;
6925}
6926extern "C" {
6927    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_optional_asn1_bool"]
6928    pub fn CBS_get_optional_asn1_bool(
6929        cbs: *mut CBS,
6930        out: *mut ::std::os::raw::c_int,
6931        tag: CBS_ASN1_TAG,
6932        default_value: ::std::os::raw::c_int,
6933    ) -> ::std::os::raw::c_int;
6934}
6935extern "C" {
6936    #[link_name = "\u{1}aws_lc_0_39_1_CBS_is_valid_asn1_bitstring"]
6937    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
6938}
6939extern "C" {
6940    #[link_name = "\u{1}aws_lc_0_39_1_CBS_asn1_bitstring_has_bit"]
6941    pub fn CBS_asn1_bitstring_has_bit(
6942        cbs: *const CBS,
6943        bit: ::std::os::raw::c_uint,
6944    ) -> ::std::os::raw::c_int;
6945}
6946extern "C" {
6947    #[link_name = "\u{1}aws_lc_0_39_1_CBS_is_valid_asn1_integer"]
6948    pub fn CBS_is_valid_asn1_integer(
6949        cbs: *const CBS,
6950        out_is_negative: *mut ::std::os::raw::c_int,
6951    ) -> ::std::os::raw::c_int;
6952}
6953extern "C" {
6954    #[link_name = "\u{1}aws_lc_0_39_1_CBS_is_unsigned_asn1_integer"]
6955    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
6956}
6957extern "C" {
6958    #[link_name = "\u{1}aws_lc_0_39_1_CBS_is_valid_asn1_oid"]
6959    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
6960}
6961extern "C" {
6962    #[link_name = "\u{1}aws_lc_0_39_1_CBS_asn1_oid_to_text"]
6963    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
6964}
6965extern "C" {
6966    #[link_name = "\u{1}aws_lc_0_39_1_CBS_get_optional_asn1_int64"]
6967    pub fn CBS_get_optional_asn1_int64(
6968        cbs: *mut CBS,
6969        out: *mut i64,
6970        tag: CBS_ASN1_TAG,
6971        default_value: i64,
6972    ) -> ::std::os::raw::c_int;
6973}
6974#[repr(C)]
6975#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6976pub struct cbb_buffer_st {
6977    pub buf: *mut u8,
6978    pub len: usize,
6979    pub cap: usize,
6980    pub _bitfield_align_1: [u8; 0],
6981    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6982    pub __bindgen_padding_0: [u8; 7usize],
6983}
6984#[test]
6985fn bindgen_test_layout_cbb_buffer_st() {
6986    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
6987    let ptr = UNINIT.as_ptr();
6988    assert_eq!(
6989        ::std::mem::size_of::<cbb_buffer_st>(),
6990        32usize,
6991        "Size of cbb_buffer_st"
6992    );
6993    assert_eq!(
6994        ::std::mem::align_of::<cbb_buffer_st>(),
6995        8usize,
6996        "Alignment of cbb_buffer_st"
6997    );
6998    assert_eq!(
6999        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
7000        0usize,
7001        "Offset of field: cbb_buffer_st::buf"
7002    );
7003    assert_eq!(
7004        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
7005        8usize,
7006        "Offset of field: cbb_buffer_st::len"
7007    );
7008    assert_eq!(
7009        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
7010        16usize,
7011        "Offset of field: cbb_buffer_st::cap"
7012    );
7013}
7014impl Default for cbb_buffer_st {
7015    fn default() -> Self {
7016        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7017        unsafe {
7018            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7019            s.assume_init()
7020        }
7021    }
7022}
7023impl cbb_buffer_st {
7024    #[inline]
7025    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
7026        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7027    }
7028    #[inline]
7029    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
7030        unsafe {
7031            let val: u32 = ::std::mem::transmute(val);
7032            self._bitfield_1.set(0usize, 1u8, val as u64)
7033        }
7034    }
7035    #[inline]
7036    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
7037        unsafe {
7038            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7039                ::std::ptr::addr_of!((*this)._bitfield_1),
7040                0usize,
7041                1u8,
7042            ) as u32)
7043        }
7044    }
7045    #[inline]
7046    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7047        unsafe {
7048            let val: u32 = ::std::mem::transmute(val);
7049            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7050                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7051                0usize,
7052                1u8,
7053                val as u64,
7054            )
7055        }
7056    }
7057    #[inline]
7058    pub fn error(&self) -> ::std::os::raw::c_uint {
7059        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7060    }
7061    #[inline]
7062    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7063        unsafe {
7064            let val: u32 = ::std::mem::transmute(val);
7065            self._bitfield_1.set(1usize, 1u8, val as u64)
7066        }
7067    }
7068    #[inline]
7069    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7070        unsafe {
7071            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7072                ::std::ptr::addr_of!((*this)._bitfield_1),
7073                1usize,
7074                1u8,
7075            ) as u32)
7076        }
7077    }
7078    #[inline]
7079    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7080        unsafe {
7081            let val: u32 = ::std::mem::transmute(val);
7082            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7083                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7084                1usize,
7085                1u8,
7086                val as u64,
7087            )
7088        }
7089    }
7090    #[inline]
7091    pub fn new_bitfield_1(
7092        can_resize: ::std::os::raw::c_uint,
7093        error: ::std::os::raw::c_uint,
7094    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7095        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7096        __bindgen_bitfield_unit.set(0usize, 1u8, {
7097            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7098            can_resize as u64
7099        });
7100        __bindgen_bitfield_unit.set(1usize, 1u8, {
7101            let error: u32 = unsafe { ::std::mem::transmute(error) };
7102            error as u64
7103        });
7104        __bindgen_bitfield_unit
7105    }
7106}
7107#[repr(C)]
7108#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7109pub struct cbb_child_st {
7110    pub base: *mut cbb_buffer_st,
7111    pub offset: usize,
7112    pub pending_len_len: u8,
7113    pub _bitfield_align_1: [u8; 0],
7114    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7115    pub __bindgen_padding_0: [u16; 3usize],
7116}
7117#[test]
7118fn bindgen_test_layout_cbb_child_st() {
7119    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7120    let ptr = UNINIT.as_ptr();
7121    assert_eq!(
7122        ::std::mem::size_of::<cbb_child_st>(),
7123        24usize,
7124        "Size of cbb_child_st"
7125    );
7126    assert_eq!(
7127        ::std::mem::align_of::<cbb_child_st>(),
7128        8usize,
7129        "Alignment of cbb_child_st"
7130    );
7131    assert_eq!(
7132        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7133        0usize,
7134        "Offset of field: cbb_child_st::base"
7135    );
7136    assert_eq!(
7137        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7138        8usize,
7139        "Offset of field: cbb_child_st::offset"
7140    );
7141    assert_eq!(
7142        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7143        16usize,
7144        "Offset of field: cbb_child_st::pending_len_len"
7145    );
7146}
7147impl Default for cbb_child_st {
7148    fn default() -> Self {
7149        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7150        unsafe {
7151            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7152            s.assume_init()
7153        }
7154    }
7155}
7156impl cbb_child_st {
7157    #[inline]
7158    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7159        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7160    }
7161    #[inline]
7162    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7163        unsafe {
7164            let val: u32 = ::std::mem::transmute(val);
7165            self._bitfield_1.set(0usize, 1u8, val as u64)
7166        }
7167    }
7168    #[inline]
7169    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7170        unsafe {
7171            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7172                ::std::ptr::addr_of!((*this)._bitfield_1),
7173                0usize,
7174                1u8,
7175            ) as u32)
7176        }
7177    }
7178    #[inline]
7179    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7180        unsafe {
7181            let val: u32 = ::std::mem::transmute(val);
7182            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7183                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7184                0usize,
7185                1u8,
7186                val as u64,
7187            )
7188        }
7189    }
7190    #[inline]
7191    pub fn new_bitfield_1(
7192        pending_is_asn1: ::std::os::raw::c_uint,
7193    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7194        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7195        __bindgen_bitfield_unit.set(0usize, 1u8, {
7196            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7197            pending_is_asn1 as u64
7198        });
7199        __bindgen_bitfield_unit
7200    }
7201}
7202#[repr(C)]
7203#[derive(Copy, Clone)]
7204pub struct cbb_st {
7205    pub child: *mut CBB,
7206    pub is_child: ::std::os::raw::c_char,
7207    pub u: cbb_st__bindgen_ty_1,
7208}
7209#[repr(C)]
7210#[derive(Copy, Clone)]
7211pub union cbb_st__bindgen_ty_1 {
7212    pub base: cbb_buffer_st,
7213    pub child: cbb_child_st,
7214}
7215#[test]
7216fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7217    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7218    let ptr = UNINIT.as_ptr();
7219    assert_eq!(
7220        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7221        32usize,
7222        "Size of cbb_st__bindgen_ty_1"
7223    );
7224    assert_eq!(
7225        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7226        8usize,
7227        "Alignment of cbb_st__bindgen_ty_1"
7228    );
7229    assert_eq!(
7230        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7231        0usize,
7232        "Offset of field: cbb_st__bindgen_ty_1::base"
7233    );
7234    assert_eq!(
7235        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7236        0usize,
7237        "Offset of field: cbb_st__bindgen_ty_1::child"
7238    );
7239}
7240impl Default for cbb_st__bindgen_ty_1 {
7241    fn default() -> Self {
7242        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7243        unsafe {
7244            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7245            s.assume_init()
7246        }
7247    }
7248}
7249#[test]
7250fn bindgen_test_layout_cbb_st() {
7251    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7252    let ptr = UNINIT.as_ptr();
7253    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7254    assert_eq!(
7255        ::std::mem::align_of::<cbb_st>(),
7256        8usize,
7257        "Alignment of cbb_st"
7258    );
7259    assert_eq!(
7260        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7261        0usize,
7262        "Offset of field: cbb_st::child"
7263    );
7264    assert_eq!(
7265        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7266        8usize,
7267        "Offset of field: cbb_st::is_child"
7268    );
7269    assert_eq!(
7270        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7271        16usize,
7272        "Offset of field: cbb_st::u"
7273    );
7274}
7275impl Default for cbb_st {
7276    fn default() -> Self {
7277        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7278        unsafe {
7279            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7280            s.assume_init()
7281        }
7282    }
7283}
7284extern "C" {
7285    #[link_name = "\u{1}aws_lc_0_39_1_CBB_zero"]
7286    pub fn CBB_zero(cbb: *mut CBB);
7287}
7288extern "C" {
7289    #[link_name = "\u{1}aws_lc_0_39_1_CBB_init"]
7290    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7291}
7292extern "C" {
7293    #[link_name = "\u{1}aws_lc_0_39_1_CBB_init_fixed"]
7294    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7295}
7296extern "C" {
7297    #[link_name = "\u{1}aws_lc_0_39_1_CBB_cleanup"]
7298    pub fn CBB_cleanup(cbb: *mut CBB);
7299}
7300extern "C" {
7301    #[link_name = "\u{1}aws_lc_0_39_1_CBB_finish"]
7302    pub fn CBB_finish(
7303        cbb: *mut CBB,
7304        out_data: *mut *mut u8,
7305        out_len: *mut usize,
7306    ) -> ::std::os::raw::c_int;
7307}
7308extern "C" {
7309    #[link_name = "\u{1}aws_lc_0_39_1_CBB_flush"]
7310    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7311}
7312extern "C" {
7313    #[link_name = "\u{1}aws_lc_0_39_1_CBB_data"]
7314    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7315}
7316extern "C" {
7317    #[link_name = "\u{1}aws_lc_0_39_1_CBB_len"]
7318    pub fn CBB_len(cbb: *const CBB) -> usize;
7319}
7320extern "C" {
7321    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u8_length_prefixed"]
7322    pub fn CBB_add_u8_length_prefixed(
7323        cbb: *mut CBB,
7324        out_contents: *mut CBB,
7325    ) -> ::std::os::raw::c_int;
7326}
7327extern "C" {
7328    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u16_length_prefixed"]
7329    pub fn CBB_add_u16_length_prefixed(
7330        cbb: *mut CBB,
7331        out_contents: *mut CBB,
7332    ) -> ::std::os::raw::c_int;
7333}
7334extern "C" {
7335    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u24_length_prefixed"]
7336    pub fn CBB_add_u24_length_prefixed(
7337        cbb: *mut CBB,
7338        out_contents: *mut CBB,
7339    ) -> ::std::os::raw::c_int;
7340}
7341extern "C" {
7342    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1"]
7343    pub fn CBB_add_asn1(
7344        cbb: *mut CBB,
7345        out_contents: *mut CBB,
7346        tag: CBS_ASN1_TAG,
7347    ) -> ::std::os::raw::c_int;
7348}
7349extern "C" {
7350    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_bytes"]
7351    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7352}
7353extern "C" {
7354    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_zeros"]
7355    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7356}
7357extern "C" {
7358    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_space"]
7359    pub fn CBB_add_space(
7360        cbb: *mut CBB,
7361        out_data: *mut *mut u8,
7362        len: usize,
7363    ) -> ::std::os::raw::c_int;
7364}
7365extern "C" {
7366    #[link_name = "\u{1}aws_lc_0_39_1_CBB_reserve"]
7367    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7368}
7369extern "C" {
7370    #[link_name = "\u{1}aws_lc_0_39_1_CBB_did_write"]
7371    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7372}
7373extern "C" {
7374    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u8"]
7375    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7376}
7377extern "C" {
7378    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u16"]
7379    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7380}
7381extern "C" {
7382    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u16le"]
7383    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7384}
7385extern "C" {
7386    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u24"]
7387    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7388}
7389extern "C" {
7390    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u32"]
7391    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7392}
7393extern "C" {
7394    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u32le"]
7395    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7396}
7397extern "C" {
7398    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u64"]
7399    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7400}
7401extern "C" {
7402    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_u64le"]
7403    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7404}
7405extern "C" {
7406    #[link_name = "\u{1}aws_lc_0_39_1_CBB_discard_child"]
7407    pub fn CBB_discard_child(cbb: *mut CBB);
7408}
7409extern "C" {
7410    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1_uint64"]
7411    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7412}
7413extern "C" {
7414    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1_uint64_with_tag"]
7415    pub fn CBB_add_asn1_uint64_with_tag(
7416        cbb: *mut CBB,
7417        value: u64,
7418        tag: CBS_ASN1_TAG,
7419    ) -> ::std::os::raw::c_int;
7420}
7421extern "C" {
7422    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1_int64"]
7423    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7424}
7425extern "C" {
7426    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1_int64_with_tag"]
7427    pub fn CBB_add_asn1_int64_with_tag(
7428        cbb: *mut CBB,
7429        value: i64,
7430        tag: CBS_ASN1_TAG,
7431    ) -> ::std::os::raw::c_int;
7432}
7433extern "C" {
7434    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1_octet_string"]
7435    pub fn CBB_add_asn1_octet_string(
7436        cbb: *mut CBB,
7437        data: *const u8,
7438        data_len: usize,
7439    ) -> ::std::os::raw::c_int;
7440}
7441extern "C" {
7442    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1_bool"]
7443    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7444}
7445extern "C" {
7446    #[link_name = "\u{1}aws_lc_0_39_1_CBB_add_asn1_oid_from_text"]
7447    pub fn CBB_add_asn1_oid_from_text(
7448        cbb: *mut CBB,
7449        text: *const ::std::os::raw::c_char,
7450        len: usize,
7451    ) -> ::std::os::raw::c_int;
7452}
7453extern "C" {
7454    #[link_name = "\u{1}aws_lc_0_39_1_CBB_flush_asn1_set_of"]
7455    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7456}
7457extern "C" {
7458    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_chacha_20"]
7459    pub fn CRYPTO_chacha_20(
7460        out: *mut u8,
7461        in_: *const u8,
7462        in_len: usize,
7463        key: *const u8,
7464        nonce: *const u8,
7465        counter: u32,
7466    );
7467}
7468extern "C" {
7469    #[link_name = "\u{1}aws_lc_0_39_1_EVP_rc4"]
7470    pub fn EVP_rc4() -> *const EVP_CIPHER;
7471}
7472extern "C" {
7473    #[link_name = "\u{1}aws_lc_0_39_1_EVP_des_cbc"]
7474    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7475}
7476extern "C" {
7477    #[link_name = "\u{1}aws_lc_0_39_1_EVP_des_ecb"]
7478    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7479}
7480extern "C" {
7481    #[link_name = "\u{1}aws_lc_0_39_1_EVP_des_ede"]
7482    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7483}
7484extern "C" {
7485    #[link_name = "\u{1}aws_lc_0_39_1_EVP_des_ede3"]
7486    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7487}
7488extern "C" {
7489    #[link_name = "\u{1}aws_lc_0_39_1_EVP_des_ede_cbc"]
7490    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7491}
7492extern "C" {
7493    #[link_name = "\u{1}aws_lc_0_39_1_EVP_des_ede3_cbc"]
7494    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7495}
7496extern "C" {
7497    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_ecb"]
7498    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7499}
7500extern "C" {
7501    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_cbc"]
7502    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7503}
7504extern "C" {
7505    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_ctr"]
7506    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7507}
7508extern "C" {
7509    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_ofb"]
7510    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7511}
7512extern "C" {
7513    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_ecb"]
7514    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7515}
7516extern "C" {
7517    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_cbc"]
7518    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7519}
7520extern "C" {
7521    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_ctr"]
7522    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7523}
7524extern "C" {
7525    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_ofb"]
7526    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7527}
7528extern "C" {
7529    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_xts"]
7530    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7531}
7532extern "C" {
7533    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_wrap"]
7534    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7535}
7536extern "C" {
7537    #[link_name = "\u{1}aws_lc_0_39_1_EVP_enc_null"]
7538    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7539}
7540extern "C" {
7541    #[link_name = "\u{1}aws_lc_0_39_1_EVP_rc2_cbc"]
7542    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7543}
7544extern "C" {
7545    #[link_name = "\u{1}aws_lc_0_39_1_EVP_rc2_40_cbc"]
7546    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7547}
7548extern "C" {
7549    #[link_name = "\u{1}aws_lc_0_39_1_EVP_chacha20_poly1305"]
7550    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7551}
7552extern "C" {
7553    #[link_name = "\u{1}aws_lc_0_39_1_EVP_get_cipherbynid"]
7554    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7555}
7556extern "C" {
7557    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_init"]
7558    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7559}
7560extern "C" {
7561    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_new"]
7562    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7563}
7564extern "C" {
7565    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_cleanup"]
7566    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7567}
7568extern "C" {
7569    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_free"]
7570    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7571}
7572extern "C" {
7573    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_copy"]
7574    pub fn EVP_CIPHER_CTX_copy(
7575        out: *mut EVP_CIPHER_CTX,
7576        in_: *const EVP_CIPHER_CTX,
7577    ) -> ::std::os::raw::c_int;
7578}
7579extern "C" {
7580    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_reset"]
7581    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7582}
7583extern "C" {
7584    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CipherInit_ex"]
7585    pub fn EVP_CipherInit_ex(
7586        ctx: *mut EVP_CIPHER_CTX,
7587        cipher: *const EVP_CIPHER,
7588        engine: *mut ENGINE,
7589        key: *const u8,
7590        iv: *const u8,
7591        enc: ::std::os::raw::c_int,
7592    ) -> ::std::os::raw::c_int;
7593}
7594extern "C" {
7595    #[link_name = "\u{1}aws_lc_0_39_1_EVP_EncryptInit_ex"]
7596    pub fn EVP_EncryptInit_ex(
7597        ctx: *mut EVP_CIPHER_CTX,
7598        cipher: *const EVP_CIPHER,
7599        impl_: *mut ENGINE,
7600        key: *const u8,
7601        iv: *const u8,
7602    ) -> ::std::os::raw::c_int;
7603}
7604extern "C" {
7605    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DecryptInit_ex"]
7606    pub fn EVP_DecryptInit_ex(
7607        ctx: *mut EVP_CIPHER_CTX,
7608        cipher: *const EVP_CIPHER,
7609        impl_: *mut ENGINE,
7610        key: *const u8,
7611        iv: *const u8,
7612    ) -> ::std::os::raw::c_int;
7613}
7614extern "C" {
7615    #[link_name = "\u{1}aws_lc_0_39_1_EVP_EncryptUpdate"]
7616    pub fn EVP_EncryptUpdate(
7617        ctx: *mut EVP_CIPHER_CTX,
7618        out: *mut u8,
7619        out_len: *mut ::std::os::raw::c_int,
7620        in_: *const u8,
7621        in_len: ::std::os::raw::c_int,
7622    ) -> ::std::os::raw::c_int;
7623}
7624extern "C" {
7625    #[link_name = "\u{1}aws_lc_0_39_1_EVP_EncryptFinal_ex"]
7626    pub fn EVP_EncryptFinal_ex(
7627        ctx: *mut EVP_CIPHER_CTX,
7628        out: *mut u8,
7629        out_len: *mut ::std::os::raw::c_int,
7630    ) -> ::std::os::raw::c_int;
7631}
7632extern "C" {
7633    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DecryptUpdate"]
7634    pub fn EVP_DecryptUpdate(
7635        ctx: *mut EVP_CIPHER_CTX,
7636        out: *mut u8,
7637        out_len: *mut ::std::os::raw::c_int,
7638        in_: *const u8,
7639        in_len: ::std::os::raw::c_int,
7640    ) -> ::std::os::raw::c_int;
7641}
7642extern "C" {
7643    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DecryptFinal_ex"]
7644    pub fn EVP_DecryptFinal_ex(
7645        ctx: *mut EVP_CIPHER_CTX,
7646        out: *mut u8,
7647        out_len: *mut ::std::os::raw::c_int,
7648    ) -> ::std::os::raw::c_int;
7649}
7650extern "C" {
7651    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CipherUpdate"]
7652    pub fn EVP_CipherUpdate(
7653        ctx: *mut EVP_CIPHER_CTX,
7654        out: *mut u8,
7655        out_len: *mut ::std::os::raw::c_int,
7656        in_: *const u8,
7657        in_len: ::std::os::raw::c_int,
7658    ) -> ::std::os::raw::c_int;
7659}
7660extern "C" {
7661    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CipherFinal_ex"]
7662    pub fn EVP_CipherFinal_ex(
7663        ctx: *mut EVP_CIPHER_CTX,
7664        out: *mut u8,
7665        out_len: *mut ::std::os::raw::c_int,
7666    ) -> ::std::os::raw::c_int;
7667}
7668extern "C" {
7669    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_cipher"]
7670    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7671}
7672extern "C" {
7673    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_nid"]
7674    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7675}
7676extern "C" {
7677    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_encrypting"]
7678    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7679}
7680extern "C" {
7681    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_block_size"]
7682    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7683}
7684extern "C" {
7685    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_key_length"]
7686    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7687}
7688extern "C" {
7689    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_iv_length"]
7690    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7691}
7692extern "C" {
7693    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_get_app_data"]
7694    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7695}
7696extern "C" {
7697    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_set_app_data"]
7698    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7699}
7700extern "C" {
7701    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_flags"]
7702    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7703}
7704extern "C" {
7705    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_mode"]
7706    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7707}
7708extern "C" {
7709    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_ctrl"]
7710    pub fn EVP_CIPHER_CTX_ctrl(
7711        ctx: *mut EVP_CIPHER_CTX,
7712        command: ::std::os::raw::c_int,
7713        arg: ::std::os::raw::c_int,
7714        ptr: *mut ::std::os::raw::c_void,
7715    ) -> ::std::os::raw::c_int;
7716}
7717extern "C" {
7718    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_set_padding"]
7719    pub fn EVP_CIPHER_CTX_set_padding(
7720        ctx: *mut EVP_CIPHER_CTX,
7721        pad: ::std::os::raw::c_int,
7722    ) -> ::std::os::raw::c_int;
7723}
7724extern "C" {
7725    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_set_key_length"]
7726    pub fn EVP_CIPHER_CTX_set_key_length(
7727        ctx: *mut EVP_CIPHER_CTX,
7728        key_len: ::std::os::raw::c_uint,
7729    ) -> ::std::os::raw::c_int;
7730}
7731extern "C" {
7732    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_nid"]
7733    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7734}
7735extern "C" {
7736    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_name"]
7737    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7738}
7739extern "C" {
7740    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_block_size"]
7741    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7742}
7743extern "C" {
7744    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_key_length"]
7745    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7746}
7747extern "C" {
7748    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_iv_length"]
7749    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7750}
7751extern "C" {
7752    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_flags"]
7753    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7754}
7755extern "C" {
7756    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_mode"]
7757    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7758}
7759extern "C" {
7760    #[link_name = "\u{1}aws_lc_0_39_1_EVP_BytesToKey"]
7761    pub fn EVP_BytesToKey(
7762        type_: *const EVP_CIPHER,
7763        md: *const EVP_MD,
7764        salt: *const u8,
7765        data: *const u8,
7766        data_len: usize,
7767        count: ::std::os::raw::c_uint,
7768        key: *mut u8,
7769        iv: *mut u8,
7770    ) -> ::std::os::raw::c_int;
7771}
7772extern "C" {
7773    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_cbc_hmac_sha1"]
7774    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7775}
7776extern "C" {
7777    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_cbc_hmac_sha1"]
7778    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7779}
7780extern "C" {
7781    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_cbc_hmac_sha256"]
7782    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7783}
7784extern "C" {
7785    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_cbc_hmac_sha256"]
7786    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7787}
7788extern "C" {
7789    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CipherInit"]
7790    pub fn EVP_CipherInit(
7791        ctx: *mut EVP_CIPHER_CTX,
7792        cipher: *const EVP_CIPHER,
7793        key: *const u8,
7794        iv: *const u8,
7795        enc: ::std::os::raw::c_int,
7796    ) -> ::std::os::raw::c_int;
7797}
7798extern "C" {
7799    #[link_name = "\u{1}aws_lc_0_39_1_EVP_EncryptInit"]
7800    pub fn EVP_EncryptInit(
7801        ctx: *mut EVP_CIPHER_CTX,
7802        cipher: *const EVP_CIPHER,
7803        key: *const u8,
7804        iv: *const u8,
7805    ) -> ::std::os::raw::c_int;
7806}
7807extern "C" {
7808    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DecryptInit"]
7809    pub fn EVP_DecryptInit(
7810        ctx: *mut EVP_CIPHER_CTX,
7811        cipher: *const EVP_CIPHER,
7812        key: *const u8,
7813        iv: *const u8,
7814    ) -> ::std::os::raw::c_int;
7815}
7816extern "C" {
7817    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CipherFinal"]
7818    pub fn EVP_CipherFinal(
7819        ctx: *mut EVP_CIPHER_CTX,
7820        out: *mut u8,
7821        out_len: *mut ::std::os::raw::c_int,
7822    ) -> ::std::os::raw::c_int;
7823}
7824extern "C" {
7825    #[link_name = "\u{1}aws_lc_0_39_1_EVP_EncryptFinal"]
7826    pub fn EVP_EncryptFinal(
7827        ctx: *mut EVP_CIPHER_CTX,
7828        out: *mut u8,
7829        out_len: *mut ::std::os::raw::c_int,
7830    ) -> ::std::os::raw::c_int;
7831}
7832extern "C" {
7833    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DecryptFinal"]
7834    pub fn EVP_DecryptFinal(
7835        ctx: *mut EVP_CIPHER_CTX,
7836        out: *mut u8,
7837        out_len: *mut ::std::os::raw::c_int,
7838    ) -> ::std::os::raw::c_int;
7839}
7840extern "C" {
7841    #[link_name = "\u{1}aws_lc_0_39_1_EVP_Cipher"]
7842    pub fn EVP_Cipher(
7843        ctx: *mut EVP_CIPHER_CTX,
7844        out: *mut u8,
7845        in_: *const u8,
7846        in_len: usize,
7847    ) -> ::std::os::raw::c_int;
7848}
7849extern "C" {
7850    #[link_name = "\u{1}aws_lc_0_39_1_EVP_get_cipherbyname"]
7851    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7852}
7853extern "C" {
7854    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_gcm"]
7855    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7856}
7857extern "C" {
7858    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_gcm"]
7859    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7860}
7861extern "C" {
7862    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_ccm"]
7863    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
7864}
7865extern "C" {
7866    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_ccm"]
7867    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
7868}
7869extern "C" {
7870    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_ccm"]
7871    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
7872}
7873extern "C" {
7874    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_ecb"]
7875    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
7876}
7877extern "C" {
7878    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_cbc"]
7879    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
7880}
7881extern "C" {
7882    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_ctr"]
7883    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
7884}
7885extern "C" {
7886    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_gcm"]
7887    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
7888}
7889extern "C" {
7890    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_ofb"]
7891    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
7892}
7893extern "C" {
7894    #[link_name = "\u{1}aws_lc_0_39_1_EVP_des_ede3_ecb"]
7895    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
7896}
7897extern "C" {
7898    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_cfb128"]
7899    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
7900}
7901extern "C" {
7902    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_cfb"]
7903    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
7904}
7905extern "C" {
7906    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_cfb1"]
7907    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
7908}
7909extern "C" {
7910    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_128_cfb8"]
7911    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
7912}
7913extern "C" {
7914    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_cfb128"]
7915    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
7916}
7917extern "C" {
7918    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_cfb"]
7919    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
7920}
7921extern "C" {
7922    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_cfb1"]
7923    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
7924}
7925extern "C" {
7926    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_192_cfb8"]
7927    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
7928}
7929extern "C" {
7930    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_cfb128"]
7931    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
7932}
7933extern "C" {
7934    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_cfb"]
7935    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
7936}
7937extern "C" {
7938    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_cfb1"]
7939    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
7940}
7941extern "C" {
7942    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aes_256_cfb8"]
7943    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
7944}
7945extern "C" {
7946    #[link_name = "\u{1}aws_lc_0_39_1_EVP_bf_ecb"]
7947    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
7948}
7949extern "C" {
7950    #[link_name = "\u{1}aws_lc_0_39_1_EVP_bf_cbc"]
7951    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
7952}
7953extern "C" {
7954    #[link_name = "\u{1}aws_lc_0_39_1_EVP_bf_cfb"]
7955    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
7956}
7957extern "C" {
7958    #[link_name = "\u{1}aws_lc_0_39_1_EVP_bf_cfb64"]
7959    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
7960}
7961extern "C" {
7962    #[link_name = "\u{1}aws_lc_0_39_1_EVP_bf_ofb"]
7963    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
7964}
7965extern "C" {
7966    #[link_name = "\u{1}aws_lc_0_39_1_EVP_cast5_ecb"]
7967    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
7968}
7969extern "C" {
7970    #[link_name = "\u{1}aws_lc_0_39_1_EVP_cast5_cbc"]
7971    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
7972}
7973extern "C" {
7974    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_CTX_set_flags"]
7975    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
7976}
7977extern "C" {
7978    #[link_name = "\u{1}aws_lc_0_39_1_EVP_add_cipher_alias"]
7979    pub fn EVP_add_cipher_alias(
7980        a: *const ::std::os::raw::c_char,
7981        b: *const ::std::os::raw::c_char,
7982    ) -> ::std::os::raw::c_int;
7983}
7984#[repr(C)]
7985#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7986pub struct evp_cipher_ctx_st {
7987    pub cipher: *const EVP_CIPHER,
7988    pub app_data: *mut ::std::os::raw::c_void,
7989    pub cipher_data: *mut ::std::os::raw::c_void,
7990    pub key_len: ::std::os::raw::c_uint,
7991    pub encrypt: ::std::os::raw::c_int,
7992    pub flags: u32,
7993    pub oiv: [u8; 16usize],
7994    pub iv: [u8; 16usize],
7995    pub buf: [u8; 32usize],
7996    pub buf_len: ::std::os::raw::c_int,
7997    pub num: ::std::os::raw::c_uint,
7998    pub final_used: ::std::os::raw::c_int,
7999    pub final_: [u8; 32usize],
8000    pub poisoned: ::std::os::raw::c_int,
8001}
8002#[test]
8003fn bindgen_test_layout_evp_cipher_ctx_st() {
8004    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
8005    let ptr = UNINIT.as_ptr();
8006    assert_eq!(
8007        ::std::mem::size_of::<evp_cipher_ctx_st>(),
8008        152usize,
8009        "Size of evp_cipher_ctx_st"
8010    );
8011    assert_eq!(
8012        ::std::mem::align_of::<evp_cipher_ctx_st>(),
8013        8usize,
8014        "Alignment of evp_cipher_ctx_st"
8015    );
8016    assert_eq!(
8017        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8018        0usize,
8019        "Offset of field: evp_cipher_ctx_st::cipher"
8020    );
8021    assert_eq!(
8022        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
8023        8usize,
8024        "Offset of field: evp_cipher_ctx_st::app_data"
8025    );
8026    assert_eq!(
8027        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
8028        16usize,
8029        "Offset of field: evp_cipher_ctx_st::cipher_data"
8030    );
8031    assert_eq!(
8032        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8033        24usize,
8034        "Offset of field: evp_cipher_ctx_st::key_len"
8035    );
8036    assert_eq!(
8037        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8038        28usize,
8039        "Offset of field: evp_cipher_ctx_st::encrypt"
8040    );
8041    assert_eq!(
8042        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8043        32usize,
8044        "Offset of field: evp_cipher_ctx_st::flags"
8045    );
8046    assert_eq!(
8047        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8048        36usize,
8049        "Offset of field: evp_cipher_ctx_st::oiv"
8050    );
8051    assert_eq!(
8052        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8053        52usize,
8054        "Offset of field: evp_cipher_ctx_st::iv"
8055    );
8056    assert_eq!(
8057        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8058        68usize,
8059        "Offset of field: evp_cipher_ctx_st::buf"
8060    );
8061    assert_eq!(
8062        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8063        100usize,
8064        "Offset of field: evp_cipher_ctx_st::buf_len"
8065    );
8066    assert_eq!(
8067        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8068        104usize,
8069        "Offset of field: evp_cipher_ctx_st::num"
8070    );
8071    assert_eq!(
8072        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8073        108usize,
8074        "Offset of field: evp_cipher_ctx_st::final_used"
8075    );
8076    assert_eq!(
8077        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8078        112usize,
8079        "Offset of field: evp_cipher_ctx_st::final_"
8080    );
8081    assert_eq!(
8082        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8083        144usize,
8084        "Offset of field: evp_cipher_ctx_st::poisoned"
8085    );
8086}
8087impl Default for evp_cipher_ctx_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}
8096#[repr(C)]
8097#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8098pub struct evp_cipher_info_st {
8099    pub cipher: *const EVP_CIPHER,
8100    pub iv: [::std::os::raw::c_uchar; 16usize],
8101}
8102#[test]
8103fn bindgen_test_layout_evp_cipher_info_st() {
8104    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8105    let ptr = UNINIT.as_ptr();
8106    assert_eq!(
8107        ::std::mem::size_of::<evp_cipher_info_st>(),
8108        24usize,
8109        "Size of evp_cipher_info_st"
8110    );
8111    assert_eq!(
8112        ::std::mem::align_of::<evp_cipher_info_st>(),
8113        8usize,
8114        "Alignment of evp_cipher_info_st"
8115    );
8116    assert_eq!(
8117        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8118        0usize,
8119        "Offset of field: evp_cipher_info_st::cipher"
8120    );
8121    assert_eq!(
8122        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8123        8usize,
8124        "Offset of field: evp_cipher_info_st::iv"
8125    );
8126}
8127impl Default for evp_cipher_info_st {
8128    fn default() -> Self {
8129        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8130        unsafe {
8131            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8132            s.assume_init()
8133        }
8134    }
8135}
8136pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8137extern "C" {
8138    #[link_name = "\u{1}aws_lc_0_39_1_AES_CMAC"]
8139    pub fn AES_CMAC(
8140        out: *mut u8,
8141        key: *const u8,
8142        key_len: usize,
8143        in_: *const u8,
8144        in_len: usize,
8145    ) -> ::std::os::raw::c_int;
8146}
8147extern "C" {
8148    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_CTX_new"]
8149    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8150}
8151extern "C" {
8152    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_CTX_free"]
8153    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8154}
8155extern "C" {
8156    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_CTX_copy"]
8157    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8158}
8159extern "C" {
8160    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_Init"]
8161    pub fn CMAC_Init(
8162        ctx: *mut CMAC_CTX,
8163        key: *const ::std::os::raw::c_void,
8164        key_len: usize,
8165        cipher: *const EVP_CIPHER,
8166        engine: *mut ENGINE,
8167    ) -> ::std::os::raw::c_int;
8168}
8169extern "C" {
8170    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_Reset"]
8171    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8172}
8173extern "C" {
8174    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_Update"]
8175    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8176}
8177extern "C" {
8178    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_Final"]
8179    pub fn CMAC_Final(
8180        ctx: *mut CMAC_CTX,
8181        out: *mut u8,
8182        out_len: *mut usize,
8183    ) -> ::std::os::raw::c_int;
8184}
8185extern "C" {
8186    #[link_name = "\u{1}aws_lc_0_39_1_CMAC_CTX_get0_cipher_ctx"]
8187    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8188}
8189#[repr(C)]
8190#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8191pub struct conf_value_st {
8192    pub section: *mut ::std::os::raw::c_char,
8193    pub name: *mut ::std::os::raw::c_char,
8194    pub value: *mut ::std::os::raw::c_char,
8195}
8196#[test]
8197fn bindgen_test_layout_conf_value_st() {
8198    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8199    let ptr = UNINIT.as_ptr();
8200    assert_eq!(
8201        ::std::mem::size_of::<conf_value_st>(),
8202        24usize,
8203        "Size of conf_value_st"
8204    );
8205    assert_eq!(
8206        ::std::mem::align_of::<conf_value_st>(),
8207        8usize,
8208        "Alignment of conf_value_st"
8209    );
8210    assert_eq!(
8211        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8212        0usize,
8213        "Offset of field: conf_value_st::section"
8214    );
8215    assert_eq!(
8216        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8217        8usize,
8218        "Offset of field: conf_value_st::name"
8219    );
8220    assert_eq!(
8221        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8222        16usize,
8223        "Offset of field: conf_value_st::value"
8224    );
8225}
8226impl Default for conf_value_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}
8235#[repr(C)]
8236#[derive(Debug, Copy, Clone)]
8237pub struct stack_st_CONF_VALUE {
8238    _unused: [u8; 0],
8239}
8240#[repr(C)]
8241#[derive(Debug, Copy, Clone)]
8242pub struct lhash_st_CONF_VALUE {
8243    _unused: [u8; 0],
8244}
8245#[repr(C)]
8246#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8247pub struct conf_st {
8248    pub data: *mut lhash_st_CONF_VALUE,
8249}
8250#[test]
8251fn bindgen_test_layout_conf_st() {
8252    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8253    let ptr = UNINIT.as_ptr();
8254    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8255    assert_eq!(
8256        ::std::mem::align_of::<conf_st>(),
8257        8usize,
8258        "Alignment of conf_st"
8259    );
8260    assert_eq!(
8261        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8262        0usize,
8263        "Offset of field: conf_st::data"
8264    );
8265}
8266impl Default for conf_st {
8267    fn default() -> Self {
8268        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8269        unsafe {
8270            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8271            s.assume_init()
8272        }
8273    }
8274}
8275extern "C" {
8276    #[link_name = "\u{1}aws_lc_0_39_1_X25519_keypair"]
8277    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8278}
8279extern "C" {
8280    #[link_name = "\u{1}aws_lc_0_39_1_X25519"]
8281    pub fn X25519(
8282        out_shared_key: *mut u8,
8283        private_key: *const u8,
8284        peer_public_value: *const u8,
8285    ) -> ::std::os::raw::c_int;
8286}
8287extern "C" {
8288    #[link_name = "\u{1}aws_lc_0_39_1_X25519_public_from_private"]
8289    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8290}
8291extern "C" {
8292    #[link_name = "\u{1}aws_lc_0_39_1_ED25519_keypair"]
8293    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8294}
8295extern "C" {
8296    #[link_name = "\u{1}aws_lc_0_39_1_ED25519_sign"]
8297    pub fn ED25519_sign(
8298        out_sig: *mut u8,
8299        message: *const u8,
8300        message_len: usize,
8301        private_key: *const u8,
8302    ) -> ::std::os::raw::c_int;
8303}
8304extern "C" {
8305    #[link_name = "\u{1}aws_lc_0_39_1_ED25519_verify"]
8306    pub fn ED25519_verify(
8307        message: *const u8,
8308        message_len: usize,
8309        signature: *const u8,
8310        public_key: *const u8,
8311    ) -> ::std::os::raw::c_int;
8312}
8313extern "C" {
8314    #[link_name = "\u{1}aws_lc_0_39_1_ED25519ctx_sign"]
8315    pub fn ED25519ctx_sign(
8316        out_sig: *mut u8,
8317        message: *const u8,
8318        message_len: usize,
8319        private_key: *const u8,
8320        context: *const u8,
8321        context_len: usize,
8322    ) -> ::std::os::raw::c_int;
8323}
8324extern "C" {
8325    #[link_name = "\u{1}aws_lc_0_39_1_ED25519ctx_verify"]
8326    pub fn ED25519ctx_verify(
8327        message: *const u8,
8328        message_len: usize,
8329        signature: *const u8,
8330        public_key: *const u8,
8331        context: *const u8,
8332        context_len: usize,
8333    ) -> ::std::os::raw::c_int;
8334}
8335extern "C" {
8336    #[link_name = "\u{1}aws_lc_0_39_1_ED25519ph_sign"]
8337    pub fn ED25519ph_sign(
8338        out_sig: *mut u8,
8339        message: *const u8,
8340        message_len: usize,
8341        private_key: *const u8,
8342        context: *const u8,
8343        context_len: usize,
8344    ) -> ::std::os::raw::c_int;
8345}
8346extern "C" {
8347    #[link_name = "\u{1}aws_lc_0_39_1_ED25519ph_verify"]
8348    pub fn ED25519ph_verify(
8349        message: *const u8,
8350        message_len: usize,
8351        signature: *const u8,
8352        public_key: *const u8,
8353        context: *const u8,
8354        context_len: usize,
8355    ) -> ::std::os::raw::c_int;
8356}
8357extern "C" {
8358    #[link_name = "\u{1}aws_lc_0_39_1_ED25519ph_sign_digest"]
8359    pub fn ED25519ph_sign_digest(
8360        out_sig: *mut u8,
8361        digest: *const u8,
8362        private_key: *const u8,
8363        context: *const u8,
8364        context_len: usize,
8365    ) -> ::std::os::raw::c_int;
8366}
8367extern "C" {
8368    #[link_name = "\u{1}aws_lc_0_39_1_ED25519ph_verify_digest"]
8369    pub fn ED25519ph_verify_digest(
8370        digest: *const u8,
8371        signature: *const u8,
8372        public_key: *const u8,
8373        context: *const u8,
8374        context_len: usize,
8375    ) -> ::std::os::raw::c_int;
8376}
8377extern "C" {
8378    #[link_name = "\u{1}aws_lc_0_39_1_ED25519_keypair_from_seed"]
8379    pub fn ED25519_keypair_from_seed(
8380        out_public_key: *mut u8,
8381        out_private_key: *mut u8,
8382        seed: *const u8,
8383    );
8384}
8385pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8386pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8387pub type spake2_role_t = ::std::os::raw::c_uint;
8388extern "C" {
8389    #[link_name = "\u{1}aws_lc_0_39_1_SPAKE2_CTX_new"]
8390    pub fn SPAKE2_CTX_new(
8391        my_role: spake2_role_t,
8392        my_name: *const u8,
8393        my_name_len: usize,
8394        their_name: *const u8,
8395        their_name_len: usize,
8396    ) -> *mut SPAKE2_CTX;
8397}
8398extern "C" {
8399    #[link_name = "\u{1}aws_lc_0_39_1_SPAKE2_CTX_free"]
8400    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8401}
8402extern "C" {
8403    #[link_name = "\u{1}aws_lc_0_39_1_SPAKE2_generate_msg"]
8404    pub fn SPAKE2_generate_msg(
8405        ctx: *mut SPAKE2_CTX,
8406        out: *mut u8,
8407        out_len: *mut usize,
8408        max_out_len: usize,
8409        password: *const u8,
8410        password_len: usize,
8411    ) -> ::std::os::raw::c_int;
8412}
8413extern "C" {
8414    #[link_name = "\u{1}aws_lc_0_39_1_SPAKE2_process_msg"]
8415    pub fn SPAKE2_process_msg(
8416        ctx: *mut SPAKE2_CTX,
8417        out_key: *mut u8,
8418        out_key_len: *mut usize,
8419        max_out_key_len: usize,
8420        their_msg: *const u8,
8421        their_msg_len: usize,
8422    ) -> ::std::os::raw::c_int;
8423}
8424extern "C" {
8425    #[link_name = "\u{1}aws_lc_0_39_1_EVP_md4"]
8426    pub fn EVP_md4() -> *const EVP_MD;
8427}
8428extern "C" {
8429    #[link_name = "\u{1}aws_lc_0_39_1_EVP_md5"]
8430    pub fn EVP_md5() -> *const EVP_MD;
8431}
8432extern "C" {
8433    #[link_name = "\u{1}aws_lc_0_39_1_EVP_ripemd160"]
8434    pub fn EVP_ripemd160() -> *const EVP_MD;
8435}
8436extern "C" {
8437    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha1"]
8438    pub fn EVP_sha1() -> *const EVP_MD;
8439}
8440extern "C" {
8441    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha224"]
8442    pub fn EVP_sha224() -> *const EVP_MD;
8443}
8444extern "C" {
8445    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha256"]
8446    pub fn EVP_sha256() -> *const EVP_MD;
8447}
8448extern "C" {
8449    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha384"]
8450    pub fn EVP_sha384() -> *const EVP_MD;
8451}
8452extern "C" {
8453    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha512"]
8454    pub fn EVP_sha512() -> *const EVP_MD;
8455}
8456extern "C" {
8457    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha512_224"]
8458    pub fn EVP_sha512_224() -> *const EVP_MD;
8459}
8460extern "C" {
8461    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha512_256"]
8462    pub fn EVP_sha512_256() -> *const EVP_MD;
8463}
8464extern "C" {
8465    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha3_224"]
8466    pub fn EVP_sha3_224() -> *const EVP_MD;
8467}
8468extern "C" {
8469    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha3_256"]
8470    pub fn EVP_sha3_256() -> *const EVP_MD;
8471}
8472extern "C" {
8473    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha3_384"]
8474    pub fn EVP_sha3_384() -> *const EVP_MD;
8475}
8476extern "C" {
8477    #[link_name = "\u{1}aws_lc_0_39_1_EVP_sha3_512"]
8478    pub fn EVP_sha3_512() -> *const EVP_MD;
8479}
8480extern "C" {
8481    #[link_name = "\u{1}aws_lc_0_39_1_EVP_shake128"]
8482    pub fn EVP_shake128() -> *const EVP_MD;
8483}
8484extern "C" {
8485    #[link_name = "\u{1}aws_lc_0_39_1_EVP_shake256"]
8486    pub fn EVP_shake256() -> *const EVP_MD;
8487}
8488extern "C" {
8489    #[link_name = "\u{1}aws_lc_0_39_1_EVP_blake2b256"]
8490    pub fn EVP_blake2b256() -> *const EVP_MD;
8491}
8492extern "C" {
8493    #[link_name = "\u{1}aws_lc_0_39_1_EVP_md5_sha1"]
8494    pub fn EVP_md5_sha1() -> *const EVP_MD;
8495}
8496extern "C" {
8497    #[link_name = "\u{1}aws_lc_0_39_1_EVP_get_digestbynid"]
8498    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_0_39_1_EVP_get_digestbyobj"]
8502    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8503}
8504extern "C" {
8505    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_init"]
8506    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8507}
8508extern "C" {
8509    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_new"]
8510    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8511}
8512extern "C" {
8513    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_cleanup"]
8514    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8515}
8516extern "C" {
8517    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_cleanse"]
8518    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8519}
8520extern "C" {
8521    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_free"]
8522    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8523}
8524extern "C" {
8525    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_copy_ex"]
8526    pub fn EVP_MD_CTX_copy_ex(
8527        out: *mut EVP_MD_CTX,
8528        in_: *const EVP_MD_CTX,
8529    ) -> ::std::os::raw::c_int;
8530}
8531extern "C" {
8532    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_move"]
8533    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8534}
8535extern "C" {
8536    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_reset"]
8537    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8538}
8539extern "C" {
8540    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestInit_ex"]
8541    pub fn EVP_DigestInit_ex(
8542        ctx: *mut EVP_MD_CTX,
8543        type_: *const EVP_MD,
8544        engine: *mut ENGINE,
8545    ) -> ::std::os::raw::c_int;
8546}
8547extern "C" {
8548    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestInit"]
8549    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8550}
8551extern "C" {
8552    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestUpdate"]
8553    pub fn EVP_DigestUpdate(
8554        ctx: *mut EVP_MD_CTX,
8555        data: *const ::std::os::raw::c_void,
8556        len: usize,
8557    ) -> ::std::os::raw::c_int;
8558}
8559extern "C" {
8560    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestFinal_ex"]
8561    pub fn EVP_DigestFinal_ex(
8562        ctx: *mut EVP_MD_CTX,
8563        md_out: *mut u8,
8564        out_size: *mut ::std::os::raw::c_uint,
8565    ) -> ::std::os::raw::c_int;
8566}
8567extern "C" {
8568    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestFinal"]
8569    pub fn EVP_DigestFinal(
8570        ctx: *mut EVP_MD_CTX,
8571        md_out: *mut u8,
8572        out_size: *mut ::std::os::raw::c_uint,
8573    ) -> ::std::os::raw::c_int;
8574}
8575extern "C" {
8576    #[link_name = "\u{1}aws_lc_0_39_1_EVP_Digest"]
8577    pub fn EVP_Digest(
8578        data: *const ::std::os::raw::c_void,
8579        len: usize,
8580        md_out: *mut u8,
8581        out_size: *mut ::std::os::raw::c_uint,
8582        type_: *const EVP_MD,
8583        impl_: *mut ENGINE,
8584    ) -> ::std::os::raw::c_int;
8585}
8586extern "C" {
8587    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_type"]
8588    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8589}
8590extern "C" {
8591    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_flags"]
8592    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8593}
8594extern "C" {
8595    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_size"]
8596    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8597}
8598extern "C" {
8599    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_block_size"]
8600    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8601}
8602extern "C" {
8603    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_md"]
8604    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8605}
8606extern "C" {
8607    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_size"]
8608    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8609}
8610extern "C" {
8611    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_block_size"]
8612    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8613}
8614extern "C" {
8615    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_type"]
8616    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8617}
8618extern "C" {
8619    #[link_name = "\u{1}aws_lc_0_39_1_EVP_parse_digest_algorithm"]
8620    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8621}
8622extern "C" {
8623    #[link_name = "\u{1}aws_lc_0_39_1_EVP_marshal_digest_algorithm"]
8624    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8625}
8626extern "C" {
8627    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_copy"]
8628    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8629}
8630extern "C" {
8631    #[link_name = "\u{1}aws_lc_0_39_1_EVP_get_digestbyname"]
8632    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8633}
8634extern "C" {
8635    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_create"]
8636    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8637}
8638extern "C" {
8639    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_destroy"]
8640    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8641}
8642extern "C" {
8643    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestFinalXOF"]
8644    pub fn EVP_DigestFinalXOF(
8645        ctx: *mut EVP_MD_CTX,
8646        out: *mut u8,
8647        len: usize,
8648    ) -> ::std::os::raw::c_int;
8649}
8650extern "C" {
8651    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestSqueeze"]
8652    pub fn EVP_DigestSqueeze(
8653        ctx: *mut EVP_MD_CTX,
8654        out: *mut u8,
8655        len: usize,
8656    ) -> ::std::os::raw::c_int;
8657}
8658extern "C" {
8659    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_meth_get_flags"]
8660    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8661}
8662extern "C" {
8663    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_nid"]
8664    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8665}
8666extern "C" {
8667    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_set_pkey_ctx"]
8668    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8669}
8670extern "C" {
8671    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_get_pkey_ctx"]
8672    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8673}
8674extern "C" {
8675    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_pkey_ctx"]
8676    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8677}
8678#[repr(C)]
8679#[derive(Debug, Copy, Clone)]
8680pub struct evp_md_pctx_ops {
8681    _unused: [u8; 0],
8682}
8683#[repr(C)]
8684#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8685pub struct env_md_ctx_st {
8686    pub digest: *const EVP_MD,
8687    pub md_data: *mut ::std::os::raw::c_void,
8688    pub update: ::std::option::Option<
8689        unsafe extern "C" fn(
8690            ctx: *mut EVP_MD_CTX,
8691            data: *const ::std::os::raw::c_void,
8692            count: usize,
8693        ) -> ::std::os::raw::c_int,
8694    >,
8695    pub pctx: *mut EVP_PKEY_CTX,
8696    pub pctx_ops: *const evp_md_pctx_ops,
8697    pub flags: ::std::os::raw::c_ulong,
8698}
8699#[test]
8700fn bindgen_test_layout_env_md_ctx_st() {
8701    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8702    let ptr = UNINIT.as_ptr();
8703    assert_eq!(
8704        ::std::mem::size_of::<env_md_ctx_st>(),
8705        48usize,
8706        "Size of env_md_ctx_st"
8707    );
8708    assert_eq!(
8709        ::std::mem::align_of::<env_md_ctx_st>(),
8710        8usize,
8711        "Alignment of env_md_ctx_st"
8712    );
8713    assert_eq!(
8714        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8715        0usize,
8716        "Offset of field: env_md_ctx_st::digest"
8717    );
8718    assert_eq!(
8719        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8720        8usize,
8721        "Offset of field: env_md_ctx_st::md_data"
8722    );
8723    assert_eq!(
8724        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8725        16usize,
8726        "Offset of field: env_md_ctx_st::update"
8727    );
8728    assert_eq!(
8729        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8730        24usize,
8731        "Offset of field: env_md_ctx_st::pctx"
8732    );
8733    assert_eq!(
8734        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8735        32usize,
8736        "Offset of field: env_md_ctx_st::pctx_ops"
8737    );
8738    assert_eq!(
8739        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8740        40usize,
8741        "Offset of field: env_md_ctx_st::flags"
8742    );
8743}
8744impl Default for env_md_ctx_st {
8745    fn default() -> Self {
8746        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8747        unsafe {
8748            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8749            s.assume_init()
8750        }
8751    }
8752}
8753extern "C" {
8754    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_unstable_sha3_enable"]
8755    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8756}
8757extern "C" {
8758    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_unstable_sha3_is_enabled"]
8759    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8760}
8761extern "C" {
8762    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_CTX_set_flags"]
8763    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8764}
8765extern "C" {
8766    #[link_name = "\u{1}aws_lc_0_39_1_EVP_add_digest"]
8767    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8768}
8769extern "C" {
8770    #[link_name = "\u{1}aws_lc_0_39_1_EVP_md_null"]
8771    pub fn EVP_md_null() -> *const EVP_MD;
8772}
8773#[repr(C)]
8774#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8775pub struct DSA_SIG_st {
8776    pub r: *mut BIGNUM,
8777    pub s: *mut BIGNUM,
8778}
8779#[test]
8780fn bindgen_test_layout_DSA_SIG_st() {
8781    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8782    let ptr = UNINIT.as_ptr();
8783    assert_eq!(
8784        ::std::mem::size_of::<DSA_SIG_st>(),
8785        16usize,
8786        "Size of DSA_SIG_st"
8787    );
8788    assert_eq!(
8789        ::std::mem::align_of::<DSA_SIG_st>(),
8790        8usize,
8791        "Alignment of DSA_SIG_st"
8792    );
8793    assert_eq!(
8794        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8795        0usize,
8796        "Offset of field: DSA_SIG_st::r"
8797    );
8798    assert_eq!(
8799        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8800        8usize,
8801        "Offset of field: DSA_SIG_st::s"
8802    );
8803}
8804impl Default for DSA_SIG_st {
8805    fn default() -> Self {
8806        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8807        unsafe {
8808            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8809            s.assume_init()
8810        }
8811    }
8812}
8813#[repr(u32)]
8814#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8815pub enum point_conversion_form_t {
8816    POINT_CONVERSION_COMPRESSED = 2,
8817    POINT_CONVERSION_UNCOMPRESSED = 4,
8818    POINT_CONVERSION_HYBRID = 6,
8819}
8820extern "C" {
8821    #[link_name = "\u{1}aws_lc_0_39_1_EC_group_p224"]
8822    pub fn EC_group_p224() -> *const EC_GROUP;
8823}
8824extern "C" {
8825    #[link_name = "\u{1}aws_lc_0_39_1_EC_group_p256"]
8826    pub fn EC_group_p256() -> *const EC_GROUP;
8827}
8828extern "C" {
8829    #[link_name = "\u{1}aws_lc_0_39_1_EC_group_p384"]
8830    pub fn EC_group_p384() -> *const EC_GROUP;
8831}
8832extern "C" {
8833    #[link_name = "\u{1}aws_lc_0_39_1_EC_group_p521"]
8834    pub fn EC_group_p521() -> *const EC_GROUP;
8835}
8836extern "C" {
8837    #[link_name = "\u{1}aws_lc_0_39_1_EC_group_secp256k1"]
8838    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8839}
8840extern "C" {
8841    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_new_by_curve_name"]
8842    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8843}
8844extern "C" {
8845    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_new_by_curve_name_mutable"]
8846    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8847}
8848extern "C" {
8849    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_cmp"]
8850    pub fn EC_GROUP_cmp(
8851        a: *const EC_GROUP,
8852        b: *const EC_GROUP,
8853        ignored: *mut BN_CTX,
8854    ) -> ::std::os::raw::c_int;
8855}
8856extern "C" {
8857    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get0_generator"]
8858    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
8859}
8860extern "C" {
8861    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get0_order"]
8862    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
8863}
8864extern "C" {
8865    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_order_bits"]
8866    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8867}
8868extern "C" {
8869    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_cofactor"]
8870    pub fn EC_GROUP_get_cofactor(
8871        group: *const EC_GROUP,
8872        cofactor: *mut BIGNUM,
8873        ctx: *mut BN_CTX,
8874    ) -> ::std::os::raw::c_int;
8875}
8876extern "C" {
8877    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_curve_GFp"]
8878    pub fn EC_GROUP_get_curve_GFp(
8879        group: *const EC_GROUP,
8880        out_p: *mut BIGNUM,
8881        out_a: *mut BIGNUM,
8882        out_b: *mut BIGNUM,
8883        ctx: *mut BN_CTX,
8884    ) -> ::std::os::raw::c_int;
8885}
8886extern "C" {
8887    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_curve_name"]
8888    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8889}
8890extern "C" {
8891    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_degree"]
8892    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
8893}
8894extern "C" {
8895    #[link_name = "\u{1}aws_lc_0_39_1_EC_curve_nid2nist"]
8896    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8897}
8898extern "C" {
8899    #[link_name = "\u{1}aws_lc_0_39_1_EC_curve_nist2nid"]
8900    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8901}
8902extern "C" {
8903    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_new"]
8904    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
8905}
8906extern "C" {
8907    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_free"]
8908    pub fn EC_POINT_free(point: *mut EC_POINT);
8909}
8910extern "C" {
8911    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_copy"]
8912    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
8913}
8914extern "C" {
8915    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_dup"]
8916    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
8917}
8918extern "C" {
8919    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_set_to_infinity"]
8920    pub fn EC_POINT_set_to_infinity(
8921        group: *const EC_GROUP,
8922        point: *mut EC_POINT,
8923    ) -> ::std::os::raw::c_int;
8924}
8925extern "C" {
8926    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_is_at_infinity"]
8927    pub fn EC_POINT_is_at_infinity(
8928        group: *const EC_GROUP,
8929        point: *const EC_POINT,
8930    ) -> ::std::os::raw::c_int;
8931}
8932extern "C" {
8933    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_is_on_curve"]
8934    pub fn EC_POINT_is_on_curve(
8935        group: *const EC_GROUP,
8936        point: *const EC_POINT,
8937        ctx: *mut BN_CTX,
8938    ) -> ::std::os::raw::c_int;
8939}
8940extern "C" {
8941    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_cmp"]
8942    pub fn EC_POINT_cmp(
8943        group: *const EC_GROUP,
8944        a: *const EC_POINT,
8945        b: *const EC_POINT,
8946        ctx: *mut BN_CTX,
8947    ) -> ::std::os::raw::c_int;
8948}
8949extern "C" {
8950    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_get_affine_coordinates_GFp"]
8951    pub fn EC_POINT_get_affine_coordinates_GFp(
8952        group: *const EC_GROUP,
8953        point: *const EC_POINT,
8954        x: *mut BIGNUM,
8955        y: *mut BIGNUM,
8956        ctx: *mut BN_CTX,
8957    ) -> ::std::os::raw::c_int;
8958}
8959extern "C" {
8960    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_get_affine_coordinates"]
8961    pub fn EC_POINT_get_affine_coordinates(
8962        group: *const EC_GROUP,
8963        point: *const EC_POINT,
8964        x: *mut BIGNUM,
8965        y: *mut BIGNUM,
8966        ctx: *mut BN_CTX,
8967    ) -> ::std::os::raw::c_int;
8968}
8969extern "C" {
8970    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_set_affine_coordinates_GFp"]
8971    pub fn EC_POINT_set_affine_coordinates_GFp(
8972        group: *const EC_GROUP,
8973        point: *mut EC_POINT,
8974        x: *const BIGNUM,
8975        y: *const BIGNUM,
8976        ctx: *mut BN_CTX,
8977    ) -> ::std::os::raw::c_int;
8978}
8979extern "C" {
8980    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_set_affine_coordinates"]
8981    pub fn EC_POINT_set_affine_coordinates(
8982        group: *const EC_GROUP,
8983        point: *mut EC_POINT,
8984        x: *const BIGNUM,
8985        y: *const BIGNUM,
8986        ctx: *mut BN_CTX,
8987    ) -> ::std::os::raw::c_int;
8988}
8989extern "C" {
8990    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_point2oct"]
8991    pub fn EC_POINT_point2oct(
8992        group: *const EC_GROUP,
8993        point: *const EC_POINT,
8994        form: point_conversion_form_t,
8995        buf: *mut u8,
8996        len: usize,
8997        ctx: *mut BN_CTX,
8998    ) -> usize;
8999}
9000extern "C" {
9001    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_point2cbb"]
9002    pub fn EC_POINT_point2cbb(
9003        out: *mut CBB,
9004        group: *const EC_GROUP,
9005        point: *const EC_POINT,
9006        form: point_conversion_form_t,
9007        ctx: *mut BN_CTX,
9008    ) -> ::std::os::raw::c_int;
9009}
9010extern "C" {
9011    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_oct2point"]
9012    pub fn EC_POINT_oct2point(
9013        group: *const EC_GROUP,
9014        point: *mut EC_POINT,
9015        buf: *const u8,
9016        len: usize,
9017        ctx: *mut BN_CTX,
9018    ) -> ::std::os::raw::c_int;
9019}
9020extern "C" {
9021    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_set_compressed_coordinates_GFp"]
9022    pub fn EC_POINT_set_compressed_coordinates_GFp(
9023        group: *const EC_GROUP,
9024        point: *mut EC_POINT,
9025        x: *const BIGNUM,
9026        y_bit: ::std::os::raw::c_int,
9027        ctx: *mut BN_CTX,
9028    ) -> ::std::os::raw::c_int;
9029}
9030extern "C" {
9031    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_add"]
9032    pub fn EC_POINT_add(
9033        group: *const EC_GROUP,
9034        r: *mut EC_POINT,
9035        a: *const EC_POINT,
9036        b: *const EC_POINT,
9037        ctx: *mut BN_CTX,
9038    ) -> ::std::os::raw::c_int;
9039}
9040extern "C" {
9041    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_dbl"]
9042    pub fn EC_POINT_dbl(
9043        group: *const EC_GROUP,
9044        r: *mut EC_POINT,
9045        a: *const EC_POINT,
9046        ctx: *mut BN_CTX,
9047    ) -> ::std::os::raw::c_int;
9048}
9049extern "C" {
9050    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_invert"]
9051    pub fn EC_POINT_invert(
9052        group: *const EC_GROUP,
9053        a: *mut EC_POINT,
9054        ctx: *mut BN_CTX,
9055    ) -> ::std::os::raw::c_int;
9056}
9057extern "C" {
9058    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_mul"]
9059    pub fn EC_POINT_mul(
9060        group: *const EC_GROUP,
9061        r: *mut EC_POINT,
9062        n: *const BIGNUM,
9063        q: *const EC_POINT,
9064        m: *const BIGNUM,
9065        ctx: *mut BN_CTX,
9066    ) -> ::std::os::raw::c_int;
9067}
9068extern "C" {
9069    #[link_name = "\u{1}aws_lc_0_39_1_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9070    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9071        group: *const EC_GROUP,
9072        out: *mut EC_POINT,
9073        dst: *const u8,
9074        dst_len: usize,
9075        msg: *const u8,
9076        msg_len: usize,
9077    ) -> ::std::os::raw::c_int;
9078}
9079extern "C" {
9080    #[link_name = "\u{1}aws_lc_0_39_1_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9081    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9082        group: *const EC_GROUP,
9083        out: *mut EC_POINT,
9084        dst: *const u8,
9085        dst_len: usize,
9086        msg: *const u8,
9087        msg_len: usize,
9088    ) -> ::std::os::raw::c_int;
9089}
9090extern "C" {
9091    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_free"]
9092    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9093}
9094extern "C" {
9095    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_dup"]
9096    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9097}
9098extern "C" {
9099    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_new_curve_GFp"]
9100    pub fn EC_GROUP_new_curve_GFp(
9101        p: *const BIGNUM,
9102        a: *const BIGNUM,
9103        b: *const BIGNUM,
9104        ctx: *mut BN_CTX,
9105    ) -> *mut EC_GROUP;
9106}
9107extern "C" {
9108    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_set_generator"]
9109    pub fn EC_GROUP_set_generator(
9110        group: *mut EC_GROUP,
9111        generator: *const EC_POINT,
9112        order: *const BIGNUM,
9113        cofactor: *const BIGNUM,
9114    ) -> ::std::os::raw::c_int;
9115}
9116extern "C" {
9117    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_point2bn"]
9118    pub fn EC_POINT_point2bn(
9119        group: *const EC_GROUP,
9120        point: *const EC_POINT,
9121        form: point_conversion_form_t,
9122        ret: *mut BIGNUM,
9123        ctx: *mut BN_CTX,
9124    ) -> *mut BIGNUM;
9125}
9126extern "C" {
9127    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_bn2point"]
9128    pub fn EC_POINT_bn2point(
9129        group: *const EC_GROUP,
9130        bn: *const BIGNUM,
9131        point: *mut EC_POINT,
9132        ctx: *mut BN_CTX,
9133    ) -> *mut EC_POINT;
9134}
9135extern "C" {
9136    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_order"]
9137    pub fn EC_GROUP_get_order(
9138        group: *const EC_GROUP,
9139        order: *mut BIGNUM,
9140        ctx: *mut BN_CTX,
9141    ) -> ::std::os::raw::c_int;
9142}
9143#[repr(C)]
9144#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9145pub struct EC_builtin_curve {
9146    pub nid: ::std::os::raw::c_int,
9147    pub comment: *const ::std::os::raw::c_char,
9148}
9149#[test]
9150fn bindgen_test_layout_EC_builtin_curve() {
9151    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9152    let ptr = UNINIT.as_ptr();
9153    assert_eq!(
9154        ::std::mem::size_of::<EC_builtin_curve>(),
9155        16usize,
9156        "Size of EC_builtin_curve"
9157    );
9158    assert_eq!(
9159        ::std::mem::align_of::<EC_builtin_curve>(),
9160        8usize,
9161        "Alignment of EC_builtin_curve"
9162    );
9163    assert_eq!(
9164        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9165        0usize,
9166        "Offset of field: EC_builtin_curve::nid"
9167    );
9168    assert_eq!(
9169        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9170        8usize,
9171        "Offset of field: EC_builtin_curve::comment"
9172    );
9173}
9174impl Default for EC_builtin_curve {
9175    fn default() -> Self {
9176        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9177        unsafe {
9178            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9179            s.assume_init()
9180        }
9181    }
9182}
9183extern "C" {
9184    #[link_name = "\u{1}aws_lc_0_39_1_EC_get_builtin_curves"]
9185    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9186        -> usize;
9187}
9188extern "C" {
9189    #[link_name = "\u{1}aws_lc_0_39_1_EC_POINT_clear_free"]
9190    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9191}
9192extern "C" {
9193    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_set_seed"]
9194    pub fn EC_GROUP_set_seed(
9195        group: *mut EC_GROUP,
9196        p: *const ::std::os::raw::c_uchar,
9197        len: usize,
9198    ) -> usize;
9199}
9200extern "C" {
9201    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get0_seed"]
9202    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9203}
9204extern "C" {
9205    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_seed_len"]
9206    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9207}
9208extern "C" {
9209    #[link_name = "\u{1}aws_lc_0_39_1_ECPKParameters_print"]
9210    pub fn ECPKParameters_print(
9211        bio: *mut BIO,
9212        group: *const EC_GROUP,
9213        offset: ::std::os::raw::c_int,
9214    ) -> ::std::os::raw::c_int;
9215}
9216extern "C" {
9217    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_set_asn1_flag"]
9218    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9219}
9220extern "C" {
9221    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_asn1_flag"]
9222    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9223}
9224extern "C" {
9225    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_set_point_conversion_form"]
9226    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9227}
9228extern "C" {
9229    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_get_point_conversion_form"]
9230    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9231}
9232extern "C" {
9233    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_decoded_from_explicit_params"]
9234    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9235}
9236#[repr(C)]
9237#[derive(Debug, Copy, Clone)]
9238pub struct ec_method_st {
9239    _unused: [u8; 0],
9240}
9241pub type EC_METHOD = ec_method_st;
9242extern "C" {
9243    #[link_name = "\u{1}aws_lc_0_39_1_EC_GROUP_method_of"]
9244    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9245}
9246extern "C" {
9247    #[link_name = "\u{1}aws_lc_0_39_1_EC_METHOD_get_field_type"]
9248    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9249}
9250extern "C" {
9251    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_new"]
9252    pub fn EC_KEY_new() -> *mut EC_KEY;
9253}
9254extern "C" {
9255    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_new_method"]
9256    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9257}
9258extern "C" {
9259    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_new_by_curve_name"]
9260    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9261}
9262extern "C" {
9263    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_free"]
9264    pub fn EC_KEY_free(key: *mut EC_KEY);
9265}
9266extern "C" {
9267    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_dup"]
9268    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9269}
9270extern "C" {
9271    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_up_ref"]
9272    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9273}
9274extern "C" {
9275    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_is_opaque"]
9276    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9277}
9278extern "C" {
9279    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get0_group"]
9280    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9281}
9282extern "C" {
9283    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_group"]
9284    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9285}
9286extern "C" {
9287    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get0_private_key"]
9288    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9289}
9290extern "C" {
9291    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_private_key"]
9292    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9293}
9294extern "C" {
9295    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get0_public_key"]
9296    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9297}
9298extern "C" {
9299    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_public_key"]
9300    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9301}
9302extern "C" {
9303    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get_enc_flags"]
9304    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9305}
9306extern "C" {
9307    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_enc_flags"]
9308    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9309}
9310extern "C" {
9311    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get_conv_form"]
9312    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9313}
9314extern "C" {
9315    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_conv_form"]
9316    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9317}
9318extern "C" {
9319    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_check_key"]
9320    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9321}
9322extern "C" {
9323    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_check_fips"]
9324    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9325}
9326extern "C" {
9327    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_public_key_affine_coordinates"]
9328    pub fn EC_KEY_set_public_key_affine_coordinates(
9329        key: *mut EC_KEY,
9330        x: *const BIGNUM,
9331        y: *const BIGNUM,
9332    ) -> ::std::os::raw::c_int;
9333}
9334extern "C" {
9335    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_key2buf"]
9336    pub fn EC_KEY_key2buf(
9337        key: *const EC_KEY,
9338        form: point_conversion_form_t,
9339        out_buf: *mut *mut ::std::os::raw::c_uchar,
9340        ctx: *mut BN_CTX,
9341    ) -> usize;
9342}
9343extern "C" {
9344    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_generate_key"]
9345    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9346}
9347extern "C" {
9348    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_generate_key_fips"]
9349    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9350}
9351extern "C" {
9352    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_derive_from_secret"]
9353    pub fn EC_KEY_derive_from_secret(
9354        group: *const EC_GROUP,
9355        secret: *const u8,
9356        secret_len: usize,
9357    ) -> *mut EC_KEY;
9358}
9359extern "C" {
9360    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_parse_private_key"]
9361    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9362}
9363extern "C" {
9364    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_marshal_private_key"]
9365    pub fn EC_KEY_marshal_private_key(
9366        cbb: *mut CBB,
9367        key: *const EC_KEY,
9368        enc_flags: ::std::os::raw::c_uint,
9369    ) -> ::std::os::raw::c_int;
9370}
9371extern "C" {
9372    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_parse_curve_name"]
9373    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9374}
9375extern "C" {
9376    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_marshal_curve_name"]
9377    pub fn EC_KEY_marshal_curve_name(
9378        cbb: *mut CBB,
9379        group: *const EC_GROUP,
9380    ) -> ::std::os::raw::c_int;
9381}
9382extern "C" {
9383    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_parse_parameters"]
9384    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9385}
9386extern "C" {
9387    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get_ex_new_index"]
9388    pub fn EC_KEY_get_ex_new_index(
9389        argl: ::std::os::raw::c_long,
9390        argp: *mut ::std::os::raw::c_void,
9391        unused: *mut CRYPTO_EX_unused,
9392        dup_unused: CRYPTO_EX_dup,
9393        free_func: CRYPTO_EX_free,
9394    ) -> ::std::os::raw::c_int;
9395}
9396extern "C" {
9397    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_ex_data"]
9398    pub fn EC_KEY_set_ex_data(
9399        r: *mut EC_KEY,
9400        idx: ::std::os::raw::c_int,
9401        arg: *mut ::std::os::raw::c_void,
9402    ) -> ::std::os::raw::c_int;
9403}
9404extern "C" {
9405    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get_ex_data"]
9406    pub fn EC_KEY_get_ex_data(
9407        r: *const EC_KEY,
9408        idx: ::std::os::raw::c_int,
9409    ) -> *mut ::std::os::raw::c_void;
9410}
9411extern "C" {
9412    #[link_name = "\u{1}aws_lc_0_39_1_d2i_ECPrivateKey"]
9413    pub fn d2i_ECPrivateKey(
9414        out_key: *mut *mut EC_KEY,
9415        inp: *mut *const u8,
9416        len: ::std::os::raw::c_long,
9417    ) -> *mut EC_KEY;
9418}
9419extern "C" {
9420    #[link_name = "\u{1}aws_lc_0_39_1_i2d_ECPrivateKey"]
9421    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9422}
9423extern "C" {
9424    #[link_name = "\u{1}aws_lc_0_39_1_d2i_ECParameters"]
9425    pub fn d2i_ECParameters(
9426        out_key: *mut *mut EC_KEY,
9427        inp: *mut *const u8,
9428        len: ::std::os::raw::c_long,
9429    ) -> *mut EC_KEY;
9430}
9431extern "C" {
9432    #[link_name = "\u{1}aws_lc_0_39_1_i2d_ECParameters"]
9433    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9434}
9435extern "C" {
9436    #[link_name = "\u{1}aws_lc_0_39_1_d2i_ECPKParameters_bio"]
9437    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9438}
9439extern "C" {
9440    #[link_name = "\u{1}aws_lc_0_39_1_i2d_ECPKParameters_bio"]
9441    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9442}
9443extern "C" {
9444    #[link_name = "\u{1}aws_lc_0_39_1_o2i_ECPublicKey"]
9445    pub fn o2i_ECPublicKey(
9446        out_key: *mut *mut EC_KEY,
9447        inp: *mut *const u8,
9448        len: ::std::os::raw::c_long,
9449    ) -> *mut EC_KEY;
9450}
9451extern "C" {
9452    #[link_name = "\u{1}aws_lc_0_39_1_i2o_ECPublicKey"]
9453    pub fn i2o_ECPublicKey(
9454        key: *const EC_KEY,
9455        outp: *mut *mut ::std::os::raw::c_uchar,
9456    ) -> ::std::os::raw::c_int;
9457}
9458extern "C" {
9459    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get_default_method"]
9460    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9461}
9462extern "C" {
9463    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_OpenSSL"]
9464    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9465}
9466extern "C" {
9467    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_METHOD_new"]
9468    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9469}
9470extern "C" {
9471    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_METHOD_free"]
9472    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9473}
9474extern "C" {
9475    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_method"]
9476    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9477}
9478extern "C" {
9479    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_get_method"]
9480    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9481}
9482extern "C" {
9483    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_METHOD_set_sign_awslc"]
9484    pub fn EC_KEY_METHOD_set_sign_awslc(
9485        meth: *mut EC_KEY_METHOD,
9486        sign: ::std::option::Option<
9487            unsafe extern "C" fn(
9488                type_: ::std::os::raw::c_int,
9489                digest: *const u8,
9490                digest_len: ::std::os::raw::c_int,
9491                sig: *mut u8,
9492                siglen: *mut ::std::os::raw::c_uint,
9493                k_inv: *const BIGNUM,
9494                r: *const BIGNUM,
9495                eckey: *mut EC_KEY,
9496            ) -> ::std::os::raw::c_int,
9497        >,
9498        sign_sig: ::std::option::Option<
9499            unsafe extern "C" fn(
9500                digest: *const u8,
9501                digest_len: ::std::os::raw::c_int,
9502                in_kinv: *const BIGNUM,
9503                in_r: *const BIGNUM,
9504                eckey: *mut EC_KEY,
9505            ) -> *mut ECDSA_SIG,
9506        >,
9507    );
9508}
9509extern "C" {
9510    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_METHOD_set_init_awslc"]
9511    pub fn EC_KEY_METHOD_set_init_awslc(
9512        meth: *mut EC_KEY_METHOD,
9513        init: ::std::option::Option<
9514            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9515        >,
9516        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9517    );
9518}
9519extern "C" {
9520    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_METHOD_set_flags"]
9521    pub fn EC_KEY_METHOD_set_flags(
9522        meth: *mut EC_KEY_METHOD,
9523        flags: ::std::os::raw::c_int,
9524    ) -> ::std::os::raw::c_int;
9525}
9526extern "C" {
9527    #[link_name = "\u{1}aws_lc_0_39_1_EC_KEY_set_asn1_flag"]
9528    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9529}
9530extern "C" {
9531    #[link_name = "\u{1}aws_lc_0_39_1_ECDH_compute_key"]
9532    pub fn ECDH_compute_key(
9533        out: *mut ::std::os::raw::c_void,
9534        outlen: usize,
9535        pub_key: *const EC_POINT,
9536        priv_key: *const EC_KEY,
9537        kdf: ::std::option::Option<
9538            unsafe extern "C" fn(
9539                in_: *const ::std::os::raw::c_void,
9540                inlen: usize,
9541                out: *mut ::std::os::raw::c_void,
9542                outlen: *mut usize,
9543            ) -> *mut ::std::os::raw::c_void,
9544        >,
9545    ) -> ::std::os::raw::c_int;
9546}
9547extern "C" {
9548    #[link_name = "\u{1}aws_lc_0_39_1_ECDH_compute_key_fips"]
9549    pub fn ECDH_compute_key_fips(
9550        out: *mut u8,
9551        out_len: usize,
9552        pub_key: *const EC_POINT,
9553        priv_key: *const EC_KEY,
9554    ) -> ::std::os::raw::c_int;
9555}
9556extern "C" {
9557    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_sign"]
9558    pub fn ECDSA_sign(
9559        type_: ::std::os::raw::c_int,
9560        digest: *const u8,
9561        digest_len: usize,
9562        sig: *mut u8,
9563        sig_len: *mut ::std::os::raw::c_uint,
9564        key: *const EC_KEY,
9565    ) -> ::std::os::raw::c_int;
9566}
9567extern "C" {
9568    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_verify"]
9569    pub fn ECDSA_verify(
9570        type_: ::std::os::raw::c_int,
9571        digest: *const u8,
9572        digest_len: usize,
9573        sig: *const u8,
9574        sig_len: usize,
9575        key: *const EC_KEY,
9576    ) -> ::std::os::raw::c_int;
9577}
9578extern "C" {
9579    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_size"]
9580    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9581}
9582#[repr(C)]
9583#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9584pub struct ecdsa_sig_st {
9585    pub r: *mut BIGNUM,
9586    pub s: *mut BIGNUM,
9587}
9588#[test]
9589fn bindgen_test_layout_ecdsa_sig_st() {
9590    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9591    let ptr = UNINIT.as_ptr();
9592    assert_eq!(
9593        ::std::mem::size_of::<ecdsa_sig_st>(),
9594        16usize,
9595        "Size of ecdsa_sig_st"
9596    );
9597    assert_eq!(
9598        ::std::mem::align_of::<ecdsa_sig_st>(),
9599        8usize,
9600        "Alignment of ecdsa_sig_st"
9601    );
9602    assert_eq!(
9603        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9604        0usize,
9605        "Offset of field: ecdsa_sig_st::r"
9606    );
9607    assert_eq!(
9608        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9609        8usize,
9610        "Offset of field: ecdsa_sig_st::s"
9611    );
9612}
9613impl Default for ecdsa_sig_st {
9614    fn default() -> Self {
9615        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9616        unsafe {
9617            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9618            s.assume_init()
9619        }
9620    }
9621}
9622extern "C" {
9623    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_new"]
9624    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9625}
9626extern "C" {
9627    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_free"]
9628    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9629}
9630extern "C" {
9631    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_get0_r"]
9632    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9633}
9634extern "C" {
9635    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_get0_s"]
9636    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9637}
9638extern "C" {
9639    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_get0"]
9640    pub fn ECDSA_SIG_get0(
9641        sig: *const ECDSA_SIG,
9642        out_r: *mut *const BIGNUM,
9643        out_s: *mut *const BIGNUM,
9644    );
9645}
9646extern "C" {
9647    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_set0"]
9648    pub fn ECDSA_SIG_set0(
9649        sig: *mut ECDSA_SIG,
9650        r: *mut BIGNUM,
9651        s: *mut BIGNUM,
9652    ) -> ::std::os::raw::c_int;
9653}
9654extern "C" {
9655    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_do_sign"]
9656    pub fn ECDSA_do_sign(
9657        digest: *const u8,
9658        digest_len: usize,
9659        key: *const EC_KEY,
9660    ) -> *mut ECDSA_SIG;
9661}
9662extern "C" {
9663    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_do_verify"]
9664    pub fn ECDSA_do_verify(
9665        digest: *const u8,
9666        digest_len: usize,
9667        sig: *const ECDSA_SIG,
9668        key: *const EC_KEY,
9669    ) -> ::std::os::raw::c_int;
9670}
9671extern "C" {
9672    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_parse"]
9673    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9674}
9675extern "C" {
9676    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_from_bytes"]
9677    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9678}
9679extern "C" {
9680    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_marshal"]
9681    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9682}
9683extern "C" {
9684    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_to_bytes"]
9685    pub fn ECDSA_SIG_to_bytes(
9686        out_bytes: *mut *mut u8,
9687        out_len: *mut usize,
9688        sig: *const ECDSA_SIG,
9689    ) -> ::std::os::raw::c_int;
9690}
9691extern "C" {
9692    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_SIG_max_len"]
9693    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9694}
9695extern "C" {
9696    #[link_name = "\u{1}aws_lc_0_39_1_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9697    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9698        digest: *const u8,
9699        digest_len: usize,
9700        eckey: *const EC_KEY,
9701        nonce: *const u8,
9702        nonce_len: usize,
9703    ) -> *mut ECDSA_SIG;
9704}
9705extern "C" {
9706    #[link_name = "\u{1}aws_lc_0_39_1_d2i_ECDSA_SIG"]
9707    pub fn d2i_ECDSA_SIG(
9708        out: *mut *mut ECDSA_SIG,
9709        inp: *mut *const u8,
9710        len: ::std::os::raw::c_long,
9711    ) -> *mut ECDSA_SIG;
9712}
9713extern "C" {
9714    #[link_name = "\u{1}aws_lc_0_39_1_i2d_ECDSA_SIG"]
9715    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9716}
9717extern "C" {
9718    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_gcm"]
9719    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9720}
9721extern "C" {
9722    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_192_gcm"]
9723    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9724}
9725extern "C" {
9726    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_gcm"]
9727    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9728}
9729extern "C" {
9730    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_chacha20_poly1305"]
9731    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9732}
9733extern "C" {
9734    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_xchacha20_poly1305"]
9735    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9736}
9737extern "C" {
9738    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_ctr_hmac_sha256"]
9739    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9740}
9741extern "C" {
9742    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_ctr_hmac_sha256"]
9743    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9744}
9745extern "C" {
9746    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_gcm_siv"]
9747    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9748}
9749extern "C" {
9750    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_gcm_siv"]
9751    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9752}
9753extern "C" {
9754    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_gcm_randnonce"]
9755    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9756}
9757extern "C" {
9758    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_gcm_randnonce"]
9759    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9760}
9761extern "C" {
9762    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_ccm_bluetooth"]
9763    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9764}
9765extern "C" {
9766    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_ccm_bluetooth_8"]
9767    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9768}
9769extern "C" {
9770    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_ccm_matter"]
9771    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9772}
9773extern "C" {
9774    #[link_name = "\u{1}aws_lc_0_39_1_EVP_has_aes_hardware"]
9775    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9776}
9777extern "C" {
9778    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_key_length"]
9779    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9780}
9781extern "C" {
9782    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_nonce_length"]
9783    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9784}
9785extern "C" {
9786    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_max_overhead"]
9787    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9788}
9789extern "C" {
9790    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_max_tag_len"]
9791    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9792}
9793#[repr(C)]
9794#[derive(Copy, Clone)]
9795pub union evp_aead_ctx_st_state {
9796    pub opaque: [u8; 564usize],
9797    pub alignment: u64,
9798    pub ptr: *mut ::std::os::raw::c_void,
9799}
9800#[test]
9801fn bindgen_test_layout_evp_aead_ctx_st_state() {
9802    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9803        ::std::mem::MaybeUninit::uninit();
9804    let ptr = UNINIT.as_ptr();
9805    assert_eq!(
9806        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9807        568usize,
9808        "Size of evp_aead_ctx_st_state"
9809    );
9810    assert_eq!(
9811        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9812        8usize,
9813        "Alignment of evp_aead_ctx_st_state"
9814    );
9815    assert_eq!(
9816        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9817        0usize,
9818        "Offset of field: evp_aead_ctx_st_state::opaque"
9819    );
9820    assert_eq!(
9821        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9822        0usize,
9823        "Offset of field: evp_aead_ctx_st_state::alignment"
9824    );
9825    assert_eq!(
9826        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9827        0usize,
9828        "Offset of field: evp_aead_ctx_st_state::ptr"
9829    );
9830}
9831impl Default for evp_aead_ctx_st_state {
9832    fn default() -> Self {
9833        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9834        unsafe {
9835            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9836            s.assume_init()
9837        }
9838    }
9839}
9840#[repr(C)]
9841#[derive(Copy, Clone)]
9842pub struct evp_aead_ctx_st {
9843    pub aead: *const EVP_AEAD,
9844    pub state: evp_aead_ctx_st_state,
9845    pub state_offset: u8,
9846    pub tag_len: u8,
9847}
9848#[test]
9849fn bindgen_test_layout_evp_aead_ctx_st() {
9850    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
9851    let ptr = UNINIT.as_ptr();
9852    assert_eq!(
9853        ::std::mem::size_of::<evp_aead_ctx_st>(),
9854        584usize,
9855        "Size of evp_aead_ctx_st"
9856    );
9857    assert_eq!(
9858        ::std::mem::align_of::<evp_aead_ctx_st>(),
9859        8usize,
9860        "Alignment of evp_aead_ctx_st"
9861    );
9862    assert_eq!(
9863        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
9864        0usize,
9865        "Offset of field: evp_aead_ctx_st::aead"
9866    );
9867    assert_eq!(
9868        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
9869        8usize,
9870        "Offset of field: evp_aead_ctx_st::state"
9871    );
9872    assert_eq!(
9873        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
9874        576usize,
9875        "Offset of field: evp_aead_ctx_st::state_offset"
9876    );
9877    assert_eq!(
9878        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
9879        577usize,
9880        "Offset of field: evp_aead_ctx_st::tag_len"
9881    );
9882}
9883impl Default for evp_aead_ctx_st {
9884    fn default() -> Self {
9885        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9886        unsafe {
9887            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9888            s.assume_init()
9889        }
9890    }
9891}
9892extern "C" {
9893    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_zero"]
9894    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
9895}
9896extern "C" {
9897    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_new"]
9898    pub fn EVP_AEAD_CTX_new(
9899        aead: *const EVP_AEAD,
9900        key: *const u8,
9901        key_len: usize,
9902        tag_len: usize,
9903    ) -> *mut EVP_AEAD_CTX;
9904}
9905extern "C" {
9906    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_free"]
9907    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
9908}
9909extern "C" {
9910    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_init"]
9911    pub fn EVP_AEAD_CTX_init(
9912        ctx: *mut EVP_AEAD_CTX,
9913        aead: *const EVP_AEAD,
9914        key: *const u8,
9915        key_len: usize,
9916        tag_len: usize,
9917        impl_: *mut ENGINE,
9918    ) -> ::std::os::raw::c_int;
9919}
9920extern "C" {
9921    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_cleanup"]
9922    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
9923}
9924extern "C" {
9925    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_seal"]
9926    pub fn EVP_AEAD_CTX_seal(
9927        ctx: *const EVP_AEAD_CTX,
9928        out: *mut u8,
9929        out_len: *mut usize,
9930        max_out_len: usize,
9931        nonce: *const u8,
9932        nonce_len: usize,
9933        in_: *const u8,
9934        in_len: usize,
9935        ad: *const u8,
9936        ad_len: usize,
9937    ) -> ::std::os::raw::c_int;
9938}
9939extern "C" {
9940    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_open"]
9941    pub fn EVP_AEAD_CTX_open(
9942        ctx: *const EVP_AEAD_CTX,
9943        out: *mut u8,
9944        out_len: *mut usize,
9945        max_out_len: usize,
9946        nonce: *const u8,
9947        nonce_len: usize,
9948        in_: *const u8,
9949        in_len: usize,
9950        ad: *const u8,
9951        ad_len: usize,
9952    ) -> ::std::os::raw::c_int;
9953}
9954extern "C" {
9955    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_seal_scatter"]
9956    pub fn EVP_AEAD_CTX_seal_scatter(
9957        ctx: *const EVP_AEAD_CTX,
9958        out: *mut u8,
9959        out_tag: *mut u8,
9960        out_tag_len: *mut usize,
9961        max_out_tag_len: usize,
9962        nonce: *const u8,
9963        nonce_len: usize,
9964        in_: *const u8,
9965        in_len: usize,
9966        extra_in: *const u8,
9967        extra_in_len: usize,
9968        ad: *const u8,
9969        ad_len: usize,
9970    ) -> ::std::os::raw::c_int;
9971}
9972extern "C" {
9973    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_open_gather"]
9974    pub fn EVP_AEAD_CTX_open_gather(
9975        ctx: *const EVP_AEAD_CTX,
9976        out: *mut u8,
9977        nonce: *const u8,
9978        nonce_len: usize,
9979        in_: *const u8,
9980        in_len: usize,
9981        in_tag: *const u8,
9982        in_tag_len: usize,
9983        ad: *const u8,
9984        ad_len: usize,
9985    ) -> ::std::os::raw::c_int;
9986}
9987extern "C" {
9988    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_aead"]
9989    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
9990}
9991extern "C" {
9992    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_cbc_sha1_tls"]
9993    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
9994}
9995extern "C" {
9996    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
9997    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9998}
9999extern "C" {
10000    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_cbc_sha1_tls"]
10001    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
10002}
10003extern "C" {
10004    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
10005    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10006}
10007extern "C" {
10008    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_cbc_sha256_tls"]
10009    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
10010}
10011extern "C" {
10012    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
10013    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
10014}
10015extern "C" {
10016    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_cbc_sha384_tls"]
10017    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
10018}
10019extern "C" {
10020    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_des_ede3_cbc_sha1_tls"]
10021    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
10022}
10023extern "C" {
10024    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
10025    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10026}
10027extern "C" {
10028    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_null_sha1_tls"]
10029    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
10030}
10031extern "C" {
10032    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_gcm_tls12"]
10033    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10034}
10035extern "C" {
10036    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_gcm_tls12"]
10037    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10038}
10039extern "C" {
10040    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_128_gcm_tls13"]
10041    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10042}
10043extern "C" {
10044    #[link_name = "\u{1}aws_lc_0_39_1_EVP_aead_aes_256_gcm_tls13"]
10045    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10046}
10047pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10048pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10049pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10050extern "C" {
10051    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_init_with_direction"]
10052    pub fn EVP_AEAD_CTX_init_with_direction(
10053        ctx: *mut EVP_AEAD_CTX,
10054        aead: *const EVP_AEAD,
10055        key: *const u8,
10056        key_len: usize,
10057        tag_len: usize,
10058        dir: evp_aead_direction_t,
10059    ) -> ::std::os::raw::c_int;
10060}
10061extern "C" {
10062    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_get_iv"]
10063    pub fn EVP_AEAD_CTX_get_iv(
10064        ctx: *const EVP_AEAD_CTX,
10065        out_iv: *mut *const u8,
10066        out_len: *mut usize,
10067    ) -> ::std::os::raw::c_int;
10068}
10069extern "C" {
10070    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_CTX_tag_len"]
10071    pub fn EVP_AEAD_CTX_tag_len(
10072        ctx: *const EVP_AEAD_CTX,
10073        out_tag_len: *mut usize,
10074        in_len: usize,
10075        extra_in_len: usize,
10076    ) -> ::std::os::raw::c_int;
10077}
10078extern "C" {
10079    #[link_name = "\u{1}aws_lc_0_39_1_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10080    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10081        ipv4_address: u32,
10082        nanosecs: u64,
10083        out_iv: *mut u8,
10084    ) -> ::std::os::raw::c_int;
10085}
10086#[repr(C)]
10087#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10088pub struct md5_state_st {
10089    pub h: [u32; 4usize],
10090    pub Nl: u32,
10091    pub Nh: u32,
10092    pub data: [u8; 64usize],
10093    pub num: ::std::os::raw::c_uint,
10094}
10095#[test]
10096fn bindgen_test_layout_md5_state_st() {
10097    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10098    let ptr = UNINIT.as_ptr();
10099    assert_eq!(
10100        ::std::mem::size_of::<md5_state_st>(),
10101        92usize,
10102        "Size of md5_state_st"
10103    );
10104    assert_eq!(
10105        ::std::mem::align_of::<md5_state_st>(),
10106        4usize,
10107        "Alignment of md5_state_st"
10108    );
10109    assert_eq!(
10110        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10111        0usize,
10112        "Offset of field: md5_state_st::h"
10113    );
10114    assert_eq!(
10115        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10116        16usize,
10117        "Offset of field: md5_state_st::Nl"
10118    );
10119    assert_eq!(
10120        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10121        20usize,
10122        "Offset of field: md5_state_st::Nh"
10123    );
10124    assert_eq!(
10125        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10126        24usize,
10127        "Offset of field: md5_state_st::data"
10128    );
10129    assert_eq!(
10130        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10131        88usize,
10132        "Offset of field: md5_state_st::num"
10133    );
10134}
10135impl Default for md5_state_st {
10136    fn default() -> Self {
10137        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10138        unsafe {
10139            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10140            s.assume_init()
10141        }
10142    }
10143}
10144extern "C" {
10145    #[link_name = "\u{1}aws_lc_0_39_1_HMAC"]
10146    pub fn HMAC(
10147        evp_md: *const EVP_MD,
10148        key: *const ::std::os::raw::c_void,
10149        key_len: usize,
10150        data: *const u8,
10151        data_len: usize,
10152        out: *mut u8,
10153        out_len: *mut ::std::os::raw::c_uint,
10154    ) -> *mut u8;
10155}
10156extern "C" {
10157    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_init"]
10158    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10159}
10160extern "C" {
10161    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_new"]
10162    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10163}
10164extern "C" {
10165    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_cleanup"]
10166    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10167}
10168extern "C" {
10169    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_cleanse"]
10170    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10171}
10172extern "C" {
10173    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_free"]
10174    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10175}
10176extern "C" {
10177    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_Init_ex"]
10178    pub fn HMAC_Init_ex(
10179        ctx: *mut HMAC_CTX,
10180        key: *const ::std::os::raw::c_void,
10181        key_len: usize,
10182        md: *const EVP_MD,
10183        impl_: *mut ENGINE,
10184    ) -> ::std::os::raw::c_int;
10185}
10186extern "C" {
10187    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_Update"]
10188    pub fn HMAC_Update(
10189        ctx: *mut HMAC_CTX,
10190        data: *const u8,
10191        data_len: usize,
10192    ) -> ::std::os::raw::c_int;
10193}
10194extern "C" {
10195    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_Final"]
10196    pub fn HMAC_Final(
10197        ctx: *mut HMAC_CTX,
10198        out: *mut u8,
10199        out_len: *mut ::std::os::raw::c_uint,
10200    ) -> ::std::os::raw::c_int;
10201}
10202extern "C" {
10203    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_size"]
10204    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10205}
10206extern "C" {
10207    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_get_md"]
10208    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10209}
10210extern "C" {
10211    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_copy_ex"]
10212    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10213}
10214extern "C" {
10215    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_reset"]
10216    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10217}
10218extern "C" {
10219    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_set_precomputed_key_export"]
10220    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10221}
10222extern "C" {
10223    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_get_precomputed_key"]
10224    pub fn HMAC_get_precomputed_key(
10225        ctx: *mut HMAC_CTX,
10226        out: *mut u8,
10227        out_len: *mut usize,
10228    ) -> ::std::os::raw::c_int;
10229}
10230extern "C" {
10231    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_Init_from_precomputed_key"]
10232    pub fn HMAC_Init_from_precomputed_key(
10233        ctx: *mut HMAC_CTX,
10234        precomputed_key: *const u8,
10235        precompute_key_len: usize,
10236        md: *const EVP_MD,
10237    ) -> ::std::os::raw::c_int;
10238}
10239extern "C" {
10240    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_Init"]
10241    pub fn HMAC_Init(
10242        ctx: *mut HMAC_CTX,
10243        key: *const ::std::os::raw::c_void,
10244        key_len: ::std::os::raw::c_int,
10245        md: *const EVP_MD,
10246    ) -> ::std::os::raw::c_int;
10247}
10248extern "C" {
10249    #[link_name = "\u{1}aws_lc_0_39_1_HMAC_CTX_copy"]
10250    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10251}
10252#[repr(C)]
10253#[derive(Debug, Copy, Clone)]
10254pub struct hmac_methods_st {
10255    _unused: [u8; 0],
10256}
10257pub type HmacMethods = hmac_methods_st;
10258#[repr(C)]
10259#[derive(Copy, Clone)]
10260pub union md_ctx_union {
10261    pub md5: MD5_CTX,
10262    pub sha1: SHA_CTX,
10263    pub sha256: SHA256_CTX,
10264    pub sha512: SHA512_CTX,
10265    pub sha3: [u8; 400usize],
10266}
10267#[test]
10268fn bindgen_test_layout_md_ctx_union() {
10269    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10270    let ptr = UNINIT.as_ptr();
10271    assert_eq!(
10272        ::std::mem::size_of::<md_ctx_union>(),
10273        400usize,
10274        "Size of md_ctx_union"
10275    );
10276    assert_eq!(
10277        ::std::mem::align_of::<md_ctx_union>(),
10278        8usize,
10279        "Alignment of md_ctx_union"
10280    );
10281    assert_eq!(
10282        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10283        0usize,
10284        "Offset of field: md_ctx_union::md5"
10285    );
10286    assert_eq!(
10287        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10288        0usize,
10289        "Offset of field: md_ctx_union::sha1"
10290    );
10291    assert_eq!(
10292        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10293        0usize,
10294        "Offset of field: md_ctx_union::sha256"
10295    );
10296    assert_eq!(
10297        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10298        0usize,
10299        "Offset of field: md_ctx_union::sha512"
10300    );
10301    assert_eq!(
10302        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10303        0usize,
10304        "Offset of field: md_ctx_union::sha3"
10305    );
10306}
10307impl Default for md_ctx_union {
10308    fn default() -> Self {
10309        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10310        unsafe {
10311            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10312            s.assume_init()
10313        }
10314    }
10315}
10316#[repr(C)]
10317#[derive(Copy, Clone)]
10318pub struct hmac_ctx_st {
10319    pub md: *const EVP_MD,
10320    pub methods: *const HmacMethods,
10321    pub md_ctx: md_ctx_union,
10322    pub i_ctx: md_ctx_union,
10323    pub o_ctx: md_ctx_union,
10324    pub state: i8,
10325}
10326#[test]
10327fn bindgen_test_layout_hmac_ctx_st() {
10328    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10329    let ptr = UNINIT.as_ptr();
10330    assert_eq!(
10331        ::std::mem::size_of::<hmac_ctx_st>(),
10332        1224usize,
10333        "Size of hmac_ctx_st"
10334    );
10335    assert_eq!(
10336        ::std::mem::align_of::<hmac_ctx_st>(),
10337        8usize,
10338        "Alignment of hmac_ctx_st"
10339    );
10340    assert_eq!(
10341        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10342        0usize,
10343        "Offset of field: hmac_ctx_st::md"
10344    );
10345    assert_eq!(
10346        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10347        8usize,
10348        "Offset of field: hmac_ctx_st::methods"
10349    );
10350    assert_eq!(
10351        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10352        16usize,
10353        "Offset of field: hmac_ctx_st::md_ctx"
10354    );
10355    assert_eq!(
10356        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10357        416usize,
10358        "Offset of field: hmac_ctx_st::i_ctx"
10359    );
10360    assert_eq!(
10361        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10362        816usize,
10363        "Offset of field: hmac_ctx_st::o_ctx"
10364    );
10365    assert_eq!(
10366        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10367        1216usize,
10368        "Offset of field: hmac_ctx_st::state"
10369    );
10370}
10371impl Default for hmac_ctx_st {
10372    fn default() -> Self {
10373        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10374        unsafe {
10375            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10376            s.assume_init()
10377        }
10378    }
10379}
10380extern "C" {
10381    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_new"]
10382    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10383}
10384extern "C" {
10385    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_free"]
10386    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10387}
10388extern "C" {
10389    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_up_ref"]
10390    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10391}
10392extern "C" {
10393    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_is_opaque"]
10394    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10395}
10396extern "C" {
10397    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_cmp"]
10398    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10399}
10400extern "C" {
10401    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_copy_parameters"]
10402    pub fn EVP_PKEY_copy_parameters(
10403        to: *mut EVP_PKEY,
10404        from: *const EVP_PKEY,
10405    ) -> ::std::os::raw::c_int;
10406}
10407extern "C" {
10408    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_missing_parameters"]
10409    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10410}
10411extern "C" {
10412    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_size"]
10413    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10414}
10415extern "C" {
10416    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_bits"]
10417    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10418}
10419extern "C" {
10420    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_id"]
10421    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10422}
10423extern "C" {
10424    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_pqdsa_get_type"]
10425    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10426}
10427extern "C" {
10428    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_get0_name"]
10429    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10430}
10431extern "C" {
10432    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_name"]
10433    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10434}
10435extern "C" {
10436    #[link_name = "\u{1}aws_lc_0_39_1_EVP_get_pw_prompt"]
10437    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10438}
10439extern "C" {
10440    #[link_name = "\u{1}aws_lc_0_39_1_EVP_read_pw_string"]
10441    pub fn EVP_read_pw_string(
10442        buf: *mut ::std::os::raw::c_char,
10443        length: ::std::os::raw::c_int,
10444        prompt: *const ::std::os::raw::c_char,
10445        verify: ::std::os::raw::c_int,
10446    ) -> ::std::os::raw::c_int;
10447}
10448extern "C" {
10449    #[link_name = "\u{1}aws_lc_0_39_1_EVP_read_pw_string_min"]
10450    pub fn EVP_read_pw_string_min(
10451        buf: *mut ::std::os::raw::c_char,
10452        min_length: ::std::os::raw::c_int,
10453        length: ::std::os::raw::c_int,
10454        prompt: *const ::std::os::raw::c_char,
10455        verify: ::std::os::raw::c_int,
10456    ) -> ::std::os::raw::c_int;
10457}
10458extern "C" {
10459    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_set1_RSA"]
10460    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10461}
10462extern "C" {
10463    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_assign_RSA"]
10464    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10465}
10466extern "C" {
10467    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get0_RSA"]
10468    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10469}
10470extern "C" {
10471    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get1_RSA"]
10472    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10473}
10474extern "C" {
10475    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_set1_DSA"]
10476    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10477}
10478extern "C" {
10479    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_assign_DSA"]
10480    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10481}
10482extern "C" {
10483    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get0_DSA"]
10484    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10485}
10486extern "C" {
10487    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get1_DSA"]
10488    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10489}
10490extern "C" {
10491    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_set1_EC_KEY"]
10492    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10493}
10494extern "C" {
10495    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_assign_EC_KEY"]
10496    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10497}
10498extern "C" {
10499    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get0_EC_KEY"]
10500    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10501}
10502extern "C" {
10503    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get1_EC_KEY"]
10504    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10505}
10506extern "C" {
10507    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_set1_DH"]
10508    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10509}
10510extern "C" {
10511    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_assign_DH"]
10512    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10513}
10514extern "C" {
10515    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get0_DH"]
10516    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10517}
10518extern "C" {
10519    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get1_DH"]
10520    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10521}
10522extern "C" {
10523    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10524    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10525        ctx: *mut EVP_PKEY_CTX,
10526        pbits: ::std::os::raw::c_int,
10527    ) -> ::std::os::raw::c_int;
10528}
10529extern "C" {
10530    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10531    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10532        ctx: *mut EVP_PKEY_CTX,
10533        gen_: ::std::os::raw::c_int,
10534    ) -> ::std::os::raw::c_int;
10535}
10536extern "C" {
10537    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_set_type"]
10538    pub fn EVP_PKEY_set_type(
10539        pkey: *mut EVP_PKEY,
10540        type_: ::std::os::raw::c_int,
10541    ) -> ::std::os::raw::c_int;
10542}
10543extern "C" {
10544    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_set_type_str"]
10545    pub fn EVP_PKEY_set_type_str(
10546        pkey: *mut EVP_PKEY,
10547        str_: *const ::std::os::raw::c_char,
10548        len: ::std::os::raw::c_int,
10549    ) -> ::std::os::raw::c_int;
10550}
10551extern "C" {
10552    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_cmp_parameters"]
10553    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10554        -> ::std::os::raw::c_int;
10555}
10556extern "C" {
10557    #[link_name = "\u{1}aws_lc_0_39_1_EVP_parse_public_key"]
10558    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10559}
10560extern "C" {
10561    #[link_name = "\u{1}aws_lc_0_39_1_EVP_marshal_public_key"]
10562    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10563}
10564extern "C" {
10565    #[link_name = "\u{1}aws_lc_0_39_1_EVP_parse_private_key"]
10566    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10567}
10568extern "C" {
10569    #[link_name = "\u{1}aws_lc_0_39_1_EVP_marshal_private_key"]
10570    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10571}
10572extern "C" {
10573    #[link_name = "\u{1}aws_lc_0_39_1_EVP_marshal_private_key_v2"]
10574    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10575        -> ::std::os::raw::c_int;
10576}
10577extern "C" {
10578    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_new_raw_private_key"]
10579    pub fn EVP_PKEY_new_raw_private_key(
10580        type_: ::std::os::raw::c_int,
10581        unused: *mut ENGINE,
10582        in_: *const u8,
10583        len: usize,
10584    ) -> *mut EVP_PKEY;
10585}
10586extern "C" {
10587    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_new_raw_public_key"]
10588    pub fn EVP_PKEY_new_raw_public_key(
10589        type_: ::std::os::raw::c_int,
10590        unused: *mut ENGINE,
10591        in_: *const u8,
10592        len: usize,
10593    ) -> *mut EVP_PKEY;
10594}
10595extern "C" {
10596    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get_raw_private_key"]
10597    pub fn EVP_PKEY_get_raw_private_key(
10598        pkey: *const EVP_PKEY,
10599        out: *mut u8,
10600        out_len: *mut usize,
10601    ) -> ::std::os::raw::c_int;
10602}
10603extern "C" {
10604    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get_raw_public_key"]
10605    pub fn EVP_PKEY_get_raw_public_key(
10606        pkey: *const EVP_PKEY,
10607        out: *mut u8,
10608        out_len: *mut usize,
10609    ) -> ::std::os::raw::c_int;
10610}
10611extern "C" {
10612    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestSignInit"]
10613    pub fn EVP_DigestSignInit(
10614        ctx: *mut EVP_MD_CTX,
10615        pctx: *mut *mut EVP_PKEY_CTX,
10616        type_: *const EVP_MD,
10617        e: *mut ENGINE,
10618        pkey: *mut EVP_PKEY,
10619    ) -> ::std::os::raw::c_int;
10620}
10621extern "C" {
10622    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestSignUpdate"]
10623    pub fn EVP_DigestSignUpdate(
10624        ctx: *mut EVP_MD_CTX,
10625        data: *const ::std::os::raw::c_void,
10626        len: usize,
10627    ) -> ::std::os::raw::c_int;
10628}
10629extern "C" {
10630    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestSignFinal"]
10631    pub fn EVP_DigestSignFinal(
10632        ctx: *mut EVP_MD_CTX,
10633        out_sig: *mut u8,
10634        out_sig_len: *mut usize,
10635    ) -> ::std::os::raw::c_int;
10636}
10637extern "C" {
10638    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestSign"]
10639    pub fn EVP_DigestSign(
10640        ctx: *mut EVP_MD_CTX,
10641        out_sig: *mut u8,
10642        out_sig_len: *mut usize,
10643        data: *const u8,
10644        data_len: usize,
10645    ) -> ::std::os::raw::c_int;
10646}
10647extern "C" {
10648    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestVerifyInit"]
10649    pub fn EVP_DigestVerifyInit(
10650        ctx: *mut EVP_MD_CTX,
10651        pctx: *mut *mut EVP_PKEY_CTX,
10652        type_: *const EVP_MD,
10653        e: *mut ENGINE,
10654        pkey: *mut EVP_PKEY,
10655    ) -> ::std::os::raw::c_int;
10656}
10657extern "C" {
10658    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestVerifyUpdate"]
10659    pub fn EVP_DigestVerifyUpdate(
10660        ctx: *mut EVP_MD_CTX,
10661        data: *const ::std::os::raw::c_void,
10662        len: usize,
10663    ) -> ::std::os::raw::c_int;
10664}
10665extern "C" {
10666    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestVerifyFinal"]
10667    pub fn EVP_DigestVerifyFinal(
10668        ctx: *mut EVP_MD_CTX,
10669        sig: *const u8,
10670        sig_len: usize,
10671    ) -> ::std::os::raw::c_int;
10672}
10673extern "C" {
10674    #[link_name = "\u{1}aws_lc_0_39_1_EVP_DigestVerify"]
10675    pub fn EVP_DigestVerify(
10676        ctx: *mut EVP_MD_CTX,
10677        sig: *const u8,
10678        sig_len: usize,
10679        data: *const u8,
10680        len: usize,
10681    ) -> ::std::os::raw::c_int;
10682}
10683extern "C" {
10684    #[link_name = "\u{1}aws_lc_0_39_1_EVP_SignInit_ex"]
10685    pub fn EVP_SignInit_ex(
10686        ctx: *mut EVP_MD_CTX,
10687        type_: *const EVP_MD,
10688        impl_: *mut ENGINE,
10689    ) -> ::std::os::raw::c_int;
10690}
10691extern "C" {
10692    #[link_name = "\u{1}aws_lc_0_39_1_EVP_SignInit"]
10693    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10694}
10695extern "C" {
10696    #[link_name = "\u{1}aws_lc_0_39_1_EVP_SignUpdate"]
10697    pub fn EVP_SignUpdate(
10698        ctx: *mut EVP_MD_CTX,
10699        data: *const ::std::os::raw::c_void,
10700        len: usize,
10701    ) -> ::std::os::raw::c_int;
10702}
10703extern "C" {
10704    #[link_name = "\u{1}aws_lc_0_39_1_EVP_SignFinal"]
10705    pub fn EVP_SignFinal(
10706        ctx: *const EVP_MD_CTX,
10707        sig: *mut u8,
10708        out_sig_len: *mut ::std::os::raw::c_uint,
10709        pkey: *mut EVP_PKEY,
10710    ) -> ::std::os::raw::c_int;
10711}
10712extern "C" {
10713    #[link_name = "\u{1}aws_lc_0_39_1_EVP_VerifyInit_ex"]
10714    pub fn EVP_VerifyInit_ex(
10715        ctx: *mut EVP_MD_CTX,
10716        type_: *const EVP_MD,
10717        impl_: *mut ENGINE,
10718    ) -> ::std::os::raw::c_int;
10719}
10720extern "C" {
10721    #[link_name = "\u{1}aws_lc_0_39_1_EVP_VerifyInit"]
10722    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10723}
10724extern "C" {
10725    #[link_name = "\u{1}aws_lc_0_39_1_EVP_VerifyUpdate"]
10726    pub fn EVP_VerifyUpdate(
10727        ctx: *mut EVP_MD_CTX,
10728        data: *const ::std::os::raw::c_void,
10729        len: usize,
10730    ) -> ::std::os::raw::c_int;
10731}
10732extern "C" {
10733    #[link_name = "\u{1}aws_lc_0_39_1_EVP_VerifyFinal"]
10734    pub fn EVP_VerifyFinal(
10735        ctx: *mut EVP_MD_CTX,
10736        sig: *const u8,
10737        sig_len: usize,
10738        pkey: *mut EVP_PKEY,
10739    ) -> ::std::os::raw::c_int;
10740}
10741extern "C" {
10742    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_print_public"]
10743    pub fn EVP_PKEY_print_public(
10744        out: *mut BIO,
10745        pkey: *const EVP_PKEY,
10746        indent: ::std::os::raw::c_int,
10747        pctx: *mut ASN1_PCTX,
10748    ) -> ::std::os::raw::c_int;
10749}
10750extern "C" {
10751    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_print_private"]
10752    pub fn EVP_PKEY_print_private(
10753        out: *mut BIO,
10754        pkey: *const EVP_PKEY,
10755        indent: ::std::os::raw::c_int,
10756        pctx: *mut ASN1_PCTX,
10757    ) -> ::std::os::raw::c_int;
10758}
10759extern "C" {
10760    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_print_params"]
10761    pub fn EVP_PKEY_print_params(
10762        out: *mut BIO,
10763        pkey: *const EVP_PKEY,
10764        indent: ::std::os::raw::c_int,
10765        pctx: *mut ASN1_PCTX,
10766    ) -> ::std::os::raw::c_int;
10767}
10768extern "C" {
10769    #[link_name = "\u{1}aws_lc_0_39_1_PKCS5_PBKDF2_HMAC"]
10770    pub fn PKCS5_PBKDF2_HMAC(
10771        password: *const ::std::os::raw::c_char,
10772        password_len: usize,
10773        salt: *const u8,
10774        salt_len: usize,
10775        iterations: u32,
10776        digest: *const EVP_MD,
10777        key_len: usize,
10778        out_key: *mut u8,
10779    ) -> ::std::os::raw::c_int;
10780}
10781extern "C" {
10782    #[link_name = "\u{1}aws_lc_0_39_1_PKCS5_PBKDF2_HMAC_SHA1"]
10783    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10784        password: *const ::std::os::raw::c_char,
10785        password_len: usize,
10786        salt: *const u8,
10787        salt_len: usize,
10788        iterations: u32,
10789        key_len: usize,
10790        out_key: *mut u8,
10791    ) -> ::std::os::raw::c_int;
10792}
10793extern "C" {
10794    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PBE_scrypt"]
10795    pub fn EVP_PBE_scrypt(
10796        password: *const ::std::os::raw::c_char,
10797        password_len: usize,
10798        salt: *const u8,
10799        salt_len: usize,
10800        N: u64,
10801        r: u64,
10802        p: u64,
10803        max_mem: usize,
10804        out_key: *mut u8,
10805        key_len: usize,
10806    ) -> ::std::os::raw::c_int;
10807}
10808extern "C" {
10809    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_new"]
10810    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10811}
10812extern "C" {
10813    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_new_id"]
10814    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10815}
10816extern "C" {
10817    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_free"]
10818    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
10819}
10820extern "C" {
10821    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_dup"]
10822    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
10823}
10824extern "C" {
10825    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get0_pkey"]
10826    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
10827}
10828extern "C" {
10829    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_sign_init"]
10830    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10831}
10832extern "C" {
10833    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_sign"]
10834    pub fn EVP_PKEY_sign(
10835        ctx: *mut EVP_PKEY_CTX,
10836        sig: *mut u8,
10837        sig_len: *mut usize,
10838        digest: *const u8,
10839        digest_len: usize,
10840    ) -> ::std::os::raw::c_int;
10841}
10842extern "C" {
10843    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_verify_init"]
10844    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10845}
10846extern "C" {
10847    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_verify"]
10848    pub fn EVP_PKEY_verify(
10849        ctx: *mut EVP_PKEY_CTX,
10850        sig: *const u8,
10851        sig_len: usize,
10852        digest: *const u8,
10853        digest_len: usize,
10854    ) -> ::std::os::raw::c_int;
10855}
10856extern "C" {
10857    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_encrypt_init"]
10858    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10859}
10860extern "C" {
10861    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_encrypt"]
10862    pub fn EVP_PKEY_encrypt(
10863        ctx: *mut EVP_PKEY_CTX,
10864        out: *mut u8,
10865        out_len: *mut usize,
10866        in_: *const u8,
10867        in_len: usize,
10868    ) -> ::std::os::raw::c_int;
10869}
10870extern "C" {
10871    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_decrypt_init"]
10872    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10873}
10874extern "C" {
10875    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_decrypt"]
10876    pub fn EVP_PKEY_decrypt(
10877        ctx: *mut EVP_PKEY_CTX,
10878        out: *mut u8,
10879        out_len: *mut usize,
10880        in_: *const u8,
10881        in_len: usize,
10882    ) -> ::std::os::raw::c_int;
10883}
10884extern "C" {
10885    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_verify_recover_init"]
10886    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10887}
10888extern "C" {
10889    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_verify_recover"]
10890    pub fn EVP_PKEY_verify_recover(
10891        ctx: *mut EVP_PKEY_CTX,
10892        out: *mut u8,
10893        out_len: *mut usize,
10894        sig: *const u8,
10895        siglen: usize,
10896    ) -> ::std::os::raw::c_int;
10897}
10898extern "C" {
10899    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_derive_init"]
10900    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10901}
10902extern "C" {
10903    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_derive_set_peer"]
10904    pub fn EVP_PKEY_derive_set_peer(
10905        ctx: *mut EVP_PKEY_CTX,
10906        peer: *mut EVP_PKEY,
10907    ) -> ::std::os::raw::c_int;
10908}
10909extern "C" {
10910    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_derive"]
10911    pub fn EVP_PKEY_derive(
10912        ctx: *mut EVP_PKEY_CTX,
10913        key: *mut u8,
10914        out_key_len: *mut usize,
10915    ) -> ::std::os::raw::c_int;
10916}
10917extern "C" {
10918    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_check"]
10919    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10920}
10921extern "C" {
10922    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_public_check"]
10923    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10924}
10925extern "C" {
10926    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_param_check"]
10927    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10928}
10929extern "C" {
10930    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_keygen_init"]
10931    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10932}
10933extern "C" {
10934    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_keygen"]
10935    pub fn EVP_PKEY_keygen(
10936        ctx: *mut EVP_PKEY_CTX,
10937        out_pkey: *mut *mut EVP_PKEY,
10938    ) -> ::std::os::raw::c_int;
10939}
10940extern "C" {
10941    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_encapsulate"]
10942    pub fn EVP_PKEY_encapsulate(
10943        ctx: *mut EVP_PKEY_CTX,
10944        ciphertext: *mut u8,
10945        ciphertext_len: *mut usize,
10946        shared_secret: *mut u8,
10947        shared_secret_len: *mut usize,
10948    ) -> ::std::os::raw::c_int;
10949}
10950extern "C" {
10951    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_decapsulate"]
10952    pub fn EVP_PKEY_decapsulate(
10953        ctx: *mut EVP_PKEY_CTX,
10954        shared_secret: *mut u8,
10955        shared_secret_len: *mut usize,
10956        ciphertext: *const u8,
10957        ciphertext_len: usize,
10958    ) -> ::std::os::raw::c_int;
10959}
10960extern "C" {
10961    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_paramgen_init"]
10962    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10963}
10964extern "C" {
10965    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_paramgen"]
10966    pub fn EVP_PKEY_paramgen(
10967        ctx: *mut EVP_PKEY_CTX,
10968        out_pkey: *mut *mut EVP_PKEY,
10969    ) -> ::std::os::raw::c_int;
10970}
10971extern "C" {
10972    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_signature_md"]
10973    pub fn EVP_PKEY_CTX_set_signature_md(
10974        ctx: *mut EVP_PKEY_CTX,
10975        md: *const EVP_MD,
10976    ) -> ::std::os::raw::c_int;
10977}
10978extern "C" {
10979    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get_signature_md"]
10980    pub fn EVP_PKEY_CTX_get_signature_md(
10981        ctx: *mut EVP_PKEY_CTX,
10982        out_md: *mut *const EVP_MD,
10983    ) -> ::std::os::raw::c_int;
10984}
10985extern "C" {
10986    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_signature_context"]
10987    pub fn EVP_PKEY_CTX_set_signature_context(
10988        ctx: *mut EVP_PKEY_CTX,
10989        context: *const u8,
10990        context_len: usize,
10991    ) -> ::std::os::raw::c_int;
10992}
10993extern "C" {
10994    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get0_signature_context"]
10995    pub fn EVP_PKEY_CTX_get0_signature_context(
10996        ctx: *mut EVP_PKEY_CTX,
10997        context: *mut *const u8,
10998        context_len: *mut usize,
10999    ) -> ::std::os::raw::c_int;
11000}
11001extern "C" {
11002    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_padding"]
11003    pub fn EVP_PKEY_CTX_set_rsa_padding(
11004        ctx: *mut EVP_PKEY_CTX,
11005        padding: ::std::os::raw::c_int,
11006    ) -> ::std::os::raw::c_int;
11007}
11008extern "C" {
11009    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get_rsa_padding"]
11010    pub fn EVP_PKEY_CTX_get_rsa_padding(
11011        ctx: *mut EVP_PKEY_CTX,
11012        out_padding: *mut ::std::os::raw::c_int,
11013    ) -> ::std::os::raw::c_int;
11014}
11015extern "C" {
11016    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
11017    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
11018        ctx: *mut EVP_PKEY_CTX,
11019        salt_len: ::std::os::raw::c_int,
11020    ) -> ::std::os::raw::c_int;
11021}
11022extern "C" {
11023    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
11024    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
11025        ctx: *mut EVP_PKEY_CTX,
11026        out_salt_len: *mut ::std::os::raw::c_int,
11027    ) -> ::std::os::raw::c_int;
11028}
11029extern "C" {
11030    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_keygen_bits"]
11031    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
11032        ctx: *mut EVP_PKEY_CTX,
11033        bits: ::std::os::raw::c_int,
11034    ) -> ::std::os::raw::c_int;
11035}
11036extern "C" {
11037    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11038    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11039        ctx: *mut EVP_PKEY_CTX,
11040        e: *mut BIGNUM,
11041    ) -> ::std::os::raw::c_int;
11042}
11043extern "C" {
11044    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_oaep_md"]
11045    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11046        ctx: *mut EVP_PKEY_CTX,
11047        md: *const EVP_MD,
11048    ) -> ::std::os::raw::c_int;
11049}
11050extern "C" {
11051    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get_rsa_oaep_md"]
11052    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11053        ctx: *mut EVP_PKEY_CTX,
11054        out_md: *mut *const EVP_MD,
11055    ) -> ::std::os::raw::c_int;
11056}
11057extern "C" {
11058    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11059    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11060        ctx: *mut EVP_PKEY_CTX,
11061        md: *const EVP_MD,
11062    ) -> ::std::os::raw::c_int;
11063}
11064extern "C" {
11065    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11066    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11067        ctx: *mut EVP_PKEY_CTX,
11068        out_md: *mut *const EVP_MD,
11069    ) -> ::std::os::raw::c_int;
11070}
11071extern "C" {
11072    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11073    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11074        ctx: *mut EVP_PKEY_CTX,
11075        label: *mut u8,
11076        label_len: usize,
11077    ) -> ::std::os::raw::c_int;
11078}
11079extern "C" {
11080    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11081    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11082        ctx: *mut EVP_PKEY_CTX,
11083        out_label: *mut *const u8,
11084    ) -> ::std::os::raw::c_int;
11085}
11086extern "C" {
11087    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11088    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
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_39_1_EVP_PKEY_CTX_kem_set_params"]
11095    pub fn EVP_PKEY_CTX_kem_set_params(
11096        ctx: *mut EVP_PKEY_CTX,
11097        nid: ::std::os::raw::c_int,
11098    ) -> ::std::os::raw::c_int;
11099}
11100extern "C" {
11101    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_kem_new_raw_public_key"]
11102    pub fn EVP_PKEY_kem_new_raw_public_key(
11103        nid: ::std::os::raw::c_int,
11104        in_: *const u8,
11105        len: usize,
11106    ) -> *mut EVP_PKEY;
11107}
11108extern "C" {
11109    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_kem_new_raw_secret_key"]
11110    pub fn EVP_PKEY_kem_new_raw_secret_key(
11111        nid: ::std::os::raw::c_int,
11112        in_: *const u8,
11113        len: usize,
11114    ) -> *mut EVP_PKEY;
11115}
11116extern "C" {
11117    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_kem_new_raw_key"]
11118    pub fn EVP_PKEY_kem_new_raw_key(
11119        nid: ::std::os::raw::c_int,
11120        in_public: *const u8,
11121        len_public: usize,
11122        in_secret: *const u8,
11123        len_secret: usize,
11124    ) -> *mut EVP_PKEY;
11125}
11126extern "C" {
11127    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_kem_check_key"]
11128    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11129}
11130extern "C" {
11131    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_pqdsa_set_params"]
11132    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11133        ctx: *mut EVP_PKEY_CTX,
11134        nid: ::std::os::raw::c_int,
11135    ) -> ::std::os::raw::c_int;
11136}
11137extern "C" {
11138    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_pqdsa_new_raw_public_key"]
11139    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11140        nid: ::std::os::raw::c_int,
11141        in_: *const u8,
11142        len: usize,
11143    ) -> *mut EVP_PKEY;
11144}
11145extern "C" {
11146    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_pqdsa_new_raw_private_key"]
11147    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11148        nid: ::std::os::raw::c_int,
11149        in_: *const u8,
11150        len: usize,
11151    ) -> *mut EVP_PKEY;
11152}
11153extern "C" {
11154    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_dh_pad"]
11155    pub fn EVP_PKEY_CTX_set_dh_pad(
11156        ctx: *mut EVP_PKEY_CTX,
11157        pad: ::std::os::raw::c_int,
11158    ) -> ::std::os::raw::c_int;
11159}
11160extern "C" {
11161    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_asn1_get_count"]
11162    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11163}
11164extern "C" {
11165    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_asn1_get0"]
11166    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11167}
11168extern "C" {
11169    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_asn1_find"]
11170    pub fn EVP_PKEY_asn1_find(
11171        _pe: *mut *mut ENGINE,
11172        type_: ::std::os::raw::c_int,
11173    ) -> *const EVP_PKEY_ASN1_METHOD;
11174}
11175extern "C" {
11176    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_asn1_find_str"]
11177    pub fn EVP_PKEY_asn1_find_str(
11178        _pe: *mut *mut ENGINE,
11179        name: *const ::std::os::raw::c_char,
11180        len: ::std::os::raw::c_int,
11181    ) -> *const EVP_PKEY_ASN1_METHOD;
11182}
11183extern "C" {
11184    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_asn1_get0_info"]
11185    pub fn EVP_PKEY_asn1_get0_info(
11186        ppkey_id: *mut ::std::os::raw::c_int,
11187        pkey_base_id: *mut ::std::os::raw::c_int,
11188        ppkey_flags: *mut ::std::os::raw::c_int,
11189        pinfo: *mut *const ::std::os::raw::c_char,
11190        ppem_str: *mut *const ::std::os::raw::c_char,
11191        ameth: *const EVP_PKEY_ASN1_METHOD,
11192    ) -> ::std::os::raw::c_int;
11193}
11194pub type EVP_PKEY_gen_cb =
11195    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11196extern "C" {
11197    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_cb"]
11198    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11199}
11200extern "C" {
11201    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get_keygen_info"]
11202    pub fn EVP_PKEY_CTX_get_keygen_info(
11203        ctx: *mut EVP_PKEY_CTX,
11204        idx: ::std::os::raw::c_int,
11205    ) -> ::std::os::raw::c_int;
11206}
11207extern "C" {
11208    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_app_data"]
11209    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11210}
11211extern "C" {
11212    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_get_app_data"]
11213    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11214}
11215extern "C" {
11216    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_get_pkey_type"]
11217    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11218}
11219extern "C" {
11220    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_pkey_type"]
11221    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11222}
11223extern "C" {
11224    #[link_name = "\u{1}aws_lc_0_39_1_EVP_CIPHER_do_all_sorted"]
11225    pub fn EVP_CIPHER_do_all_sorted(
11226        callback: ::std::option::Option<
11227            unsafe extern "C" fn(
11228                cipher: *const EVP_CIPHER,
11229                name: *const ::std::os::raw::c_char,
11230                unused: *const ::std::os::raw::c_char,
11231                arg: *mut ::std::os::raw::c_void,
11232            ),
11233        >,
11234        arg: *mut ::std::os::raw::c_void,
11235    );
11236}
11237extern "C" {
11238    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_do_all_sorted"]
11239    pub fn EVP_MD_do_all_sorted(
11240        callback: ::std::option::Option<
11241            unsafe extern "C" fn(
11242                cipher: *const EVP_MD,
11243                name: *const ::std::os::raw::c_char,
11244                unused: *const ::std::os::raw::c_char,
11245                arg: *mut ::std::os::raw::c_void,
11246            ),
11247        >,
11248        arg: *mut ::std::os::raw::c_void,
11249    );
11250}
11251extern "C" {
11252    #[link_name = "\u{1}aws_lc_0_39_1_EVP_MD_do_all"]
11253    pub fn EVP_MD_do_all(
11254        callback: ::std::option::Option<
11255            unsafe extern "C" fn(
11256                cipher: *const EVP_MD,
11257                name: *const ::std::os::raw::c_char,
11258                unused: *const ::std::os::raw::c_char,
11259                arg: *mut ::std::os::raw::c_void,
11260            ),
11261        >,
11262        arg: *mut ::std::os::raw::c_void,
11263    );
11264}
11265extern "C" {
11266    #[link_name = "\u{1}aws_lc_0_39_1_i2d_PrivateKey"]
11267    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11268}
11269extern "C" {
11270    #[link_name = "\u{1}aws_lc_0_39_1_i2d_PublicKey"]
11271    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11272}
11273extern "C" {
11274    #[link_name = "\u{1}aws_lc_0_39_1_d2i_PrivateKey"]
11275    pub fn d2i_PrivateKey(
11276        type_: ::std::os::raw::c_int,
11277        out: *mut *mut EVP_PKEY,
11278        inp: *mut *const u8,
11279        len: ::std::os::raw::c_long,
11280    ) -> *mut EVP_PKEY;
11281}
11282extern "C" {
11283    #[link_name = "\u{1}aws_lc_0_39_1_d2i_AutoPrivateKey"]
11284    pub fn d2i_AutoPrivateKey(
11285        out: *mut *mut EVP_PKEY,
11286        inp: *mut *const u8,
11287        len: ::std::os::raw::c_long,
11288    ) -> *mut EVP_PKEY;
11289}
11290extern "C" {
11291    #[link_name = "\u{1}aws_lc_0_39_1_d2i_PublicKey"]
11292    pub fn d2i_PublicKey(
11293        type_: ::std::os::raw::c_int,
11294        out: *mut *mut EVP_PKEY,
11295        inp: *mut *const u8,
11296        len: ::std::os::raw::c_long,
11297    ) -> *mut EVP_PKEY;
11298}
11299extern "C" {
11300    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_ec_param_enc"]
11301    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11302        ctx: *mut EVP_PKEY_CTX,
11303        encoding: ::std::os::raw::c_int,
11304    ) -> ::std::os::raw::c_int;
11305}
11306extern "C" {
11307    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_set1_tls_encodedpoint"]
11308    pub fn EVP_PKEY_set1_tls_encodedpoint(
11309        pkey: *mut EVP_PKEY,
11310        in_: *const u8,
11311        len: usize,
11312    ) -> ::std::os::raw::c_int;
11313}
11314extern "C" {
11315    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get1_tls_encodedpoint"]
11316    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11317}
11318extern "C" {
11319    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_base_id"]
11320    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11321}
11322extern "C" {
11323    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11324    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11325        ctx: *mut EVP_PKEY_CTX,
11326        md: *const EVP_MD,
11327    ) -> ::std::os::raw::c_int;
11328}
11329extern "C" {
11330    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11331    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11332        ctx: *mut EVP_PKEY_CTX,
11333        salt_len: ::std::os::raw::c_int,
11334    ) -> ::std::os::raw::c_int;
11335}
11336extern "C" {
11337    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11338    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11339        ctx: *mut EVP_PKEY_CTX,
11340        md: *const EVP_MD,
11341    ) -> ::std::os::raw::c_int;
11342}
11343extern "C" {
11344    #[link_name = "\u{1}aws_lc_0_39_1_i2d_PUBKEY"]
11345    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11346}
11347extern "C" {
11348    #[link_name = "\u{1}aws_lc_0_39_1_d2i_PUBKEY"]
11349    pub fn d2i_PUBKEY(
11350        out: *mut *mut EVP_PKEY,
11351        inp: *mut *const u8,
11352        len: ::std::os::raw::c_long,
11353    ) -> *mut EVP_PKEY;
11354}
11355extern "C" {
11356    #[link_name = "\u{1}aws_lc_0_39_1_i2d_RSA_PUBKEY"]
11357    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11358}
11359extern "C" {
11360    #[link_name = "\u{1}aws_lc_0_39_1_d2i_RSA_PUBKEY"]
11361    pub fn d2i_RSA_PUBKEY(
11362        out: *mut *mut RSA,
11363        inp: *mut *const u8,
11364        len: ::std::os::raw::c_long,
11365    ) -> *mut RSA;
11366}
11367extern "C" {
11368    #[link_name = "\u{1}aws_lc_0_39_1_i2d_DSA_PUBKEY"]
11369    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11370}
11371extern "C" {
11372    #[link_name = "\u{1}aws_lc_0_39_1_d2i_DSA_PUBKEY"]
11373    pub fn d2i_DSA_PUBKEY(
11374        out: *mut *mut DSA,
11375        inp: *mut *const u8,
11376        len: ::std::os::raw::c_long,
11377    ) -> *mut DSA;
11378}
11379extern "C" {
11380    #[link_name = "\u{1}aws_lc_0_39_1_i2d_EC_PUBKEY"]
11381    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11382}
11383extern "C" {
11384    #[link_name = "\u{1}aws_lc_0_39_1_d2i_EC_PUBKEY"]
11385    pub fn d2i_EC_PUBKEY(
11386        out: *mut *mut EC_KEY,
11387        inp: *mut *const u8,
11388        len: ::std::os::raw::c_long,
11389    ) -> *mut EC_KEY;
11390}
11391extern "C" {
11392    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_assign"]
11393    pub fn EVP_PKEY_assign(
11394        pkey: *mut EVP_PKEY,
11395        type_: ::std::os::raw::c_int,
11396        key: *mut ::std::os::raw::c_void,
11397    ) -> ::std::os::raw::c_int;
11398}
11399extern "C" {
11400    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_type"]
11401    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11402}
11403extern "C" {
11404    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_new_mac_key"]
11405    pub fn EVP_PKEY_new_mac_key(
11406        type_: ::std::os::raw::c_int,
11407        engine: *mut ENGINE,
11408        mac_key: *const u8,
11409        mac_key_len: usize,
11410    ) -> *mut EVP_PKEY;
11411}
11412extern "C" {
11413    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_get0"]
11414    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11415}
11416extern "C" {
11417    #[link_name = "\u{1}aws_lc_0_39_1_OpenSSL_add_all_algorithms"]
11418    pub fn OpenSSL_add_all_algorithms();
11419}
11420extern "C" {
11421    #[link_name = "\u{1}aws_lc_0_39_1_OPENSSL_add_all_algorithms_conf"]
11422    pub fn OPENSSL_add_all_algorithms_conf();
11423}
11424extern "C" {
11425    #[link_name = "\u{1}aws_lc_0_39_1_OpenSSL_add_all_ciphers"]
11426    pub fn OpenSSL_add_all_ciphers();
11427}
11428extern "C" {
11429    #[link_name = "\u{1}aws_lc_0_39_1_OpenSSL_add_all_digests"]
11430    pub fn OpenSSL_add_all_digests();
11431}
11432extern "C" {
11433    #[link_name = "\u{1}aws_lc_0_39_1_EVP_cleanup"]
11434    pub fn EVP_cleanup();
11435}
11436extern "C" {
11437    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11438    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11439        ctx: *mut EVP_PKEY_CTX,
11440        nbits: ::std::os::raw::c_int,
11441    ) -> ::std::os::raw::c_int;
11442}
11443extern "C" {
11444    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11445    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11446        ctx: *mut EVP_PKEY_CTX,
11447        md: *const EVP_MD,
11448    ) -> ::std::os::raw::c_int;
11449}
11450extern "C" {
11451    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11452    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11453        ctx: *mut EVP_PKEY_CTX,
11454        qbits: ::std::os::raw::c_int,
11455    ) -> ::std::os::raw::c_int;
11456}
11457extern "C" {
11458    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_ctrl_str"]
11459    pub fn EVP_PKEY_CTX_ctrl_str(
11460        ctx: *mut EVP_PKEY_CTX,
11461        type_: *const ::std::os::raw::c_char,
11462        value: *const ::std::os::raw::c_char,
11463    ) -> ::std::os::raw::c_int;
11464}
11465extern "C" {
11466    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_tls1_prf"]
11467    pub fn CRYPTO_tls1_prf(
11468        digest: *const EVP_MD,
11469        out: *mut u8,
11470        out_len: usize,
11471        secret: *const u8,
11472        secret_len: usize,
11473        label: *const ::std::os::raw::c_char,
11474        label_len: usize,
11475        seed1: *const u8,
11476        seed1_len: usize,
11477        seed2: *const u8,
11478        seed2_len: usize,
11479    ) -> ::std::os::raw::c_int;
11480}
11481extern "C" {
11482    #[link_name = "\u{1}aws_lc_0_39_1_SSKDF_digest"]
11483    pub fn SSKDF_digest(
11484        out_key: *mut u8,
11485        out_len: usize,
11486        digest: *const EVP_MD,
11487        secret: *const u8,
11488        secret_len: usize,
11489        info: *const u8,
11490        info_len: usize,
11491    ) -> ::std::os::raw::c_int;
11492}
11493extern "C" {
11494    #[link_name = "\u{1}aws_lc_0_39_1_SSKDF_hmac"]
11495    pub fn SSKDF_hmac(
11496        out_key: *mut u8,
11497        out_len: usize,
11498        digest: *const EVP_MD,
11499        secret: *const u8,
11500        secret_len: usize,
11501        info: *const u8,
11502        info_len: usize,
11503        salt: *const u8,
11504        salt_len: usize,
11505    ) -> ::std::os::raw::c_int;
11506}
11507extern "C" {
11508    #[link_name = "\u{1}aws_lc_0_39_1_KBKDF_ctr_hmac"]
11509    pub fn KBKDF_ctr_hmac(
11510        out_key: *mut u8,
11511        out_len: usize,
11512        digest: *const EVP_MD,
11513        secret: *const u8,
11514        secret_len: usize,
11515        info: *const u8,
11516        info_len: usize,
11517    ) -> ::std::os::raw::c_int;
11518}
11519extern "C" {
11520    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_hkdf_mode"]
11521    pub fn EVP_PKEY_CTX_hkdf_mode(
11522        ctx: *mut EVP_PKEY_CTX,
11523        mode: ::std::os::raw::c_int,
11524    ) -> ::std::os::raw::c_int;
11525}
11526extern "C" {
11527    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set_hkdf_md"]
11528    pub fn EVP_PKEY_CTX_set_hkdf_md(
11529        ctx: *mut EVP_PKEY_CTX,
11530        md: *const EVP_MD,
11531    ) -> ::std::os::raw::c_int;
11532}
11533extern "C" {
11534    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set1_hkdf_key"]
11535    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11536        ctx: *mut EVP_PKEY_CTX,
11537        key: *const u8,
11538        key_len: usize,
11539    ) -> ::std::os::raw::c_int;
11540}
11541extern "C" {
11542    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_set1_hkdf_salt"]
11543    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11544        ctx: *mut EVP_PKEY_CTX,
11545        salt: *const u8,
11546        salt_len: usize,
11547    ) -> ::std::os::raw::c_int;
11548}
11549extern "C" {
11550    #[link_name = "\u{1}aws_lc_0_39_1_EVP_PKEY_CTX_add1_hkdf_info"]
11551    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11552        ctx: *mut EVP_PKEY_CTX,
11553        info: *const u8,
11554        info_len: usize,
11555    ) -> ::std::os::raw::c_int;
11556}
11557extern "C" {
11558    #[link_name = "\u{1}aws_lc_0_39_1_HKDF"]
11559    pub fn HKDF(
11560        out_key: *mut u8,
11561        out_len: usize,
11562        digest: *const EVP_MD,
11563        secret: *const u8,
11564        secret_len: usize,
11565        salt: *const u8,
11566        salt_len: usize,
11567        info: *const u8,
11568        info_len: usize,
11569    ) -> ::std::os::raw::c_int;
11570}
11571extern "C" {
11572    #[link_name = "\u{1}aws_lc_0_39_1_HKDF_extract"]
11573    pub fn HKDF_extract(
11574        out_key: *mut u8,
11575        out_len: *mut usize,
11576        digest: *const EVP_MD,
11577        secret: *const u8,
11578        secret_len: usize,
11579        salt: *const u8,
11580        salt_len: usize,
11581    ) -> ::std::os::raw::c_int;
11582}
11583extern "C" {
11584    #[link_name = "\u{1}aws_lc_0_39_1_HKDF_expand"]
11585    pub fn HKDF_expand(
11586        out_key: *mut u8,
11587        out_len: usize,
11588        digest: *const EVP_MD,
11589        prk: *const u8,
11590        prk_len: usize,
11591        info: *const u8,
11592        info_len: usize,
11593    ) -> ::std::os::raw::c_int;
11594}
11595#[repr(C)]
11596#[derive(Copy, Clone)]
11597pub struct evp_hpke_ctx_st {
11598    pub kem: *const EVP_HPKE_KEM,
11599    pub aead: *const EVP_HPKE_AEAD,
11600    pub kdf: *const EVP_HPKE_KDF,
11601    pub aead_ctx: EVP_AEAD_CTX,
11602    pub base_nonce: [u8; 24usize],
11603    pub exporter_secret: [u8; 64usize],
11604    pub seq: u64,
11605    pub is_sender: ::std::os::raw::c_int,
11606}
11607#[test]
11608fn bindgen_test_layout_evp_hpke_ctx_st() {
11609    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11610    let ptr = UNINIT.as_ptr();
11611    assert_eq!(
11612        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11613        712usize,
11614        "Size of evp_hpke_ctx_st"
11615    );
11616    assert_eq!(
11617        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11618        8usize,
11619        "Alignment of evp_hpke_ctx_st"
11620    );
11621    assert_eq!(
11622        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11623        0usize,
11624        "Offset of field: evp_hpke_ctx_st::kem"
11625    );
11626    assert_eq!(
11627        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11628        8usize,
11629        "Offset of field: evp_hpke_ctx_st::aead"
11630    );
11631    assert_eq!(
11632        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11633        16usize,
11634        "Offset of field: evp_hpke_ctx_st::kdf"
11635    );
11636    assert_eq!(
11637        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11638        24usize,
11639        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11640    );
11641    assert_eq!(
11642        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11643        608usize,
11644        "Offset of field: evp_hpke_ctx_st::base_nonce"
11645    );
11646    assert_eq!(
11647        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11648        632usize,
11649        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11650    );
11651    assert_eq!(
11652        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11653        696usize,
11654        "Offset of field: evp_hpke_ctx_st::seq"
11655    );
11656    assert_eq!(
11657        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11658        704usize,
11659        "Offset of field: evp_hpke_ctx_st::is_sender"
11660    );
11661}
11662impl Default for evp_hpke_ctx_st {
11663    fn default() -> Self {
11664        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11665        unsafe {
11666            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11667            s.assume_init()
11668        }
11669    }
11670}
11671#[repr(C)]
11672#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11673pub struct evp_hpke_key_st {
11674    pub kem: *const EVP_HPKE_KEM,
11675    pub private_key: [u8; 32usize],
11676    pub public_key: [u8; 32usize],
11677}
11678#[test]
11679fn bindgen_test_layout_evp_hpke_key_st() {
11680    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11681    let ptr = UNINIT.as_ptr();
11682    assert_eq!(
11683        ::std::mem::size_of::<evp_hpke_key_st>(),
11684        72usize,
11685        "Size of evp_hpke_key_st"
11686    );
11687    assert_eq!(
11688        ::std::mem::align_of::<evp_hpke_key_st>(),
11689        8usize,
11690        "Alignment of evp_hpke_key_st"
11691    );
11692    assert_eq!(
11693        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11694        0usize,
11695        "Offset of field: evp_hpke_key_st::kem"
11696    );
11697    assert_eq!(
11698        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11699        8usize,
11700        "Offset of field: evp_hpke_key_st::private_key"
11701    );
11702    assert_eq!(
11703        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11704        40usize,
11705        "Offset of field: evp_hpke_key_st::public_key"
11706    );
11707}
11708impl Default for evp_hpke_key_st {
11709    fn default() -> Self {
11710        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11711        unsafe {
11712            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11713            s.assume_init()
11714        }
11715    }
11716}
11717#[repr(C)]
11718#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11719pub struct md4_state_st {
11720    pub h: [u32; 4usize],
11721    pub Nl: u32,
11722    pub Nh: u32,
11723    pub data: [u8; 64usize],
11724    pub num: ::std::os::raw::c_uint,
11725}
11726#[test]
11727fn bindgen_test_layout_md4_state_st() {
11728    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11729    let ptr = UNINIT.as_ptr();
11730    assert_eq!(
11731        ::std::mem::size_of::<md4_state_st>(),
11732        92usize,
11733        "Size of md4_state_st"
11734    );
11735    assert_eq!(
11736        ::std::mem::align_of::<md4_state_st>(),
11737        4usize,
11738        "Alignment of md4_state_st"
11739    );
11740    assert_eq!(
11741        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11742        0usize,
11743        "Offset of field: md4_state_st::h"
11744    );
11745    assert_eq!(
11746        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11747        16usize,
11748        "Offset of field: md4_state_st::Nl"
11749    );
11750    assert_eq!(
11751        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11752        20usize,
11753        "Offset of field: md4_state_st::Nh"
11754    );
11755    assert_eq!(
11756        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11757        24usize,
11758        "Offset of field: md4_state_st::data"
11759    );
11760    assert_eq!(
11761        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11762        88usize,
11763        "Offset of field: md4_state_st::num"
11764    );
11765}
11766impl Default for md4_state_st {
11767    fn default() -> Self {
11768        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11769        unsafe {
11770            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11771            s.assume_init()
11772        }
11773    }
11774}
11775#[repr(C)]
11776#[derive(Debug, Copy, Clone)]
11777pub struct stack_st_X509 {
11778    _unused: [u8; 0],
11779}
11780#[repr(C)]
11781#[derive(Debug, Copy, Clone)]
11782pub struct stack_st_X509_CRL {
11783    _unused: [u8; 0],
11784}
11785#[repr(C)]
11786#[derive(Copy, Clone)]
11787pub struct pkcs7_st {
11788    pub type_: *mut ASN1_OBJECT,
11789    pub d: pkcs7_st__bindgen_ty_1,
11790}
11791#[repr(C)]
11792#[derive(Copy, Clone)]
11793pub union pkcs7_st__bindgen_ty_1 {
11794    pub ptr: *mut ::std::os::raw::c_char,
11795    pub data: *mut ASN1_OCTET_STRING,
11796    pub sign: *mut PKCS7_SIGNED,
11797    pub enveloped: *mut PKCS7_ENVELOPE,
11798    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
11799    pub digest: *mut PKCS7_DIGEST,
11800    pub encrypted: *mut PKCS7_ENCRYPT,
11801    pub other: *mut ASN1_TYPE,
11802}
11803#[test]
11804fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
11805    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
11806        ::std::mem::MaybeUninit::uninit();
11807    let ptr = UNINIT.as_ptr();
11808    assert_eq!(
11809        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
11810        8usize,
11811        "Size of pkcs7_st__bindgen_ty_1"
11812    );
11813    assert_eq!(
11814        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
11815        8usize,
11816        "Alignment of pkcs7_st__bindgen_ty_1"
11817    );
11818    assert_eq!(
11819        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
11820        0usize,
11821        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
11822    );
11823    assert_eq!(
11824        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11825        0usize,
11826        "Offset of field: pkcs7_st__bindgen_ty_1::data"
11827    );
11828    assert_eq!(
11829        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
11830        0usize,
11831        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
11832    );
11833    assert_eq!(
11834        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
11835        0usize,
11836        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
11837    );
11838    assert_eq!(
11839        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
11840        0usize,
11841        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
11842    );
11843    assert_eq!(
11844        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
11845        0usize,
11846        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
11847    );
11848    assert_eq!(
11849        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
11850        0usize,
11851        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
11852    );
11853    assert_eq!(
11854        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
11855        0usize,
11856        "Offset of field: pkcs7_st__bindgen_ty_1::other"
11857    );
11858}
11859impl Default for pkcs7_st__bindgen_ty_1 {
11860    fn default() -> Self {
11861        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11862        unsafe {
11863            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11864            s.assume_init()
11865        }
11866    }
11867}
11868#[test]
11869fn bindgen_test_layout_pkcs7_st() {
11870    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
11871    let ptr = UNINIT.as_ptr();
11872    assert_eq!(
11873        ::std::mem::size_of::<pkcs7_st>(),
11874        16usize,
11875        "Size of pkcs7_st"
11876    );
11877    assert_eq!(
11878        ::std::mem::align_of::<pkcs7_st>(),
11879        8usize,
11880        "Alignment of pkcs7_st"
11881    );
11882    assert_eq!(
11883        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
11884        0usize,
11885        "Offset of field: pkcs7_st::type_"
11886    );
11887    assert_eq!(
11888        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
11889        8usize,
11890        "Offset of field: pkcs7_st::d"
11891    );
11892}
11893impl Default for pkcs7_st {
11894    fn default() -> Self {
11895        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11896        unsafe {
11897            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11898            s.assume_init()
11899        }
11900    }
11901}
11902#[repr(C)]
11903#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11904pub struct pkcs7_signed_st {
11905    pub version: *mut ASN1_INTEGER,
11906    pub md_algs: *mut stack_st_X509_ALGOR,
11907    pub contents: *mut PKCS7,
11908    pub cert: *mut stack_st_X509,
11909    pub crl: *mut stack_st_X509_CRL,
11910    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
11911}
11912#[test]
11913fn bindgen_test_layout_pkcs7_signed_st() {
11914    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
11915    let ptr = UNINIT.as_ptr();
11916    assert_eq!(
11917        ::std::mem::size_of::<pkcs7_signed_st>(),
11918        48usize,
11919        "Size of pkcs7_signed_st"
11920    );
11921    assert_eq!(
11922        ::std::mem::align_of::<pkcs7_signed_st>(),
11923        8usize,
11924        "Alignment of pkcs7_signed_st"
11925    );
11926    assert_eq!(
11927        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11928        0usize,
11929        "Offset of field: pkcs7_signed_st::version"
11930    );
11931    assert_eq!(
11932        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
11933        8usize,
11934        "Offset of field: pkcs7_signed_st::md_algs"
11935    );
11936    assert_eq!(
11937        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
11938        16usize,
11939        "Offset of field: pkcs7_signed_st::contents"
11940    );
11941    assert_eq!(
11942        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
11943        24usize,
11944        "Offset of field: pkcs7_signed_st::cert"
11945    );
11946    assert_eq!(
11947        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
11948        32usize,
11949        "Offset of field: pkcs7_signed_st::crl"
11950    );
11951    assert_eq!(
11952        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
11953        40usize,
11954        "Offset of field: pkcs7_signed_st::signer_info"
11955    );
11956}
11957impl Default for pkcs7_signed_st {
11958    fn default() -> Self {
11959        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11960        unsafe {
11961            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11962            s.assume_init()
11963        }
11964    }
11965}
11966#[repr(C)]
11967#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11968pub struct pkcs7_signer_info_st {
11969    pub version: *mut ASN1_INTEGER,
11970    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
11971    pub digest_alg: *mut X509_ALGOR,
11972    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
11973    pub digest_enc_alg: *mut X509_ALGOR,
11974    pub enc_digest: *mut ASN1_OCTET_STRING,
11975    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
11976    pub pkey: *mut EVP_PKEY,
11977}
11978#[test]
11979fn bindgen_test_layout_pkcs7_signer_info_st() {
11980    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
11981    let ptr = UNINIT.as_ptr();
11982    assert_eq!(
11983        ::std::mem::size_of::<pkcs7_signer_info_st>(),
11984        64usize,
11985        "Size of pkcs7_signer_info_st"
11986    );
11987    assert_eq!(
11988        ::std::mem::align_of::<pkcs7_signer_info_st>(),
11989        8usize,
11990        "Alignment of pkcs7_signer_info_st"
11991    );
11992    assert_eq!(
11993        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11994        0usize,
11995        "Offset of field: pkcs7_signer_info_st::version"
11996    );
11997    assert_eq!(
11998        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
11999        8usize,
12000        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
12001    );
12002    assert_eq!(
12003        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
12004        16usize,
12005        "Offset of field: pkcs7_signer_info_st::digest_alg"
12006    );
12007    assert_eq!(
12008        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
12009        24usize,
12010        "Offset of field: pkcs7_signer_info_st::auth_attr"
12011    );
12012    assert_eq!(
12013        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
12014        32usize,
12015        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
12016    );
12017    assert_eq!(
12018        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
12019        40usize,
12020        "Offset of field: pkcs7_signer_info_st::enc_digest"
12021    );
12022    assert_eq!(
12023        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
12024        48usize,
12025        "Offset of field: pkcs7_signer_info_st::unauth_attr"
12026    );
12027    assert_eq!(
12028        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
12029        56usize,
12030        "Offset of field: pkcs7_signer_info_st::pkey"
12031    );
12032}
12033impl Default for pkcs7_signer_info_st {
12034    fn default() -> Self {
12035        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12036        unsafe {
12037            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12038            s.assume_init()
12039        }
12040    }
12041}
12042#[repr(C)]
12043#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12044pub struct pkcs7_sign_envelope_st {
12045    pub version: *mut ASN1_INTEGER,
12046    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12047    pub md_algs: *mut stack_st_X509_ALGOR,
12048    pub enc_data: *mut PKCS7_ENC_CONTENT,
12049    pub cert: *mut stack_st_X509,
12050    pub crl: *mut stack_st_X509_CRL,
12051    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12052}
12053#[test]
12054fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12055    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12056        ::std::mem::MaybeUninit::uninit();
12057    let ptr = UNINIT.as_ptr();
12058    assert_eq!(
12059        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12060        56usize,
12061        "Size of pkcs7_sign_envelope_st"
12062    );
12063    assert_eq!(
12064        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12065        8usize,
12066        "Alignment of pkcs7_sign_envelope_st"
12067    );
12068    assert_eq!(
12069        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12070        0usize,
12071        "Offset of field: pkcs7_sign_envelope_st::version"
12072    );
12073    assert_eq!(
12074        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12075        8usize,
12076        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12077    );
12078    assert_eq!(
12079        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12080        16usize,
12081        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12082    );
12083    assert_eq!(
12084        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12085        24usize,
12086        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12087    );
12088    assert_eq!(
12089        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12090        32usize,
12091        "Offset of field: pkcs7_sign_envelope_st::cert"
12092    );
12093    assert_eq!(
12094        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12095        40usize,
12096        "Offset of field: pkcs7_sign_envelope_st::crl"
12097    );
12098    assert_eq!(
12099        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12100        48usize,
12101        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12102    );
12103}
12104impl Default for pkcs7_sign_envelope_st {
12105    fn default() -> Self {
12106        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12107        unsafe {
12108            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12109            s.assume_init()
12110        }
12111    }
12112}
12113#[repr(C)]
12114#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12115pub struct pkcs7_envelope_st {
12116    pub version: *mut ASN1_INTEGER,
12117    pub enc_data: *mut PKCS7_ENC_CONTENT,
12118    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12119}
12120#[test]
12121fn bindgen_test_layout_pkcs7_envelope_st() {
12122    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12123    let ptr = UNINIT.as_ptr();
12124    assert_eq!(
12125        ::std::mem::size_of::<pkcs7_envelope_st>(),
12126        24usize,
12127        "Size of pkcs7_envelope_st"
12128    );
12129    assert_eq!(
12130        ::std::mem::align_of::<pkcs7_envelope_st>(),
12131        8usize,
12132        "Alignment of pkcs7_envelope_st"
12133    );
12134    assert_eq!(
12135        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12136        0usize,
12137        "Offset of field: pkcs7_envelope_st::version"
12138    );
12139    assert_eq!(
12140        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12141        8usize,
12142        "Offset of field: pkcs7_envelope_st::enc_data"
12143    );
12144    assert_eq!(
12145        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12146        16usize,
12147        "Offset of field: pkcs7_envelope_st::recipientinfo"
12148    );
12149}
12150impl Default for pkcs7_envelope_st {
12151    fn default() -> Self {
12152        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12153        unsafe {
12154            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12155            s.assume_init()
12156        }
12157    }
12158}
12159#[repr(C)]
12160#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12161pub struct pkcs7_recip_info_st {
12162    pub version: *mut ASN1_INTEGER,
12163    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12164    pub key_enc_algor: *mut X509_ALGOR,
12165    pub enc_key: *mut ASN1_OCTET_STRING,
12166    pub cert: *mut X509,
12167}
12168#[test]
12169fn bindgen_test_layout_pkcs7_recip_info_st() {
12170    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12171    let ptr = UNINIT.as_ptr();
12172    assert_eq!(
12173        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12174        40usize,
12175        "Size of pkcs7_recip_info_st"
12176    );
12177    assert_eq!(
12178        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12179        8usize,
12180        "Alignment of pkcs7_recip_info_st"
12181    );
12182    assert_eq!(
12183        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12184        0usize,
12185        "Offset of field: pkcs7_recip_info_st::version"
12186    );
12187    assert_eq!(
12188        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12189        8usize,
12190        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12191    );
12192    assert_eq!(
12193        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12194        16usize,
12195        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12196    );
12197    assert_eq!(
12198        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12199        24usize,
12200        "Offset of field: pkcs7_recip_info_st::enc_key"
12201    );
12202    assert_eq!(
12203        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12204        32usize,
12205        "Offset of field: pkcs7_recip_info_st::cert"
12206    );
12207}
12208impl Default for pkcs7_recip_info_st {
12209    fn default() -> Self {
12210        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12211        unsafe {
12212            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12213            s.assume_init()
12214        }
12215    }
12216}
12217#[repr(C)]
12218#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12219pub struct pkcs7_issuer_and_serial_st {
12220    pub issuer: *mut X509_NAME,
12221    pub serial: *mut ASN1_INTEGER,
12222}
12223#[test]
12224fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12225    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12226        ::std::mem::MaybeUninit::uninit();
12227    let ptr = UNINIT.as_ptr();
12228    assert_eq!(
12229        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12230        16usize,
12231        "Size of pkcs7_issuer_and_serial_st"
12232    );
12233    assert_eq!(
12234        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12235        8usize,
12236        "Alignment of pkcs7_issuer_and_serial_st"
12237    );
12238    assert_eq!(
12239        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12240        0usize,
12241        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12242    );
12243    assert_eq!(
12244        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12245        8usize,
12246        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12247    );
12248}
12249impl Default for pkcs7_issuer_and_serial_st {
12250    fn default() -> Self {
12251        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12252        unsafe {
12253            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12254            s.assume_init()
12255        }
12256    }
12257}
12258#[repr(C)]
12259#[derive(Debug, Copy, Clone)]
12260pub struct stack_st_PKCS7_RECIP_INFO {
12261    _unused: [u8; 0],
12262}
12263#[repr(C)]
12264#[derive(Debug, Copy, Clone)]
12265pub struct stack_st_PKCS7_SIGNER_INFO {
12266    _unused: [u8; 0],
12267}
12268extern "C" {
12269    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_public_key"]
12270    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12271}
12272extern "C" {
12273    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_private_key"]
12274    pub fn RSA_new_private_key(
12275        n: *const BIGNUM,
12276        e: *const BIGNUM,
12277        d: *const BIGNUM,
12278        p: *const BIGNUM,
12279        q: *const BIGNUM,
12280        dmp1: *const BIGNUM,
12281        dmq1: *const BIGNUM,
12282        iqmp: *const BIGNUM,
12283    ) -> *mut RSA;
12284}
12285extern "C" {
12286    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new"]
12287    pub fn RSA_new() -> *mut RSA;
12288}
12289extern "C" {
12290    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_method"]
12291    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12292}
12293extern "C" {
12294    #[link_name = "\u{1}aws_lc_0_39_1_RSA_free"]
12295    pub fn RSA_free(rsa: *mut RSA);
12296}
12297extern "C" {
12298    #[link_name = "\u{1}aws_lc_0_39_1_RSA_up_ref"]
12299    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12300}
12301extern "C" {
12302    #[link_name = "\u{1}aws_lc_0_39_1_RSA_bits"]
12303    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12304}
12305extern "C" {
12306    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_n"]
12307    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12308}
12309extern "C" {
12310    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_e"]
12311    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12312}
12313extern "C" {
12314    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_d"]
12315    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12316}
12317extern "C" {
12318    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_p"]
12319    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12320}
12321extern "C" {
12322    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_q"]
12323    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12324}
12325extern "C" {
12326    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_dmp1"]
12327    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12328}
12329extern "C" {
12330    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_dmq1"]
12331    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12332}
12333extern "C" {
12334    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_iqmp"]
12335    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12336}
12337extern "C" {
12338    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_key"]
12339    pub fn RSA_get0_key(
12340        rsa: *const RSA,
12341        out_n: *mut *const BIGNUM,
12342        out_e: *mut *const BIGNUM,
12343        out_d: *mut *const BIGNUM,
12344    );
12345}
12346extern "C" {
12347    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_factors"]
12348    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12349}
12350extern "C" {
12351    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_crt_params"]
12352    pub fn RSA_get0_crt_params(
12353        rsa: *const RSA,
12354        out_dmp1: *mut *const BIGNUM,
12355        out_dmq1: *mut *const BIGNUM,
12356        out_iqmp: *mut *const BIGNUM,
12357    );
12358}
12359extern "C" {
12360    #[link_name = "\u{1}aws_lc_0_39_1_RSA_set0_key"]
12361    pub fn RSA_set0_key(
12362        rsa: *mut RSA,
12363        n: *mut BIGNUM,
12364        e: *mut BIGNUM,
12365        d: *mut BIGNUM,
12366    ) -> ::std::os::raw::c_int;
12367}
12368extern "C" {
12369    #[link_name = "\u{1}aws_lc_0_39_1_RSA_set0_factors"]
12370    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12371        -> ::std::os::raw::c_int;
12372}
12373extern "C" {
12374    #[link_name = "\u{1}aws_lc_0_39_1_RSA_set0_crt_params"]
12375    pub fn RSA_set0_crt_params(
12376        rsa: *mut RSA,
12377        dmp1: *mut BIGNUM,
12378        dmq1: *mut BIGNUM,
12379        iqmp: *mut BIGNUM,
12380    ) -> ::std::os::raw::c_int;
12381}
12382extern "C" {
12383    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get_default_method"]
12384    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12385}
12386extern "C" {
12387    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_new"]
12388    pub fn RSA_meth_new(
12389        name: *const ::std::os::raw::c_char,
12390        flags: ::std::os::raw::c_int,
12391    ) -> *mut RSA_METHOD;
12392}
12393extern "C" {
12394    #[link_name = "\u{1}aws_lc_0_39_1_RSA_set_method"]
12395    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12396}
12397extern "C" {
12398    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get_method"]
12399    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12400}
12401extern "C" {
12402    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_free"]
12403    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12404}
12405extern "C" {
12406    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set_init"]
12407    pub fn RSA_meth_set_init(
12408        meth: *mut RSA_METHOD,
12409        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12410    ) -> ::std::os::raw::c_int;
12411}
12412extern "C" {
12413    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set_finish"]
12414    pub fn RSA_meth_set_finish(
12415        meth: *mut RSA_METHOD,
12416        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12417    ) -> ::std::os::raw::c_int;
12418}
12419extern "C" {
12420    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set_priv_dec"]
12421    pub fn RSA_meth_set_priv_dec(
12422        meth: *mut RSA_METHOD,
12423        priv_dec: ::std::option::Option<
12424            unsafe extern "C" fn(
12425                max_out: ::std::os::raw::c_int,
12426                from: *const u8,
12427                to: *mut u8,
12428                rsa: *mut RSA,
12429                padding: ::std::os::raw::c_int,
12430            ) -> ::std::os::raw::c_int,
12431        >,
12432    ) -> ::std::os::raw::c_int;
12433}
12434extern "C" {
12435    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set_priv_enc"]
12436    pub fn RSA_meth_set_priv_enc(
12437        meth: *mut RSA_METHOD,
12438        priv_enc: ::std::option::Option<
12439            unsafe extern "C" fn(
12440                max_out: ::std::os::raw::c_int,
12441                from: *const u8,
12442                to: *mut u8,
12443                rsa: *mut RSA,
12444                padding: ::std::os::raw::c_int,
12445            ) -> ::std::os::raw::c_int,
12446        >,
12447    ) -> ::std::os::raw::c_int;
12448}
12449extern "C" {
12450    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set_pub_dec"]
12451    pub fn RSA_meth_set_pub_dec(
12452        meth: *mut RSA_METHOD,
12453        pub_dec: ::std::option::Option<
12454            unsafe extern "C" fn(
12455                max_out: ::std::os::raw::c_int,
12456                from: *const u8,
12457                to: *mut u8,
12458                rsa: *mut RSA,
12459                padding: ::std::os::raw::c_int,
12460            ) -> ::std::os::raw::c_int,
12461        >,
12462    ) -> ::std::os::raw::c_int;
12463}
12464extern "C" {
12465    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set_pub_enc"]
12466    pub fn RSA_meth_set_pub_enc(
12467        meth: *mut RSA_METHOD,
12468        pub_enc: ::std::option::Option<
12469            unsafe extern "C" fn(
12470                max_out: ::std::os::raw::c_int,
12471                from: *const u8,
12472                to: *mut u8,
12473                rsa: *mut RSA,
12474                padding: ::std::os::raw::c_int,
12475            ) -> ::std::os::raw::c_int,
12476        >,
12477    ) -> ::std::os::raw::c_int;
12478}
12479extern "C" {
12480    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set0_app_data"]
12481    pub fn RSA_meth_set0_app_data(
12482        meth: *mut RSA_METHOD,
12483        app_data: *mut ::std::os::raw::c_void,
12484    ) -> ::std::os::raw::c_int;
12485}
12486extern "C" {
12487    #[link_name = "\u{1}aws_lc_0_39_1_RSA_meth_set_sign"]
12488    pub fn RSA_meth_set_sign(
12489        meth: *mut RSA_METHOD,
12490        sign: ::std::option::Option<
12491            unsafe extern "C" fn(
12492                type_: ::std::os::raw::c_int,
12493                m: *const ::std::os::raw::c_uchar,
12494                m_length: ::std::os::raw::c_uint,
12495                sigret: *mut ::std::os::raw::c_uchar,
12496                siglen: *mut ::std::os::raw::c_uint,
12497                rsa: *const RSA,
12498            ) -> ::std::os::raw::c_int,
12499        >,
12500    ) -> ::std::os::raw::c_int;
12501}
12502extern "C" {
12503    #[link_name = "\u{1}aws_lc_0_39_1_RSA_generate_key_ex"]
12504    pub fn RSA_generate_key_ex(
12505        rsa: *mut RSA,
12506        bits: ::std::os::raw::c_int,
12507        e: *const BIGNUM,
12508        cb: *mut BN_GENCB,
12509    ) -> ::std::os::raw::c_int;
12510}
12511extern "C" {
12512    #[link_name = "\u{1}aws_lc_0_39_1_RSA_generate_key_fips"]
12513    pub fn RSA_generate_key_fips(
12514        rsa: *mut RSA,
12515        bits: ::std::os::raw::c_int,
12516        cb: *mut BN_GENCB,
12517    ) -> ::std::os::raw::c_int;
12518}
12519extern "C" {
12520    #[link_name = "\u{1}aws_lc_0_39_1_RSA_encrypt"]
12521    pub fn RSA_encrypt(
12522        rsa: *mut RSA,
12523        out_len: *mut usize,
12524        out: *mut u8,
12525        max_out: usize,
12526        in_: *const u8,
12527        in_len: usize,
12528        padding: ::std::os::raw::c_int,
12529    ) -> ::std::os::raw::c_int;
12530}
12531extern "C" {
12532    #[link_name = "\u{1}aws_lc_0_39_1_RSA_decrypt"]
12533    pub fn RSA_decrypt(
12534        rsa: *mut RSA,
12535        out_len: *mut usize,
12536        out: *mut u8,
12537        max_out: usize,
12538        in_: *const u8,
12539        in_len: usize,
12540        padding: ::std::os::raw::c_int,
12541    ) -> ::std::os::raw::c_int;
12542}
12543extern "C" {
12544    #[link_name = "\u{1}aws_lc_0_39_1_RSA_public_encrypt"]
12545    pub fn RSA_public_encrypt(
12546        flen: usize,
12547        from: *const u8,
12548        to: *mut u8,
12549        rsa: *mut RSA,
12550        padding: ::std::os::raw::c_int,
12551    ) -> ::std::os::raw::c_int;
12552}
12553extern "C" {
12554    #[link_name = "\u{1}aws_lc_0_39_1_RSA_private_decrypt"]
12555    pub fn RSA_private_decrypt(
12556        flen: usize,
12557        from: *const u8,
12558        to: *mut u8,
12559        rsa: *mut RSA,
12560        padding: ::std::os::raw::c_int,
12561    ) -> ::std::os::raw::c_int;
12562}
12563extern "C" {
12564    #[link_name = "\u{1}aws_lc_0_39_1_RSA_sign"]
12565    pub fn RSA_sign(
12566        hash_nid: ::std::os::raw::c_int,
12567        digest: *const u8,
12568        digest_len: usize,
12569        out: *mut u8,
12570        out_len: *mut ::std::os::raw::c_uint,
12571        rsa: *mut RSA,
12572    ) -> ::std::os::raw::c_int;
12573}
12574extern "C" {
12575    #[link_name = "\u{1}aws_lc_0_39_1_RSA_sign_pss_mgf1"]
12576    pub fn RSA_sign_pss_mgf1(
12577        rsa: *mut RSA,
12578        out_len: *mut usize,
12579        out: *mut u8,
12580        max_out: usize,
12581        digest: *const u8,
12582        digest_len: usize,
12583        md: *const EVP_MD,
12584        mgf1_md: *const EVP_MD,
12585        salt_len: ::std::os::raw::c_int,
12586    ) -> ::std::os::raw::c_int;
12587}
12588extern "C" {
12589    #[link_name = "\u{1}aws_lc_0_39_1_RSA_sign_raw"]
12590    pub fn RSA_sign_raw(
12591        rsa: *mut RSA,
12592        out_len: *mut usize,
12593        out: *mut u8,
12594        max_out: usize,
12595        in_: *const u8,
12596        in_len: usize,
12597        padding: ::std::os::raw::c_int,
12598    ) -> ::std::os::raw::c_int;
12599}
12600extern "C" {
12601    #[link_name = "\u{1}aws_lc_0_39_1_RSA_verify"]
12602    pub fn RSA_verify(
12603        hash_nid: ::std::os::raw::c_int,
12604        digest: *const u8,
12605        digest_len: usize,
12606        sig: *const u8,
12607        sig_len: usize,
12608        rsa: *mut RSA,
12609    ) -> ::std::os::raw::c_int;
12610}
12611extern "C" {
12612    #[link_name = "\u{1}aws_lc_0_39_1_RSA_verify_pss_mgf1"]
12613    pub fn RSA_verify_pss_mgf1(
12614        rsa: *mut RSA,
12615        digest: *const u8,
12616        digest_len: usize,
12617        md: *const EVP_MD,
12618        mgf1_md: *const EVP_MD,
12619        salt_len: ::std::os::raw::c_int,
12620        sig: *const u8,
12621        sig_len: usize,
12622    ) -> ::std::os::raw::c_int;
12623}
12624extern "C" {
12625    #[link_name = "\u{1}aws_lc_0_39_1_RSA_verify_raw"]
12626    pub fn RSA_verify_raw(
12627        rsa: *mut RSA,
12628        out_len: *mut usize,
12629        out: *mut u8,
12630        max_out: usize,
12631        in_: *const u8,
12632        in_len: usize,
12633        padding: ::std::os::raw::c_int,
12634    ) -> ::std::os::raw::c_int;
12635}
12636extern "C" {
12637    #[link_name = "\u{1}aws_lc_0_39_1_RSA_private_encrypt"]
12638    pub fn RSA_private_encrypt(
12639        flen: usize,
12640        from: *const u8,
12641        to: *mut u8,
12642        rsa: *mut RSA,
12643        padding: ::std::os::raw::c_int,
12644    ) -> ::std::os::raw::c_int;
12645}
12646extern "C" {
12647    #[link_name = "\u{1}aws_lc_0_39_1_RSA_public_decrypt"]
12648    pub fn RSA_public_decrypt(
12649        flen: usize,
12650        from: *const u8,
12651        to: *mut u8,
12652        rsa: *mut RSA,
12653        padding: ::std::os::raw::c_int,
12654    ) -> ::std::os::raw::c_int;
12655}
12656extern "C" {
12657    #[link_name = "\u{1}aws_lc_0_39_1_RSA_size"]
12658    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12659}
12660extern "C" {
12661    #[link_name = "\u{1}aws_lc_0_39_1_RSA_is_opaque"]
12662    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12663}
12664extern "C" {
12665    #[link_name = "\u{1}aws_lc_0_39_1_RSAPublicKey_dup"]
12666    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12667}
12668extern "C" {
12669    #[link_name = "\u{1}aws_lc_0_39_1_RSAPrivateKey_dup"]
12670    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12671}
12672extern "C" {
12673    #[link_name = "\u{1}aws_lc_0_39_1_RSA_check_key"]
12674    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12675}
12676extern "C" {
12677    #[link_name = "\u{1}aws_lc_0_39_1_RSA_check_fips"]
12678    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12679}
12680extern "C" {
12681    #[link_name = "\u{1}aws_lc_0_39_1_RSA_verify_PKCS1_PSS_mgf1"]
12682    pub fn RSA_verify_PKCS1_PSS_mgf1(
12683        rsa: *const RSA,
12684        mHash: *const u8,
12685        Hash: *const EVP_MD,
12686        mgf1Hash: *const EVP_MD,
12687        EM: *const u8,
12688        sLen: ::std::os::raw::c_int,
12689    ) -> ::std::os::raw::c_int;
12690}
12691extern "C" {
12692    #[link_name = "\u{1}aws_lc_0_39_1_RSA_padding_add_PKCS1_PSS_mgf1"]
12693    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12694        rsa: *const RSA,
12695        EM: *mut u8,
12696        mHash: *const u8,
12697        Hash: *const EVP_MD,
12698        mgf1Hash: *const EVP_MD,
12699        sLen: ::std::os::raw::c_int,
12700    ) -> ::std::os::raw::c_int;
12701}
12702extern "C" {
12703    #[link_name = "\u{1}aws_lc_0_39_1_RSA_padding_add_PKCS1_OAEP_mgf1"]
12704    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12705        to: *mut u8,
12706        to_len: usize,
12707        from: *const u8,
12708        from_len: usize,
12709        param: *const u8,
12710        param_len: usize,
12711        md: *const EVP_MD,
12712        mgf1md: *const EVP_MD,
12713    ) -> ::std::os::raw::c_int;
12714}
12715extern "C" {
12716    #[link_name = "\u{1}aws_lc_0_39_1_PKCS1_MGF1"]
12717    pub fn PKCS1_MGF1(
12718        out: *mut u8,
12719        len: usize,
12720        seed: *const u8,
12721        seed_len: usize,
12722        md: *const EVP_MD,
12723    ) -> ::std::os::raw::c_int;
12724}
12725extern "C" {
12726    #[link_name = "\u{1}aws_lc_0_39_1_RSA_add_pkcs1_prefix"]
12727    pub fn RSA_add_pkcs1_prefix(
12728        out_msg: *mut *mut u8,
12729        out_msg_len: *mut usize,
12730        is_alloced: *mut ::std::os::raw::c_int,
12731        hash_nid: ::std::os::raw::c_int,
12732        digest: *const u8,
12733        digest_len: usize,
12734    ) -> ::std::os::raw::c_int;
12735}
12736extern "C" {
12737    #[link_name = "\u{1}aws_lc_0_39_1_RSA_parse_public_key"]
12738    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12739}
12740extern "C" {
12741    #[link_name = "\u{1}aws_lc_0_39_1_RSA_public_key_from_bytes"]
12742    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12743}
12744extern "C" {
12745    #[link_name = "\u{1}aws_lc_0_39_1_RSA_marshal_public_key"]
12746    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12747}
12748extern "C" {
12749    #[link_name = "\u{1}aws_lc_0_39_1_RSA_public_key_to_bytes"]
12750    pub fn RSA_public_key_to_bytes(
12751        out_bytes: *mut *mut u8,
12752        out_len: *mut usize,
12753        rsa: *const RSA,
12754    ) -> ::std::os::raw::c_int;
12755}
12756extern "C" {
12757    #[link_name = "\u{1}aws_lc_0_39_1_RSA_parse_private_key"]
12758    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12759}
12760extern "C" {
12761    #[link_name = "\u{1}aws_lc_0_39_1_RSA_private_key_from_bytes"]
12762    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12763}
12764extern "C" {
12765    #[link_name = "\u{1}aws_lc_0_39_1_RSA_marshal_private_key"]
12766    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12767}
12768extern "C" {
12769    #[link_name = "\u{1}aws_lc_0_39_1_RSA_private_key_to_bytes"]
12770    pub fn RSA_private_key_to_bytes(
12771        out_bytes: *mut *mut u8,
12772        out_len: *mut usize,
12773        rsa: *const RSA,
12774    ) -> ::std::os::raw::c_int;
12775}
12776extern "C" {
12777    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_private_key_no_crt"]
12778    pub fn RSA_new_private_key_no_crt(
12779        n: *const BIGNUM,
12780        e: *const BIGNUM,
12781        d: *const BIGNUM,
12782    ) -> *mut RSA;
12783}
12784extern "C" {
12785    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_private_key_no_e"]
12786    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
12787}
12788extern "C" {
12789    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_public_key_large_e"]
12790    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12791}
12792extern "C" {
12793    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_private_key_large_e"]
12794    pub fn RSA_new_private_key_large_e(
12795        n: *const BIGNUM,
12796        e: *const BIGNUM,
12797        d: *const BIGNUM,
12798        p: *const BIGNUM,
12799        q: *const BIGNUM,
12800        dmp1: *const BIGNUM,
12801        dmq1: *const BIGNUM,
12802        iqmp: *const BIGNUM,
12803    ) -> *mut RSA;
12804}
12805extern "C" {
12806    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get_ex_new_index"]
12807    pub fn RSA_get_ex_new_index(
12808        argl: ::std::os::raw::c_long,
12809        argp: *mut ::std::os::raw::c_void,
12810        unused: *mut CRYPTO_EX_unused,
12811        dup_unused: CRYPTO_EX_dup,
12812        free_func: CRYPTO_EX_free,
12813    ) -> ::std::os::raw::c_int;
12814}
12815extern "C" {
12816    #[link_name = "\u{1}aws_lc_0_39_1_RSA_set_ex_data"]
12817    pub fn RSA_set_ex_data(
12818        rsa: *mut RSA,
12819        idx: ::std::os::raw::c_int,
12820        arg: *mut ::std::os::raw::c_void,
12821    ) -> ::std::os::raw::c_int;
12822}
12823extern "C" {
12824    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get_ex_data"]
12825    pub fn RSA_get_ex_data(
12826        rsa: *const RSA,
12827        idx: ::std::os::raw::c_int,
12828    ) -> *mut ::std::os::raw::c_void;
12829}
12830extern "C" {
12831    #[link_name = "\u{1}aws_lc_0_39_1_RSA_flags"]
12832    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
12833}
12834extern "C" {
12835    #[link_name = "\u{1}aws_lc_0_39_1_RSA_set_flags"]
12836    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
12837}
12838extern "C" {
12839    #[link_name = "\u{1}aws_lc_0_39_1_RSA_test_flags"]
12840    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12841}
12842extern "C" {
12843    #[link_name = "\u{1}aws_lc_0_39_1_RSA_blinding_on"]
12844    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
12845}
12846extern "C" {
12847    #[link_name = "\u{1}aws_lc_0_39_1_RSA_blinding_off_temp_for_accp_compatibility"]
12848    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
12849}
12850extern "C" {
12851    #[link_name = "\u{1}aws_lc_0_39_1_RSA_pkey_ctx_ctrl"]
12852    pub fn RSA_pkey_ctx_ctrl(
12853        ctx: *mut EVP_PKEY_CTX,
12854        optype: ::std::os::raw::c_int,
12855        cmd: ::std::os::raw::c_int,
12856        p1: ::std::os::raw::c_int,
12857        p2: *mut ::std::os::raw::c_void,
12858    ) -> ::std::os::raw::c_int;
12859}
12860extern "C" {
12861    #[link_name = "\u{1}aws_lc_0_39_1_RSA_generate_key"]
12862    pub fn RSA_generate_key(
12863        bits: ::std::os::raw::c_int,
12864        e: u64,
12865        callback: *mut ::std::os::raw::c_void,
12866        cb_arg: *mut ::std::os::raw::c_void,
12867    ) -> *mut RSA;
12868}
12869extern "C" {
12870    #[link_name = "\u{1}aws_lc_0_39_1_d2i_RSAPublicKey"]
12871    pub fn d2i_RSAPublicKey(
12872        out: *mut *mut RSA,
12873        inp: *mut *const u8,
12874        len: ::std::os::raw::c_long,
12875    ) -> *mut RSA;
12876}
12877extern "C" {
12878    #[link_name = "\u{1}aws_lc_0_39_1_i2d_RSAPublicKey"]
12879    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12880}
12881extern "C" {
12882    #[link_name = "\u{1}aws_lc_0_39_1_d2i_RSAPrivateKey"]
12883    pub fn d2i_RSAPrivateKey(
12884        out: *mut *mut RSA,
12885        inp: *mut *const u8,
12886        len: ::std::os::raw::c_long,
12887    ) -> *mut RSA;
12888}
12889extern "C" {
12890    #[link_name = "\u{1}aws_lc_0_39_1_i2d_RSAPrivateKey"]
12891    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12892}
12893extern "C" {
12894    #[link_name = "\u{1}aws_lc_0_39_1_RSA_padding_add_PKCS1_PSS"]
12895    pub fn RSA_padding_add_PKCS1_PSS(
12896        rsa: *const RSA,
12897        EM: *mut u8,
12898        mHash: *const u8,
12899        Hash: *const EVP_MD,
12900        sLen: ::std::os::raw::c_int,
12901    ) -> ::std::os::raw::c_int;
12902}
12903extern "C" {
12904    #[link_name = "\u{1}aws_lc_0_39_1_RSA_verify_PKCS1_PSS"]
12905    pub fn RSA_verify_PKCS1_PSS(
12906        rsa: *const RSA,
12907        mHash: *const u8,
12908        Hash: *const EVP_MD,
12909        EM: *const u8,
12910        sLen: ::std::os::raw::c_int,
12911    ) -> ::std::os::raw::c_int;
12912}
12913extern "C" {
12914    #[link_name = "\u{1}aws_lc_0_39_1_RSA_padding_add_PKCS1_OAEP"]
12915    pub fn RSA_padding_add_PKCS1_OAEP(
12916        to: *mut u8,
12917        to_len: usize,
12918        from: *const u8,
12919        from_len: usize,
12920        param: *const u8,
12921        param_len: usize,
12922    ) -> ::std::os::raw::c_int;
12923}
12924extern "C" {
12925    #[link_name = "\u{1}aws_lc_0_39_1_RSA_print"]
12926    pub fn RSA_print(
12927        bio: *mut BIO,
12928        rsa: *const RSA,
12929        indent: ::std::os::raw::c_int,
12930    ) -> ::std::os::raw::c_int;
12931}
12932extern "C" {
12933    #[link_name = "\u{1}aws_lc_0_39_1_RSA_get0_pss_params"]
12934    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
12935}
12936extern "C" {
12937    #[link_name = "\u{1}aws_lc_0_39_1_RSA_new_method_no_e"]
12938    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
12939}
12940#[repr(C)]
12941#[derive(Debug, Copy, Clone)]
12942pub struct stack_st_GENERAL_NAME {
12943    _unused: [u8; 0],
12944}
12945pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
12946#[repr(C)]
12947#[derive(Debug, Copy, Clone)]
12948pub struct stack_st_X509_NAME_ENTRY {
12949    _unused: [u8; 0],
12950}
12951#[repr(C)]
12952#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12953pub struct otherName_st {
12954    pub type_id: *mut ASN1_OBJECT,
12955    pub value: *mut ASN1_TYPE,
12956}
12957#[test]
12958fn bindgen_test_layout_otherName_st() {
12959    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
12960    let ptr = UNINIT.as_ptr();
12961    assert_eq!(
12962        ::std::mem::size_of::<otherName_st>(),
12963        16usize,
12964        "Size of otherName_st"
12965    );
12966    assert_eq!(
12967        ::std::mem::align_of::<otherName_st>(),
12968        8usize,
12969        "Alignment of otherName_st"
12970    );
12971    assert_eq!(
12972        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
12973        0usize,
12974        "Offset of field: otherName_st::type_id"
12975    );
12976    assert_eq!(
12977        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
12978        8usize,
12979        "Offset of field: otherName_st::value"
12980    );
12981}
12982impl Default for otherName_st {
12983    fn default() -> Self {
12984        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12985        unsafe {
12986            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12987            s.assume_init()
12988        }
12989    }
12990}
12991pub type OTHERNAME = otherName_st;
12992#[repr(C)]
12993#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12994pub struct EDIPartyName_st {
12995    pub nameAssigner: *mut ASN1_STRING,
12996    pub partyName: *mut ASN1_STRING,
12997}
12998#[test]
12999fn bindgen_test_layout_EDIPartyName_st() {
13000    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
13001    let ptr = UNINIT.as_ptr();
13002    assert_eq!(
13003        ::std::mem::size_of::<EDIPartyName_st>(),
13004        16usize,
13005        "Size of EDIPartyName_st"
13006    );
13007    assert_eq!(
13008        ::std::mem::align_of::<EDIPartyName_st>(),
13009        8usize,
13010        "Alignment of EDIPartyName_st"
13011    );
13012    assert_eq!(
13013        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
13014        0usize,
13015        "Offset of field: EDIPartyName_st::nameAssigner"
13016    );
13017    assert_eq!(
13018        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
13019        8usize,
13020        "Offset of field: EDIPartyName_st::partyName"
13021    );
13022}
13023impl Default for EDIPartyName_st {
13024    fn default() -> Self {
13025        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13026        unsafe {
13027            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13028            s.assume_init()
13029        }
13030    }
13031}
13032pub type EDIPARTYNAME = EDIPartyName_st;
13033#[repr(C)]
13034#[derive(Copy, Clone)]
13035pub struct GENERAL_NAME_st {
13036    pub type_: ::std::os::raw::c_int,
13037    pub d: GENERAL_NAME_st__bindgen_ty_1,
13038}
13039#[repr(C)]
13040#[derive(Copy, Clone)]
13041pub union GENERAL_NAME_st__bindgen_ty_1 {
13042    pub ptr: *mut ::std::os::raw::c_char,
13043    pub otherName: *mut OTHERNAME,
13044    pub rfc822Name: *mut ASN1_IA5STRING,
13045    pub dNSName: *mut ASN1_IA5STRING,
13046    pub x400Address: *mut ASN1_STRING,
13047    pub directoryName: *mut X509_NAME,
13048    pub ediPartyName: *mut EDIPARTYNAME,
13049    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13050    pub iPAddress: *mut ASN1_OCTET_STRING,
13051    pub registeredID: *mut ASN1_OBJECT,
13052    pub ip: *mut ASN1_OCTET_STRING,
13053    pub dirn: *mut X509_NAME,
13054    pub ia5: *mut ASN1_IA5STRING,
13055    pub rid: *mut ASN1_OBJECT,
13056}
13057#[test]
13058fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13059    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13060        ::std::mem::MaybeUninit::uninit();
13061    let ptr = UNINIT.as_ptr();
13062    assert_eq!(
13063        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13064        8usize,
13065        "Size of GENERAL_NAME_st__bindgen_ty_1"
13066    );
13067    assert_eq!(
13068        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13069        8usize,
13070        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13071    );
13072    assert_eq!(
13073        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13074        0usize,
13075        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13076    );
13077    assert_eq!(
13078        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13079        0usize,
13080        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13081    );
13082    assert_eq!(
13083        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13084        0usize,
13085        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13086    );
13087    assert_eq!(
13088        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13089        0usize,
13090        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13091    );
13092    assert_eq!(
13093        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13094        0usize,
13095        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13096    );
13097    assert_eq!(
13098        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13099        0usize,
13100        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13101    );
13102    assert_eq!(
13103        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13104        0usize,
13105        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13106    );
13107    assert_eq!(
13108        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13109        0usize,
13110        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13111    );
13112    assert_eq!(
13113        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13114        0usize,
13115        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13116    );
13117    assert_eq!(
13118        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13119        0usize,
13120        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13121    );
13122    assert_eq!(
13123        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13124        0usize,
13125        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13126    );
13127    assert_eq!(
13128        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13129        0usize,
13130        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13131    );
13132    assert_eq!(
13133        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13134        0usize,
13135        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13136    );
13137    assert_eq!(
13138        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13139        0usize,
13140        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13141    );
13142}
13143impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13144    fn default() -> Self {
13145        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13146        unsafe {
13147            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13148            s.assume_init()
13149        }
13150    }
13151}
13152#[test]
13153fn bindgen_test_layout_GENERAL_NAME_st() {
13154    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13155    let ptr = UNINIT.as_ptr();
13156    assert_eq!(
13157        ::std::mem::size_of::<GENERAL_NAME_st>(),
13158        16usize,
13159        "Size of GENERAL_NAME_st"
13160    );
13161    assert_eq!(
13162        ::std::mem::align_of::<GENERAL_NAME_st>(),
13163        8usize,
13164        "Alignment of GENERAL_NAME_st"
13165    );
13166    assert_eq!(
13167        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13168        0usize,
13169        "Offset of field: GENERAL_NAME_st::type_"
13170    );
13171    assert_eq!(
13172        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13173        8usize,
13174        "Offset of field: GENERAL_NAME_st::d"
13175    );
13176}
13177impl Default for GENERAL_NAME_st {
13178    fn default() -> Self {
13179        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13180        unsafe {
13181            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13182            s.assume_init()
13183        }
13184    }
13185}
13186#[repr(C)]
13187#[derive(Debug, Copy, Clone)]
13188pub struct stack_st_X509_ALGOR {
13189    _unused: [u8; 0],
13190}
13191#[repr(C)]
13192#[derive(Debug, Copy, Clone)]
13193pub struct stack_st_X509_ATTRIBUTE {
13194    _unused: [u8; 0],
13195}
13196#[repr(C)]
13197#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13198pub struct Netscape_spki_st {
13199    pub spkac: *mut NETSCAPE_SPKAC,
13200    pub sig_algor: *mut X509_ALGOR,
13201    pub signature: *mut ASN1_BIT_STRING,
13202}
13203#[test]
13204fn bindgen_test_layout_Netscape_spki_st() {
13205    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13206    let ptr = UNINIT.as_ptr();
13207    assert_eq!(
13208        ::std::mem::size_of::<Netscape_spki_st>(),
13209        24usize,
13210        "Size of Netscape_spki_st"
13211    );
13212    assert_eq!(
13213        ::std::mem::align_of::<Netscape_spki_st>(),
13214        8usize,
13215        "Alignment of Netscape_spki_st"
13216    );
13217    assert_eq!(
13218        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13219        0usize,
13220        "Offset of field: Netscape_spki_st::spkac"
13221    );
13222    assert_eq!(
13223        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13224        8usize,
13225        "Offset of field: Netscape_spki_st::sig_algor"
13226    );
13227    assert_eq!(
13228        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13229        16usize,
13230        "Offset of field: Netscape_spki_st::signature"
13231    );
13232}
13233impl Default for Netscape_spki_st {
13234    fn default() -> Self {
13235        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13236        unsafe {
13237            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13238            s.assume_init()
13239        }
13240    }
13241}
13242#[repr(C)]
13243#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13244pub struct Netscape_spkac_st {
13245    pub pubkey: *mut X509_PUBKEY,
13246    pub challenge: *mut ASN1_IA5STRING,
13247}
13248#[test]
13249fn bindgen_test_layout_Netscape_spkac_st() {
13250    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13251    let ptr = UNINIT.as_ptr();
13252    assert_eq!(
13253        ::std::mem::size_of::<Netscape_spkac_st>(),
13254        16usize,
13255        "Size of Netscape_spkac_st"
13256    );
13257    assert_eq!(
13258        ::std::mem::align_of::<Netscape_spkac_st>(),
13259        8usize,
13260        "Alignment of Netscape_spkac_st"
13261    );
13262    assert_eq!(
13263        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13264        0usize,
13265        "Offset of field: Netscape_spkac_st::pubkey"
13266    );
13267    assert_eq!(
13268        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13269        8usize,
13270        "Offset of field: Netscape_spkac_st::challenge"
13271    );
13272}
13273impl Default for Netscape_spkac_st {
13274    fn default() -> Self {
13275        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13276        unsafe {
13277            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13278            s.assume_init()
13279        }
13280    }
13281}
13282#[repr(C)]
13283#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13284pub struct rsa_pss_params_st {
13285    pub hashAlgorithm: *mut X509_ALGOR,
13286    pub maskGenAlgorithm: *mut X509_ALGOR,
13287    pub saltLength: *mut ASN1_INTEGER,
13288    pub trailerField: *mut ASN1_INTEGER,
13289    pub maskHash: *mut X509_ALGOR,
13290}
13291#[test]
13292fn bindgen_test_layout_rsa_pss_params_st() {
13293    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13294    let ptr = UNINIT.as_ptr();
13295    assert_eq!(
13296        ::std::mem::size_of::<rsa_pss_params_st>(),
13297        40usize,
13298        "Size of rsa_pss_params_st"
13299    );
13300    assert_eq!(
13301        ::std::mem::align_of::<rsa_pss_params_st>(),
13302        8usize,
13303        "Alignment of rsa_pss_params_st"
13304    );
13305    assert_eq!(
13306        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13307        0usize,
13308        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13309    );
13310    assert_eq!(
13311        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13312        8usize,
13313        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13314    );
13315    assert_eq!(
13316        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13317        16usize,
13318        "Offset of field: rsa_pss_params_st::saltLength"
13319    );
13320    assert_eq!(
13321        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13322        24usize,
13323        "Offset of field: rsa_pss_params_st::trailerField"
13324    );
13325    assert_eq!(
13326        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13327        32usize,
13328        "Offset of field: rsa_pss_params_st::maskHash"
13329    );
13330}
13331impl Default for rsa_pss_params_st {
13332    fn default() -> Self {
13333        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13334        unsafe {
13335            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13336            s.assume_init()
13337        }
13338    }
13339}
13340#[repr(C)]
13341#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13342pub struct private_key_st {
13343    pub dec_pkey: *mut EVP_PKEY,
13344}
13345#[test]
13346fn bindgen_test_layout_private_key_st() {
13347    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13348    let ptr = UNINIT.as_ptr();
13349    assert_eq!(
13350        ::std::mem::size_of::<private_key_st>(),
13351        8usize,
13352        "Size of private_key_st"
13353    );
13354    assert_eq!(
13355        ::std::mem::align_of::<private_key_st>(),
13356        8usize,
13357        "Alignment of private_key_st"
13358    );
13359    assert_eq!(
13360        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13361        0usize,
13362        "Offset of field: private_key_st::dec_pkey"
13363    );
13364}
13365impl Default for private_key_st {
13366    fn default() -> Self {
13367        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13368        unsafe {
13369            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13370            s.assume_init()
13371        }
13372    }
13373}
13374#[repr(C)]
13375#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13376pub struct X509_info_st {
13377    pub x509: *mut X509,
13378    pub crl: *mut X509_CRL,
13379    pub x_pkey: *mut X509_PKEY,
13380    pub enc_cipher: EVP_CIPHER_INFO,
13381    pub enc_len: ::std::os::raw::c_int,
13382    pub enc_data: *mut ::std::os::raw::c_char,
13383}
13384#[test]
13385fn bindgen_test_layout_X509_info_st() {
13386    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13387    let ptr = UNINIT.as_ptr();
13388    assert_eq!(
13389        ::std::mem::size_of::<X509_info_st>(),
13390        64usize,
13391        "Size of X509_info_st"
13392    );
13393    assert_eq!(
13394        ::std::mem::align_of::<X509_info_st>(),
13395        8usize,
13396        "Alignment of X509_info_st"
13397    );
13398    assert_eq!(
13399        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13400        0usize,
13401        "Offset of field: X509_info_st::x509"
13402    );
13403    assert_eq!(
13404        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13405        8usize,
13406        "Offset of field: X509_info_st::crl"
13407    );
13408    assert_eq!(
13409        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13410        16usize,
13411        "Offset of field: X509_info_st::x_pkey"
13412    );
13413    assert_eq!(
13414        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13415        24usize,
13416        "Offset of field: X509_info_st::enc_cipher"
13417    );
13418    assert_eq!(
13419        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13420        48usize,
13421        "Offset of field: X509_info_st::enc_len"
13422    );
13423    assert_eq!(
13424        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13425        56usize,
13426        "Offset of field: X509_info_st::enc_data"
13427    );
13428}
13429impl Default for X509_info_st {
13430    fn default() -> Self {
13431        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13432        unsafe {
13433            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13434            s.assume_init()
13435        }
13436    }
13437}
13438pub type X509V3_EXT_NEW =
13439    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13440pub type X509V3_EXT_FREE =
13441    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13442pub type X509V3_EXT_D2I = ::std::option::Option<
13443    unsafe extern "C" fn(
13444        ext: *mut ::std::os::raw::c_void,
13445        inp: *mut *const u8,
13446        len: ::std::os::raw::c_long,
13447    ) -> *mut ::std::os::raw::c_void,
13448>;
13449pub type X509V3_EXT_I2D = ::std::option::Option<
13450    unsafe extern "C" fn(
13451        ext: *mut ::std::os::raw::c_void,
13452        outp: *mut *mut u8,
13453    ) -> ::std::os::raw::c_int,
13454>;
13455pub type X509V3_EXT_I2V = ::std::option::Option<
13456    unsafe extern "C" fn(
13457        method: *const X509V3_EXT_METHOD,
13458        ext: *mut ::std::os::raw::c_void,
13459        extlist: *mut stack_st_CONF_VALUE,
13460    ) -> *mut stack_st_CONF_VALUE,
13461>;
13462pub type X509V3_EXT_V2I = ::std::option::Option<
13463    unsafe extern "C" fn(
13464        method: *const X509V3_EXT_METHOD,
13465        ctx: *const X509V3_CTX,
13466        values: *const stack_st_CONF_VALUE,
13467    ) -> *mut ::std::os::raw::c_void,
13468>;
13469pub type X509V3_EXT_I2S = ::std::option::Option<
13470    unsafe extern "C" fn(
13471        method: *const X509V3_EXT_METHOD,
13472        ext: *mut ::std::os::raw::c_void,
13473    ) -> *mut ::std::os::raw::c_char,
13474>;
13475pub type X509V3_EXT_S2I = ::std::option::Option<
13476    unsafe extern "C" fn(
13477        method: *const X509V3_EXT_METHOD,
13478        ctx: *const X509V3_CTX,
13479        str_: *const ::std::os::raw::c_char,
13480    ) -> *mut ::std::os::raw::c_void,
13481>;
13482pub type X509V3_EXT_I2R = ::std::option::Option<
13483    unsafe extern "C" fn(
13484        method: *const X509V3_EXT_METHOD,
13485        ext: *mut ::std::os::raw::c_void,
13486        out: *mut BIO,
13487        indent: ::std::os::raw::c_int,
13488    ) -> ::std::os::raw::c_int,
13489>;
13490pub type X509V3_EXT_R2I = ::std::option::Option<
13491    unsafe extern "C" fn(
13492        method: *const X509V3_EXT_METHOD,
13493        ctx: *const X509V3_CTX,
13494        str_: *const ::std::os::raw::c_char,
13495    ) -> *mut ::std::os::raw::c_void,
13496>;
13497#[repr(C)]
13498#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13499pub struct v3_ext_method {
13500    pub ext_nid: ::std::os::raw::c_int,
13501    pub ext_flags: ::std::os::raw::c_int,
13502    pub it: *const ASN1_ITEM_st,
13503    pub ext_new: X509V3_EXT_NEW,
13504    pub ext_free: X509V3_EXT_FREE,
13505    pub d2i: X509V3_EXT_D2I,
13506    pub i2d: X509V3_EXT_I2D,
13507    pub i2s: X509V3_EXT_I2S,
13508    pub s2i: X509V3_EXT_S2I,
13509    pub i2v: X509V3_EXT_I2V,
13510    pub v2i: X509V3_EXT_V2I,
13511    pub i2r: X509V3_EXT_I2R,
13512    pub r2i: X509V3_EXT_R2I,
13513    pub usr_data: *mut ::std::os::raw::c_void,
13514}
13515#[test]
13516fn bindgen_test_layout_v3_ext_method() {
13517    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13518    let ptr = UNINIT.as_ptr();
13519    assert_eq!(
13520        ::std::mem::size_of::<v3_ext_method>(),
13521        104usize,
13522        "Size of v3_ext_method"
13523    );
13524    assert_eq!(
13525        ::std::mem::align_of::<v3_ext_method>(),
13526        8usize,
13527        "Alignment of v3_ext_method"
13528    );
13529    assert_eq!(
13530        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13531        0usize,
13532        "Offset of field: v3_ext_method::ext_nid"
13533    );
13534    assert_eq!(
13535        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13536        4usize,
13537        "Offset of field: v3_ext_method::ext_flags"
13538    );
13539    assert_eq!(
13540        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13541        8usize,
13542        "Offset of field: v3_ext_method::it"
13543    );
13544    assert_eq!(
13545        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13546        16usize,
13547        "Offset of field: v3_ext_method::ext_new"
13548    );
13549    assert_eq!(
13550        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13551        24usize,
13552        "Offset of field: v3_ext_method::ext_free"
13553    );
13554    assert_eq!(
13555        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13556        32usize,
13557        "Offset of field: v3_ext_method::d2i"
13558    );
13559    assert_eq!(
13560        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13561        40usize,
13562        "Offset of field: v3_ext_method::i2d"
13563    );
13564    assert_eq!(
13565        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13566        48usize,
13567        "Offset of field: v3_ext_method::i2s"
13568    );
13569    assert_eq!(
13570        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13571        56usize,
13572        "Offset of field: v3_ext_method::s2i"
13573    );
13574    assert_eq!(
13575        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13576        64usize,
13577        "Offset of field: v3_ext_method::i2v"
13578    );
13579    assert_eq!(
13580        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13581        72usize,
13582        "Offset of field: v3_ext_method::v2i"
13583    );
13584    assert_eq!(
13585        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13586        80usize,
13587        "Offset of field: v3_ext_method::i2r"
13588    );
13589    assert_eq!(
13590        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13591        88usize,
13592        "Offset of field: v3_ext_method::r2i"
13593    );
13594    assert_eq!(
13595        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13596        96usize,
13597        "Offset of field: v3_ext_method::usr_data"
13598    );
13599}
13600impl Default for v3_ext_method {
13601    fn default() -> Self {
13602        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13603        unsafe {
13604            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13605            s.assume_init()
13606        }
13607    }
13608}
13609#[repr(C)]
13610#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13611pub struct v3_ext_ctx {
13612    pub flags: ::std::os::raw::c_int,
13613    pub issuer_cert: *const X509,
13614    pub subject_cert: *const X509,
13615    pub subject_req: *const X509_REQ,
13616    pub crl: *const X509_CRL,
13617    pub db: *const CONF,
13618}
13619#[test]
13620fn bindgen_test_layout_v3_ext_ctx() {
13621    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13622    let ptr = UNINIT.as_ptr();
13623    assert_eq!(
13624        ::std::mem::size_of::<v3_ext_ctx>(),
13625        48usize,
13626        "Size of v3_ext_ctx"
13627    );
13628    assert_eq!(
13629        ::std::mem::align_of::<v3_ext_ctx>(),
13630        8usize,
13631        "Alignment of v3_ext_ctx"
13632    );
13633    assert_eq!(
13634        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13635        0usize,
13636        "Offset of field: v3_ext_ctx::flags"
13637    );
13638    assert_eq!(
13639        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13640        8usize,
13641        "Offset of field: v3_ext_ctx::issuer_cert"
13642    );
13643    assert_eq!(
13644        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13645        16usize,
13646        "Offset of field: v3_ext_ctx::subject_cert"
13647    );
13648    assert_eq!(
13649        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13650        24usize,
13651        "Offset of field: v3_ext_ctx::subject_req"
13652    );
13653    assert_eq!(
13654        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13655        32usize,
13656        "Offset of field: v3_ext_ctx::crl"
13657    );
13658    assert_eq!(
13659        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13660        40usize,
13661        "Offset of field: v3_ext_ctx::db"
13662    );
13663}
13664impl Default for v3_ext_ctx {
13665    fn default() -> Self {
13666        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13667        unsafe {
13668            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13669            s.assume_init()
13670        }
13671    }
13672}
13673#[repr(C)]
13674#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13675pub struct X509_algor_st {
13676    pub algorithm: *mut ASN1_OBJECT,
13677    pub parameter: *mut ASN1_TYPE,
13678}
13679#[test]
13680fn bindgen_test_layout_X509_algor_st() {
13681    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13682    let ptr = UNINIT.as_ptr();
13683    assert_eq!(
13684        ::std::mem::size_of::<X509_algor_st>(),
13685        16usize,
13686        "Size of X509_algor_st"
13687    );
13688    assert_eq!(
13689        ::std::mem::align_of::<X509_algor_st>(),
13690        8usize,
13691        "Alignment of X509_algor_st"
13692    );
13693    assert_eq!(
13694        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13695        0usize,
13696        "Offset of field: X509_algor_st::algorithm"
13697    );
13698    assert_eq!(
13699        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13700        8usize,
13701        "Offset of field: X509_algor_st::parameter"
13702    );
13703}
13704impl Default for X509_algor_st {
13705    fn default() -> Self {
13706        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13707        unsafe {
13708            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13709            s.assume_init()
13710        }
13711    }
13712}
13713#[repr(C)]
13714#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13715pub struct x509_trust_st {
13716    pub trust: ::std::os::raw::c_int,
13717    pub flags: ::std::os::raw::c_int,
13718    pub check_trust: ::std::option::Option<
13719        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13720    >,
13721    pub name: *mut ::std::os::raw::c_char,
13722    pub arg1: ::std::os::raw::c_int,
13723    pub arg2: *mut ::std::os::raw::c_void,
13724}
13725#[test]
13726fn bindgen_test_layout_x509_trust_st() {
13727    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13728    let ptr = UNINIT.as_ptr();
13729    assert_eq!(
13730        ::std::mem::size_of::<x509_trust_st>(),
13731        40usize,
13732        "Size of x509_trust_st"
13733    );
13734    assert_eq!(
13735        ::std::mem::align_of::<x509_trust_st>(),
13736        8usize,
13737        "Alignment of x509_trust_st"
13738    );
13739    assert_eq!(
13740        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13741        0usize,
13742        "Offset of field: x509_trust_st::trust"
13743    );
13744    assert_eq!(
13745        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13746        4usize,
13747        "Offset of field: x509_trust_st::flags"
13748    );
13749    assert_eq!(
13750        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13751        8usize,
13752        "Offset of field: x509_trust_st::check_trust"
13753    );
13754    assert_eq!(
13755        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13756        16usize,
13757        "Offset of field: x509_trust_st::name"
13758    );
13759    assert_eq!(
13760        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13761        24usize,
13762        "Offset of field: x509_trust_st::arg1"
13763    );
13764    assert_eq!(
13765        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13766        32usize,
13767        "Offset of field: x509_trust_st::arg2"
13768    );
13769}
13770impl Default for x509_trust_st {
13771    fn default() -> Self {
13772        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13773        unsafe {
13774            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13775            s.assume_init()
13776        }
13777    }
13778}
13779#[repr(C)]
13780#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13781pub struct BASIC_CONSTRAINTS_st {
13782    pub ca: ASN1_BOOLEAN,
13783    pub pathlen: *mut ASN1_INTEGER,
13784}
13785#[test]
13786fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
13787    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13788    let ptr = UNINIT.as_ptr();
13789    assert_eq!(
13790        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
13791        16usize,
13792        "Size of BASIC_CONSTRAINTS_st"
13793    );
13794    assert_eq!(
13795        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
13796        8usize,
13797        "Alignment of BASIC_CONSTRAINTS_st"
13798    );
13799    assert_eq!(
13800        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
13801        0usize,
13802        "Offset of field: BASIC_CONSTRAINTS_st::ca"
13803    );
13804    assert_eq!(
13805        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
13806        8usize,
13807        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
13808    );
13809}
13810impl Default for BASIC_CONSTRAINTS_st {
13811    fn default() -> Self {
13812        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13813        unsafe {
13814            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13815            s.assume_init()
13816        }
13817    }
13818}
13819#[repr(C)]
13820#[derive(Copy, Clone)]
13821pub struct DIST_POINT_NAME_st {
13822    pub type_: ::std::os::raw::c_int,
13823    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
13824    pub dpname: *mut X509_NAME,
13825}
13826#[repr(C)]
13827#[derive(Copy, Clone)]
13828pub union DIST_POINT_NAME_st__bindgen_ty_1 {
13829    pub fullname: *mut GENERAL_NAMES,
13830    pub relativename: *mut stack_st_X509_NAME_ENTRY,
13831}
13832#[test]
13833fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
13834    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
13835        ::std::mem::MaybeUninit::uninit();
13836    let ptr = UNINIT.as_ptr();
13837    assert_eq!(
13838        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13839        8usize,
13840        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
13841    );
13842    assert_eq!(
13843        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13844        8usize,
13845        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
13846    );
13847    assert_eq!(
13848        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
13849        0usize,
13850        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
13851    );
13852    assert_eq!(
13853        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
13854        0usize,
13855        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
13856    );
13857}
13858impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
13859    fn default() -> Self {
13860        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13861        unsafe {
13862            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13863            s.assume_init()
13864        }
13865    }
13866}
13867#[test]
13868fn bindgen_test_layout_DIST_POINT_NAME_st() {
13869    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
13870    let ptr = UNINIT.as_ptr();
13871    assert_eq!(
13872        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
13873        24usize,
13874        "Size of DIST_POINT_NAME_st"
13875    );
13876    assert_eq!(
13877        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
13878        8usize,
13879        "Alignment of DIST_POINT_NAME_st"
13880    );
13881    assert_eq!(
13882        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13883        0usize,
13884        "Offset of field: DIST_POINT_NAME_st::type_"
13885    );
13886    assert_eq!(
13887        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13888        8usize,
13889        "Offset of field: DIST_POINT_NAME_st::name"
13890    );
13891    assert_eq!(
13892        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
13893        16usize,
13894        "Offset of field: DIST_POINT_NAME_st::dpname"
13895    );
13896}
13897impl Default for DIST_POINT_NAME_st {
13898    fn default() -> Self {
13899        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13900        unsafe {
13901            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13902            s.assume_init()
13903        }
13904    }
13905}
13906pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
13907#[repr(C)]
13908#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13909pub struct DIST_POINT_st {
13910    pub distpoint: *mut DIST_POINT_NAME,
13911    pub reasons: *mut ASN1_BIT_STRING,
13912    pub CRLissuer: *mut GENERAL_NAMES,
13913}
13914#[test]
13915fn bindgen_test_layout_DIST_POINT_st() {
13916    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
13917    let ptr = UNINIT.as_ptr();
13918    assert_eq!(
13919        ::std::mem::size_of::<DIST_POINT_st>(),
13920        24usize,
13921        "Size of DIST_POINT_st"
13922    );
13923    assert_eq!(
13924        ::std::mem::align_of::<DIST_POINT_st>(),
13925        8usize,
13926        "Alignment of DIST_POINT_st"
13927    );
13928    assert_eq!(
13929        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
13930        0usize,
13931        "Offset of field: DIST_POINT_st::distpoint"
13932    );
13933    assert_eq!(
13934        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
13935        8usize,
13936        "Offset of field: DIST_POINT_st::reasons"
13937    );
13938    assert_eq!(
13939        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
13940        16usize,
13941        "Offset of field: DIST_POINT_st::CRLissuer"
13942    );
13943}
13944impl Default for DIST_POINT_st {
13945    fn default() -> Self {
13946        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13947        unsafe {
13948            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13949            s.assume_init()
13950        }
13951    }
13952}
13953#[repr(C)]
13954#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13955pub struct AUTHORITY_KEYID_st {
13956    pub keyid: *mut ASN1_OCTET_STRING,
13957    pub issuer: *mut GENERAL_NAMES,
13958    pub serial: *mut ASN1_INTEGER,
13959}
13960#[test]
13961fn bindgen_test_layout_AUTHORITY_KEYID_st() {
13962    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
13963    let ptr = UNINIT.as_ptr();
13964    assert_eq!(
13965        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
13966        24usize,
13967        "Size of AUTHORITY_KEYID_st"
13968    );
13969    assert_eq!(
13970        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
13971        8usize,
13972        "Alignment of AUTHORITY_KEYID_st"
13973    );
13974    assert_eq!(
13975        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
13976        0usize,
13977        "Offset of field: AUTHORITY_KEYID_st::keyid"
13978    );
13979    assert_eq!(
13980        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
13981        8usize,
13982        "Offset of field: AUTHORITY_KEYID_st::issuer"
13983    );
13984    assert_eq!(
13985        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
13986        16usize,
13987        "Offset of field: AUTHORITY_KEYID_st::serial"
13988    );
13989}
13990impl Default for AUTHORITY_KEYID_st {
13991    fn default() -> Self {
13992        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13993        unsafe {
13994            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13995            s.assume_init()
13996        }
13997    }
13998}
13999#[repr(C)]
14000#[derive(Debug, Copy, Clone)]
14001pub struct stack_st_GENERAL_SUBTREE {
14002    _unused: [u8; 0],
14003}
14004#[repr(C)]
14005#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14006pub struct NAME_CONSTRAINTS_st {
14007    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14008    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14009}
14010#[test]
14011fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
14012    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14013    let ptr = UNINIT.as_ptr();
14014    assert_eq!(
14015        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
14016        16usize,
14017        "Size of NAME_CONSTRAINTS_st"
14018    );
14019    assert_eq!(
14020        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
14021        8usize,
14022        "Alignment of NAME_CONSTRAINTS_st"
14023    );
14024    assert_eq!(
14025        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
14026        0usize,
14027        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
14028    );
14029    assert_eq!(
14030        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
14031        8usize,
14032        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
14033    );
14034}
14035impl Default for NAME_CONSTRAINTS_st {
14036    fn default() -> Self {
14037        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14038        unsafe {
14039            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14040            s.assume_init()
14041        }
14042    }
14043}
14044#[repr(C)]
14045#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14046pub struct ISSUING_DIST_POINT_st {
14047    pub distpoint: *mut DIST_POINT_NAME,
14048    pub onlyuser: ASN1_BOOLEAN,
14049    pub onlyCA: ASN1_BOOLEAN,
14050    pub onlysomereasons: *mut ASN1_BIT_STRING,
14051    pub indirectCRL: ASN1_BOOLEAN,
14052    pub onlyattr: ASN1_BOOLEAN,
14053}
14054#[test]
14055fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14056    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14057        ::std::mem::MaybeUninit::uninit();
14058    let ptr = UNINIT.as_ptr();
14059    assert_eq!(
14060        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14061        32usize,
14062        "Size of ISSUING_DIST_POINT_st"
14063    );
14064    assert_eq!(
14065        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14066        8usize,
14067        "Alignment of ISSUING_DIST_POINT_st"
14068    );
14069    assert_eq!(
14070        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14071        0usize,
14072        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14073    );
14074    assert_eq!(
14075        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14076        8usize,
14077        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14078    );
14079    assert_eq!(
14080        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14081        12usize,
14082        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14083    );
14084    assert_eq!(
14085        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14086        16usize,
14087        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14088    );
14089    assert_eq!(
14090        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14091        24usize,
14092        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14093    );
14094    assert_eq!(
14095        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14096        28usize,
14097        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14098    );
14099}
14100impl Default for ISSUING_DIST_POINT_st {
14101    fn default() -> Self {
14102        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14103        unsafe {
14104            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14105            s.assume_init()
14106        }
14107    }
14108}
14109pub type poly1305_state = [u8; 512usize];
14110extern "C" {
14111    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_poly1305_init"]
14112    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14113}
14114extern "C" {
14115    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_poly1305_update"]
14116    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14117}
14118extern "C" {
14119    #[link_name = "\u{1}aws_lc_0_39_1_CRYPTO_poly1305_finish"]
14120    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14121}
14122extern "C" {
14123    #[link_name = "\u{1}aws_lc_0_39_1_RAND_bytes"]
14124    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14125}
14126extern "C" {
14127    #[link_name = "\u{1}aws_lc_0_39_1_RAND_priv_bytes"]
14128    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14129}
14130extern "C" {
14131    #[link_name = "\u{1}aws_lc_0_39_1_RAND_public_bytes"]
14132    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
14133}
14134extern "C" {
14135    #[link_name = "\u{1}aws_lc_0_39_1_RAND_bytes_with_user_prediction_resistance"]
14136    pub fn RAND_bytes_with_user_prediction_resistance(
14137        out: *mut u8,
14138        out_len: usize,
14139        user_pred_resistance: *const u8,
14140    ) -> ::std::os::raw::c_int;
14141}
14142extern "C" {
14143    #[link_name = "\u{1}aws_lc_0_39_1_RAND_pseudo_bytes"]
14144    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14145}
14146extern "C" {
14147    #[link_name = "\u{1}aws_lc_0_39_1_RAND_seed"]
14148    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14149}
14150extern "C" {
14151    #[link_name = "\u{1}aws_lc_0_39_1_RAND_load_file"]
14152    pub fn RAND_load_file(
14153        path: *const ::std::os::raw::c_char,
14154        num: ::std::os::raw::c_long,
14155    ) -> ::std::os::raw::c_int;
14156}
14157extern "C" {
14158    #[link_name = "\u{1}aws_lc_0_39_1_RAND_write_file"]
14159    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14160}
14161extern "C" {
14162    #[link_name = "\u{1}aws_lc_0_39_1_RAND_file_name"]
14163    pub fn RAND_file_name(
14164        buf: *mut ::std::os::raw::c_char,
14165        num: usize,
14166    ) -> *const ::std::os::raw::c_char;
14167}
14168extern "C" {
14169    #[link_name = "\u{1}aws_lc_0_39_1_RAND_add"]
14170    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14171}
14172extern "C" {
14173    #[link_name = "\u{1}aws_lc_0_39_1_RAND_egd"]
14174    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14175}
14176extern "C" {
14177    #[link_name = "\u{1}aws_lc_0_39_1_RAND_egd_bytes"]
14178    pub fn RAND_egd_bytes(
14179        arg1: *const ::std::os::raw::c_char,
14180        bytes: ::std::os::raw::c_int,
14181    ) -> ::std::os::raw::c_int;
14182}
14183extern "C" {
14184    #[link_name = "\u{1}aws_lc_0_39_1_RAND_poll"]
14185    pub fn RAND_poll() -> ::std::os::raw::c_int;
14186}
14187extern "C" {
14188    #[link_name = "\u{1}aws_lc_0_39_1_RAND_status"]
14189    pub fn RAND_status() -> ::std::os::raw::c_int;
14190}
14191extern "C" {
14192    #[link_name = "\u{1}aws_lc_0_39_1_RAND_cleanup"]
14193    pub fn RAND_cleanup();
14194}
14195#[repr(C)]
14196#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14197pub struct rand_meth_st {
14198    pub seed: ::std::option::Option<
14199        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14200    >,
14201    pub bytes: ::std::option::Option<
14202        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14203    >,
14204    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14205    pub add: ::std::option::Option<
14206        unsafe extern "C" fn(
14207            buf: *const ::std::os::raw::c_void,
14208            num: ::std::os::raw::c_int,
14209            entropy: f64,
14210        ),
14211    >,
14212    pub pseudorand: ::std::option::Option<
14213        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14214    >,
14215    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14216}
14217#[test]
14218fn bindgen_test_layout_rand_meth_st() {
14219    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14220    let ptr = UNINIT.as_ptr();
14221    assert_eq!(
14222        ::std::mem::size_of::<rand_meth_st>(),
14223        48usize,
14224        "Size of rand_meth_st"
14225    );
14226    assert_eq!(
14227        ::std::mem::align_of::<rand_meth_st>(),
14228        8usize,
14229        "Alignment of rand_meth_st"
14230    );
14231    assert_eq!(
14232        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14233        0usize,
14234        "Offset of field: rand_meth_st::seed"
14235    );
14236    assert_eq!(
14237        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14238        8usize,
14239        "Offset of field: rand_meth_st::bytes"
14240    );
14241    assert_eq!(
14242        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14243        16usize,
14244        "Offset of field: rand_meth_st::cleanup"
14245    );
14246    assert_eq!(
14247        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14248        24usize,
14249        "Offset of field: rand_meth_st::add"
14250    );
14251    assert_eq!(
14252        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14253        32usize,
14254        "Offset of field: rand_meth_st::pseudorand"
14255    );
14256    assert_eq!(
14257        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14258        40usize,
14259        "Offset of field: rand_meth_st::status"
14260    );
14261}
14262extern "C" {
14263    #[link_name = "\u{1}aws_lc_0_39_1_RAND_SSLeay"]
14264    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14265}
14266extern "C" {
14267    #[link_name = "\u{1}aws_lc_0_39_1_RAND_OpenSSL"]
14268    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14269}
14270extern "C" {
14271    #[link_name = "\u{1}aws_lc_0_39_1_RAND_get_rand_method"]
14272    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14273}
14274extern "C" {
14275    #[link_name = "\u{1}aws_lc_0_39_1_RAND_set_rand_method"]
14276    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14277}
14278extern "C" {
14279    #[link_name = "\u{1}aws_lc_0_39_1_RAND_keep_random_devices_open"]
14280    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14281}
14282#[repr(C)]
14283#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14284pub struct rc4_key_st {
14285    pub x: u32,
14286    pub y: u32,
14287    pub data: [u32; 256usize],
14288}
14289#[test]
14290fn bindgen_test_layout_rc4_key_st() {
14291    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14292    let ptr = UNINIT.as_ptr();
14293    assert_eq!(
14294        ::std::mem::size_of::<rc4_key_st>(),
14295        1032usize,
14296        "Size of rc4_key_st"
14297    );
14298    assert_eq!(
14299        ::std::mem::align_of::<rc4_key_st>(),
14300        4usize,
14301        "Alignment of rc4_key_st"
14302    );
14303    assert_eq!(
14304        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14305        0usize,
14306        "Offset of field: rc4_key_st::x"
14307    );
14308    assert_eq!(
14309        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14310        4usize,
14311        "Offset of field: rc4_key_st::y"
14312    );
14313    assert_eq!(
14314        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14315        8usize,
14316        "Offset of field: rc4_key_st::data"
14317    );
14318}
14319impl Default for rc4_key_st {
14320    fn default() -> Self {
14321        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14322        unsafe {
14323            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14324            s.assume_init()
14325        }
14326    }
14327}
14328#[repr(C)]
14329#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14330pub struct RIPEMD160state_st {
14331    pub h: [u32; 5usize],
14332    pub Nl: u32,
14333    pub Nh: u32,
14334    pub data: [u8; 64usize],
14335    pub num: ::std::os::raw::c_uint,
14336}
14337#[test]
14338fn bindgen_test_layout_RIPEMD160state_st() {
14339    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14340    let ptr = UNINIT.as_ptr();
14341    assert_eq!(
14342        ::std::mem::size_of::<RIPEMD160state_st>(),
14343        96usize,
14344        "Size of RIPEMD160state_st"
14345    );
14346    assert_eq!(
14347        ::std::mem::align_of::<RIPEMD160state_st>(),
14348        4usize,
14349        "Alignment of RIPEMD160state_st"
14350    );
14351    assert_eq!(
14352        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14353        0usize,
14354        "Offset of field: RIPEMD160state_st::h"
14355    );
14356    assert_eq!(
14357        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14358        20usize,
14359        "Offset of field: RIPEMD160state_st::Nl"
14360    );
14361    assert_eq!(
14362        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14363        24usize,
14364        "Offset of field: RIPEMD160state_st::Nh"
14365    );
14366    assert_eq!(
14367        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14368        28usize,
14369        "Offset of field: RIPEMD160state_st::data"
14370    );
14371    assert_eq!(
14372        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14373        92usize,
14374        "Offset of field: RIPEMD160state_st::num"
14375    );
14376}
14377impl Default for RIPEMD160state_st {
14378    fn default() -> Self {
14379        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14380        unsafe {
14381            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14382            s.assume_init()
14383        }
14384    }
14385}
14386#[repr(C)]
14387#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14388pub struct trust_token_st {
14389    pub data: *mut u8,
14390    pub len: usize,
14391}
14392#[test]
14393fn bindgen_test_layout_trust_token_st() {
14394    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14395    let ptr = UNINIT.as_ptr();
14396    assert_eq!(
14397        ::std::mem::size_of::<trust_token_st>(),
14398        16usize,
14399        "Size of trust_token_st"
14400    );
14401    assert_eq!(
14402        ::std::mem::align_of::<trust_token_st>(),
14403        8usize,
14404        "Alignment of trust_token_st"
14405    );
14406    assert_eq!(
14407        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14408        0usize,
14409        "Offset of field: trust_token_st::data"
14410    );
14411    assert_eq!(
14412        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14413        8usize,
14414        "Offset of field: trust_token_st::len"
14415    );
14416}
14417impl Default for trust_token_st {
14418    fn default() -> Self {
14419        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14420        unsafe {
14421            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14422            s.assume_init()
14423        }
14424    }
14425}
14426extern "C" {
14427    #[link_name = "\u{1}aws_lc_0_39_1_ERR_GET_LIB_RUST"]
14428    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14429}
14430extern "C" {
14431    #[link_name = "\u{1}aws_lc_0_39_1_ERR_GET_REASON_RUST"]
14432    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14433}
14434extern "C" {
14435    #[link_name = "\u{1}aws_lc_0_39_1_ERR_GET_FUNC_RUST"]
14436    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14437}
14438pub type __builtin_va_list = [__va_list_tag; 1usize];
14439#[repr(C)]
14440#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14441pub struct __va_list_tag {
14442    pub gp_offset: ::std::os::raw::c_uint,
14443    pub fp_offset: ::std::os::raw::c_uint,
14444    pub overflow_arg_area: *mut ::std::os::raw::c_void,
14445    pub reg_save_area: *mut ::std::os::raw::c_void,
14446}
14447#[test]
14448fn bindgen_test_layout___va_list_tag() {
14449    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
14450    let ptr = UNINIT.as_ptr();
14451    assert_eq!(
14452        ::std::mem::size_of::<__va_list_tag>(),
14453        24usize,
14454        "Size of __va_list_tag"
14455    );
14456    assert_eq!(
14457        ::std::mem::align_of::<__va_list_tag>(),
14458        8usize,
14459        "Alignment of __va_list_tag"
14460    );
14461    assert_eq!(
14462        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
14463        0usize,
14464        "Offset of field: __va_list_tag::gp_offset"
14465    );
14466    assert_eq!(
14467        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
14468        4usize,
14469        "Offset of field: __va_list_tag::fp_offset"
14470    );
14471    assert_eq!(
14472        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
14473        8usize,
14474        "Offset of field: __va_list_tag::overflow_arg_area"
14475    );
14476    assert_eq!(
14477        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
14478        16usize,
14479        "Offset of field: __va_list_tag::reg_save_area"
14480    );
14481}
14482impl Default for __va_list_tag {
14483    fn default() -> Self {
14484        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14485        unsafe {
14486            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14487            s.assume_init()
14488        }
14489    }
14490}