Skip to main content

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; 6] = b"5.2.0\0";
180pub const AWSLC_FIPS_VERSION_NUMBER: i32 = 5;
181pub const AES_ENCRYPT: i32 = 1;
182pub const AES_DECRYPT: i32 = 0;
183pub const AES_MAXNR: i32 = 14;
184pub const AES_BLOCK_SIZE: i32 = 16;
185pub const SHA_CBLOCK: i32 = 64;
186pub const SHA_DIGEST_LENGTH: i32 = 20;
187pub const SHA224_CBLOCK: i32 = 64;
188pub const SHA224_DIGEST_LENGTH: i32 = 28;
189pub const SHA256_CBLOCK: i32 = 64;
190pub const SHA256_DIGEST_LENGTH: i32 = 32;
191pub const SHA384_CBLOCK: i32 = 128;
192pub const SHA384_DIGEST_LENGTH: i32 = 48;
193pub const SHA512_CBLOCK: i32 = 128;
194pub const SHA512_DIGEST_LENGTH: i32 = 64;
195pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
196pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
197pub const OPENSSL_VERSION_TEXT: &[u8; 41] = b"OpenSSL 1.1.1 (compatible; AWS-LC 5.2.0)\0";
198pub const OPENSSL_VERSION: i32 = 0;
199pub const OPENSSL_CFLAGS: i32 = 1;
200pub const OPENSSL_BUILT_ON: i32 = 2;
201pub const OPENSSL_PLATFORM: i32 = 3;
202pub const OPENSSL_DIR: i32 = 4;
203pub const SSLEAY_VERSION: i32 = 0;
204pub const SSLEAY_CFLAGS: i32 = 1;
205pub const SSLEAY_BUILT_ON: i32 = 2;
206pub const SSLEAY_PLATFORM: i32 = 3;
207pub const SSLEAY_DIR: i32 = 4;
208pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
209pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
210pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
211pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
212pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
213pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
214pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
215pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
216pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
217pub const OPENSSL_INIT_ATFORK: i32 = 0;
218pub const OPENSSL_INIT_NO_ATEXIT: i32 = 0;
219pub const CRYPTO_MEM_CHECK_ON: i32 = 0;
220pub const ERR_FLAG_STRING: i32 = 1;
221pub const ERR_FLAG_MALLOCED: i32 = 2;
222pub const ERR_LIB_NONE: i32 = 1;
223pub const ERR_LIB_SYS: i32 = 2;
224pub const ERR_LIB_BN: i32 = 3;
225pub const ERR_LIB_RSA: i32 = 4;
226pub const ERR_LIB_DH: i32 = 5;
227pub const ERR_LIB_EVP: i32 = 6;
228pub const ERR_LIB_BUF: i32 = 7;
229pub const ERR_LIB_OBJ: i32 = 8;
230pub const ERR_LIB_PEM: i32 = 9;
231pub const ERR_LIB_DSA: i32 = 10;
232pub const ERR_LIB_X509: i32 = 11;
233pub const ERR_LIB_ASN1: i32 = 12;
234pub const ERR_LIB_CONF: i32 = 13;
235pub const ERR_LIB_CRYPTO: i32 = 14;
236pub const ERR_LIB_EC: i32 = 15;
237pub const ERR_LIB_SSL: i32 = 16;
238pub const ERR_LIB_BIO: i32 = 17;
239pub const ERR_LIB_PKCS7: i32 = 18;
240pub const ERR_LIB_PKCS8: i32 = 19;
241pub const ERR_LIB_X509V3: i32 = 20;
242pub const ERR_LIB_RAND: i32 = 21;
243pub const ERR_LIB_ENGINE: i32 = 22;
244pub const ERR_LIB_OCSP: i32 = 23;
245pub const ERR_LIB_UI: i32 = 24;
246pub const ERR_LIB_COMP: i32 = 25;
247pub const ERR_LIB_ECDSA: i32 = 26;
248pub const ERR_LIB_ECDH: i32 = 27;
249pub const ERR_LIB_HMAC: i32 = 28;
250pub const ERR_LIB_DIGEST: i32 = 29;
251pub const ERR_LIB_CIPHER: i32 = 30;
252pub const ERR_LIB_HKDF: i32 = 31;
253pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
254pub const ERR_LIB_USER: i32 = 33;
255pub const ERR_NUM_LIBS: i32 = 34;
256pub const ERR_LIB_PKCS12: i32 = 35;
257pub const ERR_LIB_DSO: i32 = 36;
258pub const ERR_LIB_OSSL_STORE: i32 = 37;
259pub const ERR_LIB_FIPS: i32 = 38;
260pub const ERR_LIB_CMS: i32 = 39;
261pub const ERR_LIB_TS: i32 = 40;
262pub const ERR_LIB_CT: i32 = 41;
263pub const ERR_LIB_ASYNC: i32 = 42;
264pub const ERR_LIB_KDF: i32 = 43;
265pub const ERR_LIB_SM2: i32 = 44;
266pub const ERR_R_SYS_LIB: i32 = 2;
267pub const ERR_R_BN_LIB: i32 = 3;
268pub const ERR_R_RSA_LIB: i32 = 4;
269pub const ERR_R_DH_LIB: i32 = 5;
270pub const ERR_R_EVP_LIB: i32 = 6;
271pub const ERR_R_BUF_LIB: i32 = 7;
272pub const ERR_R_OBJ_LIB: i32 = 8;
273pub const ERR_R_PEM_LIB: i32 = 9;
274pub const ERR_R_DSA_LIB: i32 = 10;
275pub const ERR_R_X509_LIB: i32 = 11;
276pub const ERR_R_ASN1_LIB: i32 = 12;
277pub const ERR_R_CONF_LIB: i32 = 13;
278pub const ERR_R_CRYPTO_LIB: i32 = 14;
279pub const ERR_R_EC_LIB: i32 = 15;
280pub const ERR_R_SSL_LIB: i32 = 16;
281pub const ERR_R_BIO_LIB: i32 = 17;
282pub const ERR_R_PKCS7_LIB: i32 = 18;
283pub const ERR_R_PKCS8_LIB: i32 = 19;
284pub const ERR_R_X509V3_LIB: i32 = 20;
285pub const ERR_R_RAND_LIB: i32 = 21;
286pub const ERR_R_DSO_LIB: i32 = 36;
287pub const ERR_R_ENGINE_LIB: i32 = 22;
288pub const ERR_R_OCSP_LIB: i32 = 23;
289pub const ERR_R_UI_LIB: i32 = 24;
290pub const ERR_R_COMP_LIB: i32 = 25;
291pub const ERR_R_ECDSA_LIB: i32 = 26;
292pub const ERR_R_ECDH_LIB: i32 = 27;
293pub const ERR_R_FIPS_LIB: i32 = 38;
294pub const ERR_R_CMS_LIB: i32 = 39;
295pub const ERR_R_TS_LIB: i32 = 40;
296pub const ERR_R_HMAC_LIB: i32 = 28;
297pub const ERR_R_USER_LIB: i32 = 33;
298pub const ERR_R_DIGEST_LIB: i32 = 29;
299pub const ERR_R_CIPHER_LIB: i32 = 30;
300pub const ERR_R_HKDF_LIB: i32 = 31;
301pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
302pub const ERR_R_FATAL: i32 = 64;
303pub const ERR_R_MALLOC_FAILURE: i32 = 65;
304pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
305pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
306pub const ERR_R_INTERNAL_ERROR: i32 = 68;
307pub const ERR_R_OVERFLOW: i32 = 69;
308pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
309pub const ERR_TXT_STRING: i32 = 1;
310pub const ERR_TXT_MALLOCED: i32 = 2;
311pub const ERR_NUM_ERRORS: i32 = 16;
312pub const BN_BITS2: i32 = 64;
313pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
314pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
315pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
316pub const BN_RAND_TOP_ANY: i32 = -1;
317pub const BN_RAND_TOP_ONE: i32 = 0;
318pub const BN_RAND_TOP_TWO: i32 = 1;
319pub const BN_RAND_BOTTOM_ANY: i32 = 0;
320pub const BN_RAND_BOTTOM_ODD: i32 = 1;
321pub const BN_GENCB_GENERATED: i32 = 0;
322pub const BN_GENCB_PRIME_TEST: i32 = 1;
323pub const BN_prime_checks_for_validation: i32 = 64;
324pub const BN_prime_checks_for_generation: i32 = 0;
325pub const BN_prime_checks: i32 = 64;
326pub const BN_FLG_MALLOCED: i32 = 1;
327pub const BN_FLG_STATIC_DATA: i32 = 2;
328pub const BN_R_ARG2_LT_ARG3: i32 = 100;
329pub const BN_R_BAD_RECIPROCAL: i32 = 101;
330pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
331pub const BN_R_BITS_TOO_SMALL: i32 = 103;
332pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
333pub const BN_R_DIV_BY_ZERO: i32 = 105;
334pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
335pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
336pub const BN_R_INVALID_RANGE: i32 = 108;
337pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
338pub const BN_R_NOT_A_SQUARE: i32 = 110;
339pub const BN_R_NOT_INITIALIZED: i32 = 111;
340pub const BN_R_NO_INVERSE: i32 = 112;
341pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
342pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
343pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
344pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
345pub const BN_R_BAD_ENCODING: i32 = 117;
346pub const BN_R_ENCODE_ERROR: i32 = 118;
347pub const BN_R_INVALID_INPUT: i32 = 119;
348pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
349pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
350pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
351pub const CBS_ASN1_UNIVERSAL: i32 = 0;
352pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
353pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
354pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
355pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
356pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
357pub const CBS_ASN1_BOOLEAN: i32 = 1;
358pub const CBS_ASN1_INTEGER: i32 = 2;
359pub const CBS_ASN1_BITSTRING: i32 = 3;
360pub const CBS_ASN1_OCTETSTRING: i32 = 4;
361pub const CBS_ASN1_NULL: i32 = 5;
362pub const CBS_ASN1_OBJECT: i32 = 6;
363pub const CBS_ASN1_ENUMERATED: i32 = 10;
364pub const CBS_ASN1_UTF8STRING: i32 = 12;
365pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
366pub const CBS_ASN1_SET: i32 = 536870929;
367pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
368pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
369pub const CBS_ASN1_T61STRING: i32 = 20;
370pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
371pub const CBS_ASN1_IA5STRING: i32 = 22;
372pub const CBS_ASN1_UTCTIME: i32 = 23;
373pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
374pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
375pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
376pub const CBS_ASN1_GENERALSTRING: i32 = 27;
377pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
378pub const CBS_ASN1_BMPSTRING: i32 = 30;
379pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
380pub const EVP_CIPH_ECB_MODE: i32 = 1;
381pub const EVP_CIPH_CBC_MODE: i32 = 2;
382pub const EVP_CIPH_CFB_MODE: i32 = 3;
383pub const EVP_CIPH_OFB_MODE: i32 = 4;
384pub const EVP_CIPH_CTR_MODE: i32 = 5;
385pub const EVP_CIPH_GCM_MODE: i32 = 6;
386pub const EVP_CIPH_XTS_MODE: i32 = 7;
387pub const EVP_CIPH_CCM_MODE: i32 = 8;
388pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
389pub const EVP_CIPH_OCB_MODE: i32 = 9;
390pub const EVP_CIPH_WRAP_MODE: i32 = 10;
391pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
392pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
393pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
394pub const EVP_CIPH_CTRL_INIT: i32 = 512;
395pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
396pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
397pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
398pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
399pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
400pub const EVP_CIPH_NO_PADDING: i32 = 2048;
401pub const EVP_CTRL_INIT: i32 = 0;
402pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
403pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
404pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
405pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
406pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
407pub const EVP_CTRL_RAND_KEY: i32 = 6;
408pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
409pub const EVP_CTRL_COPY: i32 = 8;
410pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
411pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
412pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
413pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
414pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
415pub const EVP_CTRL_CCM_SET_L: i32 = 20;
416pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
417pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
418pub const EVP_CTRL_GET_IVLEN: i32 = 25;
419pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
420pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
421pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
422pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
423pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
424pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
425pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
426pub const EVP_MAX_KEY_LENGTH: i32 = 64;
427pub const EVP_MAX_IV_LENGTH: i32 = 16;
428pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
429pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
430pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
431pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
432pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
433pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
434pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
435pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
436pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
437pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
438pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
439pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
440pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
441pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
442pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
443pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
444pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
445pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
446pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
447pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
448pub const CIPHER_R_TOO_LARGE: i32 = 117;
449pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
450pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
451pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
452pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
453pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
454pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
455pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
456pub const CIPHER_R_INVALID_NONCE: i32 = 125;
457pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
458pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
459pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
460pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
461pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
462pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
463pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
464pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
465pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
466pub const X25519_SHARED_KEY_LEN: i32 = 32;
467pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
468pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
469pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
470pub const ED25519_SIGNATURE_LEN: i32 = 64;
471pub const ED25519_SEED_LEN: i32 = 32;
472pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
473pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
474pub const EVP_MAX_MD_SIZE: i32 = 64;
475pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
476pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
477pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
478pub const EVP_MD_FLAG_XOF: i32 = 4;
479pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
480pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
481pub const DIGEST_R_DECODE_ERROR: i32 = 101;
482pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
483pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
484pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
485pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
486pub const EC_PKEY_NO_PUBKEY: i32 = 2;
487pub const ECDSA_FLAG_OPAQUE: i32 = 1;
488pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
489pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
490pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
491pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
492pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
493pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
494pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
495pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
496pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
497pub const EC_R_INVALID_ENCODING: i32 = 109;
498pub const EC_R_INVALID_FIELD: i32 = 110;
499pub const EC_R_INVALID_FORM: i32 = 111;
500pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
501pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
502pub const EC_R_MISSING_PARAMETERS: i32 = 114;
503pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
504pub const EC_R_NON_NAMED_CURVE: i32 = 116;
505pub const EC_R_NOT_INITIALIZED: i32 = 117;
506pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
507pub const EC_R_POINT_AT_INFINITY: i32 = 119;
508pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
509pub const EC_R_SLOT_FULL: i32 = 121;
510pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
511pub const EC_R_UNKNOWN_GROUP: i32 = 123;
512pub const EC_R_UNKNOWN_ORDER: i32 = 124;
513pub const EC_R_WRONG_ORDER: i32 = 125;
514pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
515pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
516pub const EC_R_DECODE_ERROR: i32 = 128;
517pub const EC_R_ENCODE_ERROR: i32 = 129;
518pub const EC_R_GROUP_MISMATCH: i32 = 130;
519pub const EC_R_INVALID_COFACTOR: i32 = 131;
520pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
521pub const EC_R_INVALID_SCALAR: i32 = 133;
522pub const ECDH_R_KDF_FAILED: i32 = 100;
523pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
524pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
525pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
526pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
527pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
528pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
529pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
530pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
531pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
532pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
533pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
534pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
535pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
536pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
537pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
538pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
539pub const SN_undef: &[u8; 6] = b"UNDEF\0";
540pub const LN_undef: &[u8; 10] = b"undefined\0";
541pub const NID_undef: i32 = 0;
542pub const OBJ_undef: i32 = 0;
543pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
544pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
545pub const NID_rsadsi: i32 = 1;
546pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
547pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
548pub const NID_pkcs: i32 = 2;
549pub const SN_md2: &[u8; 4] = b"MD2\0";
550pub const LN_md2: &[u8; 4] = b"md2\0";
551pub const NID_md2: i32 = 3;
552pub const SN_md5: &[u8; 4] = b"MD5\0";
553pub const LN_md5: &[u8; 4] = b"md5\0";
554pub const NID_md5: i32 = 4;
555pub const SN_rc4: &[u8; 4] = b"RC4\0";
556pub const LN_rc4: &[u8; 4] = b"rc4\0";
557pub const NID_rc4: i32 = 5;
558pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
559pub const NID_rsaEncryption: i32 = 6;
560pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
561pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
562pub const NID_md2WithRSAEncryption: i32 = 7;
563pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
564pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
565pub const NID_md5WithRSAEncryption: i32 = 8;
566pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
567pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
568pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
569pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
570pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
571pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
572pub const SN_X500: &[u8; 5] = b"X500\0";
573pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
574pub const NID_X500: i32 = 11;
575pub const SN_X509: &[u8; 5] = b"X509\0";
576pub const NID_X509: i32 = 12;
577pub const SN_commonName: &[u8; 3] = b"CN\0";
578pub const LN_commonName: &[u8; 11] = b"commonName\0";
579pub const NID_commonName: i32 = 13;
580pub const SN_countryName: &[u8; 2] = b"C\0";
581pub const LN_countryName: &[u8; 12] = b"countryName\0";
582pub const NID_countryName: i32 = 14;
583pub const SN_localityName: &[u8; 2] = b"L\0";
584pub const LN_localityName: &[u8; 13] = b"localityName\0";
585pub const NID_localityName: i32 = 15;
586pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
587pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
588pub const NID_stateOrProvinceName: i32 = 16;
589pub const SN_organizationName: &[u8; 2] = b"O\0";
590pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
591pub const NID_organizationName: i32 = 17;
592pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
593pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
594pub const NID_organizationalUnitName: i32 = 18;
595pub const SN_rsa: &[u8; 4] = b"RSA\0";
596pub const LN_rsa: &[u8; 4] = b"rsa\0";
597pub const NID_rsa: i32 = 19;
598pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
599pub const NID_pkcs7: i32 = 20;
600pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
601pub const NID_pkcs7_data: i32 = 21;
602pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
603pub const NID_pkcs7_signed: i32 = 22;
604pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
605pub const NID_pkcs7_enveloped: i32 = 23;
606pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
607pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
608pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
609pub const NID_pkcs7_digest: i32 = 25;
610pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
611pub const NID_pkcs7_encrypted: i32 = 26;
612pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
613pub const NID_pkcs3: i32 = 27;
614pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
615pub const NID_dhKeyAgreement: i32 = 28;
616pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
617pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
618pub const NID_des_ecb: i32 = 29;
619pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
620pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
621pub const NID_des_cfb64: i32 = 30;
622pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
623pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
624pub const NID_des_cbc: i32 = 31;
625pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
626pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
627pub const NID_des_ede_ecb: i32 = 32;
628pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
629pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
630pub const NID_des_ede3_ecb: i32 = 33;
631pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
632pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
633pub const NID_idea_cbc: i32 = 34;
634pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
635pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
636pub const NID_idea_cfb64: i32 = 35;
637pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
638pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
639pub const NID_idea_ecb: i32 = 36;
640pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
641pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
642pub const NID_rc2_cbc: i32 = 37;
643pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
644pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
645pub const NID_rc2_ecb: i32 = 38;
646pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
647pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
648pub const NID_rc2_cfb64: i32 = 39;
649pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
650pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
651pub const NID_rc2_ofb64: i32 = 40;
652pub const SN_sha: &[u8; 4] = b"SHA\0";
653pub const LN_sha: &[u8; 4] = b"sha\0";
654pub const NID_sha: i32 = 41;
655pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
656pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
657pub const NID_shaWithRSAEncryption: i32 = 42;
658pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
659pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
660pub const NID_des_ede_cbc: i32 = 43;
661pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
662pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
663pub const NID_des_ede3_cbc: i32 = 44;
664pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
665pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
666pub const NID_des_ofb64: i32 = 45;
667pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
668pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
669pub const NID_idea_ofb64: i32 = 46;
670pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
671pub const NID_pkcs9: i32 = 47;
672pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
673pub const NID_pkcs9_emailAddress: i32 = 48;
674pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
675pub const NID_pkcs9_unstructuredName: i32 = 49;
676pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
677pub const NID_pkcs9_contentType: i32 = 50;
678pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
679pub const NID_pkcs9_messageDigest: i32 = 51;
680pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
681pub const NID_pkcs9_signingTime: i32 = 52;
682pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
683pub const NID_pkcs9_countersignature: i32 = 53;
684pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
685pub const NID_pkcs9_challengePassword: i32 = 54;
686pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
687pub const NID_pkcs9_unstructuredAddress: i32 = 55;
688pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
689pub const NID_pkcs9_extCertAttributes: i32 = 56;
690pub const SN_netscape: &[u8; 9] = b"Netscape\0";
691pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
692pub const NID_netscape: i32 = 57;
693pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
694pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
695pub const NID_netscape_cert_extension: i32 = 58;
696pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
697pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
698pub const NID_netscape_data_type: i32 = 59;
699pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
700pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
701pub const NID_des_ede_cfb64: i32 = 60;
702pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
703pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
704pub const NID_des_ede3_cfb64: i32 = 61;
705pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
706pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
707pub const NID_des_ede_ofb64: i32 = 62;
708pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
709pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
710pub const NID_des_ede3_ofb64: i32 = 63;
711pub const SN_sha1: &[u8; 5] = b"SHA1\0";
712pub const LN_sha1: &[u8; 5] = b"sha1\0";
713pub const NID_sha1: i32 = 64;
714pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
715pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
716pub const NID_sha1WithRSAEncryption: i32 = 65;
717pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
718pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
719pub const NID_dsaWithSHA: i32 = 66;
720pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
721pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
722pub const NID_dsa_2: i32 = 67;
723pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
724pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
725pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
726pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
727pub const NID_id_pbkdf2: i32 = 69;
728pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
729pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
730pub const NID_dsaWithSHA1_2: i32 = 70;
731pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
732pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
733pub const NID_netscape_cert_type: i32 = 71;
734pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
735pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
736pub const NID_netscape_base_url: i32 = 72;
737pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
738pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
739pub const NID_netscape_revocation_url: i32 = 73;
740pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
741pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
742pub const NID_netscape_ca_revocation_url: i32 = 74;
743pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
744pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
745pub const NID_netscape_renewal_url: i32 = 75;
746pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
747pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
748pub const NID_netscape_ca_policy_url: i32 = 76;
749pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
750pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
751pub const NID_netscape_ssl_server_name: i32 = 77;
752pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
753pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
754pub const NID_netscape_comment: i32 = 78;
755pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
756pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
757pub const NID_netscape_cert_sequence: i32 = 79;
758pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
759pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
760pub const NID_desx_cbc: i32 = 80;
761pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
762pub const NID_id_ce: i32 = 81;
763pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
764pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
765pub const NID_subject_key_identifier: i32 = 82;
766pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
767pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
768pub const NID_key_usage: i32 = 83;
769pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
770pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
771pub const NID_private_key_usage_period: i32 = 84;
772pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
773pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
774pub const NID_subject_alt_name: i32 = 85;
775pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
776pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
777pub const NID_issuer_alt_name: i32 = 86;
778pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
779pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
780pub const NID_basic_constraints: i32 = 87;
781pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
782pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
783pub const NID_crl_number: i32 = 88;
784pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
785pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
786pub const NID_certificate_policies: i32 = 89;
787pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
788pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
789pub const NID_authority_key_identifier: i32 = 90;
790pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
791pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
792pub const NID_bf_cbc: i32 = 91;
793pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
794pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
795pub const NID_bf_ecb: i32 = 92;
796pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
797pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
798pub const NID_bf_cfb64: i32 = 93;
799pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
800pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
801pub const NID_bf_ofb64: i32 = 94;
802pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
803pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
804pub const NID_mdc2: i32 = 95;
805pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
806pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
807pub const NID_mdc2WithRSA: i32 = 96;
808pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
809pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
810pub const NID_rc4_40: i32 = 97;
811pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
812pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
813pub const NID_rc2_40_cbc: i32 = 98;
814pub const SN_givenName: &[u8; 3] = b"GN\0";
815pub const LN_givenName: &[u8; 10] = b"givenName\0";
816pub const NID_givenName: i32 = 99;
817pub const SN_surname: &[u8; 3] = b"SN\0";
818pub const LN_surname: &[u8; 8] = b"surname\0";
819pub const NID_surname: i32 = 100;
820pub const SN_initials: &[u8; 9] = b"initials\0";
821pub const LN_initials: &[u8; 9] = b"initials\0";
822pub const NID_initials: i32 = 101;
823pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
824pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
825pub const NID_crl_distribution_points: i32 = 103;
826pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
827pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
828pub const NID_md5WithRSA: i32 = 104;
829pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
830pub const NID_serialNumber: i32 = 105;
831pub const SN_title: &[u8; 6] = b"title\0";
832pub const LN_title: &[u8; 6] = b"title\0";
833pub const NID_title: i32 = 106;
834pub const LN_description: &[u8; 12] = b"description\0";
835pub const NID_description: i32 = 107;
836pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
837pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
838pub const NID_cast5_cbc: i32 = 108;
839pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
840pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
841pub const NID_cast5_ecb: i32 = 109;
842pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
843pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
844pub const NID_cast5_cfb64: i32 = 110;
845pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
846pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
847pub const NID_cast5_ofb64: i32 = 111;
848pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
849pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
850pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
851pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
852pub const NID_dsaWithSHA1: i32 = 113;
853pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
854pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
855pub const NID_md5_sha1: i32 = 114;
856pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
857pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
858pub const NID_sha1WithRSA: i32 = 115;
859pub const SN_dsa: &[u8; 4] = b"DSA\0";
860pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
861pub const NID_dsa: i32 = 116;
862pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
863pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
864pub const NID_ripemd160: i32 = 117;
865pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
866pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
867pub const NID_ripemd160WithRSA: i32 = 119;
868pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
869pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
870pub const NID_rc5_cbc: i32 = 120;
871pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
872pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
873pub const NID_rc5_ecb: i32 = 121;
874pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
875pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
876pub const NID_rc5_cfb64: i32 = 122;
877pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
878pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
879pub const NID_rc5_ofb64: i32 = 123;
880pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
881pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
882pub const NID_zlib_compression: i32 = 125;
883pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
884pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
885pub const NID_ext_key_usage: i32 = 126;
886pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
887pub const NID_id_pkix: i32 = 127;
888pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
889pub const NID_id_kp: i32 = 128;
890pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
891pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
892pub const NID_server_auth: i32 = 129;
893pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
894pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
895pub const NID_client_auth: i32 = 130;
896pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
897pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
898pub const NID_code_sign: i32 = 131;
899pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
900pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
901pub const NID_email_protect: i32 = 132;
902pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
903pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
904pub const NID_time_stamp: i32 = 133;
905pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
906pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
907pub const NID_ms_code_ind: i32 = 134;
908pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
909pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
910pub const NID_ms_code_com: i32 = 135;
911pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
912pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
913pub const NID_ms_ctl_sign: i32 = 136;
914pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
915pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
916pub const NID_ms_sgc: i32 = 137;
917pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
918pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
919pub const NID_ms_efs: i32 = 138;
920pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
921pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
922pub const NID_ns_sgc: i32 = 139;
923pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
924pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
925pub const NID_delta_crl: i32 = 140;
926pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
927pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
928pub const NID_crl_reason: i32 = 141;
929pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
930pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
931pub const NID_invalidity_date: i32 = 142;
932pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
933pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
934pub const NID_sxnet: i32 = 143;
935pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
936pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
937pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
938pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
939pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
940pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
941pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
942pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
943pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
944pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
945pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
946pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
947pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
948pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
949pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
950pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
951pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
952pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
953pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
954pub const NID_keyBag: i32 = 150;
955pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
956pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
957pub const LN_certBag: &[u8; 8] = b"certBag\0";
958pub const NID_certBag: i32 = 152;
959pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
960pub const NID_crlBag: i32 = 153;
961pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
962pub const NID_secretBag: i32 = 154;
963pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
964pub const NID_safeContentsBag: i32 = 155;
965pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
966pub const NID_friendlyName: i32 = 156;
967pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
968pub const NID_localKeyID: i32 = 157;
969pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
970pub const NID_x509Certificate: i32 = 158;
971pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
972pub const NID_sdsiCertificate: i32 = 159;
973pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
974pub const NID_x509Crl: i32 = 160;
975pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
976pub const NID_pbes2: i32 = 161;
977pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
978pub const NID_pbmac1: i32 = 162;
979pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
980pub const NID_hmacWithSHA1: i32 = 163;
981pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
982pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
983pub const NID_id_qt_cps: i32 = 164;
984pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
985pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
986pub const NID_id_qt_unotice: i32 = 165;
987pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
988pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
989pub const NID_rc2_64_cbc: i32 = 166;
990pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
991pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
992pub const NID_SMIMECapabilities: i32 = 167;
993pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
994pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
995pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
996pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
997pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
998pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
999pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1000pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1001pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1002pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1003pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1004pub const NID_ms_ext_req: i32 = 171;
1005pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1006pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1007pub const NID_ext_req: i32 = 172;
1008pub const SN_name: &[u8; 5] = b"name\0";
1009pub const LN_name: &[u8; 5] = b"name\0";
1010pub const NID_name: i32 = 173;
1011pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1012pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1013pub const NID_dnQualifier: i32 = 174;
1014pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1015pub const NID_id_pe: i32 = 175;
1016pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1017pub const NID_id_ad: i32 = 176;
1018pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1019pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1020pub const NID_info_access: i32 = 177;
1021pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1022pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1023pub const NID_ad_OCSP: i32 = 178;
1024pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1025pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1026pub const NID_ad_ca_issuers: i32 = 179;
1027pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1028pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1029pub const NID_OCSP_sign: i32 = 180;
1030pub const SN_iso: &[u8; 4] = b"ISO\0";
1031pub const LN_iso: &[u8; 4] = b"iso\0";
1032pub const NID_iso: i32 = 181;
1033pub const OBJ_iso: i32 = 1;
1034pub const SN_member_body: &[u8; 12] = b"member-body\0";
1035pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1036pub const NID_member_body: i32 = 182;
1037pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1038pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1039pub const NID_ISO_US: i32 = 183;
1040pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1041pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1042pub const NID_X9_57: i32 = 184;
1043pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1044pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1045pub const NID_X9cm: i32 = 185;
1046pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1047pub const NID_pkcs1: i32 = 186;
1048pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1049pub const NID_pkcs5: i32 = 187;
1050pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1051pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1052pub const NID_SMIME: i32 = 188;
1053pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1054pub const NID_id_smime_mod: i32 = 189;
1055pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1056pub const NID_id_smime_ct: i32 = 190;
1057pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1058pub const NID_id_smime_aa: i32 = 191;
1059pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1060pub const NID_id_smime_alg: i32 = 192;
1061pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1062pub const NID_id_smime_cd: i32 = 193;
1063pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1064pub const NID_id_smime_spq: i32 = 194;
1065pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1066pub const NID_id_smime_cti: i32 = 195;
1067pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1068pub const NID_id_smime_mod_cms: i32 = 196;
1069pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1070pub const NID_id_smime_mod_ess: i32 = 197;
1071pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1072pub const NID_id_smime_mod_oid: i32 = 198;
1073pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1074pub const NID_id_smime_mod_msg_v3: i32 = 199;
1075pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1076pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1077pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1078pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1079pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1080pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1081pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1082pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1083pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1084pub const NID_id_smime_ct_receipt: i32 = 204;
1085pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1086pub const NID_id_smime_ct_authData: i32 = 205;
1087pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1088pub const NID_id_smime_ct_publishCert: i32 = 206;
1089pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1090pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1091pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1092pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1093pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1094pub const NID_id_smime_ct_contentInfo: i32 = 209;
1095pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1096pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1097pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1098pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1099pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1100pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1101pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1102pub const NID_id_smime_aa_securityLabel: i32 = 213;
1103pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1104pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1105pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1106pub const NID_id_smime_aa_contentHint: i32 = 215;
1107pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1108pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1109pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1110pub const NID_id_smime_aa_encapContentType: i32 = 217;
1111pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1112pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1113pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1114pub const NID_id_smime_aa_macValue: i32 = 219;
1115pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1116pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1117pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1118pub const NID_id_smime_aa_contentReference: i32 = 221;
1119pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1120pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1121pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1122pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1123pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1124pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1125pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1126pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1127pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1128pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1129pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1130pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1131pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1132pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1133pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1134pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1135pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1136pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1137pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1138pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1139pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1140pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1141pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1142pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1143pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1144pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1145pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1146pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1147pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1148pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1149pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1150pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1151pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1152pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1153pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1154pub const NID_id_smime_aa_signatureType: i32 = 239;
1155pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1156pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1157pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1158pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1159pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1160pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1161pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1162pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1163pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1164pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1165pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1166pub const NID_id_smime_alg_ESDH: i32 = 245;
1167pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1168pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1169pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1170pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1171pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1172pub const NID_id_smime_cd_ldap: i32 = 248;
1173pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1174pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1175pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1176pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1177pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1178pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1179pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1180pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1181pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1182pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1183pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1184pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1185pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1186pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1187pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1188pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1189pub const SN_md4: &[u8; 4] = b"MD4\0";
1190pub const LN_md4: &[u8; 4] = b"md4\0";
1191pub const NID_md4: i32 = 257;
1192pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1193pub const NID_id_pkix_mod: i32 = 258;
1194pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1195pub const NID_id_qt: i32 = 259;
1196pub const SN_id_it: &[u8; 6] = b"id-it\0";
1197pub const NID_id_it: i32 = 260;
1198pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1199pub const NID_id_pkip: i32 = 261;
1200pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1201pub const NID_id_alg: i32 = 262;
1202pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1203pub const NID_id_cmc: i32 = 263;
1204pub const SN_id_on: &[u8; 6] = b"id-on\0";
1205pub const NID_id_on: i32 = 264;
1206pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1207pub const NID_id_pda: i32 = 265;
1208pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1209pub const NID_id_aca: i32 = 266;
1210pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1211pub const NID_id_qcs: i32 = 267;
1212pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1213pub const NID_id_cct: i32 = 268;
1214pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1215pub const NID_id_pkix1_explicit_88: i32 = 269;
1216pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1217pub const NID_id_pkix1_implicit_88: i32 = 270;
1218pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1219pub const NID_id_pkix1_explicit_93: i32 = 271;
1220pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1221pub const NID_id_pkix1_implicit_93: i32 = 272;
1222pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1223pub const NID_id_mod_crmf: i32 = 273;
1224pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1225pub const NID_id_mod_cmc: i32 = 274;
1226pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1227pub const NID_id_mod_kea_profile_88: i32 = 275;
1228pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1229pub const NID_id_mod_kea_profile_93: i32 = 276;
1230pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1231pub const NID_id_mod_cmp: i32 = 277;
1232pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1233pub const NID_id_mod_qualified_cert_88: i32 = 278;
1234pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1235pub const NID_id_mod_qualified_cert_93: i32 = 279;
1236pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1237pub const NID_id_mod_attribute_cert: i32 = 280;
1238pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1239pub const NID_id_mod_timestamp_protocol: i32 = 281;
1240pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1241pub const NID_id_mod_ocsp: i32 = 282;
1242pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1243pub const NID_id_mod_dvcs: i32 = 283;
1244pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1245pub const NID_id_mod_cmp2000: i32 = 284;
1246pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1247pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1248pub const NID_biometricInfo: i32 = 285;
1249pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1250pub const NID_qcStatements: i32 = 286;
1251pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1252pub const NID_ac_auditEntity: i32 = 287;
1253pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1254pub const NID_ac_targeting: i32 = 288;
1255pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1256pub const NID_aaControls: i32 = 289;
1257pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1258pub const NID_sbgp_ipAddrBlock: i32 = 290;
1259pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1260pub const NID_sbgp_autonomousSysNum: i32 = 291;
1261pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1262pub const NID_sbgp_routerIdentifier: i32 = 292;
1263pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1264pub const NID_textNotice: i32 = 293;
1265pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1266pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1267pub const NID_ipsecEndSystem: i32 = 294;
1268pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1269pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1270pub const NID_ipsecTunnel: i32 = 295;
1271pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1272pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1273pub const NID_ipsecUser: i32 = 296;
1274pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1275pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1276pub const NID_dvcs: i32 = 297;
1277pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1278pub const NID_id_it_caProtEncCert: i32 = 298;
1279pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1280pub const NID_id_it_signKeyPairTypes: i32 = 299;
1281pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1282pub const NID_id_it_encKeyPairTypes: i32 = 300;
1283pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1284pub const NID_id_it_preferredSymmAlg: i32 = 301;
1285pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1286pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1287pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1288pub const NID_id_it_currentCRL: i32 = 303;
1289pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1290pub const NID_id_it_unsupportedOIDs: i32 = 304;
1291pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1292pub const NID_id_it_subscriptionRequest: i32 = 305;
1293pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1294pub const NID_id_it_subscriptionResponse: i32 = 306;
1295pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1296pub const NID_id_it_keyPairParamReq: i32 = 307;
1297pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1298pub const NID_id_it_keyPairParamRep: i32 = 308;
1299pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1300pub const NID_id_it_revPassphrase: i32 = 309;
1301pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1302pub const NID_id_it_implicitConfirm: i32 = 310;
1303pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1304pub const NID_id_it_confirmWaitTime: i32 = 311;
1305pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1306pub const NID_id_it_origPKIMessage: i32 = 312;
1307pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1308pub const NID_id_regCtrl: i32 = 313;
1309pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1310pub const NID_id_regInfo: i32 = 314;
1311pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1312pub const NID_id_regCtrl_regToken: i32 = 315;
1313pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1314pub const NID_id_regCtrl_authenticator: i32 = 316;
1315pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1316pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1317pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1318pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1319pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1320pub const NID_id_regCtrl_oldCertID: i32 = 319;
1321pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1322pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1323pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1324pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1325pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1326pub const NID_id_regInfo_certReq: i32 = 322;
1327pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1328pub const NID_id_alg_des40: i32 = 323;
1329pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1330pub const NID_id_alg_noSignature: i32 = 324;
1331pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1332pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1333pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1334pub const NID_id_alg_dh_pop: i32 = 326;
1335pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1336pub const NID_id_cmc_statusInfo: i32 = 327;
1337pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1338pub const NID_id_cmc_identification: i32 = 328;
1339pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1340pub const NID_id_cmc_identityProof: i32 = 329;
1341pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1342pub const NID_id_cmc_dataReturn: i32 = 330;
1343pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1344pub const NID_id_cmc_transactionId: i32 = 331;
1345pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1346pub const NID_id_cmc_senderNonce: i32 = 332;
1347pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1348pub const NID_id_cmc_recipientNonce: i32 = 333;
1349pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1350pub const NID_id_cmc_addExtensions: i32 = 334;
1351pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1352pub const NID_id_cmc_encryptedPOP: i32 = 335;
1353pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1354pub const NID_id_cmc_decryptedPOP: i32 = 336;
1355pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1356pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1357pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1358pub const NID_id_cmc_getCert: i32 = 338;
1359pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1360pub const NID_id_cmc_getCRL: i32 = 339;
1361pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1362pub const NID_id_cmc_revokeRequest: i32 = 340;
1363pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1364pub const NID_id_cmc_regInfo: i32 = 341;
1365pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1366pub const NID_id_cmc_responseInfo: i32 = 342;
1367pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1368pub const NID_id_cmc_queryPending: i32 = 343;
1369pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1370pub const NID_id_cmc_popLinkRandom: i32 = 344;
1371pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1372pub const NID_id_cmc_popLinkWitness: i32 = 345;
1373pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1374pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1375pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1376pub const NID_id_on_personalData: i32 = 347;
1377pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1378pub const NID_id_pda_dateOfBirth: i32 = 348;
1379pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1380pub const NID_id_pda_placeOfBirth: i32 = 349;
1381pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1382pub const NID_id_pda_gender: i32 = 351;
1383pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1384pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1385pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1386pub const NID_id_pda_countryOfResidence: i32 = 353;
1387pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1388pub const NID_id_aca_authenticationInfo: i32 = 354;
1389pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1390pub const NID_id_aca_accessIdentity: i32 = 355;
1391pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1392pub const NID_id_aca_chargingIdentity: i32 = 356;
1393pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1394pub const NID_id_aca_group: i32 = 357;
1395pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1396pub const NID_id_aca_role: i32 = 358;
1397pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1398pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1399pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1400pub const NID_id_cct_crs: i32 = 360;
1401pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1402pub const NID_id_cct_PKIData: i32 = 361;
1403pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1404pub const NID_id_cct_PKIResponse: i32 = 362;
1405pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1406pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1407pub const NID_ad_timeStamping: i32 = 363;
1408pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1409pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1410pub const NID_ad_dvcs: i32 = 364;
1411pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1412pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1413pub const NID_id_pkix_OCSP_basic: i32 = 365;
1414pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1415pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1416pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1417pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1418pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1419pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1420pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1421pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1422pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1423pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1424pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1425pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1426pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1427pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1428pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1429pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1430pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1431pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1432pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1433pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1434pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1435pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1436pub const NID_id_pkix_OCSP_valid: i32 = 373;
1437pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1438pub const NID_id_pkix_OCSP_path: i32 = 374;
1439pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1440pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1441pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1442pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1443pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1444pub const NID_algorithm: i32 = 376;
1445pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1446pub const NID_rsaSignature: i32 = 377;
1447pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1448pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1449pub const NID_X500algorithms: i32 = 378;
1450pub const SN_org: &[u8; 4] = b"ORG\0";
1451pub const LN_org: &[u8; 4] = b"org\0";
1452pub const NID_org: i32 = 379;
1453pub const SN_dod: &[u8; 4] = b"DOD\0";
1454pub const LN_dod: &[u8; 4] = b"dod\0";
1455pub const NID_dod: i32 = 380;
1456pub const SN_iana: &[u8; 5] = b"IANA\0";
1457pub const LN_iana: &[u8; 5] = b"iana\0";
1458pub const NID_iana: i32 = 381;
1459pub const SN_Directory: &[u8; 10] = b"directory\0";
1460pub const LN_Directory: &[u8; 10] = b"Directory\0";
1461pub const NID_Directory: i32 = 382;
1462pub const SN_Management: &[u8; 5] = b"mgmt\0";
1463pub const LN_Management: &[u8; 11] = b"Management\0";
1464pub const NID_Management: i32 = 383;
1465pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1466pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1467pub const NID_Experimental: i32 = 384;
1468pub const SN_Private: &[u8; 8] = b"private\0";
1469pub const LN_Private: &[u8; 8] = b"Private\0";
1470pub const NID_Private: i32 = 385;
1471pub const SN_Security: &[u8; 9] = b"security\0";
1472pub const LN_Security: &[u8; 9] = b"Security\0";
1473pub const NID_Security: i32 = 386;
1474pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1475pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1476pub const NID_SNMPv2: i32 = 387;
1477pub const LN_Mail: &[u8; 5] = b"Mail\0";
1478pub const NID_Mail: i32 = 388;
1479pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1480pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1481pub const NID_Enterprises: i32 = 389;
1482pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1483pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1484pub const NID_dcObject: i32 = 390;
1485pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1486pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1487pub const NID_domainComponent: i32 = 391;
1488pub const SN_Domain: &[u8; 7] = b"domain\0";
1489pub const LN_Domain: &[u8; 7] = b"Domain\0";
1490pub const NID_Domain: i32 = 392;
1491pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1492pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1493pub const NID_selected_attribute_types: i32 = 394;
1494pub const SN_clearance: &[u8; 10] = b"clearance\0";
1495pub const NID_clearance: i32 = 395;
1496pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1497pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1498pub const NID_md4WithRSAEncryption: i32 = 396;
1499pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1500pub const NID_ac_proxying: i32 = 397;
1501pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1502pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1503pub const NID_sinfo_access: i32 = 398;
1504pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1505pub const NID_id_aca_encAttrs: i32 = 399;
1506pub const SN_role: &[u8; 5] = b"role\0";
1507pub const LN_role: &[u8; 5] = b"role\0";
1508pub const NID_role: i32 = 400;
1509pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1510pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1511pub const NID_policy_constraints: i32 = 401;
1512pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1513pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1514pub const NID_target_information: i32 = 402;
1515pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1516pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1517pub const NID_no_rev_avail: i32 = 403;
1518pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1519pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1520pub const NID_ansi_X9_62: i32 = 405;
1521pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1522pub const NID_X9_62_prime_field: i32 = 406;
1523pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1524pub const NID_X9_62_characteristic_two_field: i32 = 407;
1525pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1526pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1527pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1528pub const NID_X9_62_prime192v1: i32 = 409;
1529pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1530pub const NID_X9_62_prime192v2: i32 = 410;
1531pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1532pub const NID_X9_62_prime192v3: i32 = 411;
1533pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1534pub const NID_X9_62_prime239v1: i32 = 412;
1535pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1536pub const NID_X9_62_prime239v2: i32 = 413;
1537pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1538pub const NID_X9_62_prime239v3: i32 = 414;
1539pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1540pub const NID_X9_62_prime256v1: i32 = 415;
1541pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1542pub const NID_ecdsa_with_SHA1: i32 = 416;
1543pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1544pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1545pub const NID_ms_csp_name: i32 = 417;
1546pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1547pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1548pub const NID_aes_128_ecb: i32 = 418;
1549pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1550pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1551pub const NID_aes_128_cbc: i32 = 419;
1552pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1553pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1554pub const NID_aes_128_ofb128: i32 = 420;
1555pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1556pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1557pub const NID_aes_128_cfb128: i32 = 421;
1558pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1559pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1560pub const NID_aes_192_ecb: i32 = 422;
1561pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1562pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1563pub const NID_aes_192_cbc: i32 = 423;
1564pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1565pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1566pub const NID_aes_192_ofb128: i32 = 424;
1567pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1568pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1569pub const NID_aes_192_cfb128: i32 = 425;
1570pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1571pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1572pub const NID_aes_256_ecb: i32 = 426;
1573pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1574pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1575pub const NID_aes_256_cbc: i32 = 427;
1576pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1577pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1578pub const NID_aes_256_ofb128: i32 = 428;
1579pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1580pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1581pub const NID_aes_256_cfb128: i32 = 429;
1582pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1583pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1584pub const NID_hold_instruction_code: i32 = 430;
1585pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1586pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1587pub const NID_hold_instruction_none: i32 = 431;
1588pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1589pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1590pub const NID_hold_instruction_call_issuer: i32 = 432;
1591pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1592pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1593pub const NID_hold_instruction_reject: i32 = 433;
1594pub const SN_data: &[u8; 5] = b"data\0";
1595pub const NID_data: i32 = 434;
1596pub const SN_pss: &[u8; 4] = b"pss\0";
1597pub const NID_pss: i32 = 435;
1598pub const SN_ucl: &[u8; 4] = b"ucl\0";
1599pub const NID_ucl: i32 = 436;
1600pub const SN_pilot: &[u8; 6] = b"pilot\0";
1601pub const NID_pilot: i32 = 437;
1602pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1603pub const NID_pilotAttributeType: i32 = 438;
1604pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
1605pub const NID_pilotAttributeSyntax: i32 = 439;
1606pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
1607pub const NID_pilotObjectClass: i32 = 440;
1608pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
1609pub const NID_pilotGroups: i32 = 441;
1610pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
1611pub const NID_iA5StringSyntax: i32 = 442;
1612pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
1613pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
1614pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
1615pub const NID_pilotObject: i32 = 444;
1616pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
1617pub const NID_pilotPerson: i32 = 445;
1618pub const SN_account: &[u8; 8] = b"account\0";
1619pub const NID_account: i32 = 446;
1620pub const SN_document: &[u8; 9] = b"document\0";
1621pub const NID_document: i32 = 447;
1622pub const SN_room: &[u8; 5] = b"room\0";
1623pub const NID_room: i32 = 448;
1624pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
1625pub const NID_documentSeries: i32 = 449;
1626pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
1627pub const NID_rFC822localPart: i32 = 450;
1628pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
1629pub const NID_dNSDomain: i32 = 451;
1630pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
1631pub const NID_domainRelatedObject: i32 = 452;
1632pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
1633pub const NID_friendlyCountry: i32 = 453;
1634pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
1635pub const NID_simpleSecurityObject: i32 = 454;
1636pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
1637pub const NID_pilotOrganization: i32 = 455;
1638pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
1639pub const NID_pilotDSA: i32 = 456;
1640pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
1641pub const NID_qualityLabelledData: i32 = 457;
1642pub const SN_userId: &[u8; 4] = b"UID\0";
1643pub const LN_userId: &[u8; 7] = b"userId\0";
1644pub const NID_userId: i32 = 458;
1645pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
1646pub const NID_textEncodedORAddress: i32 = 459;
1647pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
1648pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
1649pub const NID_rfc822Mailbox: i32 = 460;
1650pub const SN_info: &[u8; 5] = b"info\0";
1651pub const NID_info: i32 = 461;
1652pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
1653pub const NID_favouriteDrink: i32 = 462;
1654pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
1655pub const NID_roomNumber: i32 = 463;
1656pub const SN_photo: &[u8; 6] = b"photo\0";
1657pub const NID_photo: i32 = 464;
1658pub const LN_userClass: &[u8; 10] = b"userClass\0";
1659pub const NID_userClass: i32 = 465;
1660pub const SN_host: &[u8; 5] = b"host\0";
1661pub const NID_host: i32 = 466;
1662pub const SN_manager: &[u8; 8] = b"manager\0";
1663pub const NID_manager: i32 = 467;
1664pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
1665pub const NID_documentIdentifier: i32 = 468;
1666pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
1667pub const NID_documentTitle: i32 = 469;
1668pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
1669pub const NID_documentVersion: i32 = 470;
1670pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
1671pub const NID_documentAuthor: i32 = 471;
1672pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
1673pub const NID_documentLocation: i32 = 472;
1674pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
1675pub const NID_homeTelephoneNumber: i32 = 473;
1676pub const SN_secretary: &[u8; 10] = b"secretary\0";
1677pub const NID_secretary: i32 = 474;
1678pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
1679pub const NID_otherMailbox: i32 = 475;
1680pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
1681pub const NID_lastModifiedTime: i32 = 476;
1682pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
1683pub const NID_lastModifiedBy: i32 = 477;
1684pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
1685pub const NID_aRecord: i32 = 478;
1686pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
1687pub const NID_pilotAttributeType27: i32 = 479;
1688pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
1689pub const NID_mXRecord: i32 = 480;
1690pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
1691pub const NID_nSRecord: i32 = 481;
1692pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
1693pub const NID_sOARecord: i32 = 482;
1694pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
1695pub const NID_cNAMERecord: i32 = 483;
1696pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
1697pub const NID_associatedDomain: i32 = 484;
1698pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
1699pub const NID_associatedName: i32 = 485;
1700pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
1701pub const NID_homePostalAddress: i32 = 486;
1702pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
1703pub const NID_personalTitle: i32 = 487;
1704pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
1705pub const NID_mobileTelephoneNumber: i32 = 488;
1706pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
1707pub const NID_pagerTelephoneNumber: i32 = 489;
1708pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
1709pub const NID_friendlyCountryName: i32 = 490;
1710pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
1711pub const NID_organizationalStatus: i32 = 491;
1712pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
1713pub const NID_janetMailbox: i32 = 492;
1714pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
1715pub const NID_mailPreferenceOption: i32 = 493;
1716pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
1717pub const NID_buildingName: i32 = 494;
1718pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
1719pub const NID_dSAQuality: i32 = 495;
1720pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
1721pub const NID_singleLevelQuality: i32 = 496;
1722pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
1723pub const NID_subtreeMinimumQuality: i32 = 497;
1724pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
1725pub const NID_subtreeMaximumQuality: i32 = 498;
1726pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
1727pub const NID_personalSignature: i32 = 499;
1728pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
1729pub const NID_dITRedirect: i32 = 500;
1730pub const SN_audio: &[u8; 6] = b"audio\0";
1731pub const NID_audio: i32 = 501;
1732pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
1733pub const NID_documentPublisher: i32 = 502;
1734pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
1735pub const NID_x500UniqueIdentifier: i32 = 503;
1736pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
1737pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
1738pub const NID_mime_mhs: i32 = 504;
1739pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1740pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1741pub const NID_mime_mhs_headings: i32 = 505;
1742pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1743pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1744pub const NID_mime_mhs_bodies: i32 = 506;
1745pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1746pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1747pub const NID_id_hex_partial_message: i32 = 507;
1748pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1749pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1750pub const NID_id_hex_multipart_message: i32 = 508;
1751pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
1752pub const NID_generationQualifier: i32 = 509;
1753pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
1754pub const NID_pseudonym: i32 = 510;
1755pub const SN_id_set: &[u8; 7] = b"id-set\0";
1756pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
1757pub const NID_id_set: i32 = 512;
1758pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
1759pub const LN_set_ctype: &[u8; 14] = b"content types\0";
1760pub const NID_set_ctype: i32 = 513;
1761pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
1762pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
1763pub const NID_set_msgExt: i32 = 514;
1764pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
1765pub const NID_set_attr: i32 = 515;
1766pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
1767pub const NID_set_policy: i32 = 516;
1768pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
1769pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
1770pub const NID_set_certExt: i32 = 517;
1771pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
1772pub const NID_set_brand: i32 = 518;
1773pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
1774pub const NID_setct_PANData: i32 = 519;
1775pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
1776pub const NID_setct_PANToken: i32 = 520;
1777pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
1778pub const NID_setct_PANOnly: i32 = 521;
1779pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
1780pub const NID_setct_OIData: i32 = 522;
1781pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
1782pub const NID_setct_PI: i32 = 523;
1783pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
1784pub const NID_setct_PIData: i32 = 524;
1785pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
1786pub const NID_setct_PIDataUnsigned: i32 = 525;
1787pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
1788pub const NID_setct_HODInput: i32 = 526;
1789pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
1790pub const NID_setct_AuthResBaggage: i32 = 527;
1791pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
1792pub const NID_setct_AuthRevReqBaggage: i32 = 528;
1793pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
1794pub const NID_setct_AuthRevResBaggage: i32 = 529;
1795pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
1796pub const NID_setct_CapTokenSeq: i32 = 530;
1797pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
1798pub const NID_setct_PInitResData: i32 = 531;
1799pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
1800pub const NID_setct_PI_TBS: i32 = 532;
1801pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
1802pub const NID_setct_PResData: i32 = 533;
1803pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
1804pub const NID_setct_AuthReqTBS: i32 = 534;
1805pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
1806pub const NID_setct_AuthResTBS: i32 = 535;
1807pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
1808pub const NID_setct_AuthResTBSX: i32 = 536;
1809pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
1810pub const NID_setct_AuthTokenTBS: i32 = 537;
1811pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
1812pub const NID_setct_CapTokenData: i32 = 538;
1813pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
1814pub const NID_setct_CapTokenTBS: i32 = 539;
1815pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
1816pub const NID_setct_AcqCardCodeMsg: i32 = 540;
1817pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
1818pub const NID_setct_AuthRevReqTBS: i32 = 541;
1819pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
1820pub const NID_setct_AuthRevResData: i32 = 542;
1821pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
1822pub const NID_setct_AuthRevResTBS: i32 = 543;
1823pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
1824pub const NID_setct_CapReqTBS: i32 = 544;
1825pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
1826pub const NID_setct_CapReqTBSX: i32 = 545;
1827pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
1828pub const NID_setct_CapResData: i32 = 546;
1829pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
1830pub const NID_setct_CapRevReqTBS: i32 = 547;
1831pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
1832pub const NID_setct_CapRevReqTBSX: i32 = 548;
1833pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
1834pub const NID_setct_CapRevResData: i32 = 549;
1835pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
1836pub const NID_setct_CredReqTBS: i32 = 550;
1837pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
1838pub const NID_setct_CredReqTBSX: i32 = 551;
1839pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
1840pub const NID_setct_CredResData: i32 = 552;
1841pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
1842pub const NID_setct_CredRevReqTBS: i32 = 553;
1843pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
1844pub const NID_setct_CredRevReqTBSX: i32 = 554;
1845pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
1846pub const NID_setct_CredRevResData: i32 = 555;
1847pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
1848pub const NID_setct_PCertReqData: i32 = 556;
1849pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
1850pub const NID_setct_PCertResTBS: i32 = 557;
1851pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
1852pub const NID_setct_BatchAdminReqData: i32 = 558;
1853pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
1854pub const NID_setct_BatchAdminResData: i32 = 559;
1855pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
1856pub const NID_setct_CardCInitResTBS: i32 = 560;
1857pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
1858pub const NID_setct_MeAqCInitResTBS: i32 = 561;
1859pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
1860pub const NID_setct_RegFormResTBS: i32 = 562;
1861pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
1862pub const NID_setct_CertReqData: i32 = 563;
1863pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
1864pub const NID_setct_CertReqTBS: i32 = 564;
1865pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
1866pub const NID_setct_CertResData: i32 = 565;
1867pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
1868pub const NID_setct_CertInqReqTBS: i32 = 566;
1869pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
1870pub const NID_setct_ErrorTBS: i32 = 567;
1871pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
1872pub const NID_setct_PIDualSignedTBE: i32 = 568;
1873pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
1874pub const NID_setct_PIUnsignedTBE: i32 = 569;
1875pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
1876pub const NID_setct_AuthReqTBE: i32 = 570;
1877pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
1878pub const NID_setct_AuthResTBE: i32 = 571;
1879pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
1880pub const NID_setct_AuthResTBEX: i32 = 572;
1881pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
1882pub const NID_setct_AuthTokenTBE: i32 = 573;
1883pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
1884pub const NID_setct_CapTokenTBE: i32 = 574;
1885pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
1886pub const NID_setct_CapTokenTBEX: i32 = 575;
1887pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
1888pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
1889pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
1890pub const NID_setct_AuthRevReqTBE: i32 = 577;
1891pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
1892pub const NID_setct_AuthRevResTBE: i32 = 578;
1893pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
1894pub const NID_setct_AuthRevResTBEB: i32 = 579;
1895pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
1896pub const NID_setct_CapReqTBE: i32 = 580;
1897pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
1898pub const NID_setct_CapReqTBEX: i32 = 581;
1899pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
1900pub const NID_setct_CapResTBE: i32 = 582;
1901pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
1902pub const NID_setct_CapRevReqTBE: i32 = 583;
1903pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
1904pub const NID_setct_CapRevReqTBEX: i32 = 584;
1905pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
1906pub const NID_setct_CapRevResTBE: i32 = 585;
1907pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
1908pub const NID_setct_CredReqTBE: i32 = 586;
1909pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
1910pub const NID_setct_CredReqTBEX: i32 = 587;
1911pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
1912pub const NID_setct_CredResTBE: i32 = 588;
1913pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
1914pub const NID_setct_CredRevReqTBE: i32 = 589;
1915pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
1916pub const NID_setct_CredRevReqTBEX: i32 = 590;
1917pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
1918pub const NID_setct_CredRevResTBE: i32 = 591;
1919pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
1920pub const NID_setct_BatchAdminReqTBE: i32 = 592;
1921pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
1922pub const NID_setct_BatchAdminResTBE: i32 = 593;
1923pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
1924pub const NID_setct_RegFormReqTBE: i32 = 594;
1925pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
1926pub const NID_setct_CertReqTBE: i32 = 595;
1927pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
1928pub const NID_setct_CertReqTBEX: i32 = 596;
1929pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
1930pub const NID_setct_CertResTBE: i32 = 597;
1931pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
1932pub const NID_setct_CRLNotificationTBS: i32 = 598;
1933pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
1934pub const NID_setct_CRLNotificationResTBS: i32 = 599;
1935pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
1936pub const NID_setct_BCIDistributionTBS: i32 = 600;
1937pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
1938pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
1939pub const NID_setext_genCrypt: i32 = 601;
1940pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
1941pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
1942pub const NID_setext_miAuth: i32 = 602;
1943pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
1944pub const NID_setext_pinSecure: i32 = 603;
1945pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
1946pub const NID_setext_pinAny: i32 = 604;
1947pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
1948pub const NID_setext_track2: i32 = 605;
1949pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
1950pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
1951pub const NID_setext_cv: i32 = 606;
1952pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
1953pub const NID_set_policy_root: i32 = 607;
1954pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
1955pub const NID_setCext_hashedRoot: i32 = 608;
1956pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
1957pub const NID_setCext_certType: i32 = 609;
1958pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
1959pub const NID_setCext_merchData: i32 = 610;
1960pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
1961pub const NID_setCext_cCertRequired: i32 = 611;
1962pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
1963pub const NID_setCext_tunneling: i32 = 612;
1964pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
1965pub const NID_setCext_setExt: i32 = 613;
1966pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
1967pub const NID_setCext_setQualf: i32 = 614;
1968pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
1969pub const NID_setCext_PGWYcapabilities: i32 = 615;
1970pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
1971pub const NID_setCext_TokenIdentifier: i32 = 616;
1972pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
1973pub const NID_setCext_Track2Data: i32 = 617;
1974pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
1975pub const NID_setCext_TokenType: i32 = 618;
1976pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
1977pub const NID_setCext_IssuerCapabilities: i32 = 619;
1978pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
1979pub const NID_setAttr_Cert: i32 = 620;
1980pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
1981pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
1982pub const NID_setAttr_PGWYcap: i32 = 621;
1983pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
1984pub const NID_setAttr_TokenType: i32 = 622;
1985pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
1986pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
1987pub const NID_setAttr_IssCap: i32 = 623;
1988pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
1989pub const NID_set_rootKeyThumb: i32 = 624;
1990pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
1991pub const NID_set_addPolicy: i32 = 625;
1992pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
1993pub const NID_setAttr_Token_EMV: i32 = 626;
1994pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
1995pub const NID_setAttr_Token_B0Prime: i32 = 627;
1996pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
1997pub const NID_setAttr_IssCap_CVM: i32 = 628;
1998pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
1999pub const NID_setAttr_IssCap_T2: i32 = 629;
2000pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2001pub const NID_setAttr_IssCap_Sig: i32 = 630;
2002pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2003pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2004pub const NID_setAttr_GenCryptgrm: i32 = 631;
2005pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2006pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2007pub const NID_setAttr_T2Enc: i32 = 632;
2008pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2009pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2010pub const NID_setAttr_T2cleartxt: i32 = 633;
2011pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2012pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2013pub const NID_setAttr_TokICCsig: i32 = 634;
2014pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2015pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2016pub const NID_setAttr_SecDevSig: i32 = 635;
2017pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2018pub const NID_set_brand_IATA_ATA: i32 = 636;
2019pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2020pub const NID_set_brand_Diners: i32 = 637;
2021pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2022pub const NID_set_brand_AmericanExpress: i32 = 638;
2023pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2024pub const NID_set_brand_JCB: i32 = 639;
2025pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2026pub const NID_set_brand_Visa: i32 = 640;
2027pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2028pub const NID_set_brand_MasterCard: i32 = 641;
2029pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2030pub const NID_set_brand_Novus: i32 = 642;
2031pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2032pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2033pub const NID_des_cdmf: i32 = 643;
2034pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2035pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2036pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2037pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2038pub const NID_itu_t: i32 = 645;
2039pub const OBJ_itu_t: i32 = 0;
2040pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2041pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2042pub const NID_joint_iso_itu_t: i32 = 646;
2043pub const OBJ_joint_iso_itu_t: i32 = 2;
2044pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2045pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2046pub const NID_international_organizations: i32 = 647;
2047pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2048pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2049pub const NID_ms_smartcard_login: i32 = 648;
2050pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2051pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2052pub const NID_ms_upn: i32 = 649;
2053pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2054pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2055pub const NID_aes_128_cfb1: i32 = 650;
2056pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2057pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2058pub const NID_aes_192_cfb1: i32 = 651;
2059pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2060pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2061pub const NID_aes_256_cfb1: i32 = 652;
2062pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2063pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2064pub const NID_aes_128_cfb8: i32 = 653;
2065pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2066pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2067pub const NID_aes_192_cfb8: i32 = 654;
2068pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2069pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2070pub const NID_aes_256_cfb8: i32 = 655;
2071pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2072pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2073pub const NID_des_cfb1: i32 = 656;
2074pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2075pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2076pub const NID_des_cfb8: i32 = 657;
2077pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2078pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2079pub const NID_des_ede3_cfb1: i32 = 658;
2080pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2081pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2082pub const NID_des_ede3_cfb8: i32 = 659;
2083pub const SN_streetAddress: &[u8; 7] = b"street\0";
2084pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2085pub const NID_streetAddress: i32 = 660;
2086pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2087pub const NID_postalCode: i32 = 661;
2088pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2089pub const NID_id_ppl: i32 = 662;
2090pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2091pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2092pub const NID_proxyCertInfo: i32 = 663;
2093pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2094pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2095pub const NID_id_ppl_anyLanguage: i32 = 664;
2096pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2097pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2098pub const NID_id_ppl_inheritAll: i32 = 665;
2099pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2100pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2101pub const NID_name_constraints: i32 = 666;
2102pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2103pub const LN_Independent: &[u8; 12] = b"Independent\0";
2104pub const NID_Independent: i32 = 667;
2105pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2106pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2107pub const NID_sha256WithRSAEncryption: i32 = 668;
2108pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2109pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2110pub const NID_sha384WithRSAEncryption: i32 = 669;
2111pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2112pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2113pub const NID_sha512WithRSAEncryption: i32 = 670;
2114pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2115pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2116pub const NID_sha224WithRSAEncryption: i32 = 671;
2117pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2118pub const LN_sha256: &[u8; 7] = b"sha256\0";
2119pub const NID_sha256: i32 = 672;
2120pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2121pub const LN_sha384: &[u8; 7] = b"sha384\0";
2122pub const NID_sha384: i32 = 673;
2123pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2124pub const LN_sha512: &[u8; 7] = b"sha512\0";
2125pub const NID_sha512: i32 = 674;
2126pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2127pub const LN_sha224: &[u8; 7] = b"sha224\0";
2128pub const NID_sha224: i32 = 675;
2129pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2130pub const NID_identified_organization: i32 = 676;
2131pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2132pub const NID_certicom_arc: i32 = 677;
2133pub const SN_wap: &[u8; 4] = b"wap\0";
2134pub const NID_wap: i32 = 678;
2135pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2136pub const NID_wap_wsg: i32 = 679;
2137pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2138pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2139pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2140pub const NID_X9_62_onBasis: i32 = 681;
2141pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2142pub const NID_X9_62_tpBasis: i32 = 682;
2143pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2144pub const NID_X9_62_ppBasis: i32 = 683;
2145pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2146pub const NID_X9_62_c2pnb163v1: i32 = 684;
2147pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2148pub const NID_X9_62_c2pnb163v2: i32 = 685;
2149pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2150pub const NID_X9_62_c2pnb163v3: i32 = 686;
2151pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2152pub const NID_X9_62_c2pnb176v1: i32 = 687;
2153pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2154pub const NID_X9_62_c2tnb191v1: i32 = 688;
2155pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2156pub const NID_X9_62_c2tnb191v2: i32 = 689;
2157pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2158pub const NID_X9_62_c2tnb191v3: i32 = 690;
2159pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2160pub const NID_X9_62_c2onb191v4: i32 = 691;
2161pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2162pub const NID_X9_62_c2onb191v5: i32 = 692;
2163pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2164pub const NID_X9_62_c2pnb208w1: i32 = 693;
2165pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2166pub const NID_X9_62_c2tnb239v1: i32 = 694;
2167pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2168pub const NID_X9_62_c2tnb239v2: i32 = 695;
2169pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2170pub const NID_X9_62_c2tnb239v3: i32 = 696;
2171pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2172pub const NID_X9_62_c2onb239v4: i32 = 697;
2173pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2174pub const NID_X9_62_c2onb239v5: i32 = 698;
2175pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2176pub const NID_X9_62_c2pnb272w1: i32 = 699;
2177pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2178pub const NID_X9_62_c2pnb304w1: i32 = 700;
2179pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2180pub const NID_X9_62_c2tnb359v1: i32 = 701;
2181pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2182pub const NID_X9_62_c2pnb368w1: i32 = 702;
2183pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2184pub const NID_X9_62_c2tnb431r1: i32 = 703;
2185pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2186pub const NID_secp112r1: i32 = 704;
2187pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2188pub const NID_secp112r2: i32 = 705;
2189pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2190pub const NID_secp128r1: i32 = 706;
2191pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2192pub const NID_secp128r2: i32 = 707;
2193pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2194pub const NID_secp160k1: i32 = 708;
2195pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2196pub const NID_secp160r1: i32 = 709;
2197pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2198pub const NID_secp160r2: i32 = 710;
2199pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2200pub const NID_secp192k1: i32 = 711;
2201pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2202pub const NID_secp224k1: i32 = 712;
2203pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2204pub const NID_secp224r1: i32 = 713;
2205pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2206pub const NID_secp256k1: i32 = 714;
2207pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2208pub const NID_secp384r1: i32 = 715;
2209pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2210pub const NID_secp521r1: i32 = 716;
2211pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2212pub const NID_sect113r1: i32 = 717;
2213pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2214pub const NID_sect113r2: i32 = 718;
2215pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2216pub const NID_sect131r1: i32 = 719;
2217pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2218pub const NID_sect131r2: i32 = 720;
2219pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2220pub const NID_sect163k1: i32 = 721;
2221pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2222pub const NID_sect163r1: i32 = 722;
2223pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2224pub const NID_sect163r2: i32 = 723;
2225pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2226pub const NID_sect193r1: i32 = 724;
2227pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2228pub const NID_sect193r2: i32 = 725;
2229pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2230pub const NID_sect233k1: i32 = 726;
2231pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2232pub const NID_sect233r1: i32 = 727;
2233pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2234pub const NID_sect239k1: i32 = 728;
2235pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2236pub const NID_sect283k1: i32 = 729;
2237pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2238pub const NID_sect283r1: i32 = 730;
2239pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2240pub const NID_sect409k1: i32 = 731;
2241pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2242pub const NID_sect409r1: i32 = 732;
2243pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2244pub const NID_sect571k1: i32 = 733;
2245pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2246pub const NID_sect571r1: i32 = 734;
2247pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2248pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2249pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2250pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2251pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2252pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2253pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2254pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2255pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2256pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2257pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2258pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2259pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2260pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2261pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2262pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2263pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2264pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2265pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2266pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2267pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2268pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2269pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2270pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2271pub const NID_any_policy: i32 = 746;
2272pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2273pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2274pub const NID_policy_mappings: i32 = 747;
2275pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2276pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2277pub const NID_inhibit_any_policy: i32 = 748;
2278pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2279pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2280pub const NID_ipsec3: i32 = 749;
2281pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2282pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2283pub const NID_ipsec4: i32 = 750;
2284pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2285pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2286pub const NID_camellia_128_cbc: i32 = 751;
2287pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2288pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2289pub const NID_camellia_192_cbc: i32 = 752;
2290pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2291pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2292pub const NID_camellia_256_cbc: i32 = 753;
2293pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2294pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2295pub const NID_camellia_128_ecb: i32 = 754;
2296pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2297pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2298pub const NID_camellia_192_ecb: i32 = 755;
2299pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2300pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2301pub const NID_camellia_256_ecb: i32 = 756;
2302pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2303pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2304pub const NID_camellia_128_cfb128: i32 = 757;
2305pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2306pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2307pub const NID_camellia_192_cfb128: i32 = 758;
2308pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2309pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2310pub const NID_camellia_256_cfb128: i32 = 759;
2311pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2312pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2313pub const NID_camellia_128_cfb1: i32 = 760;
2314pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2315pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2316pub const NID_camellia_192_cfb1: i32 = 761;
2317pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2318pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2319pub const NID_camellia_256_cfb1: i32 = 762;
2320pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2321pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2322pub const NID_camellia_128_cfb8: i32 = 763;
2323pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2324pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2325pub const NID_camellia_192_cfb8: i32 = 764;
2326pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2327pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2328pub const NID_camellia_256_cfb8: i32 = 765;
2329pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2330pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2331pub const NID_camellia_128_ofb128: i32 = 766;
2332pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2333pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2334pub const NID_camellia_192_ofb128: i32 = 767;
2335pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2336pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2337pub const NID_camellia_256_ofb128: i32 = 768;
2338pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2339pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2340pub const NID_subject_directory_attributes: i32 = 769;
2341pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2342pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2343pub const NID_issuing_distribution_point: i32 = 770;
2344pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2345pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2346pub const NID_certificate_issuer: i32 = 771;
2347pub const SN_kisa: &[u8; 5] = b"KISA\0";
2348pub const LN_kisa: &[u8; 5] = b"kisa\0";
2349pub const NID_kisa: i32 = 773;
2350pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2351pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2352pub const NID_seed_ecb: i32 = 776;
2353pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2354pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2355pub const NID_seed_cbc: i32 = 777;
2356pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2357pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2358pub const NID_seed_ofb128: i32 = 778;
2359pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2360pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2361pub const NID_seed_cfb128: i32 = 779;
2362pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2363pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2364pub const NID_hmac_md5: i32 = 780;
2365pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2366pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2367pub const NID_hmac_sha1: i32 = 781;
2368pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2369pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2370pub const NID_id_PasswordBasedMAC: i32 = 782;
2371pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2372pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2373pub const NID_id_DHBasedMac: i32 = 783;
2374pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2375pub const NID_id_it_suppLangTags: i32 = 784;
2376pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2377pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2378pub const NID_caRepository: i32 = 785;
2379pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2380pub const NID_id_smime_ct_compressedData: i32 = 786;
2381pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2382pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2383pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2384pub const NID_id_aes128_wrap: i32 = 788;
2385pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2386pub const NID_id_aes192_wrap: i32 = 789;
2387pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2388pub const NID_id_aes256_wrap: i32 = 790;
2389pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2390pub const NID_ecdsa_with_Recommended: i32 = 791;
2391pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2392pub const NID_ecdsa_with_Specified: i32 = 792;
2393pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2394pub const NID_ecdsa_with_SHA224: i32 = 793;
2395pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2396pub const NID_ecdsa_with_SHA256: i32 = 794;
2397pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2398pub const NID_ecdsa_with_SHA384: i32 = 795;
2399pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2400pub const NID_ecdsa_with_SHA512: i32 = 796;
2401pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2402pub const NID_hmacWithMD5: i32 = 797;
2403pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2404pub const NID_hmacWithSHA224: i32 = 798;
2405pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2406pub const NID_hmacWithSHA256: i32 = 799;
2407pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2408pub const NID_hmacWithSHA384: i32 = 800;
2409pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2410pub const NID_hmacWithSHA512: i32 = 801;
2411pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2412pub const NID_dsa_with_SHA224: i32 = 802;
2413pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2414pub const NID_dsa_with_SHA256: i32 = 803;
2415pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2416pub const NID_whirlpool: i32 = 804;
2417pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2418pub const NID_cryptopro: i32 = 805;
2419pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2420pub const NID_cryptocom: i32 = 806;
2421pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2422    b"id-GostR3411-94-with-GostR3410-2001\0";
2423pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2424    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2425pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2426pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2427pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2428    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2429pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2430pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2431pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2432pub const NID_id_GostR3411_94: i32 = 809;
2433pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2434pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2435pub const NID_id_HMACGostR3411_94: i32 = 810;
2436pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2437pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2438pub const NID_id_GostR3410_2001: i32 = 811;
2439pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2440pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2441pub const NID_id_GostR3410_94: i32 = 812;
2442pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2443pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2444pub const NID_id_Gost28147_89: i32 = 813;
2445pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2446pub const NID_gost89_cnt: i32 = 814;
2447pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2448pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2449pub const NID_id_Gost28147_89_MAC: i32 = 815;
2450pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2451pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2452pub const NID_id_GostR3411_94_prf: i32 = 816;
2453pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2454pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2455pub const NID_id_GostR3410_2001DH: i32 = 817;
2456pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2457pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2458pub const NID_id_GostR3410_94DH: i32 = 818;
2459pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2460    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2461pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2462pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2463pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2464pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2465pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2466pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2467pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2468pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2469pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2470pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2471    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2472pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2473pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2474    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2475pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2476pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2477    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2478pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2479pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2480    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2481pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2482pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2483    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2484pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2485pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2486    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2487pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2488pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2489    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2490pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2491pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2492pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2493pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2494    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2495pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2496pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2497    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2498pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2499pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2500    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2501pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2502pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2503    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2504pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2505pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2506    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2507pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2508pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2509    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2510pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2511pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2512    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2513pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2514pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2515pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2516pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2517    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2518pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2519pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2520    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2521pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2522pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2523    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2524pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2525pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2526    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2527pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2528pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2529    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2530pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2531pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2532pub const NID_id_GostR3410_94_a: i32 = 845;
2533pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2534pub const NID_id_GostR3410_94_aBis: i32 = 846;
2535pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2536pub const NID_id_GostR3410_94_b: i32 = 847;
2537pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2538pub const NID_id_GostR3410_94_bBis: i32 = 848;
2539pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2540pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2541pub const NID_id_Gost28147_89_cc: i32 = 849;
2542pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2543pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2544pub const NID_id_GostR3410_94_cc: i32 = 850;
2545pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2546pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2547pub const NID_id_GostR3410_2001_cc: i32 = 851;
2548pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2549    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2550pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2551    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2552pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2553pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2554    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2555pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2556    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2557pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2558pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2559pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2560    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2561pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2562pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2563pub const LN_hmac: &[u8; 5] = b"hmac\0";
2564pub const NID_hmac: i32 = 855;
2565pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2566pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2567pub const NID_LocalKeySet: i32 = 856;
2568pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2569pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2570pub const NID_freshest_crl: i32 = 857;
2571pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2572pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2573pub const NID_id_on_permanentIdentifier: i32 = 858;
2574pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2575pub const NID_searchGuide: i32 = 859;
2576pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2577pub const NID_businessCategory: i32 = 860;
2578pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2579pub const NID_postalAddress: i32 = 861;
2580pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2581pub const NID_postOfficeBox: i32 = 862;
2582pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2583pub const NID_physicalDeliveryOfficeName: i32 = 863;
2584pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2585pub const NID_telephoneNumber: i32 = 864;
2586pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2587pub const NID_telexNumber: i32 = 865;
2588pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2589pub const NID_teletexTerminalIdentifier: i32 = 866;
2590pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2591pub const NID_facsimileTelephoneNumber: i32 = 867;
2592pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2593pub const NID_x121Address: i32 = 868;
2594pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2595pub const NID_internationaliSDNNumber: i32 = 869;
2596pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2597pub const NID_registeredAddress: i32 = 870;
2598pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2599pub const NID_destinationIndicator: i32 = 871;
2600pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2601pub const NID_preferredDeliveryMethod: i32 = 872;
2602pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2603pub const NID_presentationAddress: i32 = 873;
2604pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
2605pub const NID_supportedApplicationContext: i32 = 874;
2606pub const SN_member: &[u8; 7] = b"member\0";
2607pub const NID_member: i32 = 875;
2608pub const SN_owner: &[u8; 6] = b"owner\0";
2609pub const NID_owner: i32 = 876;
2610pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
2611pub const NID_roleOccupant: i32 = 877;
2612pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
2613pub const NID_seeAlso: i32 = 878;
2614pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
2615pub const NID_userPassword: i32 = 879;
2616pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
2617pub const NID_userCertificate: i32 = 880;
2618pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
2619pub const NID_cACertificate: i32 = 881;
2620pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
2621pub const NID_authorityRevocationList: i32 = 882;
2622pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
2623pub const NID_certificateRevocationList: i32 = 883;
2624pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
2625pub const NID_crossCertificatePair: i32 = 884;
2626pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
2627pub const NID_enhancedSearchGuide: i32 = 885;
2628pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
2629pub const NID_protocolInformation: i32 = 886;
2630pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
2631pub const NID_distinguishedName: i32 = 887;
2632pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
2633pub const NID_uniqueMember: i32 = 888;
2634pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
2635pub const NID_houseIdentifier: i32 = 889;
2636pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
2637pub const NID_supportedAlgorithms: i32 = 890;
2638pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
2639pub const NID_deltaRevocationList: i32 = 891;
2640pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
2641pub const NID_dmdName: i32 = 892;
2642pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
2643pub const NID_id_alg_PWRI_KEK: i32 = 893;
2644pub const SN_cmac: &[u8; 5] = b"CMAC\0";
2645pub const LN_cmac: &[u8; 5] = b"cmac\0";
2646pub const NID_cmac: i32 = 894;
2647pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
2648pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
2649pub const NID_aes_128_gcm: i32 = 895;
2650pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
2651pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
2652pub const NID_aes_128_ccm: i32 = 896;
2653pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
2654pub const NID_id_aes128_wrap_pad: i32 = 897;
2655pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
2656pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
2657pub const NID_aes_192_gcm: i32 = 898;
2658pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
2659pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
2660pub const NID_aes_192_ccm: i32 = 899;
2661pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
2662pub const NID_id_aes192_wrap_pad: i32 = 900;
2663pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
2664pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
2665pub const NID_aes_256_gcm: i32 = 901;
2666pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
2667pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
2668pub const NID_aes_256_ccm: i32 = 902;
2669pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
2670pub const NID_id_aes256_wrap_pad: i32 = 903;
2671pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
2672pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
2673pub const NID_aes_128_ctr: i32 = 904;
2674pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
2675pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
2676pub const NID_aes_192_ctr: i32 = 905;
2677pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
2678pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
2679pub const NID_aes_256_ctr: i32 = 906;
2680pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
2681pub const NID_id_camellia128_wrap: i32 = 907;
2682pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
2683pub const NID_id_camellia192_wrap: i32 = 908;
2684pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
2685pub const NID_id_camellia256_wrap: i32 = 909;
2686pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
2687pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
2688pub const NID_anyExtendedKeyUsage: i32 = 910;
2689pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
2690pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
2691pub const NID_mgf1: i32 = 911;
2692pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
2693pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
2694pub const NID_rsassaPss: i32 = 912;
2695pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
2696pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
2697pub const NID_aes_128_xts: i32 = 913;
2698pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
2699pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
2700pub const NID_aes_256_xts: i32 = 914;
2701pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
2702pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
2703pub const NID_rc4_hmac_md5: i32 = 915;
2704pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
2705pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
2706pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
2707pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
2708pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
2709pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
2710pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
2711pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
2712pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
2713pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
2714pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
2715pub const NID_rsaesOaep: i32 = 919;
2716pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
2717pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
2718pub const NID_dhpublicnumber: i32 = 920;
2719pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
2720pub const NID_brainpoolP160r1: i32 = 921;
2721pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
2722pub const NID_brainpoolP160t1: i32 = 922;
2723pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
2724pub const NID_brainpoolP192r1: i32 = 923;
2725pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
2726pub const NID_brainpoolP192t1: i32 = 924;
2727pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
2728pub const NID_brainpoolP224r1: i32 = 925;
2729pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
2730pub const NID_brainpoolP224t1: i32 = 926;
2731pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
2732pub const NID_brainpoolP256r1: i32 = 927;
2733pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
2734pub const NID_brainpoolP256t1: i32 = 928;
2735pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
2736pub const NID_brainpoolP320r1: i32 = 929;
2737pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
2738pub const NID_brainpoolP320t1: i32 = 930;
2739pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
2740pub const NID_brainpoolP384r1: i32 = 931;
2741pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
2742pub const NID_brainpoolP384t1: i32 = 932;
2743pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
2744pub const NID_brainpoolP512r1: i32 = 933;
2745pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
2746pub const NID_brainpoolP512t1: i32 = 934;
2747pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
2748pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
2749pub const NID_pSpecified: i32 = 935;
2750pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
2751pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
2752pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
2753    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
2754pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
2755pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
2756    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
2757pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
2758pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
2759    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
2760pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
2761pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
2762    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
2763pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
2764pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
2765    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
2766pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
2767pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
2768    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
2769pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
2770pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
2771    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
2772pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
2773pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
2774    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
2775pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
2776pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
2777    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
2778pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
2779pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
2780pub const NID_dh_std_kdf: i32 = 946;
2781pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
2782pub const NID_dh_cofactor_kdf: i32 = 947;
2783pub const SN_X25519: &[u8; 7] = b"X25519\0";
2784pub const NID_X25519: i32 = 948;
2785pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
2786pub const NID_ED25519: i32 = 949;
2787pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
2788pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
2789pub const NID_chacha20_poly1305: i32 = 950;
2790pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
2791pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
2792pub const NID_kx_rsa: i32 = 951;
2793pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
2794pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
2795pub const NID_kx_ecdhe: i32 = 952;
2796pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
2797pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
2798pub const NID_kx_psk: i32 = 953;
2799pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
2800pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
2801pub const NID_auth_rsa: i32 = 954;
2802pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
2803pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
2804pub const NID_auth_ecdsa: i32 = 955;
2805pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
2806pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
2807pub const NID_auth_psk: i32 = 956;
2808pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
2809pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
2810pub const NID_kx_any: i32 = 957;
2811pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
2812pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
2813pub const NID_auth_any: i32 = 958;
2814pub const SN_ED448: &[u8; 6] = b"ED448\0";
2815pub const NID_ED448: i32 = 960;
2816pub const SN_X448: &[u8; 5] = b"X448\0";
2817pub const NID_X448: i32 = 961;
2818pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
2819pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
2820pub const NID_sha512_256: i32 = 962;
2821pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
2822pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
2823pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
2824pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
2825pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
2826pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
2827pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
2828pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
2829pub const NID_sha3_224: i32 = 965;
2830pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
2831pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
2832pub const NID_sha3_256: i32 = 966;
2833pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
2834pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
2835pub const NID_sha3_384: i32 = 967;
2836pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
2837pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
2838pub const NID_sha3_512: i32 = 968;
2839pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
2840pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
2841pub const NID_hkdf: i32 = 969;
2842pub const SN_kem: &[u8; 4] = b"KEM\0";
2843pub const LN_kem: &[u8; 4] = b"kem\0";
2844pub const NID_kem: i32 = 970;
2845pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
2846pub const NID_ffdhe2048: i32 = 976;
2847pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
2848pub const NID_ffdhe4096: i32 = 977;
2849pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
2850pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
2851pub const NID_sha512_224: i32 = 978;
2852pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
2853pub const LN_shake128: &[u8; 9] = b"shake128\0";
2854pub const NID_shake128: i32 = 979;
2855pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
2856pub const LN_shake256: &[u8; 9] = b"shake256\0";
2857pub const NID_shake256: i32 = 980;
2858pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
2859pub const NID_ffdhe3072: i32 = 983;
2860pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
2861pub const NID_ffdhe8192: i32 = 984;
2862pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
2863pub const NID_MLKEM512IPD: i32 = 985;
2864pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
2865pub const NID_MLKEM768IPD: i32 = 986;
2866pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
2867pub const NID_MLKEM1024IPD: i32 = 987;
2868pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
2869pub const NID_MLKEM512: i32 = 988;
2870pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
2871pub const NID_MLKEM768: i32 = 989;
2872pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
2873pub const NID_MLKEM1024: i32 = 990;
2874pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
2875pub const NID_X25519MLKEM768: i32 = 991;
2876pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
2877pub const NID_SecP256r1MLKEM768: i32 = 992;
2878pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
2879pub const NID_PQDSA: i32 = 993;
2880pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
2881pub const NID_MLDSA44: i32 = 994;
2882pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
2883pub const NID_MLDSA65: i32 = 995;
2884pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
2885pub const NID_MLDSA87: i32 = 996;
2886pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
2887pub const NID_ED25519ph: i32 = 997;
2888pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
2889pub const NID_SecP384r1MLKEM1024: i32 = 998;
2890pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
2891pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
2892pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
2893pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
2894pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
2895pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
2896pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
2897pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
2898pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
2899pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
2900pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
2901pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
2902pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
2903pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
2904pub const HMAC_R_UNSUPPORTED_DIGEST: i32 = 106;
2905pub const EVP_PKEY_NONE: i32 = 0;
2906pub const EVP_PKEY_RSA: i32 = 6;
2907pub const EVP_PKEY_RSA_PSS: i32 = 912;
2908pub const EVP_PKEY_EC: i32 = 408;
2909pub const EVP_PKEY_ED25519: i32 = 949;
2910pub const EVP_PKEY_ED25519PH: i32 = 997;
2911pub const EVP_PKEY_X25519: i32 = 948;
2912pub const EVP_PKEY_HKDF: i32 = 969;
2913pub const EVP_PKEY_HMAC: i32 = 855;
2914pub const EVP_PKEY_DH: i32 = 28;
2915pub const EVP_PKEY_PQDSA: i32 = 993;
2916pub const EVP_PKEY_KEM: i32 = 970;
2917pub const PKCS5_SALT_LEN: i32 = 8;
2918pub const EVP_PKEY_RSA2: i32 = 19;
2919pub const EVP_PKEY_X448: i32 = 961;
2920pub const EVP_PKEY_ED448: i32 = 960;
2921pub const EVP_PKEY_DSA: i32 = 116;
2922pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
2923pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
2924pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
2925pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
2926pub const HKDF_R_UNSUPPORTED_DIGEST: i32 = 101;
2927pub const RSA_PKCS1_PADDING: i32 = 1;
2928pub const RSA_NO_PADDING: i32 = 3;
2929pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
2930pub const RSA_X931_PADDING: i32 = 5;
2931pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
2932pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
2933pub const RSA_FLAG_OPAQUE: i32 = 1;
2934pub const RSA_FLAG_NO_BLINDING: i32 = 8;
2935pub const RSA_FLAG_EXT_PKEY: i32 = 32;
2936pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
2937pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
2938pub const RSA_3: i32 = 3;
2939pub const RSA_F4: i32 = 65537;
2940pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
2941pub const RSA_R_BAD_ENCODING: i32 = 100;
2942pub const RSA_R_BAD_E_VALUE: i32 = 101;
2943pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
2944pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
2945pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
2946pub const RSA_R_BAD_SIGNATURE: i32 = 105;
2947pub const RSA_R_BAD_VERSION: i32 = 106;
2948pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
2949pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
2950pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
2951pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
2952pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
2953pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
2954pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
2955pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
2956pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
2957pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
2958pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
2959pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
2960pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
2961pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
2962pub const RSA_R_ENCODE_ERROR: i32 = 121;
2963pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
2964pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
2965pub const RSA_R_INTERNAL_ERROR: i32 = 124;
2966pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
2967pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
2968pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
2969pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
2970pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
2971pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
2972pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
2973pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
2974pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
2975pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
2976pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
2977pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
2978pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
2979pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
2980pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
2981pub const RSA_R_TOO_LONG: i32 = 140;
2982pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
2983pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
2984pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
2985pub const RSA_R_VALUE_MISSING: i32 = 144;
2986pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
2987pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
2988pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
2989pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
2990pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
2991pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
2992pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
2993pub type __off_t = ::std::os::raw::c_long;
2994pub type __off64_t = ::std::os::raw::c_long;
2995#[repr(C)]
2996#[repr(align(4))]
2997#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
2998pub struct static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
2999    pub _bitfield_align_1: [u8; 0],
3000    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3001    pub __bindgen_padding_0: [u8; 3usize],
3002}
3003#[test]
3004fn bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3005) {
3006    assert_eq!(
3007        ::std::mem::size_of::<
3008            static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit,
3009        >(),
3010        4usize,
3011        "Size of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit"
3012    );
3013    assert_eq ! (:: std :: mem :: align_of :: < static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit > () , 4usize , "Alignment of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit");
3014}
3015impl static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3016    #[inline]
3017    pub fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3018        &self,
3019    ) -> ::std::os::raw::c_uint {
3020        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3021    }
3022    #[inline]
3023    pub fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3024        &mut self,
3025        val: ::std::os::raw::c_uint,
3026    ) {
3027        unsafe {
3028            let val: u32 = ::std::mem::transmute(val);
3029            self._bitfield_1.set(0usize, 1u8, val as u64)
3030        }
3031    }
3032    #[inline]
3033    pub unsafe fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3034        this: *const Self,
3035    ) -> ::std::os::raw::c_uint {
3036        unsafe {
3037            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3038                ::std::ptr::addr_of!((*this)._bitfield_1),
3039                0usize,
3040                1u8,
3041            ) as u32)
3042        }
3043    }
3044    #[inline]
3045    pub unsafe fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3046        this: *mut Self,
3047        val: ::std::os::raw::c_uint,
3048    ) {
3049        unsafe {
3050            let val: u32 = ::std::mem::transmute(val);
3051            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3052                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3053                0usize,
3054                1u8,
3055                val as u64,
3056            )
3057        }
3058    }
3059    #[inline]
3060    pub fn new_bitfield_1(
3061        static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
3062    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3063        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3064        __bindgen_bitfield_unit . set (0usize , 1u8 , { let static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : u32 = unsafe { :: std :: mem :: transmute (static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit) } ; static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit as u64 }) ;
3065        __bindgen_bitfield_unit
3066    }
3067}
3068pub type ossl_ssize_t = isize;
3069pub type CBS_ASN1_TAG = u32;
3070pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3071#[repr(C)]
3072#[derive(Debug, Copy, Clone)]
3073pub struct asn1_null_st {
3074    _unused: [u8; 0],
3075}
3076pub type ASN1_NULL = asn1_null_st;
3077pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3078pub type ASN1_ITEM = ASN1_ITEM_st;
3079#[repr(C)]
3080#[derive(Debug, Copy, Clone)]
3081pub struct asn1_object_st {
3082    _unused: [u8; 0],
3083}
3084pub type ASN1_OBJECT = asn1_object_st;
3085#[repr(C)]
3086#[derive(Debug, Copy, Clone)]
3087pub struct asn1_pctx_st {
3088    _unused: [u8; 0],
3089}
3090pub type ASN1_PCTX = asn1_pctx_st;
3091pub type ASN1_BIT_STRING = asn1_string_st;
3092pub type ASN1_BMPSTRING = asn1_string_st;
3093pub type ASN1_ENUMERATED = asn1_string_st;
3094pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3095pub type ASN1_GENERALSTRING = asn1_string_st;
3096pub type ASN1_IA5STRING = asn1_string_st;
3097pub type ASN1_INTEGER = asn1_string_st;
3098pub type ASN1_OCTET_STRING = asn1_string_st;
3099pub type ASN1_PRINTABLESTRING = asn1_string_st;
3100pub type ASN1_STRING = asn1_string_st;
3101pub type ASN1_T61STRING = asn1_string_st;
3102pub type ASN1_TIME = asn1_string_st;
3103pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3104pub type ASN1_UTCTIME = asn1_string_st;
3105pub type ASN1_UTF8STRING = asn1_string_st;
3106pub type ASN1_VISIBLESTRING = asn1_string_st;
3107pub type ASN1_TYPE = asn1_type_st;
3108pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3109pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3110pub type DIST_POINT = DIST_POINT_st;
3111pub type DSA_SIG = DSA_SIG_st;
3112pub type GENERAL_NAME = GENERAL_NAME_st;
3113pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3114pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3115pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3116pub type NETSCAPE_SPKI = Netscape_spki_st;
3117pub type RIPEMD160_CTX = RIPEMD160state_st;
3118#[repr(C)]
3119#[derive(Debug, Copy, Clone)]
3120pub struct X509_VERIFY_PARAM_st {
3121    _unused: [u8; 0],
3122}
3123pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3124pub type X509_ALGOR = X509_algor_st;
3125#[repr(C)]
3126#[derive(Debug, Copy, Clone)]
3127pub struct X509_crl_st {
3128    _unused: [u8; 0],
3129}
3130pub type X509_CRL = X509_crl_st;
3131#[repr(C)]
3132#[derive(Debug, Copy, Clone)]
3133pub struct X509_extension_st {
3134    _unused: [u8; 0],
3135}
3136pub type X509_EXTENSION = X509_extension_st;
3137pub type X509_INFO = X509_info_st;
3138#[repr(C)]
3139#[derive(Debug, Copy, Clone)]
3140pub struct X509_name_entry_st {
3141    _unused: [u8; 0],
3142}
3143pub type X509_NAME_ENTRY = X509_name_entry_st;
3144#[repr(C)]
3145#[derive(Debug, Copy, Clone)]
3146pub struct X509_name_st {
3147    _unused: [u8; 0],
3148}
3149pub type X509_NAME = X509_name_st;
3150#[repr(C)]
3151#[derive(Debug, Copy, Clone)]
3152pub struct X509_pubkey_st {
3153    _unused: [u8; 0],
3154}
3155pub type X509_PUBKEY = X509_pubkey_st;
3156#[repr(C)]
3157#[derive(Debug, Copy, Clone)]
3158pub struct X509_req_st {
3159    _unused: [u8; 0],
3160}
3161pub type X509_REQ = X509_req_st;
3162#[repr(C)]
3163#[derive(Debug, Copy, Clone)]
3164pub struct x509_sig_info_st {
3165    _unused: [u8; 0],
3166}
3167pub type X509_SIG_INFO = x509_sig_info_st;
3168#[repr(C)]
3169#[derive(Debug, Copy, Clone)]
3170pub struct X509_sig_st {
3171    _unused: [u8; 0],
3172}
3173pub type X509_SIG = X509_sig_st;
3174#[repr(C)]
3175#[derive(Debug, Copy, Clone)]
3176pub struct bignum_ctx {
3177    _unused: [u8; 0],
3178}
3179pub type BN_CTX = bignum_ctx;
3180pub type BIGNUM = bignum_st;
3181pub type BIO_METHOD = bio_method_st;
3182pub type BIO = bio_st;
3183pub type BLAKE2B_CTX = blake2b_state_st;
3184pub type BN_GENCB = bn_gencb_st;
3185pub type BN_MONT_CTX = bn_mont_ctx_st;
3186pub type BUF_MEM = buf_mem_st;
3187#[repr(C)]
3188#[derive(Debug, Copy, Clone)]
3189pub struct cast_key_st {
3190    _unused: [u8; 0],
3191}
3192pub type CAST_KEY = cast_key_st;
3193pub type CBB = cbb_st;
3194pub type CBS = cbs_st;
3195#[repr(C)]
3196#[derive(Debug, Copy, Clone)]
3197pub struct cmac_ctx_st {
3198    _unused: [u8; 0],
3199}
3200pub type CMAC_CTX = cmac_ctx_st;
3201pub type CONF = conf_st;
3202pub type CONF_VALUE = conf_value_st;
3203#[repr(C)]
3204#[derive(Debug, Copy, Clone)]
3205pub struct crypto_buffer_pool_st {
3206    _unused: [u8; 0],
3207}
3208pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3209#[repr(C)]
3210#[derive(Debug, Copy, Clone)]
3211pub struct crypto_buffer_st {
3212    _unused: [u8; 0],
3213}
3214pub type CRYPTO_BUFFER = crypto_buffer_st;
3215#[repr(C)]
3216#[derive(Debug, Copy, Clone)]
3217pub struct ctr_drbg_state_st {
3218    _unused: [u8; 0],
3219}
3220pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3221#[repr(C)]
3222#[derive(Debug, Copy, Clone)]
3223pub struct dh_st {
3224    _unused: [u8; 0],
3225}
3226pub type DH = dh_st;
3227#[repr(C)]
3228#[derive(Debug, Copy, Clone)]
3229pub struct dsa_st {
3230    _unused: [u8; 0],
3231}
3232pub type DSA = dsa_st;
3233#[repr(C)]
3234#[derive(Debug, Copy, Clone)]
3235pub struct ec_group_st {
3236    _unused: [u8; 0],
3237}
3238pub type EC_GROUP = ec_group_st;
3239#[repr(C)]
3240#[derive(Debug, Copy, Clone)]
3241pub struct ec_key_st {
3242    _unused: [u8; 0],
3243}
3244pub type EC_KEY = ec_key_st;
3245#[repr(C)]
3246#[derive(Debug, Copy, Clone)]
3247pub struct ec_point_st {
3248    _unused: [u8; 0],
3249}
3250pub type EC_POINT = ec_point_st;
3251#[repr(C)]
3252#[derive(Debug, Copy, Clone)]
3253pub struct ec_key_method_st {
3254    _unused: [u8; 0],
3255}
3256pub type EC_KEY_METHOD = ec_key_method_st;
3257pub type ECDSA_SIG = ecdsa_sig_st;
3258#[repr(C)]
3259#[derive(Debug, Copy, Clone)]
3260pub struct engine_st {
3261    _unused: [u8; 0],
3262}
3263pub type ENGINE = engine_st;
3264pub type EVP_MD_CTX = env_md_ctx_st;
3265#[repr(C)]
3266#[derive(Debug, Copy, Clone)]
3267pub struct env_md_st {
3268    _unused: [u8; 0],
3269}
3270pub type EVP_MD = env_md_st;
3271#[repr(C)]
3272#[derive(Debug, Copy, Clone)]
3273pub struct evp_aead_st {
3274    _unused: [u8; 0],
3275}
3276pub type EVP_AEAD = evp_aead_st;
3277pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3278pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3279#[repr(C)]
3280#[derive(Debug, Copy, Clone)]
3281pub struct evp_cipher_st {
3282    _unused: [u8; 0],
3283}
3284pub type EVP_CIPHER = evp_cipher_st;
3285#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
3286pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3287#[repr(C)]
3288#[derive(Debug, Copy, Clone)]
3289pub struct evp_hpke_aead_st {
3290    _unused: [u8; 0],
3291}
3292pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3293pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3294#[repr(C)]
3295#[derive(Debug, Copy, Clone)]
3296pub struct evp_hpke_kdf_st {
3297    _unused: [u8; 0],
3298}
3299pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3300#[repr(C)]
3301#[derive(Debug, Copy, Clone)]
3302pub struct evp_hpke_kem_st {
3303    _unused: [u8; 0],
3304}
3305pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3306pub type EVP_HPKE_KEY = evp_hpke_key_st;
3307#[repr(C)]
3308#[derive(Debug, Copy, Clone)]
3309pub struct evp_kem_st {
3310    _unused: [u8; 0],
3311}
3312pub type EVP_KEM = evp_kem_st;
3313#[repr(C)]
3314#[derive(Debug, Copy, Clone)]
3315pub struct kem_key_st {
3316    _unused: [u8; 0],
3317}
3318pub type KEM_KEY = kem_key_st;
3319#[repr(C)]
3320#[derive(Debug, Copy, Clone)]
3321pub struct evp_pkey_ctx_st {
3322    _unused: [u8; 0],
3323}
3324pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3325#[repr(C)]
3326#[derive(Debug, Copy, Clone)]
3327pub struct evp_pkey_asn1_method_st {
3328    _unused: [u8; 0],
3329}
3330pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3331#[repr(C)]
3332#[derive(Debug, Copy, Clone)]
3333pub struct evp_pkey_st {
3334    _unused: [u8; 0],
3335}
3336pub type EVP_PKEY = evp_pkey_st;
3337#[repr(C)]
3338#[derive(Debug, Copy, Clone)]
3339pub struct evp_pkey_ctx_signature_context_params_st {
3340    _unused: [u8; 0],
3341}
3342pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3343pub type HMAC_CTX = hmac_ctx_st;
3344pub type MD4_CTX = md4_state_st;
3345pub type MD5_CTX = md5_state_st;
3346#[repr(C)]
3347#[derive(Debug, Copy, Clone)]
3348pub struct pqdsa_key_st {
3349    _unused: [u8; 0],
3350}
3351pub type PQDSA_KEY = pqdsa_key_st;
3352#[repr(C)]
3353#[derive(Debug, Copy, Clone)]
3354pub struct ocsp_req_ctx_st {
3355    _unused: [u8; 0],
3356}
3357pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3358#[repr(C)]
3359#[derive(Debug, Copy, Clone)]
3360pub struct ossl_init_settings_st {
3361    _unused: [u8; 0],
3362}
3363pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3364#[repr(C)]
3365#[derive(Debug, Copy, Clone)]
3366pub struct pkcs7_digest_st {
3367    _unused: [u8; 0],
3368}
3369pub type PKCS7_DIGEST = pkcs7_digest_st;
3370#[repr(C)]
3371#[derive(Debug, Copy, Clone)]
3372pub struct pkcs7_enc_content_st {
3373    _unused: [u8; 0],
3374}
3375pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3376#[repr(C)]
3377#[derive(Debug, Copy, Clone)]
3378pub struct pkcs7_encrypt_st {
3379    _unused: [u8; 0],
3380}
3381pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3382pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3383pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3384pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3385pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3386pub type PKCS7_SIGNED = pkcs7_signed_st;
3387pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3388pub type PKCS7 = pkcs7_st;
3389#[repr(C)]
3390#[derive(Debug, Copy, Clone)]
3391pub struct pkcs12_st {
3392    _unused: [u8; 0],
3393}
3394pub type PKCS12 = pkcs12_st;
3395#[repr(C)]
3396#[derive(Debug, Copy, Clone)]
3397pub struct pkcs8_priv_key_info_st {
3398    _unused: [u8; 0],
3399}
3400pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3401pub type X509_PKEY = private_key_st;
3402pub type RAND_METHOD = rand_meth_st;
3403pub type RC4_KEY = rc4_key_st;
3404#[repr(C)]
3405#[derive(Debug, Copy, Clone)]
3406pub struct rsa_meth_st {
3407    _unused: [u8; 0],
3408}
3409pub type RSA_METHOD = rsa_meth_st;
3410#[repr(C)]
3411#[derive(Debug, Copy, Clone)]
3412pub struct rsassa_pss_params_st {
3413    _unused: [u8; 0],
3414}
3415pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3416pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3417#[repr(C)]
3418#[derive(Debug, Copy, Clone)]
3419pub struct rsa_st {
3420    _unused: [u8; 0],
3421}
3422pub type RSA = rsa_st;
3423pub type SHA256_CTX = sha256_state_st;
3424pub type SHA512_CTX = sha512_state_st;
3425pub type SHA_CTX = sha_state_st;
3426#[repr(C)]
3427#[derive(Debug, Copy, Clone)]
3428pub struct spake2_ctx_st {
3429    _unused: [u8; 0],
3430}
3431pub type SPAKE2_CTX = spake2_ctx_st;
3432#[repr(C)]
3433#[derive(Debug, Copy, Clone)]
3434pub struct srtp_protection_profile_st {
3435    _unused: [u8; 0],
3436}
3437pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3438#[repr(C)]
3439#[derive(Debug, Copy, Clone)]
3440pub struct ssl_cipher_st {
3441    _unused: [u8; 0],
3442}
3443pub type SSL_CIPHER = ssl_cipher_st;
3444#[repr(C)]
3445#[derive(Debug, Copy, Clone)]
3446pub struct ssl_ctx_st {
3447    _unused: [u8; 0],
3448}
3449pub type SSL_CTX = ssl_ctx_st;
3450#[repr(C)]
3451#[derive(Debug, Copy, Clone)]
3452pub struct ssl_early_callback_ctx {
3453    _unused: [u8; 0],
3454}
3455pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3456#[repr(C)]
3457#[derive(Debug, Copy, Clone)]
3458pub struct ssl_ech_keys_st {
3459    _unused: [u8; 0],
3460}
3461pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3462#[repr(C)]
3463#[derive(Debug, Copy, Clone)]
3464pub struct ssl_method_st {
3465    _unused: [u8; 0],
3466}
3467pub type SSL_METHOD = ssl_method_st;
3468#[repr(C)]
3469#[derive(Debug, Copy, Clone)]
3470pub struct ssl_private_key_method_st {
3471    _unused: [u8; 0],
3472}
3473pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3474#[repr(C)]
3475#[derive(Debug, Copy, Clone)]
3476pub struct ssl_quic_method_st {
3477    _unused: [u8; 0],
3478}
3479pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3480#[repr(C)]
3481#[derive(Debug, Copy, Clone)]
3482pub struct ssl_session_st {
3483    _unused: [u8; 0],
3484}
3485pub type SSL_SESSION = ssl_session_st;
3486#[repr(C)]
3487#[derive(Debug, Copy, Clone)]
3488pub struct ssl_st {
3489    _unused: [u8; 0],
3490}
3491pub type SSL = ssl_st;
3492#[repr(C)]
3493#[derive(Debug, Copy, Clone)]
3494pub struct ssl_ticket_aead_method_st {
3495    _unused: [u8; 0],
3496}
3497pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3498#[repr(C)]
3499#[derive(Debug, Copy, Clone)]
3500pub struct st_ERR_FNS {
3501    _unused: [u8; 0],
3502}
3503pub type ERR_FNS = st_ERR_FNS;
3504pub type TRUST_TOKEN = trust_token_st;
3505#[repr(C)]
3506#[derive(Debug, Copy, Clone)]
3507pub struct trust_token_client_st {
3508    _unused: [u8; 0],
3509}
3510pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3511#[repr(C)]
3512#[derive(Debug, Copy, Clone)]
3513pub struct trust_token_issuer_st {
3514    _unused: [u8; 0],
3515}
3516pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3517#[repr(C)]
3518#[derive(Debug, Copy, Clone)]
3519pub struct trust_token_method_st {
3520    _unused: [u8; 0],
3521}
3522pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3523pub type X509V3_CTX = v3_ext_ctx;
3524pub type X509V3_EXT_METHOD = v3_ext_method;
3525#[repr(C)]
3526#[derive(Debug, Copy, Clone)]
3527pub struct x509_attributes_st {
3528    _unused: [u8; 0],
3529}
3530pub type X509_ATTRIBUTE = x509_attributes_st;
3531#[repr(C)]
3532#[derive(Debug, Copy, Clone)]
3533pub struct x509_lookup_st {
3534    _unused: [u8; 0],
3535}
3536pub type X509_LOOKUP = x509_lookup_st;
3537#[repr(C)]
3538#[derive(Debug, Copy, Clone)]
3539pub struct x509_lookup_method_st {
3540    _unused: [u8; 0],
3541}
3542pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3543#[repr(C)]
3544#[derive(Debug, Copy, Clone)]
3545pub struct x509_object_st {
3546    _unused: [u8; 0],
3547}
3548pub type X509_OBJECT = x509_object_st;
3549#[repr(C)]
3550#[derive(Debug, Copy, Clone)]
3551pub struct x509_revoked_st {
3552    _unused: [u8; 0],
3553}
3554pub type X509_REVOKED = x509_revoked_st;
3555#[repr(C)]
3556#[derive(Debug, Copy, Clone)]
3557pub struct x509_st {
3558    _unused: [u8; 0],
3559}
3560pub type X509 = x509_st;
3561#[repr(C)]
3562#[derive(Debug, Copy, Clone)]
3563pub struct x509_store_ctx_st {
3564    _unused: [u8; 0],
3565}
3566pub type X509_STORE_CTX = x509_store_ctx_st;
3567#[repr(C)]
3568#[derive(Debug, Copy, Clone)]
3569pub struct x509_store_st {
3570    _unused: [u8; 0],
3571}
3572pub type X509_STORE = x509_store_st;
3573pub type X509_TRUST = x509_trust_st;
3574pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3575#[repr(C)]
3576#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3577pub struct aes_key_st {
3578    pub rd_key: [u32; 60usize],
3579    pub rounds: ::std::os::raw::c_uint,
3580}
3581#[test]
3582fn bindgen_test_layout_aes_key_st() {
3583    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3584    let ptr = UNINIT.as_ptr();
3585    assert_eq!(
3586        ::std::mem::size_of::<aes_key_st>(),
3587        244usize,
3588        "Size of aes_key_st"
3589    );
3590    assert_eq!(
3591        ::std::mem::align_of::<aes_key_st>(),
3592        4usize,
3593        "Alignment of aes_key_st"
3594    );
3595    assert_eq!(
3596        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3597        0usize,
3598        "Offset of field: aes_key_st::rd_key"
3599    );
3600    assert_eq!(
3601        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3602        240usize,
3603        "Offset of field: aes_key_st::rounds"
3604    );
3605}
3606impl Default for aes_key_st {
3607    fn default() -> Self {
3608        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3609        unsafe {
3610            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3611            s.assume_init()
3612        }
3613    }
3614}
3615pub type AES_KEY = aes_key_st;
3616extern "C" {
3617    #[link_name = "\u{1}aws_lc_0_43_0_AES_set_encrypt_key"]
3618    pub fn AES_set_encrypt_key(
3619        key: *const u8,
3620        bits: ::std::os::raw::c_uint,
3621        aeskey: *mut AES_KEY,
3622    ) -> ::std::os::raw::c_int;
3623}
3624extern "C" {
3625    #[link_name = "\u{1}aws_lc_0_43_0_AES_set_decrypt_key"]
3626    pub fn AES_set_decrypt_key(
3627        key: *const u8,
3628        bits: ::std::os::raw::c_uint,
3629        aeskey: *mut AES_KEY,
3630    ) -> ::std::os::raw::c_int;
3631}
3632extern "C" {
3633    #[link_name = "\u{1}aws_lc_0_43_0_AES_encrypt"]
3634    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3635}
3636extern "C" {
3637    #[link_name = "\u{1}aws_lc_0_43_0_AES_decrypt"]
3638    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3639}
3640extern "C" {
3641    #[link_name = "\u{1}aws_lc_0_43_0_AES_ctr128_encrypt"]
3642    pub fn AES_ctr128_encrypt(
3643        in_: *const u8,
3644        out: *mut u8,
3645        len: usize,
3646        key: *const AES_KEY,
3647        ivec: *mut u8,
3648        ecount_buf: *mut u8,
3649        num: *mut ::std::os::raw::c_uint,
3650    );
3651}
3652extern "C" {
3653    #[link_name = "\u{1}aws_lc_0_43_0_AES_ecb_encrypt"]
3654    pub fn AES_ecb_encrypt(
3655        in_: *const u8,
3656        out: *mut u8,
3657        key: *const AES_KEY,
3658        enc: ::std::os::raw::c_int,
3659    );
3660}
3661extern "C" {
3662    #[link_name = "\u{1}aws_lc_0_43_0_AES_cbc_encrypt"]
3663    pub fn AES_cbc_encrypt(
3664        in_: *const u8,
3665        out: *mut u8,
3666        len: usize,
3667        key: *const AES_KEY,
3668        ivec: *mut u8,
3669        enc: ::std::os::raw::c_int,
3670    );
3671}
3672extern "C" {
3673    #[link_name = "\u{1}aws_lc_0_43_0_AES_ofb128_encrypt"]
3674    pub fn AES_ofb128_encrypt(
3675        in_: *const u8,
3676        out: *mut u8,
3677        len: usize,
3678        key: *const AES_KEY,
3679        ivec: *mut u8,
3680        num: *mut ::std::os::raw::c_int,
3681    );
3682}
3683extern "C" {
3684    #[link_name = "\u{1}aws_lc_0_43_0_AES_cfb1_encrypt"]
3685    pub fn AES_cfb1_encrypt(
3686        in_: *const u8,
3687        out: *mut u8,
3688        bits: usize,
3689        key: *const AES_KEY,
3690        ivec: *mut u8,
3691        num: *mut ::std::os::raw::c_int,
3692        enc: ::std::os::raw::c_int,
3693    );
3694}
3695extern "C" {
3696    #[link_name = "\u{1}aws_lc_0_43_0_AES_cfb8_encrypt"]
3697    pub fn AES_cfb8_encrypt(
3698        in_: *const u8,
3699        out: *mut u8,
3700        len: usize,
3701        key: *const AES_KEY,
3702        ivec: *mut u8,
3703        num: *mut ::std::os::raw::c_int,
3704        enc: ::std::os::raw::c_int,
3705    );
3706}
3707extern "C" {
3708    #[link_name = "\u{1}aws_lc_0_43_0_AES_cfb128_encrypt"]
3709    pub fn AES_cfb128_encrypt(
3710        in_: *const u8,
3711        out: *mut u8,
3712        len: usize,
3713        key: *const AES_KEY,
3714        ivec: *mut u8,
3715        num: *mut ::std::os::raw::c_int,
3716        enc: ::std::os::raw::c_int,
3717    );
3718}
3719extern "C" {
3720    #[link_name = "\u{1}aws_lc_0_43_0_AES_wrap_key"]
3721    pub fn AES_wrap_key(
3722        key: *const AES_KEY,
3723        iv: *const u8,
3724        out: *mut u8,
3725        in_: *const u8,
3726        in_len: usize,
3727    ) -> ::std::os::raw::c_int;
3728}
3729extern "C" {
3730    #[link_name = "\u{1}aws_lc_0_43_0_AES_unwrap_key"]
3731    pub fn AES_unwrap_key(
3732        key: *const AES_KEY,
3733        iv: *const u8,
3734        out: *mut u8,
3735        in_: *const u8,
3736        in_len: usize,
3737    ) -> ::std::os::raw::c_int;
3738}
3739extern "C" {
3740    #[link_name = "\u{1}aws_lc_0_43_0_AES_wrap_key_padded"]
3741    pub fn AES_wrap_key_padded(
3742        key: *const AES_KEY,
3743        out: *mut u8,
3744        out_len: *mut usize,
3745        max_out: usize,
3746        in_: *const u8,
3747        in_len: usize,
3748    ) -> ::std::os::raw::c_int;
3749}
3750extern "C" {
3751    #[link_name = "\u{1}aws_lc_0_43_0_AES_unwrap_key_padded"]
3752    pub fn AES_unwrap_key_padded(
3753        key: *const AES_KEY,
3754        out: *mut u8,
3755        out_len: *mut usize,
3756        max_out: usize,
3757        in_: *const u8,
3758        in_len: usize,
3759    ) -> ::std::os::raw::c_int;
3760}
3761pub type __gnuc_va_list = __builtin_va_list;
3762#[repr(C)]
3763#[derive(Debug, Copy, Clone)]
3764pub struct _IO_marker {
3765    _unused: [u8; 0],
3766}
3767#[repr(C)]
3768#[derive(Debug, Copy, Clone)]
3769pub struct _IO_codecvt {
3770    _unused: [u8; 0],
3771}
3772#[repr(C)]
3773#[derive(Debug, Copy, Clone)]
3774pub struct _IO_wide_data {
3775    _unused: [u8; 0],
3776}
3777pub type _IO_lock_t = ::std::os::raw::c_void;
3778#[repr(C)]
3779#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3780pub struct _IO_FILE {
3781    pub _flags: ::std::os::raw::c_int,
3782    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3783    pub _IO_read_end: *mut ::std::os::raw::c_char,
3784    pub _IO_read_base: *mut ::std::os::raw::c_char,
3785    pub _IO_write_base: *mut ::std::os::raw::c_char,
3786    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3787    pub _IO_write_end: *mut ::std::os::raw::c_char,
3788    pub _IO_buf_base: *mut ::std::os::raw::c_char,
3789    pub _IO_buf_end: *mut ::std::os::raw::c_char,
3790    pub _IO_save_base: *mut ::std::os::raw::c_char,
3791    pub _IO_backup_base: *mut ::std::os::raw::c_char,
3792    pub _IO_save_end: *mut ::std::os::raw::c_char,
3793    pub _markers: *mut _IO_marker,
3794    pub _chain: *mut _IO_FILE,
3795    pub _fileno: ::std::os::raw::c_int,
3796    pub _flags2: ::std::os::raw::c_int,
3797    pub _old_offset: __off_t,
3798    pub _cur_column: ::std::os::raw::c_ushort,
3799    pub _vtable_offset: ::std::os::raw::c_schar,
3800    pub _shortbuf: [::std::os::raw::c_char; 1usize],
3801    pub _lock: *mut _IO_lock_t,
3802    pub _offset: __off64_t,
3803    pub _codecvt: *mut _IO_codecvt,
3804    pub _wide_data: *mut _IO_wide_data,
3805    pub _freeres_list: *mut _IO_FILE,
3806    pub _freeres_buf: *mut ::std::os::raw::c_void,
3807    pub __pad5: usize,
3808    pub _mode: ::std::os::raw::c_int,
3809    pub _unused2: [::std::os::raw::c_char; 20usize],
3810}
3811#[test]
3812fn bindgen_test_layout__IO_FILE() {
3813    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
3814    let ptr = UNINIT.as_ptr();
3815    assert_eq!(
3816        ::std::mem::size_of::<_IO_FILE>(),
3817        216usize,
3818        "Size of _IO_FILE"
3819    );
3820    assert_eq!(
3821        ::std::mem::align_of::<_IO_FILE>(),
3822        8usize,
3823        "Alignment of _IO_FILE"
3824    );
3825    assert_eq!(
3826        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
3827        0usize,
3828        "Offset of field: _IO_FILE::_flags"
3829    );
3830    assert_eq!(
3831        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
3832        8usize,
3833        "Offset of field: _IO_FILE::_IO_read_ptr"
3834    );
3835    assert_eq!(
3836        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
3837        16usize,
3838        "Offset of field: _IO_FILE::_IO_read_end"
3839    );
3840    assert_eq!(
3841        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
3842        24usize,
3843        "Offset of field: _IO_FILE::_IO_read_base"
3844    );
3845    assert_eq!(
3846        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
3847        32usize,
3848        "Offset of field: _IO_FILE::_IO_write_base"
3849    );
3850    assert_eq!(
3851        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
3852        40usize,
3853        "Offset of field: _IO_FILE::_IO_write_ptr"
3854    );
3855    assert_eq!(
3856        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
3857        48usize,
3858        "Offset of field: _IO_FILE::_IO_write_end"
3859    );
3860    assert_eq!(
3861        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
3862        56usize,
3863        "Offset of field: _IO_FILE::_IO_buf_base"
3864    );
3865    assert_eq!(
3866        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
3867        64usize,
3868        "Offset of field: _IO_FILE::_IO_buf_end"
3869    );
3870    assert_eq!(
3871        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
3872        72usize,
3873        "Offset of field: _IO_FILE::_IO_save_base"
3874    );
3875    assert_eq!(
3876        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
3877        80usize,
3878        "Offset of field: _IO_FILE::_IO_backup_base"
3879    );
3880    assert_eq!(
3881        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
3882        88usize,
3883        "Offset of field: _IO_FILE::_IO_save_end"
3884    );
3885    assert_eq!(
3886        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
3887        96usize,
3888        "Offset of field: _IO_FILE::_markers"
3889    );
3890    assert_eq!(
3891        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
3892        104usize,
3893        "Offset of field: _IO_FILE::_chain"
3894    );
3895    assert_eq!(
3896        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
3897        112usize,
3898        "Offset of field: _IO_FILE::_fileno"
3899    );
3900    assert_eq!(
3901        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
3902        116usize,
3903        "Offset of field: _IO_FILE::_flags2"
3904    );
3905    assert_eq!(
3906        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
3907        120usize,
3908        "Offset of field: _IO_FILE::_old_offset"
3909    );
3910    assert_eq!(
3911        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
3912        128usize,
3913        "Offset of field: _IO_FILE::_cur_column"
3914    );
3915    assert_eq!(
3916        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
3917        130usize,
3918        "Offset of field: _IO_FILE::_vtable_offset"
3919    );
3920    assert_eq!(
3921        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
3922        131usize,
3923        "Offset of field: _IO_FILE::_shortbuf"
3924    );
3925    assert_eq!(
3926        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
3927        136usize,
3928        "Offset of field: _IO_FILE::_lock"
3929    );
3930    assert_eq!(
3931        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
3932        144usize,
3933        "Offset of field: _IO_FILE::_offset"
3934    );
3935    assert_eq!(
3936        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
3937        152usize,
3938        "Offset of field: _IO_FILE::_codecvt"
3939    );
3940    assert_eq!(
3941        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
3942        160usize,
3943        "Offset of field: _IO_FILE::_wide_data"
3944    );
3945    assert_eq!(
3946        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
3947        168usize,
3948        "Offset of field: _IO_FILE::_freeres_list"
3949    );
3950    assert_eq!(
3951        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
3952        176usize,
3953        "Offset of field: _IO_FILE::_freeres_buf"
3954    );
3955    assert_eq!(
3956        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
3957        184usize,
3958        "Offset of field: _IO_FILE::__pad5"
3959    );
3960    assert_eq!(
3961        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
3962        192usize,
3963        "Offset of field: _IO_FILE::_mode"
3964    );
3965    assert_eq!(
3966        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
3967        196usize,
3968        "Offset of field: _IO_FILE::_unused2"
3969    );
3970}
3971impl Default for _IO_FILE {
3972    fn default() -> Self {
3973        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3974        unsafe {
3975            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3976            s.assume_init()
3977        }
3978    }
3979}
3980pub type va_list = __gnuc_va_list;
3981#[repr(C)]
3982#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3983pub struct buf_mem_st {
3984    pub length: usize,
3985    pub data: *mut ::std::os::raw::c_char,
3986    pub max: usize,
3987}
3988#[test]
3989fn bindgen_test_layout_buf_mem_st() {
3990    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
3991    let ptr = UNINIT.as_ptr();
3992    assert_eq!(
3993        ::std::mem::size_of::<buf_mem_st>(),
3994        24usize,
3995        "Size of buf_mem_st"
3996    );
3997    assert_eq!(
3998        ::std::mem::align_of::<buf_mem_st>(),
3999        8usize,
4000        "Alignment of buf_mem_st"
4001    );
4002    assert_eq!(
4003        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
4004        0usize,
4005        "Offset of field: buf_mem_st::length"
4006    );
4007    assert_eq!(
4008        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4009        8usize,
4010        "Offset of field: buf_mem_st::data"
4011    );
4012    assert_eq!(
4013        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
4014        16usize,
4015        "Offset of field: buf_mem_st::max"
4016    );
4017}
4018impl Default for buf_mem_st {
4019    fn default() -> Self {
4020        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4021        unsafe {
4022            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4023            s.assume_init()
4024        }
4025    }
4026}
4027extern "C" {
4028    #[link_name = "\u{1}aws_lc_0_43_0_SHA1_Init"]
4029    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4030}
4031extern "C" {
4032    #[link_name = "\u{1}aws_lc_0_43_0_SHA1_Update"]
4033    pub fn SHA1_Update(
4034        sha: *mut SHA_CTX,
4035        data: *const ::std::os::raw::c_void,
4036        len: usize,
4037    ) -> ::std::os::raw::c_int;
4038}
4039extern "C" {
4040    #[link_name = "\u{1}aws_lc_0_43_0_SHA1_Final"]
4041    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4042}
4043extern "C" {
4044    #[link_name = "\u{1}aws_lc_0_43_0_SHA1"]
4045    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4046}
4047extern "C" {
4048    #[link_name = "\u{1}aws_lc_0_43_0_SHA1_Transform"]
4049    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
4050}
4051#[repr(C)]
4052#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4053pub struct sha_state_st {
4054    pub h: [u32; 5usize],
4055    pub Nl: u32,
4056    pub Nh: u32,
4057    pub data: [u8; 64usize],
4058    pub num: ::std::os::raw::c_uint,
4059}
4060#[test]
4061fn bindgen_test_layout_sha_state_st() {
4062    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
4063    let ptr = UNINIT.as_ptr();
4064    assert_eq!(
4065        ::std::mem::size_of::<sha_state_st>(),
4066        96usize,
4067        "Size of sha_state_st"
4068    );
4069    assert_eq!(
4070        ::std::mem::align_of::<sha_state_st>(),
4071        4usize,
4072        "Alignment of sha_state_st"
4073    );
4074    assert_eq!(
4075        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4076        0usize,
4077        "Offset of field: sha_state_st::h"
4078    );
4079    assert_eq!(
4080        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4081        20usize,
4082        "Offset of field: sha_state_st::Nl"
4083    );
4084    assert_eq!(
4085        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4086        24usize,
4087        "Offset of field: sha_state_st::Nh"
4088    );
4089    assert_eq!(
4090        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4091        28usize,
4092        "Offset of field: sha_state_st::data"
4093    );
4094    assert_eq!(
4095        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4096        92usize,
4097        "Offset of field: sha_state_st::num"
4098    );
4099}
4100impl Default for sha_state_st {
4101    fn default() -> Self {
4102        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4103        unsafe {
4104            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4105            s.assume_init()
4106        }
4107    }
4108}
4109extern "C" {
4110    #[link_name = "\u{1}aws_lc_0_43_0_SHA224_Init"]
4111    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4112}
4113extern "C" {
4114    #[link_name = "\u{1}aws_lc_0_43_0_SHA224_Update"]
4115    pub fn SHA224_Update(
4116        sha: *mut SHA256_CTX,
4117        data: *const ::std::os::raw::c_void,
4118        len: usize,
4119    ) -> ::std::os::raw::c_int;
4120}
4121extern "C" {
4122    #[link_name = "\u{1}aws_lc_0_43_0_SHA224_Final"]
4123    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4124}
4125extern "C" {
4126    #[link_name = "\u{1}aws_lc_0_43_0_SHA224"]
4127    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4128}
4129extern "C" {
4130    #[link_name = "\u{1}aws_lc_0_43_0_SHA256_Init"]
4131    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4132}
4133extern "C" {
4134    #[link_name = "\u{1}aws_lc_0_43_0_SHA256_Update"]
4135    pub fn SHA256_Update(
4136        sha: *mut SHA256_CTX,
4137        data: *const ::std::os::raw::c_void,
4138        len: usize,
4139    ) -> ::std::os::raw::c_int;
4140}
4141extern "C" {
4142    #[link_name = "\u{1}aws_lc_0_43_0_SHA256_Final"]
4143    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4144}
4145extern "C" {
4146    #[link_name = "\u{1}aws_lc_0_43_0_SHA256"]
4147    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4148}
4149extern "C" {
4150    #[link_name = "\u{1}aws_lc_0_43_0_SHA256_Transform"]
4151    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4152}
4153extern "C" {
4154    #[link_name = "\u{1}aws_lc_0_43_0_SHA256_TransformBlocks"]
4155    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4156}
4157#[repr(C)]
4158#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4159pub struct sha256_state_st {
4160    pub h: [u32; 8usize],
4161    pub Nl: u32,
4162    pub Nh: u32,
4163    pub data: [u8; 64usize],
4164    pub num: ::std::os::raw::c_uint,
4165    pub md_len: ::std::os::raw::c_uint,
4166}
4167#[test]
4168fn bindgen_test_layout_sha256_state_st() {
4169    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4170    let ptr = UNINIT.as_ptr();
4171    assert_eq!(
4172        ::std::mem::size_of::<sha256_state_st>(),
4173        112usize,
4174        "Size of sha256_state_st"
4175    );
4176    assert_eq!(
4177        ::std::mem::align_of::<sha256_state_st>(),
4178        4usize,
4179        "Alignment of sha256_state_st"
4180    );
4181    assert_eq!(
4182        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4183        0usize,
4184        "Offset of field: sha256_state_st::h"
4185    );
4186    assert_eq!(
4187        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4188        32usize,
4189        "Offset of field: sha256_state_st::Nl"
4190    );
4191    assert_eq!(
4192        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4193        36usize,
4194        "Offset of field: sha256_state_st::Nh"
4195    );
4196    assert_eq!(
4197        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4198        40usize,
4199        "Offset of field: sha256_state_st::data"
4200    );
4201    assert_eq!(
4202        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4203        104usize,
4204        "Offset of field: sha256_state_st::num"
4205    );
4206    assert_eq!(
4207        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4208        108usize,
4209        "Offset of field: sha256_state_st::md_len"
4210    );
4211}
4212impl Default for sha256_state_st {
4213    fn default() -> Self {
4214        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4215        unsafe {
4216            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4217            s.assume_init()
4218        }
4219    }
4220}
4221extern "C" {
4222    #[link_name = "\u{1}aws_lc_0_43_0_SHA384_Init"]
4223    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4224}
4225extern "C" {
4226    #[link_name = "\u{1}aws_lc_0_43_0_SHA384_Update"]
4227    pub fn SHA384_Update(
4228        sha: *mut SHA512_CTX,
4229        data: *const ::std::os::raw::c_void,
4230        len: usize,
4231    ) -> ::std::os::raw::c_int;
4232}
4233extern "C" {
4234    #[link_name = "\u{1}aws_lc_0_43_0_SHA384_Final"]
4235    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4236}
4237extern "C" {
4238    #[link_name = "\u{1}aws_lc_0_43_0_SHA384"]
4239    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4240}
4241extern "C" {
4242    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_Init"]
4243    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4244}
4245extern "C" {
4246    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_Update"]
4247    pub fn SHA512_Update(
4248        sha: *mut SHA512_CTX,
4249        data: *const ::std::os::raw::c_void,
4250        len: usize,
4251    ) -> ::std::os::raw::c_int;
4252}
4253extern "C" {
4254    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_Final"]
4255    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4256}
4257extern "C" {
4258    #[link_name = "\u{1}aws_lc_0_43_0_SHA512"]
4259    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4260}
4261extern "C" {
4262    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_Transform"]
4263    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4264}
4265#[repr(C)]
4266#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4267pub struct sha512_state_st {
4268    pub h: [u64; 8usize],
4269    pub Nl: u64,
4270    pub Nh: u64,
4271    pub p: [u8; 128usize],
4272    pub num: ::std::os::raw::c_uint,
4273    pub md_len: ::std::os::raw::c_uint,
4274}
4275#[test]
4276fn bindgen_test_layout_sha512_state_st() {
4277    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4278    let ptr = UNINIT.as_ptr();
4279    assert_eq!(
4280        ::std::mem::size_of::<sha512_state_st>(),
4281        216usize,
4282        "Size of sha512_state_st"
4283    );
4284    assert_eq!(
4285        ::std::mem::align_of::<sha512_state_st>(),
4286        8usize,
4287        "Alignment of sha512_state_st"
4288    );
4289    assert_eq!(
4290        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4291        0usize,
4292        "Offset of field: sha512_state_st::h"
4293    );
4294    assert_eq!(
4295        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4296        64usize,
4297        "Offset of field: sha512_state_st::Nl"
4298    );
4299    assert_eq!(
4300        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4301        72usize,
4302        "Offset of field: sha512_state_st::Nh"
4303    );
4304    assert_eq!(
4305        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4306        80usize,
4307        "Offset of field: sha512_state_st::p"
4308    );
4309    assert_eq!(
4310        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4311        208usize,
4312        "Offset of field: sha512_state_st::num"
4313    );
4314    assert_eq!(
4315        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4316        212usize,
4317        "Offset of field: sha512_state_st::md_len"
4318    );
4319}
4320impl Default for sha512_state_st {
4321    fn default() -> Self {
4322        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4323        unsafe {
4324            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4325            s.assume_init()
4326        }
4327    }
4328}
4329extern "C" {
4330    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_224_Init"]
4331    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4332}
4333extern "C" {
4334    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_224_Update"]
4335    pub fn SHA512_224_Update(
4336        sha: *mut SHA512_CTX,
4337        data: *const ::std::os::raw::c_void,
4338        len: usize,
4339    ) -> ::std::os::raw::c_int;
4340}
4341extern "C" {
4342    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_224_Final"]
4343    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4344}
4345extern "C" {
4346    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_224"]
4347    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4348}
4349extern "C" {
4350    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_256_Init"]
4351    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4352}
4353extern "C" {
4354    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_256_Update"]
4355    pub fn SHA512_256_Update(
4356        sha: *mut SHA512_CTX,
4357        data: *const ::std::os::raw::c_void,
4358        len: usize,
4359    ) -> ::std::os::raw::c_int;
4360}
4361extern "C" {
4362    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_256_Final"]
4363    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4364}
4365extern "C" {
4366    #[link_name = "\u{1}aws_lc_0_43_0_SHA512_256"]
4367    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4368}
4369extern "C" {
4370    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_malloc"]
4371    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4372}
4373extern "C" {
4374    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_zalloc"]
4375    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4376}
4377extern "C" {
4378    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_calloc"]
4379    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4380}
4381extern "C" {
4382    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_realloc"]
4383    pub fn OPENSSL_realloc(
4384        ptr: *mut ::std::os::raw::c_void,
4385        new_size: usize,
4386    ) -> *mut ::std::os::raw::c_void;
4387}
4388extern "C" {
4389    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_free"]
4390    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4391}
4392extern "C" {
4393    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_cleanse"]
4394    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4395}
4396extern "C" {
4397    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_memcmp"]
4398    pub fn CRYPTO_memcmp(
4399        a: *const ::std::os::raw::c_void,
4400        b: *const ::std::os::raw::c_void,
4401        len: usize,
4402    ) -> ::std::os::raw::c_int;
4403}
4404extern "C" {
4405    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_hash32"]
4406    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4407}
4408extern "C" {
4409    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strhash"]
4410    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4411}
4412extern "C" {
4413    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strdup"]
4414    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4415}
4416extern "C" {
4417    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strnlen"]
4418    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4419}
4420extern "C" {
4421    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_isalpha"]
4422    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4423}
4424extern "C" {
4425    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_isdigit"]
4426    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4427}
4428extern "C" {
4429    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_isxdigit"]
4430    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4431}
4432extern "C" {
4433    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_fromxdigit"]
4434    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4435}
4436extern "C" {
4437    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_hexstr2buf"]
4438    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4439}
4440extern "C" {
4441    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_isalnum"]
4442    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4443}
4444extern "C" {
4445    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_tolower"]
4446    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4447}
4448extern "C" {
4449    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_isspace"]
4450    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4451}
4452extern "C" {
4453    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strcasecmp"]
4454    pub fn OPENSSL_strcasecmp(
4455        a: *const ::std::os::raw::c_char,
4456        b: *const ::std::os::raw::c_char,
4457    ) -> ::std::os::raw::c_int;
4458}
4459extern "C" {
4460    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strncasecmp"]
4461    pub fn OPENSSL_strncasecmp(
4462        a: *const ::std::os::raw::c_char,
4463        b: *const ::std::os::raw::c_char,
4464        n: usize,
4465    ) -> ::std::os::raw::c_int;
4466}
4467extern "C" {
4468    #[link_name = "\u{1}aws_lc_0_43_0_BIO_snprintf"]
4469    pub fn BIO_snprintf(
4470        buf: *mut ::std::os::raw::c_char,
4471        n: usize,
4472        format: *const ::std::os::raw::c_char,
4473        ...
4474    ) -> ::std::os::raw::c_int;
4475}
4476extern "C" {
4477    #[link_name = "\u{1}aws_lc_0_43_0_BIO_vsnprintf"]
4478    pub fn BIO_vsnprintf(
4479        buf: *mut ::std::os::raw::c_char,
4480        n: usize,
4481        format: *const ::std::os::raw::c_char,
4482        args: *mut __va_list_tag,
4483    ) -> ::std::os::raw::c_int;
4484}
4485extern "C" {
4486    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_vasprintf"]
4487    pub fn OPENSSL_vasprintf(
4488        str_: *mut *mut ::std::os::raw::c_char,
4489        format: *const ::std::os::raw::c_char,
4490        args: *mut __va_list_tag,
4491    ) -> ::std::os::raw::c_int;
4492}
4493extern "C" {
4494    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_asprintf"]
4495    pub fn OPENSSL_asprintf(
4496        str_: *mut *mut ::std::os::raw::c_char,
4497        format: *const ::std::os::raw::c_char,
4498        ...
4499    ) -> ::std::os::raw::c_int;
4500}
4501extern "C" {
4502    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strndup"]
4503    pub fn OPENSSL_strndup(
4504        str_: *const ::std::os::raw::c_char,
4505        size: usize,
4506    ) -> *mut ::std::os::raw::c_char;
4507}
4508extern "C" {
4509    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_memdup"]
4510    pub fn OPENSSL_memdup(
4511        data: *const ::std::os::raw::c_void,
4512        size: usize,
4513    ) -> *mut ::std::os::raw::c_void;
4514}
4515extern "C" {
4516    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strlcpy"]
4517    pub fn OPENSSL_strlcpy(
4518        dst: *mut ::std::os::raw::c_char,
4519        src: *const ::std::os::raw::c_char,
4520        dst_size: usize,
4521    ) -> usize;
4522}
4523extern "C" {
4524    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_strlcat"]
4525    pub fn OPENSSL_strlcat(
4526        dst: *mut ::std::os::raw::c_char,
4527        src: *const ::std::os::raw::c_char,
4528        dst_size: usize,
4529    ) -> usize;
4530}
4531extern "C" {
4532    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_malloc"]
4533    pub fn CRYPTO_malloc(
4534        size: usize,
4535        file: *const ::std::os::raw::c_char,
4536        line: ::std::os::raw::c_int,
4537    ) -> *mut ::std::os::raw::c_void;
4538}
4539extern "C" {
4540    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_realloc"]
4541    pub fn CRYPTO_realloc(
4542        ptr: *mut ::std::os::raw::c_void,
4543        new_size: usize,
4544        file: *const ::std::os::raw::c_char,
4545        line: ::std::os::raw::c_int,
4546    ) -> *mut ::std::os::raw::c_void;
4547}
4548extern "C" {
4549    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_free"]
4550    pub fn CRYPTO_free(
4551        ptr: *mut ::std::os::raw::c_void,
4552        file: *const ::std::os::raw::c_char,
4553        line: ::std::os::raw::c_int,
4554    );
4555}
4556extern "C" {
4557    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_clear_free"]
4558    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4559}
4560extern "C" {
4561    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_set_mem_functions"]
4562    pub fn CRYPTO_set_mem_functions(
4563        m: ::std::option::Option<
4564            unsafe extern "C" fn(
4565                arg1: usize,
4566                arg2: *const ::std::os::raw::c_char,
4567                arg3: ::std::os::raw::c_int,
4568            ) -> *mut ::std::os::raw::c_void,
4569        >,
4570        r: ::std::option::Option<
4571            unsafe extern "C" fn(
4572                arg1: *mut ::std::os::raw::c_void,
4573                arg2: usize,
4574                arg3: *const ::std::os::raw::c_char,
4575                arg4: ::std::os::raw::c_int,
4576            ) -> *mut ::std::os::raw::c_void,
4577        >,
4578        f: ::std::option::Option<
4579            unsafe extern "C" fn(
4580                arg1: *mut ::std::os::raw::c_void,
4581                arg2: *const ::std::os::raw::c_char,
4582                arg3: ::std::os::raw::c_int,
4583            ),
4584        >,
4585    ) -> ::std::os::raw::c_int;
4586}
4587extern "C" {
4588    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_secure_malloc_init"]
4589    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4590}
4591extern "C" {
4592    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_secure_malloc_initialized"]
4593    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4594}
4595extern "C" {
4596    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_secure_used"]
4597    pub fn CRYPTO_secure_used() -> usize;
4598}
4599extern "C" {
4600    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_secure_malloc"]
4601    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4602}
4603extern "C" {
4604    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_secure_zalloc"]
4605    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4606}
4607extern "C" {
4608    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_secure_clear_free"]
4609    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4610}
4611pub type CRYPTO_refcount_t = u32;
4612extern "C" {
4613    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_library_init"]
4614    pub fn CRYPTO_library_init();
4615}
4616extern "C" {
4617    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_is_confidential_build"]
4618    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4619}
4620extern "C" {
4621    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_has_asm"]
4622    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4623}
4624extern "C" {
4625    #[link_name = "\u{1}aws_lc_0_43_0_BORINGSSL_self_test"]
4626    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4627}
4628extern "C" {
4629    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4630}
4631extern "C" {
4632    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_pre_sandbox_init"]
4633    pub fn CRYPTO_pre_sandbox_init();
4634}
4635extern "C" {
4636    #[link_name = "\u{1}aws_lc_0_43_0_FIPS_mode"]
4637    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4638}
4639extern "C" {
4640    #[link_name = "\u{1}aws_lc_0_43_0_FIPS_is_entropy_cpu_jitter"]
4641    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4642}
4643extern "C" {
4644    #[link_name = "\u{1}aws_lc_0_43_0_FIPS_version"]
4645    pub fn FIPS_version() -> u32;
4646}
4647extern "C" {
4648    #[link_name = "\u{1}aws_lc_0_43_0_OpenSSL_version"]
4649    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4650}
4651extern "C" {
4652    #[link_name = "\u{1}aws_lc_0_43_0_SSLeay_version"]
4653    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4654}
4655extern "C" {
4656    #[link_name = "\u{1}aws_lc_0_43_0_SSLeay"]
4657    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4658}
4659extern "C" {
4660    #[link_name = "\u{1}aws_lc_0_43_0_OpenSSL_version_num"]
4661    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4662}
4663extern "C" {
4664    #[link_name = "\u{1}aws_lc_0_43_0_awslc_api_version_num"]
4665    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4666}
4667extern "C" {
4668    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_malloc_init"]
4669    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4670}
4671extern "C" {
4672    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_malloc_init"]
4673    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4674}
4675extern "C" {
4676    #[link_name = "\u{1}aws_lc_0_43_0_ENGINE_load_builtin_engines"]
4677    pub fn ENGINE_load_builtin_engines();
4678}
4679extern "C" {
4680    #[link_name = "\u{1}aws_lc_0_43_0_ENGINE_register_all_ciphers"]
4681    pub fn ENGINE_register_all_ciphers();
4682}
4683extern "C" {
4684    #[link_name = "\u{1}aws_lc_0_43_0_ENGINE_register_all_digests"]
4685    pub fn ENGINE_register_all_digests();
4686}
4687extern "C" {
4688    #[link_name = "\u{1}aws_lc_0_43_0_ENGINE_register_all_complete"]
4689    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4690}
4691extern "C" {
4692    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_load_builtin_modules"]
4693    pub fn OPENSSL_load_builtin_modules();
4694}
4695extern "C" {
4696    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_init_crypto"]
4697    pub fn OPENSSL_init_crypto(
4698        opts: u64,
4699        settings: *const OPENSSL_INIT_SETTINGS,
4700    ) -> ::std::os::raw::c_int;
4701}
4702extern "C" {
4703    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_init"]
4704    pub fn OPENSSL_init();
4705}
4706extern "C" {
4707    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_cleanup"]
4708    pub fn OPENSSL_cleanup();
4709}
4710extern "C" {
4711    #[link_name = "\u{1}aws_lc_0_43_0_FIPS_mode_set"]
4712    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4713}
4714extern "C" {
4715    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_mem_ctrl"]
4716    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4717}
4718extern "C" {
4719    #[link_name = "\u{1}aws_lc_0_43_0_ERR_load_BIO_strings"]
4720    pub fn ERR_load_BIO_strings();
4721}
4722extern "C" {
4723    #[link_name = "\u{1}aws_lc_0_43_0_ERR_load_ERR_strings"]
4724    pub fn ERR_load_ERR_strings();
4725}
4726extern "C" {
4727    #[link_name = "\u{1}aws_lc_0_43_0_ERR_load_CRYPTO_strings"]
4728    pub fn ERR_load_CRYPTO_strings();
4729}
4730extern "C" {
4731    #[link_name = "\u{1}aws_lc_0_43_0_ERR_load_crypto_strings"]
4732    pub fn ERR_load_crypto_strings();
4733}
4734extern "C" {
4735    #[link_name = "\u{1}aws_lc_0_43_0_ERR_load_RAND_strings"]
4736    pub fn ERR_load_RAND_strings();
4737}
4738extern "C" {
4739    #[link_name = "\u{1}aws_lc_0_43_0_ERR_free_strings"]
4740    pub fn ERR_free_strings();
4741}
4742extern "C" {
4743    #[link_name = "\u{1}aws_lc_0_43_0_ERR_get_error"]
4744    pub fn ERR_get_error() -> u32;
4745}
4746extern "C" {
4747    #[link_name = "\u{1}aws_lc_0_43_0_ERR_get_error_line"]
4748    pub fn ERR_get_error_line(
4749        file: *mut *const ::std::os::raw::c_char,
4750        line: *mut ::std::os::raw::c_int,
4751    ) -> u32;
4752}
4753extern "C" {
4754    #[link_name = "\u{1}aws_lc_0_43_0_ERR_get_error_line_data"]
4755    pub fn ERR_get_error_line_data(
4756        file: *mut *const ::std::os::raw::c_char,
4757        line: *mut ::std::os::raw::c_int,
4758        data: *mut *const ::std::os::raw::c_char,
4759        flags: *mut ::std::os::raw::c_int,
4760    ) -> u32;
4761}
4762extern "C" {
4763    #[link_name = "\u{1}aws_lc_0_43_0_ERR_peek_error"]
4764    pub fn ERR_peek_error() -> u32;
4765}
4766extern "C" {
4767    #[link_name = "\u{1}aws_lc_0_43_0_ERR_peek_error_line"]
4768    pub fn ERR_peek_error_line(
4769        file: *mut *const ::std::os::raw::c_char,
4770        line: *mut ::std::os::raw::c_int,
4771    ) -> u32;
4772}
4773extern "C" {
4774    #[link_name = "\u{1}aws_lc_0_43_0_ERR_peek_error_line_data"]
4775    pub fn ERR_peek_error_line_data(
4776        file: *mut *const ::std::os::raw::c_char,
4777        line: *mut ::std::os::raw::c_int,
4778        data: *mut *const ::std::os::raw::c_char,
4779        flags: *mut ::std::os::raw::c_int,
4780    ) -> u32;
4781}
4782extern "C" {
4783    #[link_name = "\u{1}aws_lc_0_43_0_ERR_peek_last_error"]
4784    pub fn ERR_peek_last_error() -> u32;
4785}
4786extern "C" {
4787    #[link_name = "\u{1}aws_lc_0_43_0_ERR_peek_last_error_line"]
4788    pub fn ERR_peek_last_error_line(
4789        file: *mut *const ::std::os::raw::c_char,
4790        line: *mut ::std::os::raw::c_int,
4791    ) -> u32;
4792}
4793extern "C" {
4794    #[link_name = "\u{1}aws_lc_0_43_0_ERR_peek_last_error_line_data"]
4795    pub fn ERR_peek_last_error_line_data(
4796        file: *mut *const ::std::os::raw::c_char,
4797        line: *mut ::std::os::raw::c_int,
4798        data: *mut *const ::std::os::raw::c_char,
4799        flags: *mut ::std::os::raw::c_int,
4800    ) -> u32;
4801}
4802extern "C" {
4803    #[link_name = "\u{1}aws_lc_0_43_0_ERR_error_string_n"]
4804    pub fn ERR_error_string_n(
4805        packed_error: u32,
4806        buf: *mut ::std::os::raw::c_char,
4807        len: usize,
4808    ) -> *mut ::std::os::raw::c_char;
4809}
4810extern "C" {
4811    #[link_name = "\u{1}aws_lc_0_43_0_ERR_lib_error_string"]
4812    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4813}
4814extern "C" {
4815    #[link_name = "\u{1}aws_lc_0_43_0_ERR_reason_error_string"]
4816    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4817}
4818pub type ERR_print_errors_callback_t = ::std::option::Option<
4819    unsafe extern "C" fn(
4820        str_: *const ::std::os::raw::c_char,
4821        len: usize,
4822        ctx: *mut ::std::os::raw::c_void,
4823    ) -> ::std::os::raw::c_int,
4824>;
4825extern "C" {
4826    #[link_name = "\u{1}aws_lc_0_43_0_ERR_print_errors_cb"]
4827    pub fn ERR_print_errors_cb(
4828        callback: ERR_print_errors_callback_t,
4829        ctx: *mut ::std::os::raw::c_void,
4830    );
4831}
4832extern "C" {
4833    #[link_name = "\u{1}aws_lc_0_43_0_ERR_clear_error"]
4834    pub fn ERR_clear_error();
4835}
4836extern "C" {
4837    #[link_name = "\u{1}aws_lc_0_43_0_ERR_set_mark"]
4838    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4839}
4840extern "C" {
4841    #[link_name = "\u{1}aws_lc_0_43_0_ERR_pop_to_mark"]
4842    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4843}
4844extern "C" {
4845    #[link_name = "\u{1}aws_lc_0_43_0_ERR_get_next_error_library"]
4846    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4847}
4848extern "C" {
4849    #[link_name = "\u{1}aws_lc_0_43_0_ERR_remove_state"]
4850    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4851}
4852extern "C" {
4853    #[link_name = "\u{1}aws_lc_0_43_0_ERR_remove_thread_state"]
4854    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4855}
4856extern "C" {
4857    #[link_name = "\u{1}aws_lc_0_43_0_ERR_func_error_string"]
4858    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4859}
4860extern "C" {
4861    #[link_name = "\u{1}aws_lc_0_43_0_ERR_error_string"]
4862    pub fn ERR_error_string(
4863        packed_error: u32,
4864        buf: *mut ::std::os::raw::c_char,
4865    ) -> *mut ::std::os::raw::c_char;
4866}
4867extern "C" {
4868    #[link_name = "\u{1}aws_lc_0_43_0_ERR_clear_system_error"]
4869    pub fn ERR_clear_system_error();
4870}
4871extern "C" {
4872    #[link_name = "\u{1}aws_lc_0_43_0_ERR_put_error"]
4873    pub fn ERR_put_error(
4874        library: ::std::os::raw::c_int,
4875        unused: ::std::os::raw::c_int,
4876        reason: ::std::os::raw::c_int,
4877        file: *const ::std::os::raw::c_char,
4878        line: ::std::os::raw::c_uint,
4879    );
4880}
4881extern "C" {
4882    #[link_name = "\u{1}aws_lc_0_43_0_ERR_add_error_data"]
4883    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
4884}
4885extern "C" {
4886    #[link_name = "\u{1}aws_lc_0_43_0_ERR_add_error_dataf"]
4887    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
4888}
4889extern "C" {
4890    #[link_name = "\u{1}aws_lc_0_43_0_ERR_set_error_data"]
4891    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
4892}
4893#[repr(C)]
4894#[derive(Debug, Copy, Clone)]
4895pub struct stack_st_void {
4896    _unused: [u8; 0],
4897}
4898pub type CRYPTO_EX_DATA = crypto_ex_data_st;
4899pub type CRYPTO_EX_free = ::std::option::Option<
4900    unsafe extern "C" fn(
4901        parent: *mut ::std::os::raw::c_void,
4902        ptr: *mut ::std::os::raw::c_void,
4903        ad: *mut CRYPTO_EX_DATA,
4904        index: ::std::os::raw::c_int,
4905        argl: ::std::os::raw::c_long,
4906        argp: *mut ::std::os::raw::c_void,
4907    ),
4908>;
4909pub type CRYPTO_EX_dup = ::std::option::Option<
4910    unsafe extern "C" fn(
4911        to: *mut CRYPTO_EX_DATA,
4912        from: *const CRYPTO_EX_DATA,
4913        from_d: *mut *mut ::std::os::raw::c_void,
4914        index: ::std::os::raw::c_int,
4915        argl: ::std::os::raw::c_long,
4916        argp: *mut ::std::os::raw::c_void,
4917    ) -> ::std::os::raw::c_int,
4918>;
4919pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
4920#[repr(C)]
4921#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4922pub struct crypto_ex_data_st {
4923    pub sk: *mut stack_st_void,
4924}
4925#[test]
4926fn bindgen_test_layout_crypto_ex_data_st() {
4927    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
4928    let ptr = UNINIT.as_ptr();
4929    assert_eq!(
4930        ::std::mem::size_of::<crypto_ex_data_st>(),
4931        8usize,
4932        "Size of crypto_ex_data_st"
4933    );
4934    assert_eq!(
4935        ::std::mem::align_of::<crypto_ex_data_st>(),
4936        8usize,
4937        "Alignment of crypto_ex_data_st"
4938    );
4939    assert_eq!(
4940        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
4941        0usize,
4942        "Offset of field: crypto_ex_data_st::sk"
4943    );
4944}
4945impl Default for crypto_ex_data_st {
4946    fn default() -> Self {
4947        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4948        unsafe {
4949            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4950            s.assume_init()
4951        }
4952    }
4953}
4954pub type bio_info_cb = ::std::option::Option<
4955    unsafe extern "C" fn(
4956        b: *mut BIO,
4957        state: ::std::os::raw::c_int,
4958        res: ::std::os::raw::c_int,
4959    ) -> ::std::os::raw::c_long,
4960>;
4961pub type BIO_callback_fn_ex = ::std::option::Option<
4962    unsafe extern "C" fn(
4963        bio: *mut BIO,
4964        oper: ::std::os::raw::c_int,
4965        argp: *const ::std::os::raw::c_char,
4966        len: usize,
4967        argi: ::std::os::raw::c_int,
4968        argl: ::std::os::raw::c_long,
4969        bio_ret: ::std::os::raw::c_int,
4970        processed: *mut usize,
4971    ) -> ::std::os::raw::c_long,
4972>;
4973pub type BIO_callback_fn = ::std::option::Option<
4974    unsafe extern "C" fn(
4975        bio: *mut BIO,
4976        oper: ::std::os::raw::c_int,
4977        argp: *const ::std::os::raw::c_char,
4978        argi: ::std::os::raw::c_int,
4979        argl: ::std::os::raw::c_long,
4980        bio_ret: ::std::os::raw::c_long,
4981    ) -> ::std::os::raw::c_long,
4982>;
4983#[repr(C)]
4984#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4985pub struct bio_method_st {
4986    pub type_: ::std::os::raw::c_int,
4987    pub name: *const ::std::os::raw::c_char,
4988    pub bwrite: ::std::option::Option<
4989        unsafe extern "C" fn(
4990            arg1: *mut BIO,
4991            arg2: *const ::std::os::raw::c_char,
4992            arg3: ::std::os::raw::c_int,
4993        ) -> ::std::os::raw::c_int,
4994    >,
4995    pub bread: ::std::option::Option<
4996        unsafe extern "C" fn(
4997            arg1: *mut BIO,
4998            arg2: *mut ::std::os::raw::c_char,
4999            arg3: ::std::os::raw::c_int,
5000        ) -> ::std::os::raw::c_int,
5001    >,
5002    pub bputs: ::std::option::Option<
5003        unsafe extern "C" fn(
5004            arg1: *mut BIO,
5005            arg2: *const ::std::os::raw::c_char,
5006        ) -> ::std::os::raw::c_int,
5007    >,
5008    pub bgets: ::std::option::Option<
5009        unsafe extern "C" fn(
5010            arg1: *mut BIO,
5011            arg2: *mut ::std::os::raw::c_char,
5012            arg3: ::std::os::raw::c_int,
5013        ) -> ::std::os::raw::c_int,
5014    >,
5015    pub ctrl: ::std::option::Option<
5016        unsafe extern "C" fn(
5017            arg1: *mut BIO,
5018            arg2: ::std::os::raw::c_int,
5019            arg3: ::std::os::raw::c_long,
5020            arg4: *mut ::std::os::raw::c_void,
5021        ) -> ::std::os::raw::c_long,
5022    >,
5023    pub create:
5024        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5025    pub destroy:
5026        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5027    pub callback_ctrl: ::std::option::Option<
5028        unsafe extern "C" fn(
5029            arg1: *mut BIO,
5030            arg2: ::std::os::raw::c_int,
5031            arg3: bio_info_cb,
5032        ) -> ::std::os::raw::c_long,
5033    >,
5034}
5035#[test]
5036fn bindgen_test_layout_bio_method_st() {
5037    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
5038    let ptr = UNINIT.as_ptr();
5039    assert_eq!(
5040        ::std::mem::size_of::<bio_method_st>(),
5041        80usize,
5042        "Size of bio_method_st"
5043    );
5044    assert_eq!(
5045        ::std::mem::align_of::<bio_method_st>(),
5046        8usize,
5047        "Alignment of bio_method_st"
5048    );
5049    assert_eq!(
5050        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5051        0usize,
5052        "Offset of field: bio_method_st::type_"
5053    );
5054    assert_eq!(
5055        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
5056        8usize,
5057        "Offset of field: bio_method_st::name"
5058    );
5059    assert_eq!(
5060        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5061        16usize,
5062        "Offset of field: bio_method_st::bwrite"
5063    );
5064    assert_eq!(
5065        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5066        24usize,
5067        "Offset of field: bio_method_st::bread"
5068    );
5069    assert_eq!(
5070        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5071        32usize,
5072        "Offset of field: bio_method_st::bputs"
5073    );
5074    assert_eq!(
5075        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5076        40usize,
5077        "Offset of field: bio_method_st::bgets"
5078    );
5079    assert_eq!(
5080        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5081        48usize,
5082        "Offset of field: bio_method_st::ctrl"
5083    );
5084    assert_eq!(
5085        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5086        56usize,
5087        "Offset of field: bio_method_st::create"
5088    );
5089    assert_eq!(
5090        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5091        64usize,
5092        "Offset of field: bio_method_st::destroy"
5093    );
5094    assert_eq!(
5095        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5096        72usize,
5097        "Offset of field: bio_method_st::callback_ctrl"
5098    );
5099}
5100impl Default for bio_method_st {
5101    fn default() -> Self {
5102        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5103        unsafe {
5104            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5105            s.assume_init()
5106        }
5107    }
5108}
5109#[repr(C)]
5110#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5111pub struct bio_st {
5112    pub method: *const BIO_METHOD,
5113    pub ex_data: CRYPTO_EX_DATA,
5114    pub callback_ex: BIO_callback_fn_ex,
5115    pub callback: BIO_callback_fn,
5116    pub cb_arg: *mut ::std::os::raw::c_char,
5117    pub init: ::std::os::raw::c_int,
5118    pub shutdown: ::std::os::raw::c_int,
5119    pub flags: ::std::os::raw::c_int,
5120    pub retry_reason: ::std::os::raw::c_int,
5121    pub num: ::std::os::raw::c_int,
5122    pub references: CRYPTO_refcount_t,
5123    pub ptr: *mut ::std::os::raw::c_void,
5124    pub next_bio: *mut BIO,
5125    pub num_read: u64,
5126    pub num_write: u64,
5127}
5128#[test]
5129fn bindgen_test_layout_bio_st() {
5130    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5131    let ptr = UNINIT.as_ptr();
5132    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5133    assert_eq!(
5134        ::std::mem::align_of::<bio_st>(),
5135        8usize,
5136        "Alignment of bio_st"
5137    );
5138    assert_eq!(
5139        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5140        0usize,
5141        "Offset of field: bio_st::method"
5142    );
5143    assert_eq!(
5144        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5145        8usize,
5146        "Offset of field: bio_st::ex_data"
5147    );
5148    assert_eq!(
5149        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5150        16usize,
5151        "Offset of field: bio_st::callback_ex"
5152    );
5153    assert_eq!(
5154        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5155        24usize,
5156        "Offset of field: bio_st::callback"
5157    );
5158    assert_eq!(
5159        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5160        32usize,
5161        "Offset of field: bio_st::cb_arg"
5162    );
5163    assert_eq!(
5164        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5165        40usize,
5166        "Offset of field: bio_st::init"
5167    );
5168    assert_eq!(
5169        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5170        44usize,
5171        "Offset of field: bio_st::shutdown"
5172    );
5173    assert_eq!(
5174        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5175        48usize,
5176        "Offset of field: bio_st::flags"
5177    );
5178    assert_eq!(
5179        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5180        52usize,
5181        "Offset of field: bio_st::retry_reason"
5182    );
5183    assert_eq!(
5184        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5185        56usize,
5186        "Offset of field: bio_st::num"
5187    );
5188    assert_eq!(
5189        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5190        60usize,
5191        "Offset of field: bio_st::references"
5192    );
5193    assert_eq!(
5194        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5195        64usize,
5196        "Offset of field: bio_st::ptr"
5197    );
5198    assert_eq!(
5199        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5200        72usize,
5201        "Offset of field: bio_st::next_bio"
5202    );
5203    assert_eq!(
5204        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5205        80usize,
5206        "Offset of field: bio_st::num_read"
5207    );
5208    assert_eq!(
5209        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5210        88usize,
5211        "Offset of field: bio_st::num_write"
5212    );
5213}
5214impl Default for bio_st {
5215    fn default() -> Self {
5216        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5217        unsafe {
5218            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5219            s.assume_init()
5220        }
5221    }
5222}
5223pub type BN_ULONG = u64;
5224extern "C" {
5225    #[link_name = "\u{1}aws_lc_0_43_0_BN_new"]
5226    pub fn BN_new() -> *mut BIGNUM;
5227}
5228extern "C" {
5229    #[link_name = "\u{1}aws_lc_0_43_0_BN_init"]
5230    pub fn BN_init(bn: *mut BIGNUM);
5231}
5232extern "C" {
5233    #[link_name = "\u{1}aws_lc_0_43_0_BN_free"]
5234    pub fn BN_free(bn: *mut BIGNUM);
5235}
5236extern "C" {
5237    #[link_name = "\u{1}aws_lc_0_43_0_BN_clear_free"]
5238    pub fn BN_clear_free(bn: *mut BIGNUM);
5239}
5240extern "C" {
5241    #[link_name = "\u{1}aws_lc_0_43_0_BN_dup"]
5242    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5243}
5244extern "C" {
5245    #[link_name = "\u{1}aws_lc_0_43_0_BN_copy"]
5246    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5247}
5248extern "C" {
5249    #[link_name = "\u{1}aws_lc_0_43_0_BN_clear"]
5250    pub fn BN_clear(bn: *mut BIGNUM);
5251}
5252extern "C" {
5253    #[link_name = "\u{1}aws_lc_0_43_0_BN_value_one"]
5254    pub fn BN_value_one() -> *const BIGNUM;
5255}
5256extern "C" {
5257    #[link_name = "\u{1}aws_lc_0_43_0_BN_num_bits"]
5258    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5259}
5260extern "C" {
5261    #[link_name = "\u{1}aws_lc_0_43_0_BN_num_bytes"]
5262    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5263}
5264extern "C" {
5265    #[link_name = "\u{1}aws_lc_0_43_0_BN_get_minimal_width"]
5266    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5267}
5268extern "C" {
5269    #[link_name = "\u{1}aws_lc_0_43_0_BN_zero"]
5270    pub fn BN_zero(bn: *mut BIGNUM);
5271}
5272extern "C" {
5273    #[link_name = "\u{1}aws_lc_0_43_0_BN_one"]
5274    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5275}
5276extern "C" {
5277    #[link_name = "\u{1}aws_lc_0_43_0_BN_set_word"]
5278    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5279}
5280extern "C" {
5281    #[link_name = "\u{1}aws_lc_0_43_0_BN_set_u64"]
5282    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5283}
5284extern "C" {
5285    #[link_name = "\u{1}aws_lc_0_43_0_BN_set_negative"]
5286    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5287}
5288extern "C" {
5289    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_negative"]
5290    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5291}
5292extern "C" {
5293    #[link_name = "\u{1}aws_lc_0_43_0_BN_bin2bn"]
5294    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5295}
5296extern "C" {
5297    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2bin"]
5298    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5299}
5300extern "C" {
5301    #[link_name = "\u{1}aws_lc_0_43_0_BN_le2bn"]
5302    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5303}
5304extern "C" {
5305    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2le_padded"]
5306    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5307}
5308extern "C" {
5309    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2bin_padded"]
5310    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5311}
5312extern "C" {
5313    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2cbb_padded"]
5314    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5315        -> ::std::os::raw::c_int;
5316}
5317extern "C" {
5318    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2hex"]
5319    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5320}
5321extern "C" {
5322    #[link_name = "\u{1}aws_lc_0_43_0_BN_hex2bn"]
5323    pub fn BN_hex2bn(
5324        outp: *mut *mut BIGNUM,
5325        in_: *const ::std::os::raw::c_char,
5326    ) -> ::std::os::raw::c_int;
5327}
5328extern "C" {
5329    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2dec"]
5330    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5331}
5332extern "C" {
5333    #[link_name = "\u{1}aws_lc_0_43_0_BN_dec2bn"]
5334    pub fn BN_dec2bn(
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_43_0_BN_asc2bn"]
5341    pub fn BN_asc2bn(
5342        outp: *mut *mut BIGNUM,
5343        in_: *const ::std::os::raw::c_char,
5344    ) -> ::std::os::raw::c_int;
5345}
5346extern "C" {
5347    #[link_name = "\u{1}aws_lc_0_43_0_BN_print"]
5348    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5349}
5350extern "C" {
5351    #[link_name = "\u{1}aws_lc_0_43_0_BN_get_word"]
5352    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5353}
5354extern "C" {
5355    #[link_name = "\u{1}aws_lc_0_43_0_BN_get_u64"]
5356    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5357}
5358extern "C" {
5359    #[link_name = "\u{1}aws_lc_0_43_0_BN_get_flags"]
5360    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5361}
5362extern "C" {
5363    #[link_name = "\u{1}aws_lc_0_43_0_BN_parse_asn1_unsigned"]
5364    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5365}
5366extern "C" {
5367    #[link_name = "\u{1}aws_lc_0_43_0_BN_marshal_asn1"]
5368    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5369}
5370extern "C" {
5371    #[link_name = "\u{1}aws_lc_0_43_0_BN_CTX_new"]
5372    pub fn BN_CTX_new() -> *mut BN_CTX;
5373}
5374extern "C" {
5375    #[link_name = "\u{1}aws_lc_0_43_0_BN_CTX_free"]
5376    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5377}
5378extern "C" {
5379    #[link_name = "\u{1}aws_lc_0_43_0_BN_CTX_start"]
5380    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5381}
5382extern "C" {
5383    #[link_name = "\u{1}aws_lc_0_43_0_BN_CTX_get"]
5384    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5385}
5386extern "C" {
5387    #[link_name = "\u{1}aws_lc_0_43_0_BN_CTX_end"]
5388    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5389}
5390extern "C" {
5391    #[link_name = "\u{1}aws_lc_0_43_0_BN_add"]
5392    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5393}
5394extern "C" {
5395    #[link_name = "\u{1}aws_lc_0_43_0_BN_uadd"]
5396    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5397}
5398extern "C" {
5399    #[link_name = "\u{1}aws_lc_0_43_0_BN_add_word"]
5400    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5401}
5402extern "C" {
5403    #[link_name = "\u{1}aws_lc_0_43_0_BN_sub"]
5404    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5405}
5406extern "C" {
5407    #[link_name = "\u{1}aws_lc_0_43_0_BN_usub"]
5408    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5409}
5410extern "C" {
5411    #[link_name = "\u{1}aws_lc_0_43_0_BN_sub_word"]
5412    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5413}
5414extern "C" {
5415    #[link_name = "\u{1}aws_lc_0_43_0_BN_mul"]
5416    pub fn BN_mul(
5417        r: *mut BIGNUM,
5418        a: *const BIGNUM,
5419        b: *const BIGNUM,
5420        ctx: *mut BN_CTX,
5421    ) -> ::std::os::raw::c_int;
5422}
5423extern "C" {
5424    #[link_name = "\u{1}aws_lc_0_43_0_BN_mul_word"]
5425    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5426}
5427extern "C" {
5428    #[link_name = "\u{1}aws_lc_0_43_0_BN_sqr"]
5429    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5430}
5431extern "C" {
5432    #[link_name = "\u{1}aws_lc_0_43_0_BN_div"]
5433    pub fn BN_div(
5434        quotient: *mut BIGNUM,
5435        rem: *mut BIGNUM,
5436        numerator: *const BIGNUM,
5437        divisor: *const BIGNUM,
5438        ctx: *mut BN_CTX,
5439    ) -> ::std::os::raw::c_int;
5440}
5441extern "C" {
5442    #[link_name = "\u{1}aws_lc_0_43_0_BN_div_word"]
5443    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5444}
5445extern "C" {
5446    #[link_name = "\u{1}aws_lc_0_43_0_BN_sqrt"]
5447    pub fn BN_sqrt(
5448        out_sqrt: *mut BIGNUM,
5449        in_: *const BIGNUM,
5450        ctx: *mut BN_CTX,
5451    ) -> ::std::os::raw::c_int;
5452}
5453extern "C" {
5454    #[link_name = "\u{1}aws_lc_0_43_0_BN_cmp"]
5455    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5456}
5457extern "C" {
5458    #[link_name = "\u{1}aws_lc_0_43_0_BN_cmp_word"]
5459    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5460}
5461extern "C" {
5462    #[link_name = "\u{1}aws_lc_0_43_0_BN_ucmp"]
5463    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5464}
5465extern "C" {
5466    #[link_name = "\u{1}aws_lc_0_43_0_BN_equal_consttime"]
5467    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5468}
5469extern "C" {
5470    #[link_name = "\u{1}aws_lc_0_43_0_BN_abs_is_word"]
5471    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5472}
5473extern "C" {
5474    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_zero"]
5475    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5476}
5477extern "C" {
5478    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_one"]
5479    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5480}
5481extern "C" {
5482    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_word"]
5483    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5484}
5485extern "C" {
5486    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_odd"]
5487    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5488}
5489extern "C" {
5490    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_pow2"]
5491    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5492}
5493extern "C" {
5494    #[link_name = "\u{1}aws_lc_0_43_0_BN_lshift"]
5495    pub fn BN_lshift(
5496        r: *mut BIGNUM,
5497        a: *const BIGNUM,
5498        n: ::std::os::raw::c_int,
5499    ) -> ::std::os::raw::c_int;
5500}
5501extern "C" {
5502    #[link_name = "\u{1}aws_lc_0_43_0_BN_lshift1"]
5503    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5504}
5505extern "C" {
5506    #[link_name = "\u{1}aws_lc_0_43_0_BN_rshift"]
5507    pub fn BN_rshift(
5508        r: *mut BIGNUM,
5509        a: *const BIGNUM,
5510        n: ::std::os::raw::c_int,
5511    ) -> ::std::os::raw::c_int;
5512}
5513extern "C" {
5514    #[link_name = "\u{1}aws_lc_0_43_0_BN_rshift1"]
5515    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5516}
5517extern "C" {
5518    #[link_name = "\u{1}aws_lc_0_43_0_BN_set_bit"]
5519    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5520}
5521extern "C" {
5522    #[link_name = "\u{1}aws_lc_0_43_0_BN_clear_bit"]
5523    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5524}
5525extern "C" {
5526    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_bit_set"]
5527    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5528}
5529extern "C" {
5530    #[link_name = "\u{1}aws_lc_0_43_0_BN_mask_bits"]
5531    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5532}
5533extern "C" {
5534    #[link_name = "\u{1}aws_lc_0_43_0_BN_count_low_zero_bits"]
5535    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5536}
5537extern "C" {
5538    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_word"]
5539    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5540}
5541extern "C" {
5542    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_pow2"]
5543    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5544}
5545extern "C" {
5546    #[link_name = "\u{1}aws_lc_0_43_0_BN_nnmod_pow2"]
5547    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5548}
5549extern "C" {
5550    #[link_name = "\u{1}aws_lc_0_43_0_BN_nnmod"]
5551    pub fn BN_nnmod(
5552        rem: *mut BIGNUM,
5553        numerator: *const BIGNUM,
5554        divisor: *const BIGNUM,
5555        ctx: *mut BN_CTX,
5556    ) -> ::std::os::raw::c_int;
5557}
5558extern "C" {
5559    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_add"]
5560    pub fn BN_mod_add(
5561        r: *mut BIGNUM,
5562        a: *const BIGNUM,
5563        b: *const BIGNUM,
5564        m: *const BIGNUM,
5565        ctx: *mut BN_CTX,
5566    ) -> ::std::os::raw::c_int;
5567}
5568extern "C" {
5569    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_add_quick"]
5570    pub fn BN_mod_add_quick(
5571        r: *mut BIGNUM,
5572        a: *const BIGNUM,
5573        b: *const BIGNUM,
5574        m: *const BIGNUM,
5575    ) -> ::std::os::raw::c_int;
5576}
5577extern "C" {
5578    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_sub"]
5579    pub fn BN_mod_sub(
5580        r: *mut BIGNUM,
5581        a: *const BIGNUM,
5582        b: *const BIGNUM,
5583        m: *const BIGNUM,
5584        ctx: *mut BN_CTX,
5585    ) -> ::std::os::raw::c_int;
5586}
5587extern "C" {
5588    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_sub_quick"]
5589    pub fn BN_mod_sub_quick(
5590        r: *mut BIGNUM,
5591        a: *const BIGNUM,
5592        b: *const BIGNUM,
5593        m: *const BIGNUM,
5594    ) -> ::std::os::raw::c_int;
5595}
5596extern "C" {
5597    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_mul"]
5598    pub fn BN_mod_mul(
5599        r: *mut BIGNUM,
5600        a: *const BIGNUM,
5601        b: *const BIGNUM,
5602        m: *const BIGNUM,
5603        ctx: *mut BN_CTX,
5604    ) -> ::std::os::raw::c_int;
5605}
5606extern "C" {
5607    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_sqr"]
5608    pub fn BN_mod_sqr(
5609        r: *mut BIGNUM,
5610        a: *const BIGNUM,
5611        m: *const BIGNUM,
5612        ctx: *mut BN_CTX,
5613    ) -> ::std::os::raw::c_int;
5614}
5615extern "C" {
5616    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_lshift"]
5617    pub fn BN_mod_lshift(
5618        r: *mut BIGNUM,
5619        a: *const BIGNUM,
5620        n: ::std::os::raw::c_int,
5621        m: *const BIGNUM,
5622        ctx: *mut BN_CTX,
5623    ) -> ::std::os::raw::c_int;
5624}
5625extern "C" {
5626    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_lshift_quick"]
5627    pub fn BN_mod_lshift_quick(
5628        r: *mut BIGNUM,
5629        a: *const BIGNUM,
5630        n: ::std::os::raw::c_int,
5631        m: *const BIGNUM,
5632    ) -> ::std::os::raw::c_int;
5633}
5634extern "C" {
5635    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_lshift1"]
5636    pub fn BN_mod_lshift1(
5637        r: *mut BIGNUM,
5638        a: *const BIGNUM,
5639        m: *const BIGNUM,
5640        ctx: *mut BN_CTX,
5641    ) -> ::std::os::raw::c_int;
5642}
5643extern "C" {
5644    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_lshift1_quick"]
5645    pub fn BN_mod_lshift1_quick(
5646        r: *mut BIGNUM,
5647        a: *const BIGNUM,
5648        m: *const BIGNUM,
5649    ) -> ::std::os::raw::c_int;
5650}
5651extern "C" {
5652    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_sqrt"]
5653    pub fn BN_mod_sqrt(
5654        in_: *mut BIGNUM,
5655        a: *const BIGNUM,
5656        p: *const BIGNUM,
5657        ctx: *mut BN_CTX,
5658    ) -> *mut BIGNUM;
5659}
5660extern "C" {
5661    #[link_name = "\u{1}aws_lc_0_43_0_BN_rand"]
5662    pub fn BN_rand(
5663        rnd: *mut BIGNUM,
5664        bits: ::std::os::raw::c_int,
5665        top: ::std::os::raw::c_int,
5666        bottom: ::std::os::raw::c_int,
5667    ) -> ::std::os::raw::c_int;
5668}
5669extern "C" {
5670    #[link_name = "\u{1}aws_lc_0_43_0_BN_pseudo_rand"]
5671    pub fn BN_pseudo_rand(
5672        rnd: *mut BIGNUM,
5673        bits: ::std::os::raw::c_int,
5674        top: ::std::os::raw::c_int,
5675        bottom: ::std::os::raw::c_int,
5676    ) -> ::std::os::raw::c_int;
5677}
5678extern "C" {
5679    #[link_name = "\u{1}aws_lc_0_43_0_BN_rand_range"]
5680    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5681}
5682extern "C" {
5683    #[link_name = "\u{1}aws_lc_0_43_0_BN_rand_range_ex"]
5684    pub fn BN_rand_range_ex(
5685        r: *mut BIGNUM,
5686        min_inclusive: BN_ULONG,
5687        max_exclusive: *const BIGNUM,
5688    ) -> ::std::os::raw::c_int;
5689}
5690extern "C" {
5691    #[link_name = "\u{1}aws_lc_0_43_0_BN_pseudo_rand_range"]
5692    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5693}
5694#[repr(C)]
5695#[derive(Copy, Clone)]
5696pub struct bn_gencb_st {
5697    pub type_: u8,
5698    pub arg: *mut ::std::os::raw::c_void,
5699    pub callback: bn_gencb_st__bindgen_ty_1,
5700}
5701#[repr(C)]
5702#[derive(Copy, Clone)]
5703pub union bn_gencb_st__bindgen_ty_1 {
5704    pub new_style: ::std::option::Option<
5705        unsafe extern "C" fn(
5706            event: ::std::os::raw::c_int,
5707            n: ::std::os::raw::c_int,
5708            arg1: *mut bn_gencb_st,
5709        ) -> ::std::os::raw::c_int,
5710    >,
5711    pub old_style: ::std::option::Option<
5712        unsafe extern "C" fn(
5713            arg1: ::std::os::raw::c_int,
5714            arg2: ::std::os::raw::c_int,
5715            arg3: *mut ::std::os::raw::c_void,
5716        ),
5717    >,
5718}
5719#[test]
5720fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5721    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5722        ::std::mem::MaybeUninit::uninit();
5723    let ptr = UNINIT.as_ptr();
5724    assert_eq!(
5725        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5726        8usize,
5727        "Size of bn_gencb_st__bindgen_ty_1"
5728    );
5729    assert_eq!(
5730        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5731        8usize,
5732        "Alignment of bn_gencb_st__bindgen_ty_1"
5733    );
5734    assert_eq!(
5735        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5736        0usize,
5737        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5738    );
5739    assert_eq!(
5740        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5741        0usize,
5742        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5743    );
5744}
5745impl Default for bn_gencb_st__bindgen_ty_1 {
5746    fn default() -> Self {
5747        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5748        unsafe {
5749            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5750            s.assume_init()
5751        }
5752    }
5753}
5754#[test]
5755fn bindgen_test_layout_bn_gencb_st() {
5756    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5757    let ptr = UNINIT.as_ptr();
5758    assert_eq!(
5759        ::std::mem::size_of::<bn_gencb_st>(),
5760        24usize,
5761        "Size of bn_gencb_st"
5762    );
5763    assert_eq!(
5764        ::std::mem::align_of::<bn_gencb_st>(),
5765        8usize,
5766        "Alignment of bn_gencb_st"
5767    );
5768    assert_eq!(
5769        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5770        0usize,
5771        "Offset of field: bn_gencb_st::type_"
5772    );
5773    assert_eq!(
5774        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5775        8usize,
5776        "Offset of field: bn_gencb_st::arg"
5777    );
5778    assert_eq!(
5779        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5780        16usize,
5781        "Offset of field: bn_gencb_st::callback"
5782    );
5783}
5784impl Default for bn_gencb_st {
5785    fn default() -> Self {
5786        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5787        unsafe {
5788            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5789            s.assume_init()
5790        }
5791    }
5792}
5793extern "C" {
5794    #[link_name = "\u{1}aws_lc_0_43_0_BN_GENCB_new"]
5795    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5796}
5797extern "C" {
5798    #[link_name = "\u{1}aws_lc_0_43_0_BN_GENCB_free"]
5799    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5800}
5801extern "C" {
5802    #[link_name = "\u{1}aws_lc_0_43_0_BN_GENCB_set"]
5803    pub fn BN_GENCB_set(
5804        callback: *mut BN_GENCB,
5805        f: ::std::option::Option<
5806            unsafe extern "C" fn(
5807                event: ::std::os::raw::c_int,
5808                n: ::std::os::raw::c_int,
5809                arg1: *mut BN_GENCB,
5810            ) -> ::std::os::raw::c_int,
5811        >,
5812        arg: *mut ::std::os::raw::c_void,
5813    );
5814}
5815extern "C" {
5816    #[link_name = "\u{1}aws_lc_0_43_0_BN_GENCB_call"]
5817    pub fn BN_GENCB_call(
5818        callback: *mut BN_GENCB,
5819        event: ::std::os::raw::c_int,
5820        n: ::std::os::raw::c_int,
5821    ) -> ::std::os::raw::c_int;
5822}
5823extern "C" {
5824    #[link_name = "\u{1}aws_lc_0_43_0_BN_GENCB_get_arg"]
5825    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5826}
5827extern "C" {
5828    #[link_name = "\u{1}aws_lc_0_43_0_BN_generate_prime_ex"]
5829    pub fn BN_generate_prime_ex(
5830        ret: *mut BIGNUM,
5831        bits: ::std::os::raw::c_int,
5832        safe: ::std::os::raw::c_int,
5833        add: *const BIGNUM,
5834        rem: *const BIGNUM,
5835        cb: *mut BN_GENCB,
5836    ) -> ::std::os::raw::c_int;
5837}
5838pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5839pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5840pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5841pub type bn_primality_result_t = ::std::os::raw::c_uint;
5842extern "C" {
5843    #[link_name = "\u{1}aws_lc_0_43_0_BN_enhanced_miller_rabin_primality_test"]
5844    pub fn BN_enhanced_miller_rabin_primality_test(
5845        out_result: *mut bn_primality_result_t,
5846        w: *const BIGNUM,
5847        checks: ::std::os::raw::c_int,
5848        ctx: *mut BN_CTX,
5849        cb: *mut BN_GENCB,
5850    ) -> ::std::os::raw::c_int;
5851}
5852extern "C" {
5853    #[link_name = "\u{1}aws_lc_0_43_0_BN_primality_test"]
5854    pub fn BN_primality_test(
5855        is_probably_prime: *mut ::std::os::raw::c_int,
5856        candidate: *const BIGNUM,
5857        checks: ::std::os::raw::c_int,
5858        ctx: *mut BN_CTX,
5859        do_trial_division: ::std::os::raw::c_int,
5860        cb: *mut BN_GENCB,
5861    ) -> ::std::os::raw::c_int;
5862}
5863extern "C" {
5864    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_prime_fasttest_ex"]
5865    pub fn BN_is_prime_fasttest_ex(
5866        candidate: *const BIGNUM,
5867        checks: ::std::os::raw::c_int,
5868        ctx: *mut BN_CTX,
5869        do_trial_division: ::std::os::raw::c_int,
5870        cb: *mut BN_GENCB,
5871    ) -> ::std::os::raw::c_int;
5872}
5873extern "C" {
5874    #[link_name = "\u{1}aws_lc_0_43_0_BN_is_prime_ex"]
5875    pub fn BN_is_prime_ex(
5876        candidate: *const BIGNUM,
5877        checks: ::std::os::raw::c_int,
5878        ctx: *mut BN_CTX,
5879        cb: *mut BN_GENCB,
5880    ) -> ::std::os::raw::c_int;
5881}
5882extern "C" {
5883    #[link_name = "\u{1}aws_lc_0_43_0_BN_gcd"]
5884    pub fn BN_gcd(
5885        r: *mut BIGNUM,
5886        a: *const BIGNUM,
5887        b: *const BIGNUM,
5888        ctx: *mut BN_CTX,
5889    ) -> ::std::os::raw::c_int;
5890}
5891extern "C" {
5892    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_inverse"]
5893    pub fn BN_mod_inverse(
5894        out: *mut BIGNUM,
5895        a: *const BIGNUM,
5896        n: *const BIGNUM,
5897        ctx: *mut BN_CTX,
5898    ) -> *mut BIGNUM;
5899}
5900extern "C" {
5901    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_inverse_blinded"]
5902    pub fn BN_mod_inverse_blinded(
5903        out: *mut BIGNUM,
5904        out_no_inverse: *mut ::std::os::raw::c_int,
5905        a: *const BIGNUM,
5906        mont: *const BN_MONT_CTX,
5907        ctx: *mut BN_CTX,
5908    ) -> ::std::os::raw::c_int;
5909}
5910extern "C" {
5911    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_inverse_odd"]
5912    pub fn BN_mod_inverse_odd(
5913        out: *mut BIGNUM,
5914        out_no_inverse: *mut ::std::os::raw::c_int,
5915        a: *const BIGNUM,
5916        n: *const BIGNUM,
5917        ctx: *mut BN_CTX,
5918    ) -> ::std::os::raw::c_int;
5919}
5920extern "C" {
5921    #[link_name = "\u{1}aws_lc_0_43_0_BN_MONT_CTX_new_for_modulus"]
5922    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5923}
5924extern "C" {
5925    #[link_name = "\u{1}aws_lc_0_43_0_BN_MONT_CTX_new_consttime"]
5926    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5927}
5928extern "C" {
5929    #[link_name = "\u{1}aws_lc_0_43_0_BN_MONT_CTX_free"]
5930    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
5931}
5932extern "C" {
5933    #[link_name = "\u{1}aws_lc_0_43_0_BN_MONT_CTX_copy"]
5934    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
5935}
5936extern "C" {
5937    #[link_name = "\u{1}aws_lc_0_43_0_BN_to_montgomery"]
5938    pub fn BN_to_montgomery(
5939        ret: *mut BIGNUM,
5940        a: *const BIGNUM,
5941        mont: *const BN_MONT_CTX,
5942        ctx: *mut BN_CTX,
5943    ) -> ::std::os::raw::c_int;
5944}
5945extern "C" {
5946    #[link_name = "\u{1}aws_lc_0_43_0_BN_from_montgomery"]
5947    pub fn BN_from_montgomery(
5948        ret: *mut BIGNUM,
5949        a: *const BIGNUM,
5950        mont: *const BN_MONT_CTX,
5951        ctx: *mut BN_CTX,
5952    ) -> ::std::os::raw::c_int;
5953}
5954extern "C" {
5955    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_mul_montgomery"]
5956    pub fn BN_mod_mul_montgomery(
5957        r: *mut BIGNUM,
5958        a: *const BIGNUM,
5959        b: *const BIGNUM,
5960        mont: *const BN_MONT_CTX,
5961        ctx: *mut BN_CTX,
5962    ) -> ::std::os::raw::c_int;
5963}
5964extern "C" {
5965    #[link_name = "\u{1}aws_lc_0_43_0_BN_exp"]
5966    pub fn BN_exp(
5967        r: *mut BIGNUM,
5968        a: *const BIGNUM,
5969        p: *const BIGNUM,
5970        ctx: *mut BN_CTX,
5971    ) -> ::std::os::raw::c_int;
5972}
5973extern "C" {
5974    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_exp"]
5975    pub fn BN_mod_exp(
5976        r: *mut BIGNUM,
5977        a: *const BIGNUM,
5978        p: *const BIGNUM,
5979        m: *const BIGNUM,
5980        ctx: *mut BN_CTX,
5981    ) -> ::std::os::raw::c_int;
5982}
5983extern "C" {
5984    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_exp_mont"]
5985    pub fn BN_mod_exp_mont(
5986        r: *mut BIGNUM,
5987        a: *const BIGNUM,
5988        p: *const BIGNUM,
5989        m: *const BIGNUM,
5990        ctx: *mut BN_CTX,
5991        mont: *const BN_MONT_CTX,
5992    ) -> ::std::os::raw::c_int;
5993}
5994extern "C" {
5995    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_exp_mont_consttime"]
5996    pub fn BN_mod_exp_mont_consttime(
5997        rr: *mut BIGNUM,
5998        a: *const BIGNUM,
5999        p: *const BIGNUM,
6000        m: *const BIGNUM,
6001        ctx: *mut BN_CTX,
6002        mont: *const BN_MONT_CTX,
6003    ) -> ::std::os::raw::c_int;
6004}
6005extern "C" {
6006    #[link_name = "\u{1}aws_lc_0_43_0_BN_GENCB_set_old"]
6007    pub fn BN_GENCB_set_old(
6008        callback: *mut BN_GENCB,
6009        f: ::std::option::Option<
6010            unsafe extern "C" fn(
6011                arg1: ::std::os::raw::c_int,
6012                arg2: ::std::os::raw::c_int,
6013                arg3: *mut ::std::os::raw::c_void,
6014            ),
6015        >,
6016        cb_arg: *mut ::std::os::raw::c_void,
6017    );
6018}
6019extern "C" {
6020    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2mpi"]
6021    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
6022}
6023extern "C" {
6024    #[link_name = "\u{1}aws_lc_0_43_0_BN_mpi2bn"]
6025    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
6026}
6027extern "C" {
6028    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_exp_mont_word"]
6029    pub fn BN_mod_exp_mont_word(
6030        r: *mut BIGNUM,
6031        a: BN_ULONG,
6032        p: *const BIGNUM,
6033        m: *const BIGNUM,
6034        ctx: *mut BN_CTX,
6035        mont: *const BN_MONT_CTX,
6036    ) -> ::std::os::raw::c_int;
6037}
6038extern "C" {
6039    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_exp2_mont"]
6040    pub fn BN_mod_exp2_mont(
6041        r: *mut BIGNUM,
6042        a1: *const BIGNUM,
6043        p1: *const BIGNUM,
6044        a2: *const BIGNUM,
6045        p2: *const BIGNUM,
6046        m: *const BIGNUM,
6047        ctx: *mut BN_CTX,
6048        mont: *const BN_MONT_CTX,
6049    ) -> ::std::os::raw::c_int;
6050}
6051extern "C" {
6052    #[link_name = "\u{1}aws_lc_0_43_0_BN_MONT_CTX_new"]
6053    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
6054}
6055extern "C" {
6056    #[link_name = "\u{1}aws_lc_0_43_0_BN_MONT_CTX_set"]
6057    pub fn BN_MONT_CTX_set(
6058        mont: *mut BN_MONT_CTX,
6059        mod_: *const BIGNUM,
6060        ctx: *mut BN_CTX,
6061    ) -> ::std::os::raw::c_int;
6062}
6063extern "C" {
6064    #[link_name = "\u{1}aws_lc_0_43_0_BN_bn2binpad"]
6065    pub fn BN_bn2binpad(
6066        in_: *const BIGNUM,
6067        out: *mut u8,
6068        len: ::std::os::raw::c_int,
6069    ) -> ::std::os::raw::c_int;
6070}
6071extern "C" {
6072    #[link_name = "\u{1}aws_lc_0_43_0_BN_secure_new"]
6073    pub fn BN_secure_new() -> *mut BIGNUM;
6074}
6075extern "C" {
6076    #[link_name = "\u{1}aws_lc_0_43_0_BN_CTX_secure_new"]
6077    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6078}
6079extern "C" {
6080    #[link_name = "\u{1}aws_lc_0_43_0_BN_mod_exp_mont_consttime_x2"]
6081    pub fn BN_mod_exp_mont_consttime_x2(
6082        rr1: *mut BIGNUM,
6083        a1: *const BIGNUM,
6084        p1: *const BIGNUM,
6085        m1: *const BIGNUM,
6086        in_mont1: *const BN_MONT_CTX,
6087        rr2: *mut BIGNUM,
6088        a2: *const BIGNUM,
6089        p2: *const BIGNUM,
6090        m2: *const BIGNUM,
6091        in_mont2: *const BN_MONT_CTX,
6092        ctx: *mut BN_CTX,
6093    ) -> ::std::os::raw::c_int;
6094}
6095extern "C" {
6096    #[link_name = "\u{1}aws_lc_0_43_0_BN_set_flags"]
6097    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6098}
6099#[repr(C)]
6100#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6101pub struct bignum_st {
6102    pub d: *mut BN_ULONG,
6103    pub width: ::std::os::raw::c_int,
6104    pub dmax: ::std::os::raw::c_int,
6105    pub neg: ::std::os::raw::c_int,
6106    pub flags: ::std::os::raw::c_int,
6107}
6108#[test]
6109fn bindgen_test_layout_bignum_st() {
6110    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6111    let ptr = UNINIT.as_ptr();
6112    assert_eq!(
6113        ::std::mem::size_of::<bignum_st>(),
6114        24usize,
6115        "Size of bignum_st"
6116    );
6117    assert_eq!(
6118        ::std::mem::align_of::<bignum_st>(),
6119        8usize,
6120        "Alignment of bignum_st"
6121    );
6122    assert_eq!(
6123        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6124        0usize,
6125        "Offset of field: bignum_st::d"
6126    );
6127    assert_eq!(
6128        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6129        8usize,
6130        "Offset of field: bignum_st::width"
6131    );
6132    assert_eq!(
6133        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6134        12usize,
6135        "Offset of field: bignum_st::dmax"
6136    );
6137    assert_eq!(
6138        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6139        16usize,
6140        "Offset of field: bignum_st::neg"
6141    );
6142    assert_eq!(
6143        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6144        20usize,
6145        "Offset of field: bignum_st::flags"
6146    );
6147}
6148impl Default for bignum_st {
6149    fn default() -> Self {
6150        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6151        unsafe {
6152            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6153            s.assume_init()
6154        }
6155    }
6156}
6157#[repr(C)]
6158#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6159pub struct bn_mont_ctx_st {
6160    pub RR: BIGNUM,
6161    pub N: BIGNUM,
6162    pub n0: [BN_ULONG; 2usize],
6163}
6164#[test]
6165fn bindgen_test_layout_bn_mont_ctx_st() {
6166    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6167    let ptr = UNINIT.as_ptr();
6168    assert_eq!(
6169        ::std::mem::size_of::<bn_mont_ctx_st>(),
6170        64usize,
6171        "Size of bn_mont_ctx_st"
6172    );
6173    assert_eq!(
6174        ::std::mem::align_of::<bn_mont_ctx_st>(),
6175        8usize,
6176        "Alignment of bn_mont_ctx_st"
6177    );
6178    assert_eq!(
6179        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6180        0usize,
6181        "Offset of field: bn_mont_ctx_st::RR"
6182    );
6183    assert_eq!(
6184        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6185        24usize,
6186        "Offset of field: bn_mont_ctx_st::N"
6187    );
6188    assert_eq!(
6189        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6190        48usize,
6191        "Offset of field: bn_mont_ctx_st::n0"
6192    );
6193}
6194impl Default for bn_mont_ctx_st {
6195    fn default() -> Self {
6196        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6197        unsafe {
6198            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6199            s.assume_init()
6200        }
6201    }
6202}
6203extern "C" {
6204    #[link_name = "\u{1}aws_lc_0_43_0_BN_num_bits_word"]
6205    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6206}
6207#[repr(C)]
6208#[derive(Debug, Copy, Clone)]
6209pub struct ASN1_VALUE_st {
6210    _unused: [u8; 0],
6211}
6212pub type ASN1_VALUE = ASN1_VALUE_st;
6213#[repr(C)]
6214#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6215pub struct asn1_string_st {
6216    pub length: ::std::os::raw::c_int,
6217    pub type_: ::std::os::raw::c_int,
6218    pub data: *mut ::std::os::raw::c_uchar,
6219    pub flags: ::std::os::raw::c_long,
6220}
6221#[test]
6222fn bindgen_test_layout_asn1_string_st() {
6223    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6224    let ptr = UNINIT.as_ptr();
6225    assert_eq!(
6226        ::std::mem::size_of::<asn1_string_st>(),
6227        24usize,
6228        "Size of asn1_string_st"
6229    );
6230    assert_eq!(
6231        ::std::mem::align_of::<asn1_string_st>(),
6232        8usize,
6233        "Alignment of asn1_string_st"
6234    );
6235    assert_eq!(
6236        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6237        0usize,
6238        "Offset of field: asn1_string_st::length"
6239    );
6240    assert_eq!(
6241        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6242        4usize,
6243        "Offset of field: asn1_string_st::type_"
6244    );
6245    assert_eq!(
6246        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6247        8usize,
6248        "Offset of field: asn1_string_st::data"
6249    );
6250    assert_eq!(
6251        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6252        16usize,
6253        "Offset of field: asn1_string_st::flags"
6254    );
6255}
6256impl Default for asn1_string_st {
6257    fn default() -> Self {
6258        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6259        unsafe {
6260            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6261            s.assume_init()
6262        }
6263    }
6264}
6265#[repr(C)]
6266#[derive(Copy, Clone)]
6267pub struct asn1_type_st {
6268    pub type_: ::std::os::raw::c_int,
6269    pub value: asn1_type_st__bindgen_ty_1,
6270}
6271#[repr(C)]
6272#[derive(Copy, Clone)]
6273pub union asn1_type_st__bindgen_ty_1 {
6274    pub ptr: *mut ::std::os::raw::c_char,
6275    pub boolean: ASN1_BOOLEAN,
6276    pub asn1_string: *mut ASN1_STRING,
6277    pub object: *mut ASN1_OBJECT,
6278    pub integer: *mut ASN1_INTEGER,
6279    pub enumerated: *mut ASN1_ENUMERATED,
6280    pub bit_string: *mut ASN1_BIT_STRING,
6281    pub octet_string: *mut ASN1_OCTET_STRING,
6282    pub printablestring: *mut ASN1_PRINTABLESTRING,
6283    pub t61string: *mut ASN1_T61STRING,
6284    pub ia5string: *mut ASN1_IA5STRING,
6285    pub generalstring: *mut ASN1_GENERALSTRING,
6286    pub bmpstring: *mut ASN1_BMPSTRING,
6287    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6288    pub utctime: *mut ASN1_UTCTIME,
6289    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6290    pub visiblestring: *mut ASN1_VISIBLESTRING,
6291    pub utf8string: *mut ASN1_UTF8STRING,
6292    pub set: *mut ASN1_STRING,
6293    pub sequence: *mut ASN1_STRING,
6294    pub asn1_value: *mut ASN1_VALUE,
6295}
6296#[test]
6297fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6298    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6299        ::std::mem::MaybeUninit::uninit();
6300    let ptr = UNINIT.as_ptr();
6301    assert_eq!(
6302        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6303        8usize,
6304        "Size of asn1_type_st__bindgen_ty_1"
6305    );
6306    assert_eq!(
6307        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6308        8usize,
6309        "Alignment of asn1_type_st__bindgen_ty_1"
6310    );
6311    assert_eq!(
6312        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6313        0usize,
6314        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6315    );
6316    assert_eq!(
6317        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6318        0usize,
6319        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6320    );
6321    assert_eq!(
6322        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6323        0usize,
6324        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6325    );
6326    assert_eq!(
6327        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6328        0usize,
6329        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6330    );
6331    assert_eq!(
6332        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6333        0usize,
6334        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6335    );
6336    assert_eq!(
6337        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6338        0usize,
6339        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6340    );
6341    assert_eq!(
6342        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6343        0usize,
6344        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6345    );
6346    assert_eq!(
6347        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6348        0usize,
6349        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6350    );
6351    assert_eq!(
6352        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6353        0usize,
6354        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6355    );
6356    assert_eq!(
6357        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6358        0usize,
6359        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6360    );
6361    assert_eq!(
6362        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6363        0usize,
6364        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6365    );
6366    assert_eq!(
6367        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6368        0usize,
6369        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6370    );
6371    assert_eq!(
6372        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6373        0usize,
6374        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6375    );
6376    assert_eq!(
6377        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6378        0usize,
6379        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6380    );
6381    assert_eq!(
6382        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6383        0usize,
6384        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6385    );
6386    assert_eq!(
6387        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6388        0usize,
6389        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6390    );
6391    assert_eq!(
6392        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6393        0usize,
6394        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6395    );
6396    assert_eq!(
6397        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6398        0usize,
6399        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6400    );
6401    assert_eq!(
6402        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6403        0usize,
6404        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6405    );
6406    assert_eq!(
6407        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6408        0usize,
6409        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6410    );
6411    assert_eq!(
6412        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6413        0usize,
6414        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6415    );
6416}
6417impl Default for asn1_type_st__bindgen_ty_1 {
6418    fn default() -> Self {
6419        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6420        unsafe {
6421            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6422            s.assume_init()
6423        }
6424    }
6425}
6426#[test]
6427fn bindgen_test_layout_asn1_type_st() {
6428    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6429    let ptr = UNINIT.as_ptr();
6430    assert_eq!(
6431        ::std::mem::size_of::<asn1_type_st>(),
6432        16usize,
6433        "Size of asn1_type_st"
6434    );
6435    assert_eq!(
6436        ::std::mem::align_of::<asn1_type_st>(),
6437        8usize,
6438        "Alignment of asn1_type_st"
6439    );
6440    assert_eq!(
6441        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6442        0usize,
6443        "Offset of field: asn1_type_st::type_"
6444    );
6445    assert_eq!(
6446        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6447        8usize,
6448        "Offset of field: asn1_type_st::value"
6449    );
6450}
6451impl Default for asn1_type_st {
6452    fn default() -> Self {
6453        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6454        unsafe {
6455            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6456            s.assume_init()
6457        }
6458    }
6459}
6460pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6461#[repr(C)]
6462#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6463pub struct ASN1_TEMPLATE_st {
6464    pub flags: u32,
6465    pub tag: ::std::os::raw::c_int,
6466    pub offset: ::std::os::raw::c_ulong,
6467    pub field_name: *const ::std::os::raw::c_char,
6468    pub item: *const ASN1_ITEM_st,
6469}
6470#[test]
6471fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6472    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6473    let ptr = UNINIT.as_ptr();
6474    assert_eq!(
6475        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6476        32usize,
6477        "Size of ASN1_TEMPLATE_st"
6478    );
6479    assert_eq!(
6480        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6481        8usize,
6482        "Alignment of ASN1_TEMPLATE_st"
6483    );
6484    assert_eq!(
6485        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6486        0usize,
6487        "Offset of field: ASN1_TEMPLATE_st::flags"
6488    );
6489    assert_eq!(
6490        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6491        4usize,
6492        "Offset of field: ASN1_TEMPLATE_st::tag"
6493    );
6494    assert_eq!(
6495        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6496        8usize,
6497        "Offset of field: ASN1_TEMPLATE_st::offset"
6498    );
6499    assert_eq!(
6500        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6501        16usize,
6502        "Offset of field: ASN1_TEMPLATE_st::field_name"
6503    );
6504    assert_eq!(
6505        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6506        24usize,
6507        "Offset of field: ASN1_TEMPLATE_st::item"
6508    );
6509}
6510impl Default for ASN1_TEMPLATE_st {
6511    fn default() -> Self {
6512        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6513        unsafe {
6514            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6515            s.assume_init()
6516        }
6517    }
6518}
6519#[repr(C)]
6520#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6521pub struct ASN1_ITEM_st {
6522    pub itype: ::std::os::raw::c_char,
6523    pub utype: ::std::os::raw::c_int,
6524    pub templates: *const ASN1_TEMPLATE,
6525    pub tcount: ::std::os::raw::c_long,
6526    pub funcs: *const ::std::os::raw::c_void,
6527    pub size: ::std::os::raw::c_long,
6528    pub sname: *const ::std::os::raw::c_char,
6529}
6530#[test]
6531fn bindgen_test_layout_ASN1_ITEM_st() {
6532    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6533    let ptr = UNINIT.as_ptr();
6534    assert_eq!(
6535        ::std::mem::size_of::<ASN1_ITEM_st>(),
6536        48usize,
6537        "Size of ASN1_ITEM_st"
6538    );
6539    assert_eq!(
6540        ::std::mem::align_of::<ASN1_ITEM_st>(),
6541        8usize,
6542        "Alignment of ASN1_ITEM_st"
6543    );
6544    assert_eq!(
6545        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6546        0usize,
6547        "Offset of field: ASN1_ITEM_st::itype"
6548    );
6549    assert_eq!(
6550        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6551        4usize,
6552        "Offset of field: ASN1_ITEM_st::utype"
6553    );
6554    assert_eq!(
6555        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6556        8usize,
6557        "Offset of field: ASN1_ITEM_st::templates"
6558    );
6559    assert_eq!(
6560        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6561        16usize,
6562        "Offset of field: ASN1_ITEM_st::tcount"
6563    );
6564    assert_eq!(
6565        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6566        24usize,
6567        "Offset of field: ASN1_ITEM_st::funcs"
6568    );
6569    assert_eq!(
6570        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6571        32usize,
6572        "Offset of field: ASN1_ITEM_st::size"
6573    );
6574    assert_eq!(
6575        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6576        40usize,
6577        "Offset of field: ASN1_ITEM_st::sname"
6578    );
6579}
6580impl Default for ASN1_ITEM_st {
6581    fn default() -> Self {
6582        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6583        unsafe {
6584            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6585            s.assume_init()
6586        }
6587    }
6588}
6589#[repr(C)]
6590#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6591pub struct evp_encode_ctx_st {
6592    pub data_used: ::std::os::raw::c_uint,
6593    pub data: [u8; 48usize],
6594    pub eof_seen: ::std::os::raw::c_char,
6595    pub error_encountered: ::std::os::raw::c_char,
6596}
6597#[test]
6598fn bindgen_test_layout_evp_encode_ctx_st() {
6599    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6600    let ptr = UNINIT.as_ptr();
6601    assert_eq!(
6602        ::std::mem::size_of::<evp_encode_ctx_st>(),
6603        56usize,
6604        "Size of evp_encode_ctx_st"
6605    );
6606    assert_eq!(
6607        ::std::mem::align_of::<evp_encode_ctx_st>(),
6608        4usize,
6609        "Alignment of evp_encode_ctx_st"
6610    );
6611    assert_eq!(
6612        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6613        0usize,
6614        "Offset of field: evp_encode_ctx_st::data_used"
6615    );
6616    assert_eq!(
6617        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6618        4usize,
6619        "Offset of field: evp_encode_ctx_st::data"
6620    );
6621    assert_eq!(
6622        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6623        52usize,
6624        "Offset of field: evp_encode_ctx_st::eof_seen"
6625    );
6626    assert_eq!(
6627        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6628        53usize,
6629        "Offset of field: evp_encode_ctx_st::error_encountered"
6630    );
6631}
6632impl Default for evp_encode_ctx_st {
6633    fn default() -> Self {
6634        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6635        unsafe {
6636            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6637            s.assume_init()
6638        }
6639    }
6640}
6641#[repr(C)]
6642#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6643pub struct blake2b_state_st {
6644    pub h: [u64; 8usize],
6645    pub t_low: u64,
6646    pub t_high: u64,
6647    pub block: [u8; 128usize],
6648    pub block_used: usize,
6649}
6650#[test]
6651fn bindgen_test_layout_blake2b_state_st() {
6652    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6653    let ptr = UNINIT.as_ptr();
6654    assert_eq!(
6655        ::std::mem::size_of::<blake2b_state_st>(),
6656        216usize,
6657        "Size of blake2b_state_st"
6658    );
6659    assert_eq!(
6660        ::std::mem::align_of::<blake2b_state_st>(),
6661        8usize,
6662        "Alignment of blake2b_state_st"
6663    );
6664    assert_eq!(
6665        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6666        0usize,
6667        "Offset of field: blake2b_state_st::h"
6668    );
6669    assert_eq!(
6670        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6671        64usize,
6672        "Offset of field: blake2b_state_st::t_low"
6673    );
6674    assert_eq!(
6675        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6676        72usize,
6677        "Offset of field: blake2b_state_st::t_high"
6678    );
6679    assert_eq!(
6680        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6681        80usize,
6682        "Offset of field: blake2b_state_st::block"
6683    );
6684    assert_eq!(
6685        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6686        208usize,
6687        "Offset of field: blake2b_state_st::block_used"
6688    );
6689}
6690impl Default for blake2b_state_st {
6691    fn default() -> Self {
6692        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6693        unsafe {
6694            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6695            s.assume_init()
6696        }
6697    }
6698}
6699#[repr(C)]
6700#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6701pub struct cbs_st {
6702    pub data: *const u8,
6703    pub len: usize,
6704}
6705#[test]
6706fn bindgen_test_layout_cbs_st() {
6707    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6708    let ptr = UNINIT.as_ptr();
6709    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6710    assert_eq!(
6711        ::std::mem::align_of::<cbs_st>(),
6712        8usize,
6713        "Alignment of cbs_st"
6714    );
6715    assert_eq!(
6716        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6717        0usize,
6718        "Offset of field: cbs_st::data"
6719    );
6720    assert_eq!(
6721        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6722        8usize,
6723        "Offset of field: cbs_st::len"
6724    );
6725}
6726impl Default for cbs_st {
6727    fn default() -> Self {
6728        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6729        unsafe {
6730            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6731            s.assume_init()
6732        }
6733    }
6734}
6735extern "C" {
6736    #[link_name = "\u{1}aws_lc_0_43_0_CBS_init"]
6737    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6738}
6739extern "C" {
6740    #[link_name = "\u{1}aws_lc_0_43_0_CBS_skip"]
6741    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6742}
6743extern "C" {
6744    #[link_name = "\u{1}aws_lc_0_43_0_CBS_data"]
6745    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6746}
6747extern "C" {
6748    #[link_name = "\u{1}aws_lc_0_43_0_CBS_len"]
6749    pub fn CBS_len(cbs: *const CBS) -> usize;
6750}
6751extern "C" {
6752    #[link_name = "\u{1}aws_lc_0_43_0_CBS_stow"]
6753    pub fn CBS_stow(
6754        cbs: *const CBS,
6755        out_ptr: *mut *mut u8,
6756        out_len: *mut usize,
6757    ) -> ::std::os::raw::c_int;
6758}
6759extern "C" {
6760    #[link_name = "\u{1}aws_lc_0_43_0_CBS_strdup"]
6761    pub fn CBS_strdup(
6762        cbs: *const CBS,
6763        out_ptr: *mut *mut ::std::os::raw::c_char,
6764    ) -> ::std::os::raw::c_int;
6765}
6766extern "C" {
6767    #[link_name = "\u{1}aws_lc_0_43_0_CBS_contains_zero_byte"]
6768    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6769}
6770extern "C" {
6771    #[link_name = "\u{1}aws_lc_0_43_0_CBS_mem_equal"]
6772    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6773}
6774extern "C" {
6775    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u8"]
6776    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6777}
6778extern "C" {
6779    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u16"]
6780    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6781}
6782extern "C" {
6783    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u16le"]
6784    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6785}
6786extern "C" {
6787    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u24"]
6788    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6789}
6790extern "C" {
6791    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u32"]
6792    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6793}
6794extern "C" {
6795    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u32le"]
6796    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6797}
6798extern "C" {
6799    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u64"]
6800    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6801}
6802extern "C" {
6803    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u64le"]
6804    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6805}
6806extern "C" {
6807    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_last_u8"]
6808    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6809}
6810extern "C" {
6811    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_bytes"]
6812    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6813}
6814extern "C" {
6815    #[link_name = "\u{1}aws_lc_0_43_0_CBS_copy_bytes"]
6816    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6817}
6818extern "C" {
6819    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u8_length_prefixed"]
6820    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6821}
6822extern "C" {
6823    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u16_length_prefixed"]
6824    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6825}
6826extern "C" {
6827    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u24_length_prefixed"]
6828    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6829}
6830extern "C" {
6831    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_until_first"]
6832    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6833}
6834extern "C" {
6835    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_u64_decimal"]
6836    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6837}
6838extern "C" {
6839    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_asn1"]
6840    pub fn CBS_get_asn1(
6841        cbs: *mut CBS,
6842        out: *mut CBS,
6843        tag_value: CBS_ASN1_TAG,
6844    ) -> ::std::os::raw::c_int;
6845}
6846extern "C" {
6847    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_asn1_element"]
6848    pub fn CBS_get_asn1_element(
6849        cbs: *mut CBS,
6850        out: *mut CBS,
6851        tag_value: CBS_ASN1_TAG,
6852    ) -> ::std::os::raw::c_int;
6853}
6854extern "C" {
6855    #[link_name = "\u{1}aws_lc_0_43_0_CBS_peek_asn1_tag"]
6856    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6857}
6858extern "C" {
6859    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_any_asn1"]
6860    pub fn CBS_get_any_asn1(
6861        cbs: *mut CBS,
6862        out: *mut CBS,
6863        out_tag: *mut CBS_ASN1_TAG,
6864    ) -> ::std::os::raw::c_int;
6865}
6866extern "C" {
6867    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_any_asn1_element"]
6868    pub fn CBS_get_any_asn1_element(
6869        cbs: *mut CBS,
6870        out: *mut CBS,
6871        out_tag: *mut CBS_ASN1_TAG,
6872        out_header_len: *mut usize,
6873    ) -> ::std::os::raw::c_int;
6874}
6875extern "C" {
6876    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_any_ber_asn1_element"]
6877    pub fn CBS_get_any_ber_asn1_element(
6878        cbs: *mut CBS,
6879        out: *mut CBS,
6880        out_tag: *mut CBS_ASN1_TAG,
6881        out_header_len: *mut usize,
6882        out_ber_found: *mut ::std::os::raw::c_int,
6883        out_indefinite: *mut ::std::os::raw::c_int,
6884    ) -> ::std::os::raw::c_int;
6885}
6886extern "C" {
6887    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_asn1_uint64"]
6888    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6889}
6890extern "C" {
6891    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_asn1_int64"]
6892    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
6893}
6894extern "C" {
6895    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_asn1_bool"]
6896    pub fn CBS_get_asn1_bool(
6897        cbs: *mut CBS,
6898        out: *mut ::std::os::raw::c_int,
6899    ) -> ::std::os::raw::c_int;
6900}
6901extern "C" {
6902    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_optional_asn1"]
6903    pub fn CBS_get_optional_asn1(
6904        cbs: *mut CBS,
6905        out: *mut CBS,
6906        out_present: *mut ::std::os::raw::c_int,
6907        tag: CBS_ASN1_TAG,
6908    ) -> ::std::os::raw::c_int;
6909}
6910extern "C" {
6911    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_optional_asn1_octet_string"]
6912    pub fn CBS_get_optional_asn1_octet_string(
6913        cbs: *mut CBS,
6914        out: *mut CBS,
6915        out_present: *mut ::std::os::raw::c_int,
6916        tag: CBS_ASN1_TAG,
6917    ) -> ::std::os::raw::c_int;
6918}
6919extern "C" {
6920    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_optional_asn1_uint64"]
6921    pub fn CBS_get_optional_asn1_uint64(
6922        cbs: *mut CBS,
6923        out: *mut u64,
6924        tag: CBS_ASN1_TAG,
6925        default_value: u64,
6926    ) -> ::std::os::raw::c_int;
6927}
6928extern "C" {
6929    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_optional_asn1_bool"]
6930    pub fn CBS_get_optional_asn1_bool(
6931        cbs: *mut CBS,
6932        out: *mut ::std::os::raw::c_int,
6933        tag: CBS_ASN1_TAG,
6934        default_value: ::std::os::raw::c_int,
6935    ) -> ::std::os::raw::c_int;
6936}
6937extern "C" {
6938    #[link_name = "\u{1}aws_lc_0_43_0_CBS_is_valid_asn1_bitstring"]
6939    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
6940}
6941extern "C" {
6942    #[link_name = "\u{1}aws_lc_0_43_0_CBS_asn1_bitstring_has_bit"]
6943    pub fn CBS_asn1_bitstring_has_bit(
6944        cbs: *const CBS,
6945        bit: ::std::os::raw::c_uint,
6946    ) -> ::std::os::raw::c_int;
6947}
6948extern "C" {
6949    #[link_name = "\u{1}aws_lc_0_43_0_CBS_is_valid_asn1_integer"]
6950    pub fn CBS_is_valid_asn1_integer(
6951        cbs: *const CBS,
6952        out_is_negative: *mut ::std::os::raw::c_int,
6953    ) -> ::std::os::raw::c_int;
6954}
6955extern "C" {
6956    #[link_name = "\u{1}aws_lc_0_43_0_CBS_is_unsigned_asn1_integer"]
6957    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
6958}
6959extern "C" {
6960    #[link_name = "\u{1}aws_lc_0_43_0_CBS_is_valid_asn1_oid"]
6961    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
6962}
6963extern "C" {
6964    #[link_name = "\u{1}aws_lc_0_43_0_CBS_asn1_oid_to_text"]
6965    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
6966}
6967extern "C" {
6968    #[link_name = "\u{1}aws_lc_0_43_0_CBS_get_optional_asn1_int64"]
6969    pub fn CBS_get_optional_asn1_int64(
6970        cbs: *mut CBS,
6971        out: *mut i64,
6972        tag: CBS_ASN1_TAG,
6973        default_value: i64,
6974    ) -> ::std::os::raw::c_int;
6975}
6976#[repr(C)]
6977#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6978pub struct cbb_buffer_st {
6979    pub buf: *mut u8,
6980    pub len: usize,
6981    pub cap: usize,
6982    pub _bitfield_align_1: [u8; 0],
6983    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6984    pub __bindgen_padding_0: [u8; 7usize],
6985}
6986#[test]
6987fn bindgen_test_layout_cbb_buffer_st() {
6988    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
6989    let ptr = UNINIT.as_ptr();
6990    assert_eq!(
6991        ::std::mem::size_of::<cbb_buffer_st>(),
6992        32usize,
6993        "Size of cbb_buffer_st"
6994    );
6995    assert_eq!(
6996        ::std::mem::align_of::<cbb_buffer_st>(),
6997        8usize,
6998        "Alignment of cbb_buffer_st"
6999    );
7000    assert_eq!(
7001        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
7002        0usize,
7003        "Offset of field: cbb_buffer_st::buf"
7004    );
7005    assert_eq!(
7006        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
7007        8usize,
7008        "Offset of field: cbb_buffer_st::len"
7009    );
7010    assert_eq!(
7011        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
7012        16usize,
7013        "Offset of field: cbb_buffer_st::cap"
7014    );
7015}
7016impl Default for cbb_buffer_st {
7017    fn default() -> Self {
7018        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7019        unsafe {
7020            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7021            s.assume_init()
7022        }
7023    }
7024}
7025impl cbb_buffer_st {
7026    #[inline]
7027    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
7028        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7029    }
7030    #[inline]
7031    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
7032        unsafe {
7033            let val: u32 = ::std::mem::transmute(val);
7034            self._bitfield_1.set(0usize, 1u8, val as u64)
7035        }
7036    }
7037    #[inline]
7038    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
7039        unsafe {
7040            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7041                ::std::ptr::addr_of!((*this)._bitfield_1),
7042                0usize,
7043                1u8,
7044            ) as u32)
7045        }
7046    }
7047    #[inline]
7048    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7049        unsafe {
7050            let val: u32 = ::std::mem::transmute(val);
7051            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7052                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7053                0usize,
7054                1u8,
7055                val as u64,
7056            )
7057        }
7058    }
7059    #[inline]
7060    pub fn error(&self) -> ::std::os::raw::c_uint {
7061        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7062    }
7063    #[inline]
7064    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7065        unsafe {
7066            let val: u32 = ::std::mem::transmute(val);
7067            self._bitfield_1.set(1usize, 1u8, val as u64)
7068        }
7069    }
7070    #[inline]
7071    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7072        unsafe {
7073            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7074                ::std::ptr::addr_of!((*this)._bitfield_1),
7075                1usize,
7076                1u8,
7077            ) as u32)
7078        }
7079    }
7080    #[inline]
7081    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7082        unsafe {
7083            let val: u32 = ::std::mem::transmute(val);
7084            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7085                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7086                1usize,
7087                1u8,
7088                val as u64,
7089            )
7090        }
7091    }
7092    #[inline]
7093    pub fn new_bitfield_1(
7094        can_resize: ::std::os::raw::c_uint,
7095        error: ::std::os::raw::c_uint,
7096    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7097        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7098        __bindgen_bitfield_unit.set(0usize, 1u8, {
7099            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7100            can_resize as u64
7101        });
7102        __bindgen_bitfield_unit.set(1usize, 1u8, {
7103            let error: u32 = unsafe { ::std::mem::transmute(error) };
7104            error as u64
7105        });
7106        __bindgen_bitfield_unit
7107    }
7108}
7109#[repr(C)]
7110#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7111pub struct cbb_child_st {
7112    pub base: *mut cbb_buffer_st,
7113    pub offset: usize,
7114    pub pending_len_len: u8,
7115    pub _bitfield_align_1: [u8; 0],
7116    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7117    pub __bindgen_padding_0: [u16; 3usize],
7118}
7119#[test]
7120fn bindgen_test_layout_cbb_child_st() {
7121    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7122    let ptr = UNINIT.as_ptr();
7123    assert_eq!(
7124        ::std::mem::size_of::<cbb_child_st>(),
7125        24usize,
7126        "Size of cbb_child_st"
7127    );
7128    assert_eq!(
7129        ::std::mem::align_of::<cbb_child_st>(),
7130        8usize,
7131        "Alignment of cbb_child_st"
7132    );
7133    assert_eq!(
7134        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7135        0usize,
7136        "Offset of field: cbb_child_st::base"
7137    );
7138    assert_eq!(
7139        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7140        8usize,
7141        "Offset of field: cbb_child_st::offset"
7142    );
7143    assert_eq!(
7144        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7145        16usize,
7146        "Offset of field: cbb_child_st::pending_len_len"
7147    );
7148}
7149impl Default for cbb_child_st {
7150    fn default() -> Self {
7151        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7152        unsafe {
7153            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7154            s.assume_init()
7155        }
7156    }
7157}
7158impl cbb_child_st {
7159    #[inline]
7160    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7161        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7162    }
7163    #[inline]
7164    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7165        unsafe {
7166            let val: u32 = ::std::mem::transmute(val);
7167            self._bitfield_1.set(0usize, 1u8, val as u64)
7168        }
7169    }
7170    #[inline]
7171    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7172        unsafe {
7173            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7174                ::std::ptr::addr_of!((*this)._bitfield_1),
7175                0usize,
7176                1u8,
7177            ) as u32)
7178        }
7179    }
7180    #[inline]
7181    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7182        unsafe {
7183            let val: u32 = ::std::mem::transmute(val);
7184            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7185                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7186                0usize,
7187                1u8,
7188                val as u64,
7189            )
7190        }
7191    }
7192    #[inline]
7193    pub fn new_bitfield_1(
7194        pending_is_asn1: ::std::os::raw::c_uint,
7195    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7196        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7197        __bindgen_bitfield_unit.set(0usize, 1u8, {
7198            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7199            pending_is_asn1 as u64
7200        });
7201        __bindgen_bitfield_unit
7202    }
7203}
7204#[repr(C)]
7205#[derive(Copy, Clone)]
7206pub struct cbb_st {
7207    pub child: *mut CBB,
7208    pub is_child: ::std::os::raw::c_char,
7209    pub u: cbb_st__bindgen_ty_1,
7210}
7211#[repr(C)]
7212#[derive(Copy, Clone)]
7213pub union cbb_st__bindgen_ty_1 {
7214    pub base: cbb_buffer_st,
7215    pub child: cbb_child_st,
7216}
7217#[test]
7218fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7219    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7220    let ptr = UNINIT.as_ptr();
7221    assert_eq!(
7222        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7223        32usize,
7224        "Size of cbb_st__bindgen_ty_1"
7225    );
7226    assert_eq!(
7227        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7228        8usize,
7229        "Alignment of cbb_st__bindgen_ty_1"
7230    );
7231    assert_eq!(
7232        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7233        0usize,
7234        "Offset of field: cbb_st__bindgen_ty_1::base"
7235    );
7236    assert_eq!(
7237        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7238        0usize,
7239        "Offset of field: cbb_st__bindgen_ty_1::child"
7240    );
7241}
7242impl Default for cbb_st__bindgen_ty_1 {
7243    fn default() -> Self {
7244        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7245        unsafe {
7246            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7247            s.assume_init()
7248        }
7249    }
7250}
7251#[test]
7252fn bindgen_test_layout_cbb_st() {
7253    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7254    let ptr = UNINIT.as_ptr();
7255    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7256    assert_eq!(
7257        ::std::mem::align_of::<cbb_st>(),
7258        8usize,
7259        "Alignment of cbb_st"
7260    );
7261    assert_eq!(
7262        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7263        0usize,
7264        "Offset of field: cbb_st::child"
7265    );
7266    assert_eq!(
7267        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7268        8usize,
7269        "Offset of field: cbb_st::is_child"
7270    );
7271    assert_eq!(
7272        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7273        16usize,
7274        "Offset of field: cbb_st::u"
7275    );
7276}
7277impl Default for cbb_st {
7278    fn default() -> Self {
7279        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7280        unsafe {
7281            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7282            s.assume_init()
7283        }
7284    }
7285}
7286extern "C" {
7287    #[link_name = "\u{1}aws_lc_0_43_0_CBB_zero"]
7288    pub fn CBB_zero(cbb: *mut CBB);
7289}
7290extern "C" {
7291    #[link_name = "\u{1}aws_lc_0_43_0_CBB_init"]
7292    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7293}
7294extern "C" {
7295    #[link_name = "\u{1}aws_lc_0_43_0_CBB_init_fixed"]
7296    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7297}
7298extern "C" {
7299    #[link_name = "\u{1}aws_lc_0_43_0_CBB_cleanup"]
7300    pub fn CBB_cleanup(cbb: *mut CBB);
7301}
7302extern "C" {
7303    #[link_name = "\u{1}aws_lc_0_43_0_CBB_finish"]
7304    pub fn CBB_finish(
7305        cbb: *mut CBB,
7306        out_data: *mut *mut u8,
7307        out_len: *mut usize,
7308    ) -> ::std::os::raw::c_int;
7309}
7310extern "C" {
7311    #[link_name = "\u{1}aws_lc_0_43_0_CBB_flush"]
7312    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7313}
7314extern "C" {
7315    #[link_name = "\u{1}aws_lc_0_43_0_CBB_data"]
7316    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7317}
7318extern "C" {
7319    #[link_name = "\u{1}aws_lc_0_43_0_CBB_len"]
7320    pub fn CBB_len(cbb: *const CBB) -> usize;
7321}
7322extern "C" {
7323    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u8_length_prefixed"]
7324    pub fn CBB_add_u8_length_prefixed(
7325        cbb: *mut CBB,
7326        out_contents: *mut CBB,
7327    ) -> ::std::os::raw::c_int;
7328}
7329extern "C" {
7330    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u16_length_prefixed"]
7331    pub fn CBB_add_u16_length_prefixed(
7332        cbb: *mut CBB,
7333        out_contents: *mut CBB,
7334    ) -> ::std::os::raw::c_int;
7335}
7336extern "C" {
7337    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u24_length_prefixed"]
7338    pub fn CBB_add_u24_length_prefixed(
7339        cbb: *mut CBB,
7340        out_contents: *mut CBB,
7341    ) -> ::std::os::raw::c_int;
7342}
7343extern "C" {
7344    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1"]
7345    pub fn CBB_add_asn1(
7346        cbb: *mut CBB,
7347        out_contents: *mut CBB,
7348        tag: CBS_ASN1_TAG,
7349    ) -> ::std::os::raw::c_int;
7350}
7351extern "C" {
7352    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_bytes"]
7353    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7354}
7355extern "C" {
7356    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_zeros"]
7357    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7358}
7359extern "C" {
7360    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_space"]
7361    pub fn CBB_add_space(
7362        cbb: *mut CBB,
7363        out_data: *mut *mut u8,
7364        len: usize,
7365    ) -> ::std::os::raw::c_int;
7366}
7367extern "C" {
7368    #[link_name = "\u{1}aws_lc_0_43_0_CBB_reserve"]
7369    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7370}
7371extern "C" {
7372    #[link_name = "\u{1}aws_lc_0_43_0_CBB_did_write"]
7373    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7374}
7375extern "C" {
7376    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u8"]
7377    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7378}
7379extern "C" {
7380    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u16"]
7381    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7382}
7383extern "C" {
7384    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u16le"]
7385    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7386}
7387extern "C" {
7388    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u24"]
7389    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7390}
7391extern "C" {
7392    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u32"]
7393    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7394}
7395extern "C" {
7396    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u32le"]
7397    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7398}
7399extern "C" {
7400    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u64"]
7401    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7402}
7403extern "C" {
7404    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_u64le"]
7405    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7406}
7407extern "C" {
7408    #[link_name = "\u{1}aws_lc_0_43_0_CBB_discard_child"]
7409    pub fn CBB_discard_child(cbb: *mut CBB);
7410}
7411extern "C" {
7412    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1_uint64"]
7413    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7414}
7415extern "C" {
7416    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1_uint64_with_tag"]
7417    pub fn CBB_add_asn1_uint64_with_tag(
7418        cbb: *mut CBB,
7419        value: u64,
7420        tag: CBS_ASN1_TAG,
7421    ) -> ::std::os::raw::c_int;
7422}
7423extern "C" {
7424    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1_int64"]
7425    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7426}
7427extern "C" {
7428    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1_int64_with_tag"]
7429    pub fn CBB_add_asn1_int64_with_tag(
7430        cbb: *mut CBB,
7431        value: i64,
7432        tag: CBS_ASN1_TAG,
7433    ) -> ::std::os::raw::c_int;
7434}
7435extern "C" {
7436    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1_octet_string"]
7437    pub fn CBB_add_asn1_octet_string(
7438        cbb: *mut CBB,
7439        data: *const u8,
7440        data_len: usize,
7441    ) -> ::std::os::raw::c_int;
7442}
7443extern "C" {
7444    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1_bool"]
7445    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7446}
7447extern "C" {
7448    #[link_name = "\u{1}aws_lc_0_43_0_CBB_add_asn1_oid_from_text"]
7449    pub fn CBB_add_asn1_oid_from_text(
7450        cbb: *mut CBB,
7451        text: *const ::std::os::raw::c_char,
7452        len: usize,
7453    ) -> ::std::os::raw::c_int;
7454}
7455extern "C" {
7456    #[link_name = "\u{1}aws_lc_0_43_0_CBB_flush_asn1_set_of"]
7457    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7458}
7459extern "C" {
7460    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_chacha_20"]
7461    pub fn CRYPTO_chacha_20(
7462        out: *mut u8,
7463        in_: *const u8,
7464        in_len: usize,
7465        key: *const u8,
7466        nonce: *const u8,
7467        counter: u32,
7468    );
7469}
7470extern "C" {
7471    #[link_name = "\u{1}aws_lc_0_43_0_EVP_rc4"]
7472    pub fn EVP_rc4() -> *const EVP_CIPHER;
7473}
7474extern "C" {
7475    #[link_name = "\u{1}aws_lc_0_43_0_EVP_des_cbc"]
7476    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7477}
7478extern "C" {
7479    #[link_name = "\u{1}aws_lc_0_43_0_EVP_des_ecb"]
7480    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7481}
7482extern "C" {
7483    #[link_name = "\u{1}aws_lc_0_43_0_EVP_des_ede"]
7484    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7485}
7486extern "C" {
7487    #[link_name = "\u{1}aws_lc_0_43_0_EVP_des_ede3"]
7488    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7489}
7490extern "C" {
7491    #[link_name = "\u{1}aws_lc_0_43_0_EVP_des_ede_cbc"]
7492    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7493}
7494extern "C" {
7495    #[link_name = "\u{1}aws_lc_0_43_0_EVP_des_ede3_cbc"]
7496    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7497}
7498extern "C" {
7499    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_ecb"]
7500    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7501}
7502extern "C" {
7503    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_cbc"]
7504    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7505}
7506extern "C" {
7507    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_ctr"]
7508    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7509}
7510extern "C" {
7511    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_ofb"]
7512    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7513}
7514extern "C" {
7515    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_ecb"]
7516    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7517}
7518extern "C" {
7519    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_cbc"]
7520    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7521}
7522extern "C" {
7523    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_ctr"]
7524    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7525}
7526extern "C" {
7527    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_ofb"]
7528    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7529}
7530extern "C" {
7531    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_xts"]
7532    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7533}
7534extern "C" {
7535    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_wrap"]
7536    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7537}
7538extern "C" {
7539    #[link_name = "\u{1}aws_lc_0_43_0_EVP_enc_null"]
7540    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7541}
7542extern "C" {
7543    #[link_name = "\u{1}aws_lc_0_43_0_EVP_rc2_cbc"]
7544    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7545}
7546extern "C" {
7547    #[link_name = "\u{1}aws_lc_0_43_0_EVP_rc2_40_cbc"]
7548    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7549}
7550extern "C" {
7551    #[link_name = "\u{1}aws_lc_0_43_0_EVP_chacha20_poly1305"]
7552    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7553}
7554extern "C" {
7555    #[link_name = "\u{1}aws_lc_0_43_0_EVP_get_cipherbynid"]
7556    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7557}
7558extern "C" {
7559    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_init"]
7560    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7561}
7562extern "C" {
7563    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_new"]
7564    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7565}
7566extern "C" {
7567    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_cleanup"]
7568    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7569}
7570extern "C" {
7571    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_free"]
7572    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7573}
7574extern "C" {
7575    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_copy"]
7576    pub fn EVP_CIPHER_CTX_copy(
7577        out: *mut EVP_CIPHER_CTX,
7578        in_: *const EVP_CIPHER_CTX,
7579    ) -> ::std::os::raw::c_int;
7580}
7581extern "C" {
7582    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_reset"]
7583    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7584}
7585extern "C" {
7586    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CipherInit_ex"]
7587    pub fn EVP_CipherInit_ex(
7588        ctx: *mut EVP_CIPHER_CTX,
7589        cipher: *const EVP_CIPHER,
7590        engine: *mut ENGINE,
7591        key: *const u8,
7592        iv: *const u8,
7593        enc: ::std::os::raw::c_int,
7594    ) -> ::std::os::raw::c_int;
7595}
7596extern "C" {
7597    #[link_name = "\u{1}aws_lc_0_43_0_EVP_EncryptInit_ex"]
7598    pub fn EVP_EncryptInit_ex(
7599        ctx: *mut EVP_CIPHER_CTX,
7600        cipher: *const EVP_CIPHER,
7601        impl_: *mut ENGINE,
7602        key: *const u8,
7603        iv: *const u8,
7604    ) -> ::std::os::raw::c_int;
7605}
7606extern "C" {
7607    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DecryptInit_ex"]
7608    pub fn EVP_DecryptInit_ex(
7609        ctx: *mut EVP_CIPHER_CTX,
7610        cipher: *const EVP_CIPHER,
7611        impl_: *mut ENGINE,
7612        key: *const u8,
7613        iv: *const u8,
7614    ) -> ::std::os::raw::c_int;
7615}
7616extern "C" {
7617    #[link_name = "\u{1}aws_lc_0_43_0_EVP_EncryptUpdate"]
7618    pub fn EVP_EncryptUpdate(
7619        ctx: *mut EVP_CIPHER_CTX,
7620        out: *mut u8,
7621        out_len: *mut ::std::os::raw::c_int,
7622        in_: *const u8,
7623        in_len: ::std::os::raw::c_int,
7624    ) -> ::std::os::raw::c_int;
7625}
7626extern "C" {
7627    #[link_name = "\u{1}aws_lc_0_43_0_EVP_EncryptFinal_ex"]
7628    pub fn EVP_EncryptFinal_ex(
7629        ctx: *mut EVP_CIPHER_CTX,
7630        out: *mut u8,
7631        out_len: *mut ::std::os::raw::c_int,
7632    ) -> ::std::os::raw::c_int;
7633}
7634extern "C" {
7635    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DecryptUpdate"]
7636    pub fn EVP_DecryptUpdate(
7637        ctx: *mut EVP_CIPHER_CTX,
7638        out: *mut u8,
7639        out_len: *mut ::std::os::raw::c_int,
7640        in_: *const u8,
7641        in_len: ::std::os::raw::c_int,
7642    ) -> ::std::os::raw::c_int;
7643}
7644extern "C" {
7645    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DecryptFinal_ex"]
7646    pub fn EVP_DecryptFinal_ex(
7647        ctx: *mut EVP_CIPHER_CTX,
7648        out: *mut u8,
7649        out_len: *mut ::std::os::raw::c_int,
7650    ) -> ::std::os::raw::c_int;
7651}
7652extern "C" {
7653    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CipherUpdate"]
7654    pub fn EVP_CipherUpdate(
7655        ctx: *mut EVP_CIPHER_CTX,
7656        out: *mut u8,
7657        out_len: *mut ::std::os::raw::c_int,
7658        in_: *const u8,
7659        in_len: ::std::os::raw::c_int,
7660    ) -> ::std::os::raw::c_int;
7661}
7662extern "C" {
7663    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CipherFinal_ex"]
7664    pub fn EVP_CipherFinal_ex(
7665        ctx: *mut EVP_CIPHER_CTX,
7666        out: *mut u8,
7667        out_len: *mut ::std::os::raw::c_int,
7668    ) -> ::std::os::raw::c_int;
7669}
7670extern "C" {
7671    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_cipher"]
7672    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7673}
7674extern "C" {
7675    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_nid"]
7676    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7677}
7678extern "C" {
7679    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_encrypting"]
7680    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7681}
7682extern "C" {
7683    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_block_size"]
7684    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7685}
7686extern "C" {
7687    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_key_length"]
7688    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7689}
7690extern "C" {
7691    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_iv_length"]
7692    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7693}
7694extern "C" {
7695    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_get_app_data"]
7696    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7697}
7698extern "C" {
7699    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_set_app_data"]
7700    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7701}
7702extern "C" {
7703    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_flags"]
7704    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7705}
7706extern "C" {
7707    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_mode"]
7708    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7709}
7710extern "C" {
7711    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_ctrl"]
7712    pub fn EVP_CIPHER_CTX_ctrl(
7713        ctx: *mut EVP_CIPHER_CTX,
7714        command: ::std::os::raw::c_int,
7715        arg: ::std::os::raw::c_int,
7716        ptr: *mut ::std::os::raw::c_void,
7717    ) -> ::std::os::raw::c_int;
7718}
7719extern "C" {
7720    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_set_padding"]
7721    pub fn EVP_CIPHER_CTX_set_padding(
7722        ctx: *mut EVP_CIPHER_CTX,
7723        pad: ::std::os::raw::c_int,
7724    ) -> ::std::os::raw::c_int;
7725}
7726extern "C" {
7727    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_set_key_length"]
7728    pub fn EVP_CIPHER_CTX_set_key_length(
7729        ctx: *mut EVP_CIPHER_CTX,
7730        key_len: ::std::os::raw::c_uint,
7731    ) -> ::std::os::raw::c_int;
7732}
7733extern "C" {
7734    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_nid"]
7735    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7736}
7737extern "C" {
7738    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_name"]
7739    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7740}
7741extern "C" {
7742    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_block_size"]
7743    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7744}
7745extern "C" {
7746    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_key_length"]
7747    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7748}
7749extern "C" {
7750    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_iv_length"]
7751    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7752}
7753extern "C" {
7754    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_flags"]
7755    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7756}
7757extern "C" {
7758    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_mode"]
7759    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7760}
7761extern "C" {
7762    #[link_name = "\u{1}aws_lc_0_43_0_EVP_BytesToKey"]
7763    pub fn EVP_BytesToKey(
7764        type_: *const EVP_CIPHER,
7765        md: *const EVP_MD,
7766        salt: *const u8,
7767        data: *const u8,
7768        data_len: usize,
7769        count: ::std::os::raw::c_uint,
7770        key: *mut u8,
7771        iv: *mut u8,
7772    ) -> ::std::os::raw::c_int;
7773}
7774extern "C" {
7775    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_cbc_hmac_sha1"]
7776    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7777}
7778extern "C" {
7779    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_cbc_hmac_sha1"]
7780    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7781}
7782extern "C" {
7783    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_cbc_hmac_sha256"]
7784    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7785}
7786extern "C" {
7787    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_cbc_hmac_sha256"]
7788    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7789}
7790extern "C" {
7791    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CipherInit"]
7792    pub fn EVP_CipherInit(
7793        ctx: *mut EVP_CIPHER_CTX,
7794        cipher: *const EVP_CIPHER,
7795        key: *const u8,
7796        iv: *const u8,
7797        enc: ::std::os::raw::c_int,
7798    ) -> ::std::os::raw::c_int;
7799}
7800extern "C" {
7801    #[link_name = "\u{1}aws_lc_0_43_0_EVP_EncryptInit"]
7802    pub fn EVP_EncryptInit(
7803        ctx: *mut EVP_CIPHER_CTX,
7804        cipher: *const EVP_CIPHER,
7805        key: *const u8,
7806        iv: *const u8,
7807    ) -> ::std::os::raw::c_int;
7808}
7809extern "C" {
7810    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DecryptInit"]
7811    pub fn EVP_DecryptInit(
7812        ctx: *mut EVP_CIPHER_CTX,
7813        cipher: *const EVP_CIPHER,
7814        key: *const u8,
7815        iv: *const u8,
7816    ) -> ::std::os::raw::c_int;
7817}
7818extern "C" {
7819    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CipherFinal"]
7820    pub fn EVP_CipherFinal(
7821        ctx: *mut EVP_CIPHER_CTX,
7822        out: *mut u8,
7823        out_len: *mut ::std::os::raw::c_int,
7824    ) -> ::std::os::raw::c_int;
7825}
7826extern "C" {
7827    #[link_name = "\u{1}aws_lc_0_43_0_EVP_EncryptFinal"]
7828    pub fn EVP_EncryptFinal(
7829        ctx: *mut EVP_CIPHER_CTX,
7830        out: *mut u8,
7831        out_len: *mut ::std::os::raw::c_int,
7832    ) -> ::std::os::raw::c_int;
7833}
7834extern "C" {
7835    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DecryptFinal"]
7836    pub fn EVP_DecryptFinal(
7837        ctx: *mut EVP_CIPHER_CTX,
7838        out: *mut u8,
7839        out_len: *mut ::std::os::raw::c_int,
7840    ) -> ::std::os::raw::c_int;
7841}
7842extern "C" {
7843    #[link_name = "\u{1}aws_lc_0_43_0_EVP_Cipher"]
7844    pub fn EVP_Cipher(
7845        ctx: *mut EVP_CIPHER_CTX,
7846        out: *mut u8,
7847        in_: *const u8,
7848        in_len: usize,
7849    ) -> ::std::os::raw::c_int;
7850}
7851extern "C" {
7852    #[link_name = "\u{1}aws_lc_0_43_0_EVP_get_cipherbyname"]
7853    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7854}
7855extern "C" {
7856    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_gcm"]
7857    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7858}
7859extern "C" {
7860    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_gcm"]
7861    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7862}
7863extern "C" {
7864    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_ccm"]
7865    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
7866}
7867extern "C" {
7868    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_ccm"]
7869    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
7870}
7871extern "C" {
7872    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_ccm"]
7873    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
7874}
7875extern "C" {
7876    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_ecb"]
7877    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
7878}
7879extern "C" {
7880    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_cbc"]
7881    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
7882}
7883extern "C" {
7884    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_ctr"]
7885    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
7886}
7887extern "C" {
7888    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_gcm"]
7889    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
7890}
7891extern "C" {
7892    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_ofb"]
7893    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
7894}
7895extern "C" {
7896    #[link_name = "\u{1}aws_lc_0_43_0_EVP_des_ede3_ecb"]
7897    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
7898}
7899extern "C" {
7900    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_cfb128"]
7901    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
7902}
7903extern "C" {
7904    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_cfb"]
7905    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
7906}
7907extern "C" {
7908    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_cfb1"]
7909    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
7910}
7911extern "C" {
7912    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_128_cfb8"]
7913    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
7914}
7915extern "C" {
7916    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_cfb128"]
7917    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
7918}
7919extern "C" {
7920    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_cfb"]
7921    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
7922}
7923extern "C" {
7924    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_cfb1"]
7925    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
7926}
7927extern "C" {
7928    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_192_cfb8"]
7929    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
7930}
7931extern "C" {
7932    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_cfb128"]
7933    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
7934}
7935extern "C" {
7936    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_cfb"]
7937    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
7938}
7939extern "C" {
7940    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_cfb1"]
7941    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
7942}
7943extern "C" {
7944    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aes_256_cfb8"]
7945    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
7946}
7947extern "C" {
7948    #[link_name = "\u{1}aws_lc_0_43_0_EVP_bf_ecb"]
7949    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
7950}
7951extern "C" {
7952    #[link_name = "\u{1}aws_lc_0_43_0_EVP_bf_cbc"]
7953    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
7954}
7955extern "C" {
7956    #[link_name = "\u{1}aws_lc_0_43_0_EVP_bf_cfb"]
7957    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
7958}
7959extern "C" {
7960    #[link_name = "\u{1}aws_lc_0_43_0_EVP_bf_cfb64"]
7961    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
7962}
7963extern "C" {
7964    #[link_name = "\u{1}aws_lc_0_43_0_EVP_bf_ofb"]
7965    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
7966}
7967extern "C" {
7968    #[link_name = "\u{1}aws_lc_0_43_0_EVP_cast5_ecb"]
7969    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
7970}
7971extern "C" {
7972    #[link_name = "\u{1}aws_lc_0_43_0_EVP_cast5_cbc"]
7973    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
7974}
7975extern "C" {
7976    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_CTX_set_flags"]
7977    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
7978}
7979extern "C" {
7980    #[link_name = "\u{1}aws_lc_0_43_0_EVP_add_cipher_alias"]
7981    pub fn EVP_add_cipher_alias(
7982        a: *const ::std::os::raw::c_char,
7983        b: *const ::std::os::raw::c_char,
7984    ) -> ::std::os::raw::c_int;
7985}
7986#[repr(C)]
7987#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7988pub struct evp_cipher_ctx_st {
7989    pub cipher: *const EVP_CIPHER,
7990    pub app_data: *mut ::std::os::raw::c_void,
7991    pub cipher_data: *mut ::std::os::raw::c_void,
7992    pub key_len: ::std::os::raw::c_uint,
7993    pub encrypt: ::std::os::raw::c_int,
7994    pub flags: u32,
7995    pub oiv: [u8; 16usize],
7996    pub iv: [u8; 16usize],
7997    pub buf: [u8; 32usize],
7998    pub buf_len: ::std::os::raw::c_int,
7999    pub num: ::std::os::raw::c_uint,
8000    pub final_used: ::std::os::raw::c_int,
8001    pub final_: [u8; 32usize],
8002    pub poisoned: ::std::os::raw::c_int,
8003}
8004#[test]
8005fn bindgen_test_layout_evp_cipher_ctx_st() {
8006    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
8007    let ptr = UNINIT.as_ptr();
8008    assert_eq!(
8009        ::std::mem::size_of::<evp_cipher_ctx_st>(),
8010        152usize,
8011        "Size of evp_cipher_ctx_st"
8012    );
8013    assert_eq!(
8014        ::std::mem::align_of::<evp_cipher_ctx_st>(),
8015        8usize,
8016        "Alignment of evp_cipher_ctx_st"
8017    );
8018    assert_eq!(
8019        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8020        0usize,
8021        "Offset of field: evp_cipher_ctx_st::cipher"
8022    );
8023    assert_eq!(
8024        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
8025        8usize,
8026        "Offset of field: evp_cipher_ctx_st::app_data"
8027    );
8028    assert_eq!(
8029        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
8030        16usize,
8031        "Offset of field: evp_cipher_ctx_st::cipher_data"
8032    );
8033    assert_eq!(
8034        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8035        24usize,
8036        "Offset of field: evp_cipher_ctx_st::key_len"
8037    );
8038    assert_eq!(
8039        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8040        28usize,
8041        "Offset of field: evp_cipher_ctx_st::encrypt"
8042    );
8043    assert_eq!(
8044        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8045        32usize,
8046        "Offset of field: evp_cipher_ctx_st::flags"
8047    );
8048    assert_eq!(
8049        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8050        36usize,
8051        "Offset of field: evp_cipher_ctx_st::oiv"
8052    );
8053    assert_eq!(
8054        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8055        52usize,
8056        "Offset of field: evp_cipher_ctx_st::iv"
8057    );
8058    assert_eq!(
8059        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8060        68usize,
8061        "Offset of field: evp_cipher_ctx_st::buf"
8062    );
8063    assert_eq!(
8064        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8065        100usize,
8066        "Offset of field: evp_cipher_ctx_st::buf_len"
8067    );
8068    assert_eq!(
8069        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8070        104usize,
8071        "Offset of field: evp_cipher_ctx_st::num"
8072    );
8073    assert_eq!(
8074        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8075        108usize,
8076        "Offset of field: evp_cipher_ctx_st::final_used"
8077    );
8078    assert_eq!(
8079        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8080        112usize,
8081        "Offset of field: evp_cipher_ctx_st::final_"
8082    );
8083    assert_eq!(
8084        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8085        144usize,
8086        "Offset of field: evp_cipher_ctx_st::poisoned"
8087    );
8088}
8089impl Default for evp_cipher_ctx_st {
8090    fn default() -> Self {
8091        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8092        unsafe {
8093            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8094            s.assume_init()
8095        }
8096    }
8097}
8098#[repr(C)]
8099#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8100pub struct evp_cipher_info_st {
8101    pub cipher: *const EVP_CIPHER,
8102    pub iv: [::std::os::raw::c_uchar; 16usize],
8103}
8104#[test]
8105fn bindgen_test_layout_evp_cipher_info_st() {
8106    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8107    let ptr = UNINIT.as_ptr();
8108    assert_eq!(
8109        ::std::mem::size_of::<evp_cipher_info_st>(),
8110        24usize,
8111        "Size of evp_cipher_info_st"
8112    );
8113    assert_eq!(
8114        ::std::mem::align_of::<evp_cipher_info_st>(),
8115        8usize,
8116        "Alignment of evp_cipher_info_st"
8117    );
8118    assert_eq!(
8119        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8120        0usize,
8121        "Offset of field: evp_cipher_info_st::cipher"
8122    );
8123    assert_eq!(
8124        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8125        8usize,
8126        "Offset of field: evp_cipher_info_st::iv"
8127    );
8128}
8129impl Default for evp_cipher_info_st {
8130    fn default() -> Self {
8131        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8132        unsafe {
8133            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8134            s.assume_init()
8135        }
8136    }
8137}
8138pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8139extern "C" {
8140    #[link_name = "\u{1}aws_lc_0_43_0_AES_CMAC"]
8141    pub fn AES_CMAC(
8142        out: *mut u8,
8143        key: *const u8,
8144        key_len: usize,
8145        in_: *const u8,
8146        in_len: usize,
8147    ) -> ::std::os::raw::c_int;
8148}
8149extern "C" {
8150    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_CTX_new"]
8151    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8152}
8153extern "C" {
8154    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_CTX_free"]
8155    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8156}
8157extern "C" {
8158    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_CTX_copy"]
8159    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8160}
8161extern "C" {
8162    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_Init"]
8163    pub fn CMAC_Init(
8164        ctx: *mut CMAC_CTX,
8165        key: *const ::std::os::raw::c_void,
8166        key_len: usize,
8167        cipher: *const EVP_CIPHER,
8168        engine: *mut ENGINE,
8169    ) -> ::std::os::raw::c_int;
8170}
8171extern "C" {
8172    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_Reset"]
8173    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8174}
8175extern "C" {
8176    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_Update"]
8177    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8178}
8179extern "C" {
8180    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_Final"]
8181    pub fn CMAC_Final(
8182        ctx: *mut CMAC_CTX,
8183        out: *mut u8,
8184        out_len: *mut usize,
8185    ) -> ::std::os::raw::c_int;
8186}
8187extern "C" {
8188    #[link_name = "\u{1}aws_lc_0_43_0_CMAC_CTX_get0_cipher_ctx"]
8189    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8190}
8191#[repr(C)]
8192#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8193pub struct conf_value_st {
8194    pub section: *mut ::std::os::raw::c_char,
8195    pub name: *mut ::std::os::raw::c_char,
8196    pub value: *mut ::std::os::raw::c_char,
8197}
8198#[test]
8199fn bindgen_test_layout_conf_value_st() {
8200    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8201    let ptr = UNINIT.as_ptr();
8202    assert_eq!(
8203        ::std::mem::size_of::<conf_value_st>(),
8204        24usize,
8205        "Size of conf_value_st"
8206    );
8207    assert_eq!(
8208        ::std::mem::align_of::<conf_value_st>(),
8209        8usize,
8210        "Alignment of conf_value_st"
8211    );
8212    assert_eq!(
8213        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8214        0usize,
8215        "Offset of field: conf_value_st::section"
8216    );
8217    assert_eq!(
8218        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8219        8usize,
8220        "Offset of field: conf_value_st::name"
8221    );
8222    assert_eq!(
8223        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8224        16usize,
8225        "Offset of field: conf_value_st::value"
8226    );
8227}
8228impl Default for conf_value_st {
8229    fn default() -> Self {
8230        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8231        unsafe {
8232            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8233            s.assume_init()
8234        }
8235    }
8236}
8237#[repr(C)]
8238#[derive(Debug, Copy, Clone)]
8239pub struct stack_st_CONF_VALUE {
8240    _unused: [u8; 0],
8241}
8242#[repr(C)]
8243#[derive(Debug, Copy, Clone)]
8244pub struct lhash_st_CONF_VALUE {
8245    _unused: [u8; 0],
8246}
8247#[repr(C)]
8248#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8249pub struct conf_st {
8250    pub data: *mut lhash_st_CONF_VALUE,
8251}
8252#[test]
8253fn bindgen_test_layout_conf_st() {
8254    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8255    let ptr = UNINIT.as_ptr();
8256    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8257    assert_eq!(
8258        ::std::mem::align_of::<conf_st>(),
8259        8usize,
8260        "Alignment of conf_st"
8261    );
8262    assert_eq!(
8263        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8264        0usize,
8265        "Offset of field: conf_st::data"
8266    );
8267}
8268impl Default for conf_st {
8269    fn default() -> Self {
8270        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8271        unsafe {
8272            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8273            s.assume_init()
8274        }
8275    }
8276}
8277extern "C" {
8278    #[link_name = "\u{1}aws_lc_0_43_0_X25519_keypair"]
8279    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8280}
8281extern "C" {
8282    #[link_name = "\u{1}aws_lc_0_43_0_X25519"]
8283    pub fn X25519(
8284        out_shared_key: *mut u8,
8285        private_key: *const u8,
8286        peer_public_value: *const u8,
8287    ) -> ::std::os::raw::c_int;
8288}
8289extern "C" {
8290    #[link_name = "\u{1}aws_lc_0_43_0_X25519_public_from_private"]
8291    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8292}
8293extern "C" {
8294    #[link_name = "\u{1}aws_lc_0_43_0_ED25519_keypair"]
8295    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8296}
8297extern "C" {
8298    #[link_name = "\u{1}aws_lc_0_43_0_ED25519_sign"]
8299    pub fn ED25519_sign(
8300        out_sig: *mut u8,
8301        message: *const u8,
8302        message_len: usize,
8303        private_key: *const u8,
8304    ) -> ::std::os::raw::c_int;
8305}
8306extern "C" {
8307    #[link_name = "\u{1}aws_lc_0_43_0_ED25519_verify"]
8308    pub fn ED25519_verify(
8309        message: *const u8,
8310        message_len: usize,
8311        signature: *const u8,
8312        public_key: *const u8,
8313    ) -> ::std::os::raw::c_int;
8314}
8315extern "C" {
8316    #[link_name = "\u{1}aws_lc_0_43_0_ED25519ctx_sign"]
8317    pub fn ED25519ctx_sign(
8318        out_sig: *mut u8,
8319        message: *const u8,
8320        message_len: usize,
8321        private_key: *const u8,
8322        context: *const u8,
8323        context_len: usize,
8324    ) -> ::std::os::raw::c_int;
8325}
8326extern "C" {
8327    #[link_name = "\u{1}aws_lc_0_43_0_ED25519ctx_verify"]
8328    pub fn ED25519ctx_verify(
8329        message: *const u8,
8330        message_len: usize,
8331        signature: *const u8,
8332        public_key: *const u8,
8333        context: *const u8,
8334        context_len: usize,
8335    ) -> ::std::os::raw::c_int;
8336}
8337extern "C" {
8338    #[link_name = "\u{1}aws_lc_0_43_0_ED25519ph_sign"]
8339    pub fn ED25519ph_sign(
8340        out_sig: *mut u8,
8341        message: *const u8,
8342        message_len: usize,
8343        private_key: *const u8,
8344        context: *const u8,
8345        context_len: usize,
8346    ) -> ::std::os::raw::c_int;
8347}
8348extern "C" {
8349    #[link_name = "\u{1}aws_lc_0_43_0_ED25519ph_verify"]
8350    pub fn ED25519ph_verify(
8351        message: *const u8,
8352        message_len: usize,
8353        signature: *const u8,
8354        public_key: *const u8,
8355        context: *const u8,
8356        context_len: usize,
8357    ) -> ::std::os::raw::c_int;
8358}
8359extern "C" {
8360    #[link_name = "\u{1}aws_lc_0_43_0_ED25519ph_sign_digest"]
8361    pub fn ED25519ph_sign_digest(
8362        out_sig: *mut u8,
8363        digest: *const u8,
8364        private_key: *const u8,
8365        context: *const u8,
8366        context_len: usize,
8367    ) -> ::std::os::raw::c_int;
8368}
8369extern "C" {
8370    #[link_name = "\u{1}aws_lc_0_43_0_ED25519ph_verify_digest"]
8371    pub fn ED25519ph_verify_digest(
8372        digest: *const u8,
8373        signature: *const u8,
8374        public_key: *const u8,
8375        context: *const u8,
8376        context_len: usize,
8377    ) -> ::std::os::raw::c_int;
8378}
8379extern "C" {
8380    #[link_name = "\u{1}aws_lc_0_43_0_ED25519_keypair_from_seed"]
8381    pub fn ED25519_keypair_from_seed(
8382        out_public_key: *mut u8,
8383        out_private_key: *mut u8,
8384        seed: *const u8,
8385    );
8386}
8387pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8388pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8389pub type spake2_role_t = ::std::os::raw::c_uint;
8390extern "C" {
8391    #[link_name = "\u{1}aws_lc_0_43_0_SPAKE2_CTX_new"]
8392    pub fn SPAKE2_CTX_new(
8393        my_role: spake2_role_t,
8394        my_name: *const u8,
8395        my_name_len: usize,
8396        their_name: *const u8,
8397        their_name_len: usize,
8398    ) -> *mut SPAKE2_CTX;
8399}
8400extern "C" {
8401    #[link_name = "\u{1}aws_lc_0_43_0_SPAKE2_CTX_free"]
8402    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8403}
8404extern "C" {
8405    #[link_name = "\u{1}aws_lc_0_43_0_SPAKE2_generate_msg"]
8406    pub fn SPAKE2_generate_msg(
8407        ctx: *mut SPAKE2_CTX,
8408        out: *mut u8,
8409        out_len: *mut usize,
8410        max_out_len: usize,
8411        password: *const u8,
8412        password_len: usize,
8413    ) -> ::std::os::raw::c_int;
8414}
8415extern "C" {
8416    #[link_name = "\u{1}aws_lc_0_43_0_SPAKE2_process_msg"]
8417    pub fn SPAKE2_process_msg(
8418        ctx: *mut SPAKE2_CTX,
8419        out_key: *mut u8,
8420        out_key_len: *mut usize,
8421        max_out_key_len: usize,
8422        their_msg: *const u8,
8423        their_msg_len: usize,
8424    ) -> ::std::os::raw::c_int;
8425}
8426extern "C" {
8427    #[link_name = "\u{1}aws_lc_0_43_0_EVP_md4"]
8428    pub fn EVP_md4() -> *const EVP_MD;
8429}
8430extern "C" {
8431    #[link_name = "\u{1}aws_lc_0_43_0_EVP_md5"]
8432    pub fn EVP_md5() -> *const EVP_MD;
8433}
8434extern "C" {
8435    #[link_name = "\u{1}aws_lc_0_43_0_EVP_ripemd160"]
8436    pub fn EVP_ripemd160() -> *const EVP_MD;
8437}
8438extern "C" {
8439    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha1"]
8440    pub fn EVP_sha1() -> *const EVP_MD;
8441}
8442extern "C" {
8443    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha224"]
8444    pub fn EVP_sha224() -> *const EVP_MD;
8445}
8446extern "C" {
8447    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha256"]
8448    pub fn EVP_sha256() -> *const EVP_MD;
8449}
8450extern "C" {
8451    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha384"]
8452    pub fn EVP_sha384() -> *const EVP_MD;
8453}
8454extern "C" {
8455    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha512"]
8456    pub fn EVP_sha512() -> *const EVP_MD;
8457}
8458extern "C" {
8459    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha512_224"]
8460    pub fn EVP_sha512_224() -> *const EVP_MD;
8461}
8462extern "C" {
8463    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha512_256"]
8464    pub fn EVP_sha512_256() -> *const EVP_MD;
8465}
8466extern "C" {
8467    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha3_224"]
8468    pub fn EVP_sha3_224() -> *const EVP_MD;
8469}
8470extern "C" {
8471    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha3_256"]
8472    pub fn EVP_sha3_256() -> *const EVP_MD;
8473}
8474extern "C" {
8475    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha3_384"]
8476    pub fn EVP_sha3_384() -> *const EVP_MD;
8477}
8478extern "C" {
8479    #[link_name = "\u{1}aws_lc_0_43_0_EVP_sha3_512"]
8480    pub fn EVP_sha3_512() -> *const EVP_MD;
8481}
8482extern "C" {
8483    #[link_name = "\u{1}aws_lc_0_43_0_EVP_shake128"]
8484    pub fn EVP_shake128() -> *const EVP_MD;
8485}
8486extern "C" {
8487    #[link_name = "\u{1}aws_lc_0_43_0_EVP_shake256"]
8488    pub fn EVP_shake256() -> *const EVP_MD;
8489}
8490extern "C" {
8491    #[link_name = "\u{1}aws_lc_0_43_0_EVP_blake2b256"]
8492    pub fn EVP_blake2b256() -> *const EVP_MD;
8493}
8494extern "C" {
8495    #[link_name = "\u{1}aws_lc_0_43_0_EVP_md5_sha1"]
8496    pub fn EVP_md5_sha1() -> *const EVP_MD;
8497}
8498extern "C" {
8499    #[link_name = "\u{1}aws_lc_0_43_0_EVP_get_digestbynid"]
8500    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8501}
8502extern "C" {
8503    #[link_name = "\u{1}aws_lc_0_43_0_EVP_get_digestbyobj"]
8504    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8505}
8506extern "C" {
8507    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_init"]
8508    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8509}
8510extern "C" {
8511    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_new"]
8512    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8513}
8514extern "C" {
8515    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_cleanup"]
8516    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8517}
8518extern "C" {
8519    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_cleanse"]
8520    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8521}
8522extern "C" {
8523    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_free"]
8524    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8525}
8526extern "C" {
8527    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_copy_ex"]
8528    pub fn EVP_MD_CTX_copy_ex(
8529        out: *mut EVP_MD_CTX,
8530        in_: *const EVP_MD_CTX,
8531    ) -> ::std::os::raw::c_int;
8532}
8533extern "C" {
8534    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_move"]
8535    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8536}
8537extern "C" {
8538    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_reset"]
8539    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8540}
8541extern "C" {
8542    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestInit_ex"]
8543    pub fn EVP_DigestInit_ex(
8544        ctx: *mut EVP_MD_CTX,
8545        type_: *const EVP_MD,
8546        engine: *mut ENGINE,
8547    ) -> ::std::os::raw::c_int;
8548}
8549extern "C" {
8550    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestInit"]
8551    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8552}
8553extern "C" {
8554    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestUpdate"]
8555    pub fn EVP_DigestUpdate(
8556        ctx: *mut EVP_MD_CTX,
8557        data: *const ::std::os::raw::c_void,
8558        len: usize,
8559    ) -> ::std::os::raw::c_int;
8560}
8561extern "C" {
8562    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestFinal_ex"]
8563    pub fn EVP_DigestFinal_ex(
8564        ctx: *mut EVP_MD_CTX,
8565        md_out: *mut u8,
8566        out_size: *mut ::std::os::raw::c_uint,
8567    ) -> ::std::os::raw::c_int;
8568}
8569extern "C" {
8570    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestFinal"]
8571    pub fn EVP_DigestFinal(
8572        ctx: *mut EVP_MD_CTX,
8573        md_out: *mut u8,
8574        out_size: *mut ::std::os::raw::c_uint,
8575    ) -> ::std::os::raw::c_int;
8576}
8577extern "C" {
8578    #[link_name = "\u{1}aws_lc_0_43_0_EVP_Digest"]
8579    pub fn EVP_Digest(
8580        data: *const ::std::os::raw::c_void,
8581        len: usize,
8582        md_out: *mut u8,
8583        out_size: *mut ::std::os::raw::c_uint,
8584        type_: *const EVP_MD,
8585        impl_: *mut ENGINE,
8586    ) -> ::std::os::raw::c_int;
8587}
8588extern "C" {
8589    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_type"]
8590    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8591}
8592extern "C" {
8593    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_flags"]
8594    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8595}
8596extern "C" {
8597    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_size"]
8598    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8599}
8600extern "C" {
8601    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_block_size"]
8602    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8603}
8604extern "C" {
8605    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_md"]
8606    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8607}
8608extern "C" {
8609    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_size"]
8610    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8611}
8612extern "C" {
8613    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_block_size"]
8614    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8615}
8616extern "C" {
8617    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_type"]
8618    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8619}
8620extern "C" {
8621    #[link_name = "\u{1}aws_lc_0_43_0_EVP_parse_digest_algorithm"]
8622    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8623}
8624extern "C" {
8625    #[link_name = "\u{1}aws_lc_0_43_0_EVP_marshal_digest_algorithm"]
8626    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8627}
8628extern "C" {
8629    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_copy"]
8630    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8631}
8632extern "C" {
8633    #[link_name = "\u{1}aws_lc_0_43_0_EVP_get_digestbyname"]
8634    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8635}
8636extern "C" {
8637    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_create"]
8638    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8639}
8640extern "C" {
8641    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_destroy"]
8642    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8643}
8644extern "C" {
8645    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestFinalXOF"]
8646    pub fn EVP_DigestFinalXOF(
8647        ctx: *mut EVP_MD_CTX,
8648        out: *mut u8,
8649        len: usize,
8650    ) -> ::std::os::raw::c_int;
8651}
8652extern "C" {
8653    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestSqueeze"]
8654    pub fn EVP_DigestSqueeze(
8655        ctx: *mut EVP_MD_CTX,
8656        out: *mut u8,
8657        len: usize,
8658    ) -> ::std::os::raw::c_int;
8659}
8660extern "C" {
8661    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_meth_get_flags"]
8662    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8663}
8664extern "C" {
8665    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_nid"]
8666    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8667}
8668extern "C" {
8669    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_set_pkey_ctx"]
8670    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8671}
8672extern "C" {
8673    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_get_pkey_ctx"]
8674    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8675}
8676extern "C" {
8677    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_pkey_ctx"]
8678    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8679}
8680#[repr(C)]
8681#[derive(Debug, Copy, Clone)]
8682pub struct evp_md_pctx_ops {
8683    _unused: [u8; 0],
8684}
8685#[repr(C)]
8686#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8687pub struct env_md_ctx_st {
8688    pub digest: *const EVP_MD,
8689    pub md_data: *mut ::std::os::raw::c_void,
8690    pub update: ::std::option::Option<
8691        unsafe extern "C" fn(
8692            ctx: *mut EVP_MD_CTX,
8693            data: *const ::std::os::raw::c_void,
8694            count: usize,
8695        ) -> ::std::os::raw::c_int,
8696    >,
8697    pub pctx: *mut EVP_PKEY_CTX,
8698    pub pctx_ops: *const evp_md_pctx_ops,
8699    pub flags: ::std::os::raw::c_ulong,
8700}
8701#[test]
8702fn bindgen_test_layout_env_md_ctx_st() {
8703    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8704    let ptr = UNINIT.as_ptr();
8705    assert_eq!(
8706        ::std::mem::size_of::<env_md_ctx_st>(),
8707        48usize,
8708        "Size of env_md_ctx_st"
8709    );
8710    assert_eq!(
8711        ::std::mem::align_of::<env_md_ctx_st>(),
8712        8usize,
8713        "Alignment of env_md_ctx_st"
8714    );
8715    assert_eq!(
8716        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8717        0usize,
8718        "Offset of field: env_md_ctx_st::digest"
8719    );
8720    assert_eq!(
8721        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8722        8usize,
8723        "Offset of field: env_md_ctx_st::md_data"
8724    );
8725    assert_eq!(
8726        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8727        16usize,
8728        "Offset of field: env_md_ctx_st::update"
8729    );
8730    assert_eq!(
8731        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8732        24usize,
8733        "Offset of field: env_md_ctx_st::pctx"
8734    );
8735    assert_eq!(
8736        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8737        32usize,
8738        "Offset of field: env_md_ctx_st::pctx_ops"
8739    );
8740    assert_eq!(
8741        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8742        40usize,
8743        "Offset of field: env_md_ctx_st::flags"
8744    );
8745}
8746impl Default for env_md_ctx_st {
8747    fn default() -> Self {
8748        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8749        unsafe {
8750            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8751            s.assume_init()
8752        }
8753    }
8754}
8755extern "C" {
8756    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_unstable_sha3_enable"]
8757    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8758}
8759extern "C" {
8760    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_unstable_sha3_is_enabled"]
8761    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8762}
8763extern "C" {
8764    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_CTX_set_flags"]
8765    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8766}
8767extern "C" {
8768    #[link_name = "\u{1}aws_lc_0_43_0_EVP_add_digest"]
8769    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8770}
8771extern "C" {
8772    #[link_name = "\u{1}aws_lc_0_43_0_EVP_md_null"]
8773    pub fn EVP_md_null() -> *const EVP_MD;
8774}
8775#[repr(C)]
8776#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8777pub struct DSA_SIG_st {
8778    pub r: *mut BIGNUM,
8779    pub s: *mut BIGNUM,
8780}
8781#[test]
8782fn bindgen_test_layout_DSA_SIG_st() {
8783    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8784    let ptr = UNINIT.as_ptr();
8785    assert_eq!(
8786        ::std::mem::size_of::<DSA_SIG_st>(),
8787        16usize,
8788        "Size of DSA_SIG_st"
8789    );
8790    assert_eq!(
8791        ::std::mem::align_of::<DSA_SIG_st>(),
8792        8usize,
8793        "Alignment of DSA_SIG_st"
8794    );
8795    assert_eq!(
8796        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8797        0usize,
8798        "Offset of field: DSA_SIG_st::r"
8799    );
8800    assert_eq!(
8801        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8802        8usize,
8803        "Offset of field: DSA_SIG_st::s"
8804    );
8805}
8806impl Default for DSA_SIG_st {
8807    fn default() -> Self {
8808        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8809        unsafe {
8810            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8811            s.assume_init()
8812        }
8813    }
8814}
8815#[repr(u32)]
8816#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8817pub enum point_conversion_form_t {
8818    POINT_CONVERSION_COMPRESSED = 2,
8819    POINT_CONVERSION_UNCOMPRESSED = 4,
8820    POINT_CONVERSION_HYBRID = 6,
8821}
8822extern "C" {
8823    #[link_name = "\u{1}aws_lc_0_43_0_EC_group_p224"]
8824    pub fn EC_group_p224() -> *const EC_GROUP;
8825}
8826extern "C" {
8827    #[link_name = "\u{1}aws_lc_0_43_0_EC_group_p256"]
8828    pub fn EC_group_p256() -> *const EC_GROUP;
8829}
8830extern "C" {
8831    #[link_name = "\u{1}aws_lc_0_43_0_EC_group_p384"]
8832    pub fn EC_group_p384() -> *const EC_GROUP;
8833}
8834extern "C" {
8835    #[link_name = "\u{1}aws_lc_0_43_0_EC_group_p521"]
8836    pub fn EC_group_p521() -> *const EC_GROUP;
8837}
8838extern "C" {
8839    #[link_name = "\u{1}aws_lc_0_43_0_EC_group_secp256k1"]
8840    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8841}
8842extern "C" {
8843    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_new_by_curve_name"]
8844    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8845}
8846extern "C" {
8847    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_new_by_curve_name_mutable"]
8848    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8849}
8850extern "C" {
8851    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_cmp"]
8852    pub fn EC_GROUP_cmp(
8853        a: *const EC_GROUP,
8854        b: *const EC_GROUP,
8855        ignored: *mut BN_CTX,
8856    ) -> ::std::os::raw::c_int;
8857}
8858extern "C" {
8859    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get0_generator"]
8860    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
8861}
8862extern "C" {
8863    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get0_order"]
8864    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
8865}
8866extern "C" {
8867    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_order_bits"]
8868    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8869}
8870extern "C" {
8871    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_cofactor"]
8872    pub fn EC_GROUP_get_cofactor(
8873        group: *const EC_GROUP,
8874        cofactor: *mut BIGNUM,
8875        ctx: *mut BN_CTX,
8876    ) -> ::std::os::raw::c_int;
8877}
8878extern "C" {
8879    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_curve_GFp"]
8880    pub fn EC_GROUP_get_curve_GFp(
8881        group: *const EC_GROUP,
8882        out_p: *mut BIGNUM,
8883        out_a: *mut BIGNUM,
8884        out_b: *mut BIGNUM,
8885        ctx: *mut BN_CTX,
8886    ) -> ::std::os::raw::c_int;
8887}
8888extern "C" {
8889    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_curve_name"]
8890    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8891}
8892extern "C" {
8893    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_degree"]
8894    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
8895}
8896extern "C" {
8897    #[link_name = "\u{1}aws_lc_0_43_0_EC_curve_nid2nist"]
8898    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8899}
8900extern "C" {
8901    #[link_name = "\u{1}aws_lc_0_43_0_EC_curve_nist2nid"]
8902    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8903}
8904extern "C" {
8905    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_new"]
8906    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
8907}
8908extern "C" {
8909    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_free"]
8910    pub fn EC_POINT_free(point: *mut EC_POINT);
8911}
8912extern "C" {
8913    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_copy"]
8914    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
8915}
8916extern "C" {
8917    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_dup"]
8918    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
8919}
8920extern "C" {
8921    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_set_to_infinity"]
8922    pub fn EC_POINT_set_to_infinity(
8923        group: *const EC_GROUP,
8924        point: *mut EC_POINT,
8925    ) -> ::std::os::raw::c_int;
8926}
8927extern "C" {
8928    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_is_at_infinity"]
8929    pub fn EC_POINT_is_at_infinity(
8930        group: *const EC_GROUP,
8931        point: *const EC_POINT,
8932    ) -> ::std::os::raw::c_int;
8933}
8934extern "C" {
8935    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_is_on_curve"]
8936    pub fn EC_POINT_is_on_curve(
8937        group: *const EC_GROUP,
8938        point: *const EC_POINT,
8939        ctx: *mut BN_CTX,
8940    ) -> ::std::os::raw::c_int;
8941}
8942extern "C" {
8943    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_cmp"]
8944    pub fn EC_POINT_cmp(
8945        group: *const EC_GROUP,
8946        a: *const EC_POINT,
8947        b: *const EC_POINT,
8948        ctx: *mut BN_CTX,
8949    ) -> ::std::os::raw::c_int;
8950}
8951extern "C" {
8952    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_get_affine_coordinates_GFp"]
8953    pub fn EC_POINT_get_affine_coordinates_GFp(
8954        group: *const EC_GROUP,
8955        point: *const EC_POINT,
8956        x: *mut BIGNUM,
8957        y: *mut BIGNUM,
8958        ctx: *mut BN_CTX,
8959    ) -> ::std::os::raw::c_int;
8960}
8961extern "C" {
8962    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_get_affine_coordinates"]
8963    pub fn EC_POINT_get_affine_coordinates(
8964        group: *const EC_GROUP,
8965        point: *const EC_POINT,
8966        x: *mut BIGNUM,
8967        y: *mut BIGNUM,
8968        ctx: *mut BN_CTX,
8969    ) -> ::std::os::raw::c_int;
8970}
8971extern "C" {
8972    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_set_affine_coordinates_GFp"]
8973    pub fn EC_POINT_set_affine_coordinates_GFp(
8974        group: *const EC_GROUP,
8975        point: *mut EC_POINT,
8976        x: *const BIGNUM,
8977        y: *const BIGNUM,
8978        ctx: *mut BN_CTX,
8979    ) -> ::std::os::raw::c_int;
8980}
8981extern "C" {
8982    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_set_affine_coordinates"]
8983    pub fn EC_POINT_set_affine_coordinates(
8984        group: *const EC_GROUP,
8985        point: *mut EC_POINT,
8986        x: *const BIGNUM,
8987        y: *const BIGNUM,
8988        ctx: *mut BN_CTX,
8989    ) -> ::std::os::raw::c_int;
8990}
8991extern "C" {
8992    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_point2oct"]
8993    pub fn EC_POINT_point2oct(
8994        group: *const EC_GROUP,
8995        point: *const EC_POINT,
8996        form: point_conversion_form_t,
8997        buf: *mut u8,
8998        len: usize,
8999        ctx: *mut BN_CTX,
9000    ) -> usize;
9001}
9002extern "C" {
9003    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_point2cbb"]
9004    pub fn EC_POINT_point2cbb(
9005        out: *mut CBB,
9006        group: *const EC_GROUP,
9007        point: *const EC_POINT,
9008        form: point_conversion_form_t,
9009        ctx: *mut BN_CTX,
9010    ) -> ::std::os::raw::c_int;
9011}
9012extern "C" {
9013    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_oct2point"]
9014    pub fn EC_POINT_oct2point(
9015        group: *const EC_GROUP,
9016        point: *mut EC_POINT,
9017        buf: *const u8,
9018        len: usize,
9019        ctx: *mut BN_CTX,
9020    ) -> ::std::os::raw::c_int;
9021}
9022extern "C" {
9023    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_set_compressed_coordinates_GFp"]
9024    pub fn EC_POINT_set_compressed_coordinates_GFp(
9025        group: *const EC_GROUP,
9026        point: *mut EC_POINT,
9027        x: *const BIGNUM,
9028        y_bit: ::std::os::raw::c_int,
9029        ctx: *mut BN_CTX,
9030    ) -> ::std::os::raw::c_int;
9031}
9032extern "C" {
9033    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_add"]
9034    pub fn EC_POINT_add(
9035        group: *const EC_GROUP,
9036        r: *mut EC_POINT,
9037        a: *const EC_POINT,
9038        b: *const EC_POINT,
9039        ctx: *mut BN_CTX,
9040    ) -> ::std::os::raw::c_int;
9041}
9042extern "C" {
9043    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_dbl"]
9044    pub fn EC_POINT_dbl(
9045        group: *const EC_GROUP,
9046        r: *mut EC_POINT,
9047        a: *const EC_POINT,
9048        ctx: *mut BN_CTX,
9049    ) -> ::std::os::raw::c_int;
9050}
9051extern "C" {
9052    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_invert"]
9053    pub fn EC_POINT_invert(
9054        group: *const EC_GROUP,
9055        a: *mut EC_POINT,
9056        ctx: *mut BN_CTX,
9057    ) -> ::std::os::raw::c_int;
9058}
9059extern "C" {
9060    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_mul"]
9061    pub fn EC_POINT_mul(
9062        group: *const EC_GROUP,
9063        r: *mut EC_POINT,
9064        n: *const BIGNUM,
9065        q: *const EC_POINT,
9066        m: *const BIGNUM,
9067        ctx: *mut BN_CTX,
9068    ) -> ::std::os::raw::c_int;
9069}
9070extern "C" {
9071    #[link_name = "\u{1}aws_lc_0_43_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9072    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9073        group: *const EC_GROUP,
9074        out: *mut EC_POINT,
9075        dst: *const u8,
9076        dst_len: usize,
9077        msg: *const u8,
9078        msg_len: usize,
9079    ) -> ::std::os::raw::c_int;
9080}
9081extern "C" {
9082    #[link_name = "\u{1}aws_lc_0_43_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9083    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9084        group: *const EC_GROUP,
9085        out: *mut EC_POINT,
9086        dst: *const u8,
9087        dst_len: usize,
9088        msg: *const u8,
9089        msg_len: usize,
9090    ) -> ::std::os::raw::c_int;
9091}
9092extern "C" {
9093    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_free"]
9094    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9095}
9096extern "C" {
9097    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_dup"]
9098    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9099}
9100extern "C" {
9101    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_new_curve_GFp"]
9102    pub fn EC_GROUP_new_curve_GFp(
9103        p: *const BIGNUM,
9104        a: *const BIGNUM,
9105        b: *const BIGNUM,
9106        ctx: *mut BN_CTX,
9107    ) -> *mut EC_GROUP;
9108}
9109extern "C" {
9110    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_set_generator"]
9111    pub fn EC_GROUP_set_generator(
9112        group: *mut EC_GROUP,
9113        generator: *const EC_POINT,
9114        order: *const BIGNUM,
9115        cofactor: *const BIGNUM,
9116    ) -> ::std::os::raw::c_int;
9117}
9118extern "C" {
9119    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_point2bn"]
9120    pub fn EC_POINT_point2bn(
9121        group: *const EC_GROUP,
9122        point: *const EC_POINT,
9123        form: point_conversion_form_t,
9124        ret: *mut BIGNUM,
9125        ctx: *mut BN_CTX,
9126    ) -> *mut BIGNUM;
9127}
9128extern "C" {
9129    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_bn2point"]
9130    pub fn EC_POINT_bn2point(
9131        group: *const EC_GROUP,
9132        bn: *const BIGNUM,
9133        point: *mut EC_POINT,
9134        ctx: *mut BN_CTX,
9135    ) -> *mut EC_POINT;
9136}
9137extern "C" {
9138    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_order"]
9139    pub fn EC_GROUP_get_order(
9140        group: *const EC_GROUP,
9141        order: *mut BIGNUM,
9142        ctx: *mut BN_CTX,
9143    ) -> ::std::os::raw::c_int;
9144}
9145#[repr(C)]
9146#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9147pub struct EC_builtin_curve {
9148    pub nid: ::std::os::raw::c_int,
9149    pub comment: *const ::std::os::raw::c_char,
9150}
9151#[test]
9152fn bindgen_test_layout_EC_builtin_curve() {
9153    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9154    let ptr = UNINIT.as_ptr();
9155    assert_eq!(
9156        ::std::mem::size_of::<EC_builtin_curve>(),
9157        16usize,
9158        "Size of EC_builtin_curve"
9159    );
9160    assert_eq!(
9161        ::std::mem::align_of::<EC_builtin_curve>(),
9162        8usize,
9163        "Alignment of EC_builtin_curve"
9164    );
9165    assert_eq!(
9166        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9167        0usize,
9168        "Offset of field: EC_builtin_curve::nid"
9169    );
9170    assert_eq!(
9171        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9172        8usize,
9173        "Offset of field: EC_builtin_curve::comment"
9174    );
9175}
9176impl Default for EC_builtin_curve {
9177    fn default() -> Self {
9178        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9179        unsafe {
9180            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9181            s.assume_init()
9182        }
9183    }
9184}
9185extern "C" {
9186    #[link_name = "\u{1}aws_lc_0_43_0_EC_get_builtin_curves"]
9187    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9188        -> usize;
9189}
9190extern "C" {
9191    #[link_name = "\u{1}aws_lc_0_43_0_EC_POINT_clear_free"]
9192    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9193}
9194extern "C" {
9195    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_set_seed"]
9196    pub fn EC_GROUP_set_seed(
9197        group: *mut EC_GROUP,
9198        p: *const ::std::os::raw::c_uchar,
9199        len: usize,
9200    ) -> usize;
9201}
9202extern "C" {
9203    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get0_seed"]
9204    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9205}
9206extern "C" {
9207    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_seed_len"]
9208    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9209}
9210extern "C" {
9211    #[link_name = "\u{1}aws_lc_0_43_0_ECPKParameters_print"]
9212    pub fn ECPKParameters_print(
9213        bio: *mut BIO,
9214        group: *const EC_GROUP,
9215        offset: ::std::os::raw::c_int,
9216    ) -> ::std::os::raw::c_int;
9217}
9218extern "C" {
9219    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_set_asn1_flag"]
9220    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9221}
9222extern "C" {
9223    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_asn1_flag"]
9224    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9225}
9226extern "C" {
9227    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_set_point_conversion_form"]
9228    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9229}
9230extern "C" {
9231    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_get_point_conversion_form"]
9232    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9233}
9234extern "C" {
9235    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_decoded_from_explicit_params"]
9236    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9237}
9238#[repr(C)]
9239#[derive(Debug, Copy, Clone)]
9240pub struct ec_method_st {
9241    _unused: [u8; 0],
9242}
9243pub type EC_METHOD = ec_method_st;
9244extern "C" {
9245    #[link_name = "\u{1}aws_lc_0_43_0_EC_GROUP_method_of"]
9246    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9247}
9248extern "C" {
9249    #[link_name = "\u{1}aws_lc_0_43_0_EC_METHOD_get_field_type"]
9250    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9251}
9252extern "C" {
9253    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_new"]
9254    pub fn EC_KEY_new() -> *mut EC_KEY;
9255}
9256extern "C" {
9257    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_new_method"]
9258    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9259}
9260extern "C" {
9261    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_new_by_curve_name"]
9262    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9263}
9264extern "C" {
9265    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_free"]
9266    pub fn EC_KEY_free(key: *mut EC_KEY);
9267}
9268extern "C" {
9269    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_dup"]
9270    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9271}
9272extern "C" {
9273    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_up_ref"]
9274    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9275}
9276extern "C" {
9277    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_is_opaque"]
9278    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9279}
9280extern "C" {
9281    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get0_group"]
9282    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9283}
9284extern "C" {
9285    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_group"]
9286    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9287}
9288extern "C" {
9289    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get0_private_key"]
9290    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9291}
9292extern "C" {
9293    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_private_key"]
9294    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9295}
9296extern "C" {
9297    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get0_public_key"]
9298    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9299}
9300extern "C" {
9301    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_public_key"]
9302    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9303}
9304extern "C" {
9305    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get_enc_flags"]
9306    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9307}
9308extern "C" {
9309    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_enc_flags"]
9310    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9311}
9312extern "C" {
9313    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get_conv_form"]
9314    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9315}
9316extern "C" {
9317    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_conv_form"]
9318    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9319}
9320extern "C" {
9321    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_check_key"]
9322    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9323}
9324extern "C" {
9325    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_check_fips"]
9326    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9327}
9328extern "C" {
9329    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_public_key_affine_coordinates"]
9330    pub fn EC_KEY_set_public_key_affine_coordinates(
9331        key: *mut EC_KEY,
9332        x: *const BIGNUM,
9333        y: *const BIGNUM,
9334    ) -> ::std::os::raw::c_int;
9335}
9336extern "C" {
9337    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_key2buf"]
9338    pub fn EC_KEY_key2buf(
9339        key: *const EC_KEY,
9340        form: point_conversion_form_t,
9341        out_buf: *mut *mut ::std::os::raw::c_uchar,
9342        ctx: *mut BN_CTX,
9343    ) -> usize;
9344}
9345extern "C" {
9346    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_generate_key"]
9347    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9348}
9349extern "C" {
9350    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_generate_key_fips"]
9351    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9352}
9353extern "C" {
9354    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_derive_from_secret"]
9355    pub fn EC_KEY_derive_from_secret(
9356        group: *const EC_GROUP,
9357        secret: *const u8,
9358        secret_len: usize,
9359    ) -> *mut EC_KEY;
9360}
9361extern "C" {
9362    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_parse_private_key"]
9363    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9364}
9365extern "C" {
9366    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_marshal_private_key"]
9367    pub fn EC_KEY_marshal_private_key(
9368        cbb: *mut CBB,
9369        key: *const EC_KEY,
9370        enc_flags: ::std::os::raw::c_uint,
9371    ) -> ::std::os::raw::c_int;
9372}
9373extern "C" {
9374    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_parse_curve_name"]
9375    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9376}
9377extern "C" {
9378    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_marshal_curve_name"]
9379    pub fn EC_KEY_marshal_curve_name(
9380        cbb: *mut CBB,
9381        group: *const EC_GROUP,
9382    ) -> ::std::os::raw::c_int;
9383}
9384extern "C" {
9385    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_parse_parameters"]
9386    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9387}
9388extern "C" {
9389    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get_ex_new_index"]
9390    pub fn EC_KEY_get_ex_new_index(
9391        argl: ::std::os::raw::c_long,
9392        argp: *mut ::std::os::raw::c_void,
9393        unused: *mut CRYPTO_EX_unused,
9394        dup_unused: CRYPTO_EX_dup,
9395        free_func: CRYPTO_EX_free,
9396    ) -> ::std::os::raw::c_int;
9397}
9398extern "C" {
9399    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_ex_data"]
9400    pub fn EC_KEY_set_ex_data(
9401        r: *mut EC_KEY,
9402        idx: ::std::os::raw::c_int,
9403        arg: *mut ::std::os::raw::c_void,
9404    ) -> ::std::os::raw::c_int;
9405}
9406extern "C" {
9407    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get_ex_data"]
9408    pub fn EC_KEY_get_ex_data(
9409        r: *const EC_KEY,
9410        idx: ::std::os::raw::c_int,
9411    ) -> *mut ::std::os::raw::c_void;
9412}
9413extern "C" {
9414    #[link_name = "\u{1}aws_lc_0_43_0_d2i_ECPrivateKey"]
9415    pub fn d2i_ECPrivateKey(
9416        out_key: *mut *mut EC_KEY,
9417        inp: *mut *const u8,
9418        len: ::std::os::raw::c_long,
9419    ) -> *mut EC_KEY;
9420}
9421extern "C" {
9422    #[link_name = "\u{1}aws_lc_0_43_0_i2d_ECPrivateKey"]
9423    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9424}
9425extern "C" {
9426    #[link_name = "\u{1}aws_lc_0_43_0_d2i_ECParameters"]
9427    pub fn d2i_ECParameters(
9428        out_key: *mut *mut EC_KEY,
9429        inp: *mut *const u8,
9430        len: ::std::os::raw::c_long,
9431    ) -> *mut EC_KEY;
9432}
9433extern "C" {
9434    #[link_name = "\u{1}aws_lc_0_43_0_i2d_ECParameters"]
9435    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9436}
9437extern "C" {
9438    #[link_name = "\u{1}aws_lc_0_43_0_d2i_ECPKParameters_bio"]
9439    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9440}
9441extern "C" {
9442    #[link_name = "\u{1}aws_lc_0_43_0_i2d_ECPKParameters_bio"]
9443    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9444}
9445extern "C" {
9446    #[link_name = "\u{1}aws_lc_0_43_0_o2i_ECPublicKey"]
9447    pub fn o2i_ECPublicKey(
9448        out_key: *mut *mut EC_KEY,
9449        inp: *mut *const u8,
9450        len: ::std::os::raw::c_long,
9451    ) -> *mut EC_KEY;
9452}
9453extern "C" {
9454    #[link_name = "\u{1}aws_lc_0_43_0_i2o_ECPublicKey"]
9455    pub fn i2o_ECPublicKey(
9456        key: *const EC_KEY,
9457        outp: *mut *mut ::std::os::raw::c_uchar,
9458    ) -> ::std::os::raw::c_int;
9459}
9460extern "C" {
9461    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get_default_method"]
9462    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9463}
9464extern "C" {
9465    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_OpenSSL"]
9466    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9467}
9468extern "C" {
9469    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_METHOD_new"]
9470    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9471}
9472extern "C" {
9473    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_METHOD_free"]
9474    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9475}
9476extern "C" {
9477    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_method"]
9478    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9479}
9480extern "C" {
9481    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_get_method"]
9482    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9483}
9484extern "C" {
9485    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_METHOD_set_sign_awslc"]
9486    pub fn EC_KEY_METHOD_set_sign_awslc(
9487        meth: *mut EC_KEY_METHOD,
9488        sign: ::std::option::Option<
9489            unsafe extern "C" fn(
9490                type_: ::std::os::raw::c_int,
9491                digest: *const u8,
9492                digest_len: ::std::os::raw::c_int,
9493                sig: *mut u8,
9494                siglen: *mut ::std::os::raw::c_uint,
9495                k_inv: *const BIGNUM,
9496                r: *const BIGNUM,
9497                eckey: *mut EC_KEY,
9498            ) -> ::std::os::raw::c_int,
9499        >,
9500        sign_sig: ::std::option::Option<
9501            unsafe extern "C" fn(
9502                digest: *const u8,
9503                digest_len: ::std::os::raw::c_int,
9504                in_kinv: *const BIGNUM,
9505                in_r: *const BIGNUM,
9506                eckey: *mut EC_KEY,
9507            ) -> *mut ECDSA_SIG,
9508        >,
9509    );
9510}
9511extern "C" {
9512    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_METHOD_set_init_awslc"]
9513    pub fn EC_KEY_METHOD_set_init_awslc(
9514        meth: *mut EC_KEY_METHOD,
9515        init: ::std::option::Option<
9516            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9517        >,
9518        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9519    );
9520}
9521extern "C" {
9522    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_METHOD_set_flags"]
9523    pub fn EC_KEY_METHOD_set_flags(
9524        meth: *mut EC_KEY_METHOD,
9525        flags: ::std::os::raw::c_int,
9526    ) -> ::std::os::raw::c_int;
9527}
9528extern "C" {
9529    #[link_name = "\u{1}aws_lc_0_43_0_EC_KEY_set_asn1_flag"]
9530    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9531}
9532extern "C" {
9533    #[link_name = "\u{1}aws_lc_0_43_0_ECDH_compute_key"]
9534    pub fn ECDH_compute_key(
9535        out: *mut ::std::os::raw::c_void,
9536        outlen: usize,
9537        pub_key: *const EC_POINT,
9538        priv_key: *const EC_KEY,
9539        kdf: ::std::option::Option<
9540            unsafe extern "C" fn(
9541                in_: *const ::std::os::raw::c_void,
9542                inlen: usize,
9543                out: *mut ::std::os::raw::c_void,
9544                outlen: *mut usize,
9545            ) -> *mut ::std::os::raw::c_void,
9546        >,
9547    ) -> ::std::os::raw::c_int;
9548}
9549extern "C" {
9550    #[link_name = "\u{1}aws_lc_0_43_0_ECDH_compute_key_fips"]
9551    pub fn ECDH_compute_key_fips(
9552        out: *mut u8,
9553        out_len: usize,
9554        pub_key: *const EC_POINT,
9555        priv_key: *const EC_KEY,
9556    ) -> ::std::os::raw::c_int;
9557}
9558extern "C" {
9559    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_sign"]
9560    pub fn ECDSA_sign(
9561        type_: ::std::os::raw::c_int,
9562        digest: *const u8,
9563        digest_len: usize,
9564        sig: *mut u8,
9565        sig_len: *mut ::std::os::raw::c_uint,
9566        key: *const EC_KEY,
9567    ) -> ::std::os::raw::c_int;
9568}
9569extern "C" {
9570    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_verify"]
9571    pub fn ECDSA_verify(
9572        type_: ::std::os::raw::c_int,
9573        digest: *const u8,
9574        digest_len: usize,
9575        sig: *const u8,
9576        sig_len: usize,
9577        key: *const EC_KEY,
9578    ) -> ::std::os::raw::c_int;
9579}
9580extern "C" {
9581    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_size"]
9582    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9583}
9584#[repr(C)]
9585#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9586pub struct ecdsa_sig_st {
9587    pub r: *mut BIGNUM,
9588    pub s: *mut BIGNUM,
9589}
9590#[test]
9591fn bindgen_test_layout_ecdsa_sig_st() {
9592    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9593    let ptr = UNINIT.as_ptr();
9594    assert_eq!(
9595        ::std::mem::size_of::<ecdsa_sig_st>(),
9596        16usize,
9597        "Size of ecdsa_sig_st"
9598    );
9599    assert_eq!(
9600        ::std::mem::align_of::<ecdsa_sig_st>(),
9601        8usize,
9602        "Alignment of ecdsa_sig_st"
9603    );
9604    assert_eq!(
9605        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9606        0usize,
9607        "Offset of field: ecdsa_sig_st::r"
9608    );
9609    assert_eq!(
9610        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9611        8usize,
9612        "Offset of field: ecdsa_sig_st::s"
9613    );
9614}
9615impl Default for ecdsa_sig_st {
9616    fn default() -> Self {
9617        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9618        unsafe {
9619            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9620            s.assume_init()
9621        }
9622    }
9623}
9624extern "C" {
9625    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_new"]
9626    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9627}
9628extern "C" {
9629    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_free"]
9630    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9631}
9632extern "C" {
9633    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_get0_r"]
9634    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9635}
9636extern "C" {
9637    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_get0_s"]
9638    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9639}
9640extern "C" {
9641    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_get0"]
9642    pub fn ECDSA_SIG_get0(
9643        sig: *const ECDSA_SIG,
9644        out_r: *mut *const BIGNUM,
9645        out_s: *mut *const BIGNUM,
9646    );
9647}
9648extern "C" {
9649    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_set0"]
9650    pub fn ECDSA_SIG_set0(
9651        sig: *mut ECDSA_SIG,
9652        r: *mut BIGNUM,
9653        s: *mut BIGNUM,
9654    ) -> ::std::os::raw::c_int;
9655}
9656extern "C" {
9657    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_do_sign"]
9658    pub fn ECDSA_do_sign(
9659        digest: *const u8,
9660        digest_len: usize,
9661        key: *const EC_KEY,
9662    ) -> *mut ECDSA_SIG;
9663}
9664extern "C" {
9665    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_do_verify"]
9666    pub fn ECDSA_do_verify(
9667        digest: *const u8,
9668        digest_len: usize,
9669        sig: *const ECDSA_SIG,
9670        key: *const EC_KEY,
9671    ) -> ::std::os::raw::c_int;
9672}
9673extern "C" {
9674    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_parse"]
9675    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9676}
9677extern "C" {
9678    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_from_bytes"]
9679    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9680}
9681extern "C" {
9682    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_marshal"]
9683    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9684}
9685extern "C" {
9686    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_to_bytes"]
9687    pub fn ECDSA_SIG_to_bytes(
9688        out_bytes: *mut *mut u8,
9689        out_len: *mut usize,
9690        sig: *const ECDSA_SIG,
9691    ) -> ::std::os::raw::c_int;
9692}
9693extern "C" {
9694    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_SIG_max_len"]
9695    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9696}
9697extern "C" {
9698    #[link_name = "\u{1}aws_lc_0_43_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9699    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9700        digest: *const u8,
9701        digest_len: usize,
9702        eckey: *const EC_KEY,
9703        nonce: *const u8,
9704        nonce_len: usize,
9705    ) -> *mut ECDSA_SIG;
9706}
9707extern "C" {
9708    #[link_name = "\u{1}aws_lc_0_43_0_d2i_ECDSA_SIG"]
9709    pub fn d2i_ECDSA_SIG(
9710        out: *mut *mut ECDSA_SIG,
9711        inp: *mut *const u8,
9712        len: ::std::os::raw::c_long,
9713    ) -> *mut ECDSA_SIG;
9714}
9715extern "C" {
9716    #[link_name = "\u{1}aws_lc_0_43_0_i2d_ECDSA_SIG"]
9717    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9718}
9719extern "C" {
9720    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_gcm"]
9721    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9722}
9723extern "C" {
9724    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_192_gcm"]
9725    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9726}
9727extern "C" {
9728    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_gcm"]
9729    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9730}
9731extern "C" {
9732    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_chacha20_poly1305"]
9733    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9734}
9735extern "C" {
9736    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_xchacha20_poly1305"]
9737    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9738}
9739extern "C" {
9740    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_ctr_hmac_sha256"]
9741    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9742}
9743extern "C" {
9744    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_ctr_hmac_sha256"]
9745    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9746}
9747extern "C" {
9748    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_gcm_siv"]
9749    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9750}
9751extern "C" {
9752    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_gcm_siv"]
9753    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9754}
9755extern "C" {
9756    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_gcm_randnonce"]
9757    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9758}
9759extern "C" {
9760    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_gcm_randnonce"]
9761    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9762}
9763extern "C" {
9764    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_ccm_bluetooth"]
9765    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9766}
9767extern "C" {
9768    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_ccm_bluetooth_8"]
9769    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9770}
9771extern "C" {
9772    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_ccm_matter"]
9773    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9774}
9775extern "C" {
9776    #[link_name = "\u{1}aws_lc_0_43_0_EVP_has_aes_hardware"]
9777    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9778}
9779extern "C" {
9780    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_key_length"]
9781    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9782}
9783extern "C" {
9784    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_nonce_length"]
9785    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9786}
9787extern "C" {
9788    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_max_overhead"]
9789    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9790}
9791extern "C" {
9792    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_max_tag_len"]
9793    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9794}
9795#[repr(C)]
9796#[derive(Copy, Clone)]
9797pub union evp_aead_ctx_st_state {
9798    pub opaque: [u8; 564usize],
9799    pub alignment: u64,
9800    pub ptr: *mut ::std::os::raw::c_void,
9801}
9802#[test]
9803fn bindgen_test_layout_evp_aead_ctx_st_state() {
9804    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9805        ::std::mem::MaybeUninit::uninit();
9806    let ptr = UNINIT.as_ptr();
9807    assert_eq!(
9808        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9809        568usize,
9810        "Size of evp_aead_ctx_st_state"
9811    );
9812    assert_eq!(
9813        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9814        8usize,
9815        "Alignment of evp_aead_ctx_st_state"
9816    );
9817    assert_eq!(
9818        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9819        0usize,
9820        "Offset of field: evp_aead_ctx_st_state::opaque"
9821    );
9822    assert_eq!(
9823        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9824        0usize,
9825        "Offset of field: evp_aead_ctx_st_state::alignment"
9826    );
9827    assert_eq!(
9828        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9829        0usize,
9830        "Offset of field: evp_aead_ctx_st_state::ptr"
9831    );
9832}
9833impl Default for evp_aead_ctx_st_state {
9834    fn default() -> Self {
9835        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9836        unsafe {
9837            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9838            s.assume_init()
9839        }
9840    }
9841}
9842#[repr(C)]
9843#[derive(Copy, Clone)]
9844pub struct evp_aead_ctx_st {
9845    pub aead: *const EVP_AEAD,
9846    pub state: evp_aead_ctx_st_state,
9847    pub state_offset: u8,
9848    pub tag_len: u8,
9849}
9850#[test]
9851fn bindgen_test_layout_evp_aead_ctx_st() {
9852    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
9853    let ptr = UNINIT.as_ptr();
9854    assert_eq!(
9855        ::std::mem::size_of::<evp_aead_ctx_st>(),
9856        584usize,
9857        "Size of evp_aead_ctx_st"
9858    );
9859    assert_eq!(
9860        ::std::mem::align_of::<evp_aead_ctx_st>(),
9861        8usize,
9862        "Alignment of evp_aead_ctx_st"
9863    );
9864    assert_eq!(
9865        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
9866        0usize,
9867        "Offset of field: evp_aead_ctx_st::aead"
9868    );
9869    assert_eq!(
9870        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
9871        8usize,
9872        "Offset of field: evp_aead_ctx_st::state"
9873    );
9874    assert_eq!(
9875        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
9876        576usize,
9877        "Offset of field: evp_aead_ctx_st::state_offset"
9878    );
9879    assert_eq!(
9880        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
9881        577usize,
9882        "Offset of field: evp_aead_ctx_st::tag_len"
9883    );
9884}
9885impl Default for evp_aead_ctx_st {
9886    fn default() -> Self {
9887        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9888        unsafe {
9889            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9890            s.assume_init()
9891        }
9892    }
9893}
9894extern "C" {
9895    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_zero"]
9896    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
9897}
9898extern "C" {
9899    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_new"]
9900    pub fn EVP_AEAD_CTX_new(
9901        aead: *const EVP_AEAD,
9902        key: *const u8,
9903        key_len: usize,
9904        tag_len: usize,
9905    ) -> *mut EVP_AEAD_CTX;
9906}
9907extern "C" {
9908    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_free"]
9909    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
9910}
9911extern "C" {
9912    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_init"]
9913    pub fn EVP_AEAD_CTX_init(
9914        ctx: *mut EVP_AEAD_CTX,
9915        aead: *const EVP_AEAD,
9916        key: *const u8,
9917        key_len: usize,
9918        tag_len: usize,
9919        impl_: *mut ENGINE,
9920    ) -> ::std::os::raw::c_int;
9921}
9922extern "C" {
9923    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_cleanup"]
9924    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
9925}
9926extern "C" {
9927    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_seal"]
9928    pub fn EVP_AEAD_CTX_seal(
9929        ctx: *const EVP_AEAD_CTX,
9930        out: *mut u8,
9931        out_len: *mut usize,
9932        max_out_len: usize,
9933        nonce: *const u8,
9934        nonce_len: usize,
9935        in_: *const u8,
9936        in_len: usize,
9937        ad: *const u8,
9938        ad_len: usize,
9939    ) -> ::std::os::raw::c_int;
9940}
9941extern "C" {
9942    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_open"]
9943    pub fn EVP_AEAD_CTX_open(
9944        ctx: *const EVP_AEAD_CTX,
9945        out: *mut u8,
9946        out_len: *mut usize,
9947        max_out_len: usize,
9948        nonce: *const u8,
9949        nonce_len: usize,
9950        in_: *const u8,
9951        in_len: usize,
9952        ad: *const u8,
9953        ad_len: usize,
9954    ) -> ::std::os::raw::c_int;
9955}
9956extern "C" {
9957    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_seal_scatter"]
9958    pub fn EVP_AEAD_CTX_seal_scatter(
9959        ctx: *const EVP_AEAD_CTX,
9960        out: *mut u8,
9961        out_tag: *mut u8,
9962        out_tag_len: *mut usize,
9963        max_out_tag_len: usize,
9964        nonce: *const u8,
9965        nonce_len: usize,
9966        in_: *const u8,
9967        in_len: usize,
9968        extra_in: *const u8,
9969        extra_in_len: usize,
9970        ad: *const u8,
9971        ad_len: usize,
9972    ) -> ::std::os::raw::c_int;
9973}
9974extern "C" {
9975    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_open_gather"]
9976    pub fn EVP_AEAD_CTX_open_gather(
9977        ctx: *const EVP_AEAD_CTX,
9978        out: *mut u8,
9979        nonce: *const u8,
9980        nonce_len: usize,
9981        in_: *const u8,
9982        in_len: usize,
9983        in_tag: *const u8,
9984        in_tag_len: usize,
9985        ad: *const u8,
9986        ad_len: usize,
9987    ) -> ::std::os::raw::c_int;
9988}
9989extern "C" {
9990    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_aead"]
9991    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
9992}
9993extern "C" {
9994    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_cbc_sha1_tls"]
9995    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
9996}
9997extern "C" {
9998    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
9999    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10000}
10001extern "C" {
10002    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_cbc_sha1_tls"]
10003    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
10004}
10005extern "C" {
10006    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
10007    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10008}
10009extern "C" {
10010    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_cbc_sha256_tls"]
10011    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
10012}
10013extern "C" {
10014    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
10015    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
10016}
10017extern "C" {
10018    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_cbc_sha384_tls"]
10019    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
10020}
10021extern "C" {
10022    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_des_ede3_cbc_sha1_tls"]
10023    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
10024}
10025extern "C" {
10026    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
10027    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10028}
10029extern "C" {
10030    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_null_sha1_tls"]
10031    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
10032}
10033extern "C" {
10034    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_gcm_tls12"]
10035    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10036}
10037extern "C" {
10038    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_gcm_tls12"]
10039    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10040}
10041extern "C" {
10042    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_128_gcm_tls13"]
10043    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10044}
10045extern "C" {
10046    #[link_name = "\u{1}aws_lc_0_43_0_EVP_aead_aes_256_gcm_tls13"]
10047    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10048}
10049pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10050pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10051pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10052extern "C" {
10053    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_init_with_direction"]
10054    pub fn EVP_AEAD_CTX_init_with_direction(
10055        ctx: *mut EVP_AEAD_CTX,
10056        aead: *const EVP_AEAD,
10057        key: *const u8,
10058        key_len: usize,
10059        tag_len: usize,
10060        dir: evp_aead_direction_t,
10061    ) -> ::std::os::raw::c_int;
10062}
10063extern "C" {
10064    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_get_iv"]
10065    pub fn EVP_AEAD_CTX_get_iv(
10066        ctx: *const EVP_AEAD_CTX,
10067        out_iv: *mut *const u8,
10068        out_len: *mut usize,
10069    ) -> ::std::os::raw::c_int;
10070}
10071extern "C" {
10072    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_CTX_tag_len"]
10073    pub fn EVP_AEAD_CTX_tag_len(
10074        ctx: *const EVP_AEAD_CTX,
10075        out_tag_len: *mut usize,
10076        in_len: usize,
10077        extra_in_len: usize,
10078    ) -> ::std::os::raw::c_int;
10079}
10080extern "C" {
10081    #[link_name = "\u{1}aws_lc_0_43_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10082    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10083        ipv4_address: u32,
10084        nanosecs: u64,
10085        out_iv: *mut u8,
10086    ) -> ::std::os::raw::c_int;
10087}
10088#[repr(C)]
10089#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10090pub struct md5_state_st {
10091    pub h: [u32; 4usize],
10092    pub Nl: u32,
10093    pub Nh: u32,
10094    pub data: [u8; 64usize],
10095    pub num: ::std::os::raw::c_uint,
10096}
10097#[test]
10098fn bindgen_test_layout_md5_state_st() {
10099    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10100    let ptr = UNINIT.as_ptr();
10101    assert_eq!(
10102        ::std::mem::size_of::<md5_state_st>(),
10103        92usize,
10104        "Size of md5_state_st"
10105    );
10106    assert_eq!(
10107        ::std::mem::align_of::<md5_state_st>(),
10108        4usize,
10109        "Alignment of md5_state_st"
10110    );
10111    assert_eq!(
10112        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10113        0usize,
10114        "Offset of field: md5_state_st::h"
10115    );
10116    assert_eq!(
10117        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10118        16usize,
10119        "Offset of field: md5_state_st::Nl"
10120    );
10121    assert_eq!(
10122        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10123        20usize,
10124        "Offset of field: md5_state_st::Nh"
10125    );
10126    assert_eq!(
10127        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10128        24usize,
10129        "Offset of field: md5_state_st::data"
10130    );
10131    assert_eq!(
10132        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10133        88usize,
10134        "Offset of field: md5_state_st::num"
10135    );
10136}
10137impl Default for md5_state_st {
10138    fn default() -> Self {
10139        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10140        unsafe {
10141            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10142            s.assume_init()
10143        }
10144    }
10145}
10146extern "C" {
10147    #[link_name = "\u{1}aws_lc_0_43_0_HMAC"]
10148    pub fn HMAC(
10149        evp_md: *const EVP_MD,
10150        key: *const ::std::os::raw::c_void,
10151        key_len: usize,
10152        data: *const u8,
10153        data_len: usize,
10154        out: *mut u8,
10155        out_len: *mut ::std::os::raw::c_uint,
10156    ) -> *mut u8;
10157}
10158extern "C" {
10159    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_init"]
10160    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10161}
10162extern "C" {
10163    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_new"]
10164    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10165}
10166extern "C" {
10167    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_cleanup"]
10168    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10169}
10170extern "C" {
10171    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_cleanse"]
10172    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10173}
10174extern "C" {
10175    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_free"]
10176    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10177}
10178extern "C" {
10179    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_Init_ex"]
10180    pub fn HMAC_Init_ex(
10181        ctx: *mut HMAC_CTX,
10182        key: *const ::std::os::raw::c_void,
10183        key_len: usize,
10184        md: *const EVP_MD,
10185        impl_: *mut ENGINE,
10186    ) -> ::std::os::raw::c_int;
10187}
10188extern "C" {
10189    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_Update"]
10190    pub fn HMAC_Update(
10191        ctx: *mut HMAC_CTX,
10192        data: *const u8,
10193        data_len: usize,
10194    ) -> ::std::os::raw::c_int;
10195}
10196extern "C" {
10197    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_Final"]
10198    pub fn HMAC_Final(
10199        ctx: *mut HMAC_CTX,
10200        out: *mut u8,
10201        out_len: *mut ::std::os::raw::c_uint,
10202    ) -> ::std::os::raw::c_int;
10203}
10204extern "C" {
10205    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_size"]
10206    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10207}
10208extern "C" {
10209    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_get_md"]
10210    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10211}
10212extern "C" {
10213    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_copy_ex"]
10214    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10215}
10216extern "C" {
10217    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_reset"]
10218    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10219}
10220extern "C" {
10221    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_set_precomputed_key_export"]
10222    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10223}
10224extern "C" {
10225    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_get_precomputed_key"]
10226    pub fn HMAC_get_precomputed_key(
10227        ctx: *mut HMAC_CTX,
10228        out: *mut u8,
10229        out_len: *mut usize,
10230    ) -> ::std::os::raw::c_int;
10231}
10232extern "C" {
10233    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_Init_from_precomputed_key"]
10234    pub fn HMAC_Init_from_precomputed_key(
10235        ctx: *mut HMAC_CTX,
10236        precomputed_key: *const u8,
10237        precompute_key_len: usize,
10238        md: *const EVP_MD,
10239    ) -> ::std::os::raw::c_int;
10240}
10241extern "C" {
10242    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_Init"]
10243    pub fn HMAC_Init(
10244        ctx: *mut HMAC_CTX,
10245        key: *const ::std::os::raw::c_void,
10246        key_len: ::std::os::raw::c_int,
10247        md: *const EVP_MD,
10248    ) -> ::std::os::raw::c_int;
10249}
10250extern "C" {
10251    #[link_name = "\u{1}aws_lc_0_43_0_HMAC_CTX_copy"]
10252    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10253}
10254#[repr(C)]
10255#[derive(Debug, Copy, Clone)]
10256pub struct hmac_methods_st {
10257    _unused: [u8; 0],
10258}
10259pub type HmacMethods = hmac_methods_st;
10260#[repr(C)]
10261#[derive(Copy, Clone)]
10262pub union md_ctx_union {
10263    pub md5: MD5_CTX,
10264    pub sha1: SHA_CTX,
10265    pub sha256: SHA256_CTX,
10266    pub sha512: SHA512_CTX,
10267    pub sha3: [u8; 400usize],
10268}
10269#[test]
10270fn bindgen_test_layout_md_ctx_union() {
10271    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10272    let ptr = UNINIT.as_ptr();
10273    assert_eq!(
10274        ::std::mem::size_of::<md_ctx_union>(),
10275        400usize,
10276        "Size of md_ctx_union"
10277    );
10278    assert_eq!(
10279        ::std::mem::align_of::<md_ctx_union>(),
10280        8usize,
10281        "Alignment of md_ctx_union"
10282    );
10283    assert_eq!(
10284        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10285        0usize,
10286        "Offset of field: md_ctx_union::md5"
10287    );
10288    assert_eq!(
10289        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10290        0usize,
10291        "Offset of field: md_ctx_union::sha1"
10292    );
10293    assert_eq!(
10294        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10295        0usize,
10296        "Offset of field: md_ctx_union::sha256"
10297    );
10298    assert_eq!(
10299        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10300        0usize,
10301        "Offset of field: md_ctx_union::sha512"
10302    );
10303    assert_eq!(
10304        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10305        0usize,
10306        "Offset of field: md_ctx_union::sha3"
10307    );
10308}
10309impl Default for md_ctx_union {
10310    fn default() -> Self {
10311        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10312        unsafe {
10313            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10314            s.assume_init()
10315        }
10316    }
10317}
10318#[repr(C)]
10319#[derive(Copy, Clone)]
10320pub struct hmac_ctx_st {
10321    pub md: *const EVP_MD,
10322    pub methods: *const HmacMethods,
10323    pub md_ctx: md_ctx_union,
10324    pub i_ctx: md_ctx_union,
10325    pub o_ctx: md_ctx_union,
10326    pub state: i8,
10327}
10328#[test]
10329fn bindgen_test_layout_hmac_ctx_st() {
10330    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10331    let ptr = UNINIT.as_ptr();
10332    assert_eq!(
10333        ::std::mem::size_of::<hmac_ctx_st>(),
10334        1224usize,
10335        "Size of hmac_ctx_st"
10336    );
10337    assert_eq!(
10338        ::std::mem::align_of::<hmac_ctx_st>(),
10339        8usize,
10340        "Alignment of hmac_ctx_st"
10341    );
10342    assert_eq!(
10343        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10344        0usize,
10345        "Offset of field: hmac_ctx_st::md"
10346    );
10347    assert_eq!(
10348        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10349        8usize,
10350        "Offset of field: hmac_ctx_st::methods"
10351    );
10352    assert_eq!(
10353        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10354        16usize,
10355        "Offset of field: hmac_ctx_st::md_ctx"
10356    );
10357    assert_eq!(
10358        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10359        416usize,
10360        "Offset of field: hmac_ctx_st::i_ctx"
10361    );
10362    assert_eq!(
10363        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10364        816usize,
10365        "Offset of field: hmac_ctx_st::o_ctx"
10366    );
10367    assert_eq!(
10368        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10369        1216usize,
10370        "Offset of field: hmac_ctx_st::state"
10371    );
10372}
10373impl Default for hmac_ctx_st {
10374    fn default() -> Self {
10375        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10376        unsafe {
10377            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10378            s.assume_init()
10379        }
10380    }
10381}
10382extern "C" {
10383    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_new"]
10384    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10385}
10386extern "C" {
10387    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_free"]
10388    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10389}
10390extern "C" {
10391    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_up_ref"]
10392    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10393}
10394extern "C" {
10395    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_is_opaque"]
10396    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10397}
10398extern "C" {
10399    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_cmp"]
10400    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10401}
10402extern "C" {
10403    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_copy_parameters"]
10404    pub fn EVP_PKEY_copy_parameters(
10405        to: *mut EVP_PKEY,
10406        from: *const EVP_PKEY,
10407    ) -> ::std::os::raw::c_int;
10408}
10409extern "C" {
10410    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_missing_parameters"]
10411    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10412}
10413extern "C" {
10414    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_size"]
10415    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10416}
10417extern "C" {
10418    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_bits"]
10419    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10420}
10421extern "C" {
10422    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_id"]
10423    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10424}
10425extern "C" {
10426    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_pqdsa_get_type"]
10427    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10428}
10429extern "C" {
10430    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_get0_name"]
10431    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10432}
10433extern "C" {
10434    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_name"]
10435    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10436}
10437extern "C" {
10438    #[link_name = "\u{1}aws_lc_0_43_0_EVP_get_pw_prompt"]
10439    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10440}
10441extern "C" {
10442    #[link_name = "\u{1}aws_lc_0_43_0_EVP_read_pw_string"]
10443    pub fn EVP_read_pw_string(
10444        buf: *mut ::std::os::raw::c_char,
10445        length: ::std::os::raw::c_int,
10446        prompt: *const ::std::os::raw::c_char,
10447        verify: ::std::os::raw::c_int,
10448    ) -> ::std::os::raw::c_int;
10449}
10450extern "C" {
10451    #[link_name = "\u{1}aws_lc_0_43_0_EVP_read_pw_string_min"]
10452    pub fn EVP_read_pw_string_min(
10453        buf: *mut ::std::os::raw::c_char,
10454        min_length: ::std::os::raw::c_int,
10455        length: ::std::os::raw::c_int,
10456        prompt: *const ::std::os::raw::c_char,
10457        verify: ::std::os::raw::c_int,
10458    ) -> ::std::os::raw::c_int;
10459}
10460extern "C" {
10461    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_set1_RSA"]
10462    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10463}
10464extern "C" {
10465    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_assign_RSA"]
10466    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10467}
10468extern "C" {
10469    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get0_RSA"]
10470    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10471}
10472extern "C" {
10473    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get1_RSA"]
10474    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10475}
10476extern "C" {
10477    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_set1_DSA"]
10478    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10479}
10480extern "C" {
10481    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_assign_DSA"]
10482    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10483}
10484extern "C" {
10485    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get0_DSA"]
10486    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10487}
10488extern "C" {
10489    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get1_DSA"]
10490    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10491}
10492extern "C" {
10493    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_set1_EC_KEY"]
10494    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10495}
10496extern "C" {
10497    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_assign_EC_KEY"]
10498    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10499}
10500extern "C" {
10501    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get0_EC_KEY"]
10502    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10503}
10504extern "C" {
10505    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get1_EC_KEY"]
10506    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10507}
10508extern "C" {
10509    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_set1_DH"]
10510    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10511}
10512extern "C" {
10513    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_assign_DH"]
10514    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10515}
10516extern "C" {
10517    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get0_DH"]
10518    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10519}
10520extern "C" {
10521    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get1_DH"]
10522    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10523}
10524extern "C" {
10525    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10526    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10527        ctx: *mut EVP_PKEY_CTX,
10528        pbits: ::std::os::raw::c_int,
10529    ) -> ::std::os::raw::c_int;
10530}
10531extern "C" {
10532    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10533    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10534        ctx: *mut EVP_PKEY_CTX,
10535        gen_: ::std::os::raw::c_int,
10536    ) -> ::std::os::raw::c_int;
10537}
10538extern "C" {
10539    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_set_type"]
10540    pub fn EVP_PKEY_set_type(
10541        pkey: *mut EVP_PKEY,
10542        type_: ::std::os::raw::c_int,
10543    ) -> ::std::os::raw::c_int;
10544}
10545extern "C" {
10546    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_set_type_str"]
10547    pub fn EVP_PKEY_set_type_str(
10548        pkey: *mut EVP_PKEY,
10549        str_: *const ::std::os::raw::c_char,
10550        len: ::std::os::raw::c_int,
10551    ) -> ::std::os::raw::c_int;
10552}
10553extern "C" {
10554    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_cmp_parameters"]
10555    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10556        -> ::std::os::raw::c_int;
10557}
10558extern "C" {
10559    #[link_name = "\u{1}aws_lc_0_43_0_EVP_parse_public_key"]
10560    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10561}
10562extern "C" {
10563    #[link_name = "\u{1}aws_lc_0_43_0_EVP_marshal_public_key"]
10564    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10565}
10566extern "C" {
10567    #[link_name = "\u{1}aws_lc_0_43_0_EVP_parse_private_key"]
10568    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10569}
10570extern "C" {
10571    #[link_name = "\u{1}aws_lc_0_43_0_EVP_marshal_private_key"]
10572    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10573}
10574extern "C" {
10575    #[link_name = "\u{1}aws_lc_0_43_0_EVP_marshal_private_key_v2"]
10576    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10577        -> ::std::os::raw::c_int;
10578}
10579extern "C" {
10580    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_new_raw_private_key"]
10581    pub fn EVP_PKEY_new_raw_private_key(
10582        type_: ::std::os::raw::c_int,
10583        unused: *mut ENGINE,
10584        in_: *const u8,
10585        len: usize,
10586    ) -> *mut EVP_PKEY;
10587}
10588extern "C" {
10589    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_new_raw_public_key"]
10590    pub fn EVP_PKEY_new_raw_public_key(
10591        type_: ::std::os::raw::c_int,
10592        unused: *mut ENGINE,
10593        in_: *const u8,
10594        len: usize,
10595    ) -> *mut EVP_PKEY;
10596}
10597extern "C" {
10598    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get_raw_private_key"]
10599    pub fn EVP_PKEY_get_raw_private_key(
10600        pkey: *const EVP_PKEY,
10601        out: *mut u8,
10602        out_len: *mut usize,
10603    ) -> ::std::os::raw::c_int;
10604}
10605extern "C" {
10606    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get_raw_public_key"]
10607    pub fn EVP_PKEY_get_raw_public_key(
10608        pkey: *const EVP_PKEY,
10609        out: *mut u8,
10610        out_len: *mut usize,
10611    ) -> ::std::os::raw::c_int;
10612}
10613extern "C" {
10614    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestSignInit"]
10615    pub fn EVP_DigestSignInit(
10616        ctx: *mut EVP_MD_CTX,
10617        pctx: *mut *mut EVP_PKEY_CTX,
10618        type_: *const EVP_MD,
10619        e: *mut ENGINE,
10620        pkey: *mut EVP_PKEY,
10621    ) -> ::std::os::raw::c_int;
10622}
10623extern "C" {
10624    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestSignUpdate"]
10625    pub fn EVP_DigestSignUpdate(
10626        ctx: *mut EVP_MD_CTX,
10627        data: *const ::std::os::raw::c_void,
10628        len: usize,
10629    ) -> ::std::os::raw::c_int;
10630}
10631extern "C" {
10632    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestSignFinal"]
10633    pub fn EVP_DigestSignFinal(
10634        ctx: *mut EVP_MD_CTX,
10635        out_sig: *mut u8,
10636        out_sig_len: *mut usize,
10637    ) -> ::std::os::raw::c_int;
10638}
10639extern "C" {
10640    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestSign"]
10641    pub fn EVP_DigestSign(
10642        ctx: *mut EVP_MD_CTX,
10643        out_sig: *mut u8,
10644        out_sig_len: *mut usize,
10645        data: *const u8,
10646        data_len: usize,
10647    ) -> ::std::os::raw::c_int;
10648}
10649extern "C" {
10650    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestVerifyInit"]
10651    pub fn EVP_DigestVerifyInit(
10652        ctx: *mut EVP_MD_CTX,
10653        pctx: *mut *mut EVP_PKEY_CTX,
10654        type_: *const EVP_MD,
10655        e: *mut ENGINE,
10656        pkey: *mut EVP_PKEY,
10657    ) -> ::std::os::raw::c_int;
10658}
10659extern "C" {
10660    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestVerifyUpdate"]
10661    pub fn EVP_DigestVerifyUpdate(
10662        ctx: *mut EVP_MD_CTX,
10663        data: *const ::std::os::raw::c_void,
10664        len: usize,
10665    ) -> ::std::os::raw::c_int;
10666}
10667extern "C" {
10668    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestVerifyFinal"]
10669    pub fn EVP_DigestVerifyFinal(
10670        ctx: *mut EVP_MD_CTX,
10671        sig: *const u8,
10672        sig_len: usize,
10673    ) -> ::std::os::raw::c_int;
10674}
10675extern "C" {
10676    #[link_name = "\u{1}aws_lc_0_43_0_EVP_DigestVerify"]
10677    pub fn EVP_DigestVerify(
10678        ctx: *mut EVP_MD_CTX,
10679        sig: *const u8,
10680        sig_len: usize,
10681        data: *const u8,
10682        len: usize,
10683    ) -> ::std::os::raw::c_int;
10684}
10685extern "C" {
10686    #[link_name = "\u{1}aws_lc_0_43_0_EVP_SignInit_ex"]
10687    pub fn EVP_SignInit_ex(
10688        ctx: *mut EVP_MD_CTX,
10689        type_: *const EVP_MD,
10690        impl_: *mut ENGINE,
10691    ) -> ::std::os::raw::c_int;
10692}
10693extern "C" {
10694    #[link_name = "\u{1}aws_lc_0_43_0_EVP_SignInit"]
10695    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10696}
10697extern "C" {
10698    #[link_name = "\u{1}aws_lc_0_43_0_EVP_SignUpdate"]
10699    pub fn EVP_SignUpdate(
10700        ctx: *mut EVP_MD_CTX,
10701        data: *const ::std::os::raw::c_void,
10702        len: usize,
10703    ) -> ::std::os::raw::c_int;
10704}
10705extern "C" {
10706    #[link_name = "\u{1}aws_lc_0_43_0_EVP_SignFinal"]
10707    pub fn EVP_SignFinal(
10708        ctx: *const EVP_MD_CTX,
10709        sig: *mut u8,
10710        out_sig_len: *mut ::std::os::raw::c_uint,
10711        pkey: *mut EVP_PKEY,
10712    ) -> ::std::os::raw::c_int;
10713}
10714extern "C" {
10715    #[link_name = "\u{1}aws_lc_0_43_0_EVP_VerifyInit_ex"]
10716    pub fn EVP_VerifyInit_ex(
10717        ctx: *mut EVP_MD_CTX,
10718        type_: *const EVP_MD,
10719        impl_: *mut ENGINE,
10720    ) -> ::std::os::raw::c_int;
10721}
10722extern "C" {
10723    #[link_name = "\u{1}aws_lc_0_43_0_EVP_VerifyInit"]
10724    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10725}
10726extern "C" {
10727    #[link_name = "\u{1}aws_lc_0_43_0_EVP_VerifyUpdate"]
10728    pub fn EVP_VerifyUpdate(
10729        ctx: *mut EVP_MD_CTX,
10730        data: *const ::std::os::raw::c_void,
10731        len: usize,
10732    ) -> ::std::os::raw::c_int;
10733}
10734extern "C" {
10735    #[link_name = "\u{1}aws_lc_0_43_0_EVP_VerifyFinal"]
10736    pub fn EVP_VerifyFinal(
10737        ctx: *mut EVP_MD_CTX,
10738        sig: *const u8,
10739        sig_len: usize,
10740        pkey: *mut EVP_PKEY,
10741    ) -> ::std::os::raw::c_int;
10742}
10743extern "C" {
10744    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_print_public"]
10745    pub fn EVP_PKEY_print_public(
10746        out: *mut BIO,
10747        pkey: *const EVP_PKEY,
10748        indent: ::std::os::raw::c_int,
10749        pctx: *mut ASN1_PCTX,
10750    ) -> ::std::os::raw::c_int;
10751}
10752extern "C" {
10753    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_print_private"]
10754    pub fn EVP_PKEY_print_private(
10755        out: *mut BIO,
10756        pkey: *const EVP_PKEY,
10757        indent: ::std::os::raw::c_int,
10758        pctx: *mut ASN1_PCTX,
10759    ) -> ::std::os::raw::c_int;
10760}
10761extern "C" {
10762    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_print_params"]
10763    pub fn EVP_PKEY_print_params(
10764        out: *mut BIO,
10765        pkey: *const EVP_PKEY,
10766        indent: ::std::os::raw::c_int,
10767        pctx: *mut ASN1_PCTX,
10768    ) -> ::std::os::raw::c_int;
10769}
10770extern "C" {
10771    #[link_name = "\u{1}aws_lc_0_43_0_PKCS5_PBKDF2_HMAC"]
10772    pub fn PKCS5_PBKDF2_HMAC(
10773        password: *const ::std::os::raw::c_char,
10774        password_len: usize,
10775        salt: *const u8,
10776        salt_len: usize,
10777        iterations: u32,
10778        digest: *const EVP_MD,
10779        key_len: usize,
10780        out_key: *mut u8,
10781    ) -> ::std::os::raw::c_int;
10782}
10783extern "C" {
10784    #[link_name = "\u{1}aws_lc_0_43_0_PKCS5_PBKDF2_HMAC_SHA1"]
10785    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10786        password: *const ::std::os::raw::c_char,
10787        password_len: usize,
10788        salt: *const u8,
10789        salt_len: usize,
10790        iterations: u32,
10791        key_len: usize,
10792        out_key: *mut u8,
10793    ) -> ::std::os::raw::c_int;
10794}
10795extern "C" {
10796    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PBE_scrypt"]
10797    pub fn EVP_PBE_scrypt(
10798        password: *const ::std::os::raw::c_char,
10799        password_len: usize,
10800        salt: *const u8,
10801        salt_len: usize,
10802        N: u64,
10803        r: u64,
10804        p: u64,
10805        max_mem: usize,
10806        out_key: *mut u8,
10807        key_len: usize,
10808    ) -> ::std::os::raw::c_int;
10809}
10810extern "C" {
10811    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_new"]
10812    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10813}
10814extern "C" {
10815    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_new_id"]
10816    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10817}
10818extern "C" {
10819    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_free"]
10820    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
10821}
10822extern "C" {
10823    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_dup"]
10824    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
10825}
10826extern "C" {
10827    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get0_pkey"]
10828    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
10829}
10830extern "C" {
10831    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_sign_init"]
10832    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10833}
10834extern "C" {
10835    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_sign"]
10836    pub fn EVP_PKEY_sign(
10837        ctx: *mut EVP_PKEY_CTX,
10838        sig: *mut u8,
10839        sig_len: *mut usize,
10840        digest: *const u8,
10841        digest_len: usize,
10842    ) -> ::std::os::raw::c_int;
10843}
10844extern "C" {
10845    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_verify_init"]
10846    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10847}
10848extern "C" {
10849    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_verify"]
10850    pub fn EVP_PKEY_verify(
10851        ctx: *mut EVP_PKEY_CTX,
10852        sig: *const u8,
10853        sig_len: usize,
10854        digest: *const u8,
10855        digest_len: usize,
10856    ) -> ::std::os::raw::c_int;
10857}
10858extern "C" {
10859    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_encrypt_init"]
10860    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10861}
10862extern "C" {
10863    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_encrypt"]
10864    pub fn EVP_PKEY_encrypt(
10865        ctx: *mut EVP_PKEY_CTX,
10866        out: *mut u8,
10867        out_len: *mut usize,
10868        in_: *const u8,
10869        in_len: usize,
10870    ) -> ::std::os::raw::c_int;
10871}
10872extern "C" {
10873    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_decrypt_init"]
10874    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10875}
10876extern "C" {
10877    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_decrypt"]
10878    pub fn EVP_PKEY_decrypt(
10879        ctx: *mut EVP_PKEY_CTX,
10880        out: *mut u8,
10881        out_len: *mut usize,
10882        in_: *const u8,
10883        in_len: usize,
10884    ) -> ::std::os::raw::c_int;
10885}
10886extern "C" {
10887    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_verify_recover_init"]
10888    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10889}
10890extern "C" {
10891    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_verify_recover"]
10892    pub fn EVP_PKEY_verify_recover(
10893        ctx: *mut EVP_PKEY_CTX,
10894        out: *mut u8,
10895        out_len: *mut usize,
10896        sig: *const u8,
10897        siglen: usize,
10898    ) -> ::std::os::raw::c_int;
10899}
10900extern "C" {
10901    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_derive_init"]
10902    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10903}
10904extern "C" {
10905    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_derive_set_peer"]
10906    pub fn EVP_PKEY_derive_set_peer(
10907        ctx: *mut EVP_PKEY_CTX,
10908        peer: *mut EVP_PKEY,
10909    ) -> ::std::os::raw::c_int;
10910}
10911extern "C" {
10912    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_derive"]
10913    pub fn EVP_PKEY_derive(
10914        ctx: *mut EVP_PKEY_CTX,
10915        key: *mut u8,
10916        out_key_len: *mut usize,
10917    ) -> ::std::os::raw::c_int;
10918}
10919extern "C" {
10920    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_check"]
10921    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10922}
10923extern "C" {
10924    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_public_check"]
10925    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10926}
10927extern "C" {
10928    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_param_check"]
10929    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10930}
10931extern "C" {
10932    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_keygen_init"]
10933    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10934}
10935extern "C" {
10936    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_keygen"]
10937    pub fn EVP_PKEY_keygen(
10938        ctx: *mut EVP_PKEY_CTX,
10939        out_pkey: *mut *mut EVP_PKEY,
10940    ) -> ::std::os::raw::c_int;
10941}
10942extern "C" {
10943    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_encapsulate"]
10944    pub fn EVP_PKEY_encapsulate(
10945        ctx: *mut EVP_PKEY_CTX,
10946        ciphertext: *mut u8,
10947        ciphertext_len: *mut usize,
10948        shared_secret: *mut u8,
10949        shared_secret_len: *mut usize,
10950    ) -> ::std::os::raw::c_int;
10951}
10952extern "C" {
10953    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_decapsulate"]
10954    pub fn EVP_PKEY_decapsulate(
10955        ctx: *mut EVP_PKEY_CTX,
10956        shared_secret: *mut u8,
10957        shared_secret_len: *mut usize,
10958        ciphertext: *const u8,
10959        ciphertext_len: usize,
10960    ) -> ::std::os::raw::c_int;
10961}
10962extern "C" {
10963    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_paramgen_init"]
10964    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10965}
10966extern "C" {
10967    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_paramgen"]
10968    pub fn EVP_PKEY_paramgen(
10969        ctx: *mut EVP_PKEY_CTX,
10970        out_pkey: *mut *mut EVP_PKEY,
10971    ) -> ::std::os::raw::c_int;
10972}
10973extern "C" {
10974    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_signature_md"]
10975    pub fn EVP_PKEY_CTX_set_signature_md(
10976        ctx: *mut EVP_PKEY_CTX,
10977        md: *const EVP_MD,
10978    ) -> ::std::os::raw::c_int;
10979}
10980extern "C" {
10981    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get_signature_md"]
10982    pub fn EVP_PKEY_CTX_get_signature_md(
10983        ctx: *mut EVP_PKEY_CTX,
10984        out_md: *mut *const EVP_MD,
10985    ) -> ::std::os::raw::c_int;
10986}
10987extern "C" {
10988    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set1_signature_context_string"]
10989    pub fn EVP_PKEY_CTX_set1_signature_context_string(
10990        ctx: *mut EVP_PKEY_CTX,
10991        context: *const u8,
10992        context_len: usize,
10993    ) -> ::std::os::raw::c_int;
10994}
10995extern "C" {
10996    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_signature_context"]
10997    pub fn EVP_PKEY_CTX_set_signature_context(
10998        ctx: *mut EVP_PKEY_CTX,
10999        context: *const u8,
11000        context_len: usize,
11001    ) -> ::std::os::raw::c_int;
11002}
11003extern "C" {
11004    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get0_signature_context"]
11005    pub fn EVP_PKEY_CTX_get0_signature_context(
11006        ctx: *mut EVP_PKEY_CTX,
11007        context: *mut *const u8,
11008        context_len: *mut usize,
11009    ) -> ::std::os::raw::c_int;
11010}
11011extern "C" {
11012    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_padding"]
11013    pub fn EVP_PKEY_CTX_set_rsa_padding(
11014        ctx: *mut EVP_PKEY_CTX,
11015        padding: ::std::os::raw::c_int,
11016    ) -> ::std::os::raw::c_int;
11017}
11018extern "C" {
11019    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get_rsa_padding"]
11020    pub fn EVP_PKEY_CTX_get_rsa_padding(
11021        ctx: *mut EVP_PKEY_CTX,
11022        out_padding: *mut ::std::os::raw::c_int,
11023    ) -> ::std::os::raw::c_int;
11024}
11025extern "C" {
11026    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
11027    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
11028        ctx: *mut EVP_PKEY_CTX,
11029        salt_len: ::std::os::raw::c_int,
11030    ) -> ::std::os::raw::c_int;
11031}
11032extern "C" {
11033    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
11034    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
11035        ctx: *mut EVP_PKEY_CTX,
11036        out_salt_len: *mut ::std::os::raw::c_int,
11037    ) -> ::std::os::raw::c_int;
11038}
11039extern "C" {
11040    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
11041    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
11042        ctx: *mut EVP_PKEY_CTX,
11043        bits: ::std::os::raw::c_int,
11044    ) -> ::std::os::raw::c_int;
11045}
11046extern "C" {
11047    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11048    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11049        ctx: *mut EVP_PKEY_CTX,
11050        e: *mut BIGNUM,
11051    ) -> ::std::os::raw::c_int;
11052}
11053extern "C" {
11054    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
11055    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11056        ctx: *mut EVP_PKEY_CTX,
11057        md: *const EVP_MD,
11058    ) -> ::std::os::raw::c_int;
11059}
11060extern "C" {
11061    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
11062    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11063        ctx: *mut EVP_PKEY_CTX,
11064        out_md: *mut *const EVP_MD,
11065    ) -> ::std::os::raw::c_int;
11066}
11067extern "C" {
11068    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11069    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11070        ctx: *mut EVP_PKEY_CTX,
11071        md: *const EVP_MD,
11072    ) -> ::std::os::raw::c_int;
11073}
11074extern "C" {
11075    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11076    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11077        ctx: *mut EVP_PKEY_CTX,
11078        out_md: *mut *const EVP_MD,
11079    ) -> ::std::os::raw::c_int;
11080}
11081extern "C" {
11082    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11083    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11084        ctx: *mut EVP_PKEY_CTX,
11085        label: *mut u8,
11086        label_len: usize,
11087    ) -> ::std::os::raw::c_int;
11088}
11089extern "C" {
11090    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11091    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11092        ctx: *mut EVP_PKEY_CTX,
11093        out_label: *mut *const u8,
11094    ) -> ::std::os::raw::c_int;
11095}
11096extern "C" {
11097    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11098    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11099        ctx: *mut EVP_PKEY_CTX,
11100        nid: ::std::os::raw::c_int,
11101    ) -> ::std::os::raw::c_int;
11102}
11103extern "C" {
11104    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_kem_set_params"]
11105    pub fn EVP_PKEY_CTX_kem_set_params(
11106        ctx: *mut EVP_PKEY_CTX,
11107        nid: ::std::os::raw::c_int,
11108    ) -> ::std::os::raw::c_int;
11109}
11110extern "C" {
11111    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_kem_new_raw_public_key"]
11112    pub fn EVP_PKEY_kem_new_raw_public_key(
11113        nid: ::std::os::raw::c_int,
11114        in_: *const u8,
11115        len: usize,
11116    ) -> *mut EVP_PKEY;
11117}
11118extern "C" {
11119    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_kem_new_raw_secret_key"]
11120    pub fn EVP_PKEY_kem_new_raw_secret_key(
11121        nid: ::std::os::raw::c_int,
11122        in_: *const u8,
11123        len: usize,
11124    ) -> *mut EVP_PKEY;
11125}
11126extern "C" {
11127    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_kem_new_raw_key"]
11128    pub fn EVP_PKEY_kem_new_raw_key(
11129        nid: ::std::os::raw::c_int,
11130        in_public: *const u8,
11131        len_public: usize,
11132        in_secret: *const u8,
11133        len_secret: usize,
11134    ) -> *mut EVP_PKEY;
11135}
11136extern "C" {
11137    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_kem_check_key"]
11138    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11139}
11140extern "C" {
11141    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_kem_get_type"]
11142    pub fn EVP_PKEY_kem_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11143}
11144extern "C" {
11145    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_pqdsa_set_params"]
11146    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11147        ctx: *mut EVP_PKEY_CTX,
11148        nid: ::std::os::raw::c_int,
11149    ) -> ::std::os::raw::c_int;
11150}
11151extern "C" {
11152    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_pqdsa_new_raw_public_key"]
11153    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11154        nid: ::std::os::raw::c_int,
11155        in_: *const u8,
11156        len: usize,
11157    ) -> *mut EVP_PKEY;
11158}
11159extern "C" {
11160    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_pqdsa_new_raw_private_key"]
11161    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11162        nid: ::std::os::raw::c_int,
11163        in_: *const u8,
11164        len: usize,
11165    ) -> *mut EVP_PKEY;
11166}
11167extern "C" {
11168    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_dh_pad"]
11169    pub fn EVP_PKEY_CTX_set_dh_pad(
11170        ctx: *mut EVP_PKEY_CTX,
11171        pad: ::std::os::raw::c_int,
11172    ) -> ::std::os::raw::c_int;
11173}
11174extern "C" {
11175    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_asn1_get_count"]
11176    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11177}
11178extern "C" {
11179    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_asn1_get0"]
11180    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11181}
11182extern "C" {
11183    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_asn1_find"]
11184    pub fn EVP_PKEY_asn1_find(
11185        _pe: *mut *mut ENGINE,
11186        type_: ::std::os::raw::c_int,
11187    ) -> *const EVP_PKEY_ASN1_METHOD;
11188}
11189extern "C" {
11190    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_asn1_find_str"]
11191    pub fn EVP_PKEY_asn1_find_str(
11192        _pe: *mut *mut ENGINE,
11193        name: *const ::std::os::raw::c_char,
11194        len: ::std::os::raw::c_int,
11195    ) -> *const EVP_PKEY_ASN1_METHOD;
11196}
11197extern "C" {
11198    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_asn1_get0_info"]
11199    pub fn EVP_PKEY_asn1_get0_info(
11200        ppkey_id: *mut ::std::os::raw::c_int,
11201        pkey_base_id: *mut ::std::os::raw::c_int,
11202        ppkey_flags: *mut ::std::os::raw::c_int,
11203        pinfo: *mut *const ::std::os::raw::c_char,
11204        ppem_str: *mut *const ::std::os::raw::c_char,
11205        ameth: *const EVP_PKEY_ASN1_METHOD,
11206    ) -> ::std::os::raw::c_int;
11207}
11208extern "C" {
11209    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get_private_seed"]
11210    pub fn EVP_PKEY_get_private_seed(
11211        key: *const EVP_PKEY,
11212        out: *mut u8,
11213        out_len: *mut usize,
11214    ) -> ::std::os::raw::c_int;
11215}
11216pub type EVP_PKEY_gen_cb =
11217    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11218extern "C" {
11219    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_cb"]
11220    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11221}
11222extern "C" {
11223    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get_keygen_info"]
11224    pub fn EVP_PKEY_CTX_get_keygen_info(
11225        ctx: *mut EVP_PKEY_CTX,
11226        idx: ::std::os::raw::c_int,
11227    ) -> ::std::os::raw::c_int;
11228}
11229extern "C" {
11230    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_app_data"]
11231    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11232}
11233extern "C" {
11234    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_get_app_data"]
11235    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11236}
11237extern "C" {
11238    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_get_pkey_type"]
11239    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11240}
11241extern "C" {
11242    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_pkey_type"]
11243    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11244}
11245extern "C" {
11246    #[link_name = "\u{1}aws_lc_0_43_0_EVP_CIPHER_do_all_sorted"]
11247    pub fn EVP_CIPHER_do_all_sorted(
11248        callback: ::std::option::Option<
11249            unsafe extern "C" fn(
11250                cipher: *const EVP_CIPHER,
11251                name: *const ::std::os::raw::c_char,
11252                unused: *const ::std::os::raw::c_char,
11253                arg: *mut ::std::os::raw::c_void,
11254            ),
11255        >,
11256        arg: *mut ::std::os::raw::c_void,
11257    );
11258}
11259extern "C" {
11260    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_do_all_sorted"]
11261    pub fn EVP_MD_do_all_sorted(
11262        callback: ::std::option::Option<
11263            unsafe extern "C" fn(
11264                cipher: *const EVP_MD,
11265                name: *const ::std::os::raw::c_char,
11266                unused: *const ::std::os::raw::c_char,
11267                arg: *mut ::std::os::raw::c_void,
11268            ),
11269        >,
11270        arg: *mut ::std::os::raw::c_void,
11271    );
11272}
11273extern "C" {
11274    #[link_name = "\u{1}aws_lc_0_43_0_EVP_MD_do_all"]
11275    pub fn EVP_MD_do_all(
11276        callback: ::std::option::Option<
11277            unsafe extern "C" fn(
11278                cipher: *const EVP_MD,
11279                name: *const ::std::os::raw::c_char,
11280                unused: *const ::std::os::raw::c_char,
11281                arg: *mut ::std::os::raw::c_void,
11282            ),
11283        >,
11284        arg: *mut ::std::os::raw::c_void,
11285    );
11286}
11287extern "C" {
11288    #[link_name = "\u{1}aws_lc_0_43_0_i2d_PrivateKey"]
11289    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11290}
11291extern "C" {
11292    #[link_name = "\u{1}aws_lc_0_43_0_i2d_PublicKey"]
11293    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11294}
11295extern "C" {
11296    #[link_name = "\u{1}aws_lc_0_43_0_d2i_PrivateKey"]
11297    pub fn d2i_PrivateKey(
11298        type_: ::std::os::raw::c_int,
11299        out: *mut *mut EVP_PKEY,
11300        inp: *mut *const u8,
11301        len: ::std::os::raw::c_long,
11302    ) -> *mut EVP_PKEY;
11303}
11304extern "C" {
11305    #[link_name = "\u{1}aws_lc_0_43_0_d2i_AutoPrivateKey"]
11306    pub fn d2i_AutoPrivateKey(
11307        out: *mut *mut EVP_PKEY,
11308        inp: *mut *const u8,
11309        len: ::std::os::raw::c_long,
11310    ) -> *mut EVP_PKEY;
11311}
11312extern "C" {
11313    #[link_name = "\u{1}aws_lc_0_43_0_d2i_PublicKey"]
11314    pub fn d2i_PublicKey(
11315        type_: ::std::os::raw::c_int,
11316        out: *mut *mut EVP_PKEY,
11317        inp: *mut *const u8,
11318        len: ::std::os::raw::c_long,
11319    ) -> *mut EVP_PKEY;
11320}
11321extern "C" {
11322    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_ec_param_enc"]
11323    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11324        ctx: *mut EVP_PKEY_CTX,
11325        encoding: ::std::os::raw::c_int,
11326    ) -> ::std::os::raw::c_int;
11327}
11328extern "C" {
11329    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_set1_tls_encodedpoint"]
11330    pub fn EVP_PKEY_set1_tls_encodedpoint(
11331        pkey: *mut EVP_PKEY,
11332        in_: *const u8,
11333        len: usize,
11334    ) -> ::std::os::raw::c_int;
11335}
11336extern "C" {
11337    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get1_tls_encodedpoint"]
11338    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11339}
11340extern "C" {
11341    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_base_id"]
11342    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11343}
11344extern "C" {
11345    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11346    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11347        ctx: *mut EVP_PKEY_CTX,
11348        md: *const EVP_MD,
11349    ) -> ::std::os::raw::c_int;
11350}
11351extern "C" {
11352    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11353    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11354        ctx: *mut EVP_PKEY_CTX,
11355        salt_len: ::std::os::raw::c_int,
11356    ) -> ::std::os::raw::c_int;
11357}
11358extern "C" {
11359    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11360    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11361        ctx: *mut EVP_PKEY_CTX,
11362        md: *const EVP_MD,
11363    ) -> ::std::os::raw::c_int;
11364}
11365extern "C" {
11366    #[link_name = "\u{1}aws_lc_0_43_0_i2d_PUBKEY"]
11367    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11368}
11369extern "C" {
11370    #[link_name = "\u{1}aws_lc_0_43_0_d2i_PUBKEY"]
11371    pub fn d2i_PUBKEY(
11372        out: *mut *mut EVP_PKEY,
11373        inp: *mut *const u8,
11374        len: ::std::os::raw::c_long,
11375    ) -> *mut EVP_PKEY;
11376}
11377extern "C" {
11378    #[link_name = "\u{1}aws_lc_0_43_0_i2d_RSA_PUBKEY"]
11379    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11380}
11381extern "C" {
11382    #[link_name = "\u{1}aws_lc_0_43_0_d2i_RSA_PUBKEY"]
11383    pub fn d2i_RSA_PUBKEY(
11384        out: *mut *mut RSA,
11385        inp: *mut *const u8,
11386        len: ::std::os::raw::c_long,
11387    ) -> *mut RSA;
11388}
11389extern "C" {
11390    #[link_name = "\u{1}aws_lc_0_43_0_i2d_DSA_PUBKEY"]
11391    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11392}
11393extern "C" {
11394    #[link_name = "\u{1}aws_lc_0_43_0_d2i_DSA_PUBKEY"]
11395    pub fn d2i_DSA_PUBKEY(
11396        out: *mut *mut DSA,
11397        inp: *mut *const u8,
11398        len: ::std::os::raw::c_long,
11399    ) -> *mut DSA;
11400}
11401extern "C" {
11402    #[link_name = "\u{1}aws_lc_0_43_0_i2d_EC_PUBKEY"]
11403    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11404}
11405extern "C" {
11406    #[link_name = "\u{1}aws_lc_0_43_0_d2i_EC_PUBKEY"]
11407    pub fn d2i_EC_PUBKEY(
11408        out: *mut *mut EC_KEY,
11409        inp: *mut *const u8,
11410        len: ::std::os::raw::c_long,
11411    ) -> *mut EC_KEY;
11412}
11413extern "C" {
11414    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_assign"]
11415    pub fn EVP_PKEY_assign(
11416        pkey: *mut EVP_PKEY,
11417        type_: ::std::os::raw::c_int,
11418        key: *mut ::std::os::raw::c_void,
11419    ) -> ::std::os::raw::c_int;
11420}
11421extern "C" {
11422    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_type"]
11423    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11424}
11425extern "C" {
11426    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_new_mac_key"]
11427    pub fn EVP_PKEY_new_mac_key(
11428        type_: ::std::os::raw::c_int,
11429        engine: *mut ENGINE,
11430        mac_key: *const u8,
11431        mac_key_len: usize,
11432    ) -> *mut EVP_PKEY;
11433}
11434extern "C" {
11435    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_get0"]
11436    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11437}
11438extern "C" {
11439    #[link_name = "\u{1}aws_lc_0_43_0_OpenSSL_add_all_algorithms"]
11440    pub fn OpenSSL_add_all_algorithms();
11441}
11442extern "C" {
11443    #[link_name = "\u{1}aws_lc_0_43_0_OPENSSL_add_all_algorithms_conf"]
11444    pub fn OPENSSL_add_all_algorithms_conf();
11445}
11446extern "C" {
11447    #[link_name = "\u{1}aws_lc_0_43_0_OpenSSL_add_all_ciphers"]
11448    pub fn OpenSSL_add_all_ciphers();
11449}
11450extern "C" {
11451    #[link_name = "\u{1}aws_lc_0_43_0_OpenSSL_add_all_digests"]
11452    pub fn OpenSSL_add_all_digests();
11453}
11454extern "C" {
11455    #[link_name = "\u{1}aws_lc_0_43_0_EVP_cleanup"]
11456    pub fn EVP_cleanup();
11457}
11458extern "C" {
11459    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11460    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11461        ctx: *mut EVP_PKEY_CTX,
11462        nbits: ::std::os::raw::c_int,
11463    ) -> ::std::os::raw::c_int;
11464}
11465extern "C" {
11466    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11467    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11468        ctx: *mut EVP_PKEY_CTX,
11469        md: *const EVP_MD,
11470    ) -> ::std::os::raw::c_int;
11471}
11472extern "C" {
11473    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11474    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11475        ctx: *mut EVP_PKEY_CTX,
11476        qbits: ::std::os::raw::c_int,
11477    ) -> ::std::os::raw::c_int;
11478}
11479extern "C" {
11480    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_ctrl_str"]
11481    pub fn EVP_PKEY_CTX_ctrl_str(
11482        ctx: *mut EVP_PKEY_CTX,
11483        type_: *const ::std::os::raw::c_char,
11484        value: *const ::std::os::raw::c_char,
11485    ) -> ::std::os::raw::c_int;
11486}
11487extern "C" {
11488    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_tls1_prf"]
11489    pub fn CRYPTO_tls1_prf(
11490        digest: *const EVP_MD,
11491        out: *mut u8,
11492        out_len: usize,
11493        secret: *const u8,
11494        secret_len: usize,
11495        label: *const ::std::os::raw::c_char,
11496        label_len: usize,
11497        seed1: *const u8,
11498        seed1_len: usize,
11499        seed2: *const u8,
11500        seed2_len: usize,
11501    ) -> ::std::os::raw::c_int;
11502}
11503extern "C" {
11504    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_tls13_hkdf_expand_label"]
11505    pub fn CRYPTO_tls13_hkdf_expand_label(
11506        out: *mut u8,
11507        out_len: usize,
11508        digest: *const EVP_MD,
11509        secret: *const u8,
11510        secret_len: usize,
11511        label: *const u8,
11512        label_len: usize,
11513        hash: *const u8,
11514        hash_len: usize,
11515    ) -> ::std::os::raw::c_int;
11516}
11517extern "C" {
11518    #[link_name = "\u{1}aws_lc_0_43_0_SSKDF_digest"]
11519    pub fn SSKDF_digest(
11520        out_key: *mut u8,
11521        out_len: usize,
11522        digest: *const EVP_MD,
11523        secret: *const u8,
11524        secret_len: usize,
11525        info: *const u8,
11526        info_len: usize,
11527    ) -> ::std::os::raw::c_int;
11528}
11529extern "C" {
11530    #[link_name = "\u{1}aws_lc_0_43_0_SSKDF_hmac"]
11531    pub fn SSKDF_hmac(
11532        out_key: *mut u8,
11533        out_len: usize,
11534        digest: *const EVP_MD,
11535        secret: *const u8,
11536        secret_len: usize,
11537        info: *const u8,
11538        info_len: usize,
11539        salt: *const u8,
11540        salt_len: usize,
11541    ) -> ::std::os::raw::c_int;
11542}
11543extern "C" {
11544    #[link_name = "\u{1}aws_lc_0_43_0_KBKDF_ctr_hmac"]
11545    pub fn KBKDF_ctr_hmac(
11546        out_key: *mut u8,
11547        out_len: usize,
11548        digest: *const EVP_MD,
11549        secret: *const u8,
11550        secret_len: usize,
11551        info: *const u8,
11552        info_len: usize,
11553    ) -> ::std::os::raw::c_int;
11554}
11555extern "C" {
11556    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_hkdf_mode"]
11557    pub fn EVP_PKEY_CTX_hkdf_mode(
11558        ctx: *mut EVP_PKEY_CTX,
11559        mode: ::std::os::raw::c_int,
11560    ) -> ::std::os::raw::c_int;
11561}
11562extern "C" {
11563    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set_hkdf_md"]
11564    pub fn EVP_PKEY_CTX_set_hkdf_md(
11565        ctx: *mut EVP_PKEY_CTX,
11566        md: *const EVP_MD,
11567    ) -> ::std::os::raw::c_int;
11568}
11569extern "C" {
11570    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set1_hkdf_key"]
11571    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11572        ctx: *mut EVP_PKEY_CTX,
11573        key: *const u8,
11574        key_len: usize,
11575    ) -> ::std::os::raw::c_int;
11576}
11577extern "C" {
11578    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_set1_hkdf_salt"]
11579    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11580        ctx: *mut EVP_PKEY_CTX,
11581        salt: *const u8,
11582        salt_len: usize,
11583    ) -> ::std::os::raw::c_int;
11584}
11585extern "C" {
11586    #[link_name = "\u{1}aws_lc_0_43_0_EVP_PKEY_CTX_add1_hkdf_info"]
11587    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11588        ctx: *mut EVP_PKEY_CTX,
11589        info: *const u8,
11590        info_len: usize,
11591    ) -> ::std::os::raw::c_int;
11592}
11593extern "C" {
11594    #[link_name = "\u{1}aws_lc_0_43_0_HKDF"]
11595    pub fn HKDF(
11596        out_key: *mut u8,
11597        out_len: usize,
11598        digest: *const EVP_MD,
11599        secret: *const u8,
11600        secret_len: usize,
11601        salt: *const u8,
11602        salt_len: usize,
11603        info: *const u8,
11604        info_len: usize,
11605    ) -> ::std::os::raw::c_int;
11606}
11607extern "C" {
11608    #[link_name = "\u{1}aws_lc_0_43_0_HKDF_extract"]
11609    pub fn HKDF_extract(
11610        out_key: *mut u8,
11611        out_len: *mut usize,
11612        digest: *const EVP_MD,
11613        secret: *const u8,
11614        secret_len: usize,
11615        salt: *const u8,
11616        salt_len: usize,
11617    ) -> ::std::os::raw::c_int;
11618}
11619extern "C" {
11620    #[link_name = "\u{1}aws_lc_0_43_0_HKDF_expand"]
11621    pub fn HKDF_expand(
11622        out_key: *mut u8,
11623        out_len: usize,
11624        digest: *const EVP_MD,
11625        prk: *const u8,
11626        prk_len: usize,
11627        info: *const u8,
11628        info_len: usize,
11629    ) -> ::std::os::raw::c_int;
11630}
11631#[repr(C)]
11632#[derive(Copy, Clone)]
11633pub struct evp_hpke_ctx_st {
11634    pub kem: *const EVP_HPKE_KEM,
11635    pub aead: *const EVP_HPKE_AEAD,
11636    pub kdf: *const EVP_HPKE_KDF,
11637    pub aead_ctx: EVP_AEAD_CTX,
11638    pub base_nonce: [u8; 24usize],
11639    pub exporter_secret: [u8; 64usize],
11640    pub seq: u64,
11641    pub is_sender: ::std::os::raw::c_int,
11642}
11643#[test]
11644fn bindgen_test_layout_evp_hpke_ctx_st() {
11645    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11646    let ptr = UNINIT.as_ptr();
11647    assert_eq!(
11648        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11649        712usize,
11650        "Size of evp_hpke_ctx_st"
11651    );
11652    assert_eq!(
11653        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11654        8usize,
11655        "Alignment of evp_hpke_ctx_st"
11656    );
11657    assert_eq!(
11658        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11659        0usize,
11660        "Offset of field: evp_hpke_ctx_st::kem"
11661    );
11662    assert_eq!(
11663        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11664        8usize,
11665        "Offset of field: evp_hpke_ctx_st::aead"
11666    );
11667    assert_eq!(
11668        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11669        16usize,
11670        "Offset of field: evp_hpke_ctx_st::kdf"
11671    );
11672    assert_eq!(
11673        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11674        24usize,
11675        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11676    );
11677    assert_eq!(
11678        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11679        608usize,
11680        "Offset of field: evp_hpke_ctx_st::base_nonce"
11681    );
11682    assert_eq!(
11683        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11684        632usize,
11685        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11686    );
11687    assert_eq!(
11688        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11689        696usize,
11690        "Offset of field: evp_hpke_ctx_st::seq"
11691    );
11692    assert_eq!(
11693        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11694        704usize,
11695        "Offset of field: evp_hpke_ctx_st::is_sender"
11696    );
11697}
11698impl Default for evp_hpke_ctx_st {
11699    fn default() -> Self {
11700        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11701        unsafe {
11702            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11703            s.assume_init()
11704        }
11705    }
11706}
11707#[repr(C)]
11708#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11709pub struct evp_hpke_key_st {
11710    pub kem: *const EVP_HPKE_KEM,
11711    pub private_key: [u8; 32usize],
11712    pub public_key: [u8; 32usize],
11713}
11714#[test]
11715fn bindgen_test_layout_evp_hpke_key_st() {
11716    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11717    let ptr = UNINIT.as_ptr();
11718    assert_eq!(
11719        ::std::mem::size_of::<evp_hpke_key_st>(),
11720        72usize,
11721        "Size of evp_hpke_key_st"
11722    );
11723    assert_eq!(
11724        ::std::mem::align_of::<evp_hpke_key_st>(),
11725        8usize,
11726        "Alignment of evp_hpke_key_st"
11727    );
11728    assert_eq!(
11729        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11730        0usize,
11731        "Offset of field: evp_hpke_key_st::kem"
11732    );
11733    assert_eq!(
11734        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11735        8usize,
11736        "Offset of field: evp_hpke_key_st::private_key"
11737    );
11738    assert_eq!(
11739        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11740        40usize,
11741        "Offset of field: evp_hpke_key_st::public_key"
11742    );
11743}
11744impl Default for evp_hpke_key_st {
11745    fn default() -> Self {
11746        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11747        unsafe {
11748            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11749            s.assume_init()
11750        }
11751    }
11752}
11753#[repr(C)]
11754#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11755pub struct md4_state_st {
11756    pub h: [u32; 4usize],
11757    pub Nl: u32,
11758    pub Nh: u32,
11759    pub data: [u8; 64usize],
11760    pub num: ::std::os::raw::c_uint,
11761}
11762#[test]
11763fn bindgen_test_layout_md4_state_st() {
11764    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11765    let ptr = UNINIT.as_ptr();
11766    assert_eq!(
11767        ::std::mem::size_of::<md4_state_st>(),
11768        92usize,
11769        "Size of md4_state_st"
11770    );
11771    assert_eq!(
11772        ::std::mem::align_of::<md4_state_st>(),
11773        4usize,
11774        "Alignment of md4_state_st"
11775    );
11776    assert_eq!(
11777        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11778        0usize,
11779        "Offset of field: md4_state_st::h"
11780    );
11781    assert_eq!(
11782        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11783        16usize,
11784        "Offset of field: md4_state_st::Nl"
11785    );
11786    assert_eq!(
11787        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11788        20usize,
11789        "Offset of field: md4_state_st::Nh"
11790    );
11791    assert_eq!(
11792        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11793        24usize,
11794        "Offset of field: md4_state_st::data"
11795    );
11796    assert_eq!(
11797        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11798        88usize,
11799        "Offset of field: md4_state_st::num"
11800    );
11801}
11802impl Default for md4_state_st {
11803    fn default() -> Self {
11804        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11805        unsafe {
11806            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11807            s.assume_init()
11808        }
11809    }
11810}
11811#[repr(C)]
11812#[derive(Debug, Copy, Clone)]
11813pub struct stack_st_X509 {
11814    _unused: [u8; 0],
11815}
11816#[repr(C)]
11817#[derive(Debug, Copy, Clone)]
11818pub struct stack_st_X509_CRL {
11819    _unused: [u8; 0],
11820}
11821#[repr(C)]
11822#[derive(Copy, Clone)]
11823pub struct pkcs7_st {
11824    pub type_: *mut ASN1_OBJECT,
11825    pub d: pkcs7_st__bindgen_ty_1,
11826}
11827#[repr(C)]
11828#[derive(Copy, Clone)]
11829pub union pkcs7_st__bindgen_ty_1 {
11830    pub ptr: *mut ::std::os::raw::c_char,
11831    pub data: *mut ASN1_OCTET_STRING,
11832    pub sign: *mut PKCS7_SIGNED,
11833    pub enveloped: *mut PKCS7_ENVELOPE,
11834    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
11835    pub digest: *mut PKCS7_DIGEST,
11836    pub encrypted: *mut PKCS7_ENCRYPT,
11837    pub other: *mut ASN1_TYPE,
11838}
11839#[test]
11840fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
11841    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
11842        ::std::mem::MaybeUninit::uninit();
11843    let ptr = UNINIT.as_ptr();
11844    assert_eq!(
11845        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
11846        8usize,
11847        "Size of pkcs7_st__bindgen_ty_1"
11848    );
11849    assert_eq!(
11850        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
11851        8usize,
11852        "Alignment of pkcs7_st__bindgen_ty_1"
11853    );
11854    assert_eq!(
11855        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
11856        0usize,
11857        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
11858    );
11859    assert_eq!(
11860        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11861        0usize,
11862        "Offset of field: pkcs7_st__bindgen_ty_1::data"
11863    );
11864    assert_eq!(
11865        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
11866        0usize,
11867        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
11868    );
11869    assert_eq!(
11870        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
11871        0usize,
11872        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
11873    );
11874    assert_eq!(
11875        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
11876        0usize,
11877        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
11878    );
11879    assert_eq!(
11880        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
11881        0usize,
11882        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
11883    );
11884    assert_eq!(
11885        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
11886        0usize,
11887        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
11888    );
11889    assert_eq!(
11890        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
11891        0usize,
11892        "Offset of field: pkcs7_st__bindgen_ty_1::other"
11893    );
11894}
11895impl Default for pkcs7_st__bindgen_ty_1 {
11896    fn default() -> Self {
11897        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11898        unsafe {
11899            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11900            s.assume_init()
11901        }
11902    }
11903}
11904#[test]
11905fn bindgen_test_layout_pkcs7_st() {
11906    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
11907    let ptr = UNINIT.as_ptr();
11908    assert_eq!(
11909        ::std::mem::size_of::<pkcs7_st>(),
11910        16usize,
11911        "Size of pkcs7_st"
11912    );
11913    assert_eq!(
11914        ::std::mem::align_of::<pkcs7_st>(),
11915        8usize,
11916        "Alignment of pkcs7_st"
11917    );
11918    assert_eq!(
11919        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
11920        0usize,
11921        "Offset of field: pkcs7_st::type_"
11922    );
11923    assert_eq!(
11924        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
11925        8usize,
11926        "Offset of field: pkcs7_st::d"
11927    );
11928}
11929impl Default for pkcs7_st {
11930    fn default() -> Self {
11931        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11932        unsafe {
11933            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11934            s.assume_init()
11935        }
11936    }
11937}
11938#[repr(C)]
11939#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11940pub struct pkcs7_signed_st {
11941    pub version: *mut ASN1_INTEGER,
11942    pub md_algs: *mut stack_st_X509_ALGOR,
11943    pub contents: *mut PKCS7,
11944    pub cert: *mut stack_st_X509,
11945    pub crl: *mut stack_st_X509_CRL,
11946    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
11947}
11948#[test]
11949fn bindgen_test_layout_pkcs7_signed_st() {
11950    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
11951    let ptr = UNINIT.as_ptr();
11952    assert_eq!(
11953        ::std::mem::size_of::<pkcs7_signed_st>(),
11954        48usize,
11955        "Size of pkcs7_signed_st"
11956    );
11957    assert_eq!(
11958        ::std::mem::align_of::<pkcs7_signed_st>(),
11959        8usize,
11960        "Alignment of pkcs7_signed_st"
11961    );
11962    assert_eq!(
11963        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11964        0usize,
11965        "Offset of field: pkcs7_signed_st::version"
11966    );
11967    assert_eq!(
11968        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
11969        8usize,
11970        "Offset of field: pkcs7_signed_st::md_algs"
11971    );
11972    assert_eq!(
11973        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
11974        16usize,
11975        "Offset of field: pkcs7_signed_st::contents"
11976    );
11977    assert_eq!(
11978        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
11979        24usize,
11980        "Offset of field: pkcs7_signed_st::cert"
11981    );
11982    assert_eq!(
11983        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
11984        32usize,
11985        "Offset of field: pkcs7_signed_st::crl"
11986    );
11987    assert_eq!(
11988        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
11989        40usize,
11990        "Offset of field: pkcs7_signed_st::signer_info"
11991    );
11992}
11993impl Default for pkcs7_signed_st {
11994    fn default() -> Self {
11995        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11996        unsafe {
11997            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11998            s.assume_init()
11999        }
12000    }
12001}
12002#[repr(C)]
12003#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12004pub struct pkcs7_signer_info_st {
12005    pub version: *mut ASN1_INTEGER,
12006    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12007    pub digest_alg: *mut X509_ALGOR,
12008    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
12009    pub digest_enc_alg: *mut X509_ALGOR,
12010    pub enc_digest: *mut ASN1_OCTET_STRING,
12011    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
12012    pub pkey: *mut EVP_PKEY,
12013}
12014#[test]
12015fn bindgen_test_layout_pkcs7_signer_info_st() {
12016    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
12017    let ptr = UNINIT.as_ptr();
12018    assert_eq!(
12019        ::std::mem::size_of::<pkcs7_signer_info_st>(),
12020        64usize,
12021        "Size of pkcs7_signer_info_st"
12022    );
12023    assert_eq!(
12024        ::std::mem::align_of::<pkcs7_signer_info_st>(),
12025        8usize,
12026        "Alignment of pkcs7_signer_info_st"
12027    );
12028    assert_eq!(
12029        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12030        0usize,
12031        "Offset of field: pkcs7_signer_info_st::version"
12032    );
12033    assert_eq!(
12034        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12035        8usize,
12036        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
12037    );
12038    assert_eq!(
12039        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
12040        16usize,
12041        "Offset of field: pkcs7_signer_info_st::digest_alg"
12042    );
12043    assert_eq!(
12044        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
12045        24usize,
12046        "Offset of field: pkcs7_signer_info_st::auth_attr"
12047    );
12048    assert_eq!(
12049        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
12050        32usize,
12051        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
12052    );
12053    assert_eq!(
12054        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
12055        40usize,
12056        "Offset of field: pkcs7_signer_info_st::enc_digest"
12057    );
12058    assert_eq!(
12059        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
12060        48usize,
12061        "Offset of field: pkcs7_signer_info_st::unauth_attr"
12062    );
12063    assert_eq!(
12064        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
12065        56usize,
12066        "Offset of field: pkcs7_signer_info_st::pkey"
12067    );
12068}
12069impl Default for pkcs7_signer_info_st {
12070    fn default() -> Self {
12071        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12072        unsafe {
12073            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12074            s.assume_init()
12075        }
12076    }
12077}
12078#[repr(C)]
12079#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12080pub struct pkcs7_sign_envelope_st {
12081    pub version: *mut ASN1_INTEGER,
12082    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12083    pub md_algs: *mut stack_st_X509_ALGOR,
12084    pub enc_data: *mut PKCS7_ENC_CONTENT,
12085    pub cert: *mut stack_st_X509,
12086    pub crl: *mut stack_st_X509_CRL,
12087    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12088}
12089#[test]
12090fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12091    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12092        ::std::mem::MaybeUninit::uninit();
12093    let ptr = UNINIT.as_ptr();
12094    assert_eq!(
12095        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12096        56usize,
12097        "Size of pkcs7_sign_envelope_st"
12098    );
12099    assert_eq!(
12100        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12101        8usize,
12102        "Alignment of pkcs7_sign_envelope_st"
12103    );
12104    assert_eq!(
12105        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12106        0usize,
12107        "Offset of field: pkcs7_sign_envelope_st::version"
12108    );
12109    assert_eq!(
12110        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12111        8usize,
12112        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12113    );
12114    assert_eq!(
12115        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12116        16usize,
12117        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12118    );
12119    assert_eq!(
12120        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12121        24usize,
12122        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12123    );
12124    assert_eq!(
12125        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12126        32usize,
12127        "Offset of field: pkcs7_sign_envelope_st::cert"
12128    );
12129    assert_eq!(
12130        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12131        40usize,
12132        "Offset of field: pkcs7_sign_envelope_st::crl"
12133    );
12134    assert_eq!(
12135        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12136        48usize,
12137        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12138    );
12139}
12140impl Default for pkcs7_sign_envelope_st {
12141    fn default() -> Self {
12142        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12143        unsafe {
12144            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12145            s.assume_init()
12146        }
12147    }
12148}
12149#[repr(C)]
12150#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12151pub struct pkcs7_envelope_st {
12152    pub version: *mut ASN1_INTEGER,
12153    pub enc_data: *mut PKCS7_ENC_CONTENT,
12154    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12155}
12156#[test]
12157fn bindgen_test_layout_pkcs7_envelope_st() {
12158    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12159    let ptr = UNINIT.as_ptr();
12160    assert_eq!(
12161        ::std::mem::size_of::<pkcs7_envelope_st>(),
12162        24usize,
12163        "Size of pkcs7_envelope_st"
12164    );
12165    assert_eq!(
12166        ::std::mem::align_of::<pkcs7_envelope_st>(),
12167        8usize,
12168        "Alignment of pkcs7_envelope_st"
12169    );
12170    assert_eq!(
12171        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12172        0usize,
12173        "Offset of field: pkcs7_envelope_st::version"
12174    );
12175    assert_eq!(
12176        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12177        8usize,
12178        "Offset of field: pkcs7_envelope_st::enc_data"
12179    );
12180    assert_eq!(
12181        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12182        16usize,
12183        "Offset of field: pkcs7_envelope_st::recipientinfo"
12184    );
12185}
12186impl Default for pkcs7_envelope_st {
12187    fn default() -> Self {
12188        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12189        unsafe {
12190            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12191            s.assume_init()
12192        }
12193    }
12194}
12195#[repr(C)]
12196#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12197pub struct pkcs7_recip_info_st {
12198    pub version: *mut ASN1_INTEGER,
12199    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12200    pub key_enc_algor: *mut X509_ALGOR,
12201    pub enc_key: *mut ASN1_OCTET_STRING,
12202    pub cert: *mut X509,
12203}
12204#[test]
12205fn bindgen_test_layout_pkcs7_recip_info_st() {
12206    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12207    let ptr = UNINIT.as_ptr();
12208    assert_eq!(
12209        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12210        40usize,
12211        "Size of pkcs7_recip_info_st"
12212    );
12213    assert_eq!(
12214        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12215        8usize,
12216        "Alignment of pkcs7_recip_info_st"
12217    );
12218    assert_eq!(
12219        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12220        0usize,
12221        "Offset of field: pkcs7_recip_info_st::version"
12222    );
12223    assert_eq!(
12224        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12225        8usize,
12226        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12227    );
12228    assert_eq!(
12229        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12230        16usize,
12231        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12232    );
12233    assert_eq!(
12234        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12235        24usize,
12236        "Offset of field: pkcs7_recip_info_st::enc_key"
12237    );
12238    assert_eq!(
12239        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12240        32usize,
12241        "Offset of field: pkcs7_recip_info_st::cert"
12242    );
12243}
12244impl Default for pkcs7_recip_info_st {
12245    fn default() -> Self {
12246        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12247        unsafe {
12248            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12249            s.assume_init()
12250        }
12251    }
12252}
12253#[repr(C)]
12254#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12255pub struct pkcs7_issuer_and_serial_st {
12256    pub issuer: *mut X509_NAME,
12257    pub serial: *mut ASN1_INTEGER,
12258}
12259#[test]
12260fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12261    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12262        ::std::mem::MaybeUninit::uninit();
12263    let ptr = UNINIT.as_ptr();
12264    assert_eq!(
12265        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12266        16usize,
12267        "Size of pkcs7_issuer_and_serial_st"
12268    );
12269    assert_eq!(
12270        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12271        8usize,
12272        "Alignment of pkcs7_issuer_and_serial_st"
12273    );
12274    assert_eq!(
12275        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12276        0usize,
12277        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12278    );
12279    assert_eq!(
12280        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12281        8usize,
12282        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12283    );
12284}
12285impl Default for pkcs7_issuer_and_serial_st {
12286    fn default() -> Self {
12287        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12288        unsafe {
12289            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12290            s.assume_init()
12291        }
12292    }
12293}
12294#[repr(C)]
12295#[derive(Debug, Copy, Clone)]
12296pub struct stack_st_PKCS7_RECIP_INFO {
12297    _unused: [u8; 0],
12298}
12299#[repr(C)]
12300#[derive(Debug, Copy, Clone)]
12301pub struct stack_st_PKCS7_SIGNER_INFO {
12302    _unused: [u8; 0],
12303}
12304extern "C" {
12305    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_public_key"]
12306    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12307}
12308extern "C" {
12309    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_private_key"]
12310    pub fn RSA_new_private_key(
12311        n: *const BIGNUM,
12312        e: *const BIGNUM,
12313        d: *const BIGNUM,
12314        p: *const BIGNUM,
12315        q: *const BIGNUM,
12316        dmp1: *const BIGNUM,
12317        dmq1: *const BIGNUM,
12318        iqmp: *const BIGNUM,
12319    ) -> *mut RSA;
12320}
12321extern "C" {
12322    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new"]
12323    pub fn RSA_new() -> *mut RSA;
12324}
12325extern "C" {
12326    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_method"]
12327    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12328}
12329extern "C" {
12330    #[link_name = "\u{1}aws_lc_0_43_0_RSA_free"]
12331    pub fn RSA_free(rsa: *mut RSA);
12332}
12333extern "C" {
12334    #[link_name = "\u{1}aws_lc_0_43_0_RSA_up_ref"]
12335    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12336}
12337extern "C" {
12338    #[link_name = "\u{1}aws_lc_0_43_0_RSA_bits"]
12339    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12340}
12341extern "C" {
12342    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_n"]
12343    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12344}
12345extern "C" {
12346    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_e"]
12347    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12348}
12349extern "C" {
12350    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_d"]
12351    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12352}
12353extern "C" {
12354    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_p"]
12355    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12356}
12357extern "C" {
12358    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_q"]
12359    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12360}
12361extern "C" {
12362    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_dmp1"]
12363    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12364}
12365extern "C" {
12366    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_dmq1"]
12367    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12368}
12369extern "C" {
12370    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_iqmp"]
12371    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12372}
12373extern "C" {
12374    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_key"]
12375    pub fn RSA_get0_key(
12376        rsa: *const RSA,
12377        out_n: *mut *const BIGNUM,
12378        out_e: *mut *const BIGNUM,
12379        out_d: *mut *const BIGNUM,
12380    );
12381}
12382extern "C" {
12383    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_factors"]
12384    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12385}
12386extern "C" {
12387    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_crt_params"]
12388    pub fn RSA_get0_crt_params(
12389        rsa: *const RSA,
12390        out_dmp1: *mut *const BIGNUM,
12391        out_dmq1: *mut *const BIGNUM,
12392        out_iqmp: *mut *const BIGNUM,
12393    );
12394}
12395extern "C" {
12396    #[link_name = "\u{1}aws_lc_0_43_0_RSA_set0_key"]
12397    pub fn RSA_set0_key(
12398        rsa: *mut RSA,
12399        n: *mut BIGNUM,
12400        e: *mut BIGNUM,
12401        d: *mut BIGNUM,
12402    ) -> ::std::os::raw::c_int;
12403}
12404extern "C" {
12405    #[link_name = "\u{1}aws_lc_0_43_0_RSA_set0_factors"]
12406    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12407        -> ::std::os::raw::c_int;
12408}
12409extern "C" {
12410    #[link_name = "\u{1}aws_lc_0_43_0_RSA_set0_crt_params"]
12411    pub fn RSA_set0_crt_params(
12412        rsa: *mut RSA,
12413        dmp1: *mut BIGNUM,
12414        dmq1: *mut BIGNUM,
12415        iqmp: *mut BIGNUM,
12416    ) -> ::std::os::raw::c_int;
12417}
12418extern "C" {
12419    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get_default_method"]
12420    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12421}
12422extern "C" {
12423    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_new"]
12424    pub fn RSA_meth_new(
12425        name: *const ::std::os::raw::c_char,
12426        flags: ::std::os::raw::c_int,
12427    ) -> *mut RSA_METHOD;
12428}
12429extern "C" {
12430    #[link_name = "\u{1}aws_lc_0_43_0_RSA_set_method"]
12431    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12432}
12433extern "C" {
12434    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get_method"]
12435    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12436}
12437extern "C" {
12438    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_free"]
12439    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12440}
12441extern "C" {
12442    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set_init"]
12443    pub fn RSA_meth_set_init(
12444        meth: *mut RSA_METHOD,
12445        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12446    ) -> ::std::os::raw::c_int;
12447}
12448extern "C" {
12449    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set_finish"]
12450    pub fn RSA_meth_set_finish(
12451        meth: *mut RSA_METHOD,
12452        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12453    ) -> ::std::os::raw::c_int;
12454}
12455extern "C" {
12456    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set_priv_dec"]
12457    pub fn RSA_meth_set_priv_dec(
12458        meth: *mut RSA_METHOD,
12459        priv_dec: ::std::option::Option<
12460            unsafe extern "C" fn(
12461                max_out: ::std::os::raw::c_int,
12462                from: *const u8,
12463                to: *mut u8,
12464                rsa: *mut RSA,
12465                padding: ::std::os::raw::c_int,
12466            ) -> ::std::os::raw::c_int,
12467        >,
12468    ) -> ::std::os::raw::c_int;
12469}
12470extern "C" {
12471    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set_priv_enc"]
12472    pub fn RSA_meth_set_priv_enc(
12473        meth: *mut RSA_METHOD,
12474        priv_enc: ::std::option::Option<
12475            unsafe extern "C" fn(
12476                max_out: ::std::os::raw::c_int,
12477                from: *const u8,
12478                to: *mut u8,
12479                rsa: *mut RSA,
12480                padding: ::std::os::raw::c_int,
12481            ) -> ::std::os::raw::c_int,
12482        >,
12483    ) -> ::std::os::raw::c_int;
12484}
12485extern "C" {
12486    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set_pub_dec"]
12487    pub fn RSA_meth_set_pub_dec(
12488        meth: *mut RSA_METHOD,
12489        pub_dec: ::std::option::Option<
12490            unsafe extern "C" fn(
12491                max_out: ::std::os::raw::c_int,
12492                from: *const u8,
12493                to: *mut u8,
12494                rsa: *mut RSA,
12495                padding: ::std::os::raw::c_int,
12496            ) -> ::std::os::raw::c_int,
12497        >,
12498    ) -> ::std::os::raw::c_int;
12499}
12500extern "C" {
12501    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set_pub_enc"]
12502    pub fn RSA_meth_set_pub_enc(
12503        meth: *mut RSA_METHOD,
12504        pub_enc: ::std::option::Option<
12505            unsafe extern "C" fn(
12506                max_out: ::std::os::raw::c_int,
12507                from: *const u8,
12508                to: *mut u8,
12509                rsa: *mut RSA,
12510                padding: ::std::os::raw::c_int,
12511            ) -> ::std::os::raw::c_int,
12512        >,
12513    ) -> ::std::os::raw::c_int;
12514}
12515extern "C" {
12516    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set0_app_data"]
12517    pub fn RSA_meth_set0_app_data(
12518        meth: *mut RSA_METHOD,
12519        app_data: *mut ::std::os::raw::c_void,
12520    ) -> ::std::os::raw::c_int;
12521}
12522extern "C" {
12523    #[link_name = "\u{1}aws_lc_0_43_0_RSA_meth_set_sign"]
12524    pub fn RSA_meth_set_sign(
12525        meth: *mut RSA_METHOD,
12526        sign: ::std::option::Option<
12527            unsafe extern "C" fn(
12528                type_: ::std::os::raw::c_int,
12529                m: *const ::std::os::raw::c_uchar,
12530                m_length: ::std::os::raw::c_uint,
12531                sigret: *mut ::std::os::raw::c_uchar,
12532                siglen: *mut ::std::os::raw::c_uint,
12533                rsa: *const RSA,
12534            ) -> ::std::os::raw::c_int,
12535        >,
12536    ) -> ::std::os::raw::c_int;
12537}
12538extern "C" {
12539    #[link_name = "\u{1}aws_lc_0_43_0_RSA_generate_key_ex"]
12540    pub fn RSA_generate_key_ex(
12541        rsa: *mut RSA,
12542        bits: ::std::os::raw::c_int,
12543        e: *const BIGNUM,
12544        cb: *mut BN_GENCB,
12545    ) -> ::std::os::raw::c_int;
12546}
12547extern "C" {
12548    #[link_name = "\u{1}aws_lc_0_43_0_RSA_generate_key_fips"]
12549    pub fn RSA_generate_key_fips(
12550        rsa: *mut RSA,
12551        bits: ::std::os::raw::c_int,
12552        cb: *mut BN_GENCB,
12553    ) -> ::std::os::raw::c_int;
12554}
12555extern "C" {
12556    #[link_name = "\u{1}aws_lc_0_43_0_RSA_encrypt"]
12557    pub fn RSA_encrypt(
12558        rsa: *mut RSA,
12559        out_len: *mut usize,
12560        out: *mut u8,
12561        max_out: usize,
12562        in_: *const u8,
12563        in_len: usize,
12564        padding: ::std::os::raw::c_int,
12565    ) -> ::std::os::raw::c_int;
12566}
12567extern "C" {
12568    #[link_name = "\u{1}aws_lc_0_43_0_RSA_decrypt"]
12569    pub fn RSA_decrypt(
12570        rsa: *mut RSA,
12571        out_len: *mut usize,
12572        out: *mut u8,
12573        max_out: usize,
12574        in_: *const u8,
12575        in_len: usize,
12576        padding: ::std::os::raw::c_int,
12577    ) -> ::std::os::raw::c_int;
12578}
12579extern "C" {
12580    #[link_name = "\u{1}aws_lc_0_43_0_RSA_public_encrypt"]
12581    pub fn RSA_public_encrypt(
12582        flen: usize,
12583        from: *const u8,
12584        to: *mut u8,
12585        rsa: *mut RSA,
12586        padding: ::std::os::raw::c_int,
12587    ) -> ::std::os::raw::c_int;
12588}
12589extern "C" {
12590    #[link_name = "\u{1}aws_lc_0_43_0_RSA_private_decrypt"]
12591    pub fn RSA_private_decrypt(
12592        flen: usize,
12593        from: *const u8,
12594        to: *mut u8,
12595        rsa: *mut RSA,
12596        padding: ::std::os::raw::c_int,
12597    ) -> ::std::os::raw::c_int;
12598}
12599extern "C" {
12600    #[link_name = "\u{1}aws_lc_0_43_0_RSA_sign"]
12601    pub fn RSA_sign(
12602        hash_nid: ::std::os::raw::c_int,
12603        digest: *const u8,
12604        digest_len: usize,
12605        out: *mut u8,
12606        out_len: *mut ::std::os::raw::c_uint,
12607        rsa: *mut RSA,
12608    ) -> ::std::os::raw::c_int;
12609}
12610extern "C" {
12611    #[link_name = "\u{1}aws_lc_0_43_0_RSA_sign_pss_mgf1"]
12612    pub fn RSA_sign_pss_mgf1(
12613        rsa: *mut RSA,
12614        out_len: *mut usize,
12615        out: *mut u8,
12616        max_out: usize,
12617        digest: *const u8,
12618        digest_len: usize,
12619        md: *const EVP_MD,
12620        mgf1_md: *const EVP_MD,
12621        salt_len: ::std::os::raw::c_int,
12622    ) -> ::std::os::raw::c_int;
12623}
12624extern "C" {
12625    #[link_name = "\u{1}aws_lc_0_43_0_RSA_sign_raw"]
12626    pub fn RSA_sign_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_43_0_RSA_verify"]
12638    pub fn RSA_verify(
12639        hash_nid: ::std::os::raw::c_int,
12640        digest: *const u8,
12641        digest_len: usize,
12642        sig: *const u8,
12643        sig_len: usize,
12644        rsa: *mut RSA,
12645    ) -> ::std::os::raw::c_int;
12646}
12647extern "C" {
12648    #[link_name = "\u{1}aws_lc_0_43_0_RSA_verify_pss_mgf1"]
12649    pub fn RSA_verify_pss_mgf1(
12650        rsa: *mut RSA,
12651        digest: *const u8,
12652        digest_len: usize,
12653        md: *const EVP_MD,
12654        mgf1_md: *const EVP_MD,
12655        salt_len: ::std::os::raw::c_int,
12656        sig: *const u8,
12657        sig_len: usize,
12658    ) -> ::std::os::raw::c_int;
12659}
12660extern "C" {
12661    #[link_name = "\u{1}aws_lc_0_43_0_RSA_verify_raw"]
12662    pub fn RSA_verify_raw(
12663        rsa: *mut RSA,
12664        out_len: *mut usize,
12665        out: *mut u8,
12666        max_out: usize,
12667        in_: *const u8,
12668        in_len: usize,
12669        padding: ::std::os::raw::c_int,
12670    ) -> ::std::os::raw::c_int;
12671}
12672extern "C" {
12673    #[link_name = "\u{1}aws_lc_0_43_0_RSA_private_encrypt"]
12674    pub fn RSA_private_encrypt(
12675        flen: usize,
12676        from: *const u8,
12677        to: *mut u8,
12678        rsa: *mut RSA,
12679        padding: ::std::os::raw::c_int,
12680    ) -> ::std::os::raw::c_int;
12681}
12682extern "C" {
12683    #[link_name = "\u{1}aws_lc_0_43_0_RSA_public_decrypt"]
12684    pub fn RSA_public_decrypt(
12685        flen: usize,
12686        from: *const u8,
12687        to: *mut u8,
12688        rsa: *mut RSA,
12689        padding: ::std::os::raw::c_int,
12690    ) -> ::std::os::raw::c_int;
12691}
12692extern "C" {
12693    #[link_name = "\u{1}aws_lc_0_43_0_RSA_size"]
12694    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12695}
12696extern "C" {
12697    #[link_name = "\u{1}aws_lc_0_43_0_RSA_is_opaque"]
12698    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12699}
12700extern "C" {
12701    #[link_name = "\u{1}aws_lc_0_43_0_RSAPublicKey_dup"]
12702    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12703}
12704extern "C" {
12705    #[link_name = "\u{1}aws_lc_0_43_0_RSAPrivateKey_dup"]
12706    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12707}
12708extern "C" {
12709    #[link_name = "\u{1}aws_lc_0_43_0_RSA_check_key"]
12710    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12711}
12712extern "C" {
12713    #[link_name = "\u{1}aws_lc_0_43_0_RSA_check_fips"]
12714    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12715}
12716extern "C" {
12717    #[link_name = "\u{1}aws_lc_0_43_0_RSA_verify_PKCS1_PSS_mgf1"]
12718    pub fn RSA_verify_PKCS1_PSS_mgf1(
12719        rsa: *const RSA,
12720        mHash: *const u8,
12721        Hash: *const EVP_MD,
12722        mgf1Hash: *const EVP_MD,
12723        EM: *const u8,
12724        sLen: ::std::os::raw::c_int,
12725    ) -> ::std::os::raw::c_int;
12726}
12727extern "C" {
12728    #[link_name = "\u{1}aws_lc_0_43_0_RSA_padding_add_PKCS1_PSS_mgf1"]
12729    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12730        rsa: *const RSA,
12731        EM: *mut u8,
12732        mHash: *const u8,
12733        Hash: *const EVP_MD,
12734        mgf1Hash: *const EVP_MD,
12735        sLen: ::std::os::raw::c_int,
12736    ) -> ::std::os::raw::c_int;
12737}
12738extern "C" {
12739    #[link_name = "\u{1}aws_lc_0_43_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
12740    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12741        to: *mut u8,
12742        to_len: usize,
12743        from: *const u8,
12744        from_len: usize,
12745        param: *const u8,
12746        param_len: usize,
12747        md: *const EVP_MD,
12748        mgf1md: *const EVP_MD,
12749    ) -> ::std::os::raw::c_int;
12750}
12751extern "C" {
12752    #[link_name = "\u{1}aws_lc_0_43_0_PKCS1_MGF1"]
12753    pub fn PKCS1_MGF1(
12754        out: *mut u8,
12755        len: usize,
12756        seed: *const u8,
12757        seed_len: usize,
12758        md: *const EVP_MD,
12759    ) -> ::std::os::raw::c_int;
12760}
12761extern "C" {
12762    #[link_name = "\u{1}aws_lc_0_43_0_RSA_add_pkcs1_prefix"]
12763    pub fn RSA_add_pkcs1_prefix(
12764        out_msg: *mut *mut u8,
12765        out_msg_len: *mut usize,
12766        is_alloced: *mut ::std::os::raw::c_int,
12767        hash_nid: ::std::os::raw::c_int,
12768        digest: *const u8,
12769        digest_len: usize,
12770    ) -> ::std::os::raw::c_int;
12771}
12772extern "C" {
12773    #[link_name = "\u{1}aws_lc_0_43_0_RSA_parse_public_key"]
12774    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12775}
12776extern "C" {
12777    #[link_name = "\u{1}aws_lc_0_43_0_RSA_public_key_from_bytes"]
12778    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12779}
12780extern "C" {
12781    #[link_name = "\u{1}aws_lc_0_43_0_RSA_marshal_public_key"]
12782    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12783}
12784extern "C" {
12785    #[link_name = "\u{1}aws_lc_0_43_0_RSA_public_key_to_bytes"]
12786    pub fn RSA_public_key_to_bytes(
12787        out_bytes: *mut *mut u8,
12788        out_len: *mut usize,
12789        rsa: *const RSA,
12790    ) -> ::std::os::raw::c_int;
12791}
12792extern "C" {
12793    #[link_name = "\u{1}aws_lc_0_43_0_RSA_parse_private_key"]
12794    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12795}
12796extern "C" {
12797    #[link_name = "\u{1}aws_lc_0_43_0_RSA_private_key_from_bytes"]
12798    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12799}
12800extern "C" {
12801    #[link_name = "\u{1}aws_lc_0_43_0_RSA_marshal_private_key"]
12802    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12803}
12804extern "C" {
12805    #[link_name = "\u{1}aws_lc_0_43_0_RSA_private_key_to_bytes"]
12806    pub fn RSA_private_key_to_bytes(
12807        out_bytes: *mut *mut u8,
12808        out_len: *mut usize,
12809        rsa: *const RSA,
12810    ) -> ::std::os::raw::c_int;
12811}
12812extern "C" {
12813    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_private_key_no_crt"]
12814    pub fn RSA_new_private_key_no_crt(
12815        n: *const BIGNUM,
12816        e: *const BIGNUM,
12817        d: *const BIGNUM,
12818    ) -> *mut RSA;
12819}
12820extern "C" {
12821    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_private_key_no_e"]
12822    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
12823}
12824extern "C" {
12825    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_public_key_large_e"]
12826    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12827}
12828extern "C" {
12829    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_private_key_large_e"]
12830    pub fn RSA_new_private_key_large_e(
12831        n: *const BIGNUM,
12832        e: *const BIGNUM,
12833        d: *const BIGNUM,
12834        p: *const BIGNUM,
12835        q: *const BIGNUM,
12836        dmp1: *const BIGNUM,
12837        dmq1: *const BIGNUM,
12838        iqmp: *const BIGNUM,
12839    ) -> *mut RSA;
12840}
12841extern "C" {
12842    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get_ex_new_index"]
12843    pub fn RSA_get_ex_new_index(
12844        argl: ::std::os::raw::c_long,
12845        argp: *mut ::std::os::raw::c_void,
12846        unused: *mut CRYPTO_EX_unused,
12847        dup_unused: CRYPTO_EX_dup,
12848        free_func: CRYPTO_EX_free,
12849    ) -> ::std::os::raw::c_int;
12850}
12851extern "C" {
12852    #[link_name = "\u{1}aws_lc_0_43_0_RSA_set_ex_data"]
12853    pub fn RSA_set_ex_data(
12854        rsa: *mut RSA,
12855        idx: ::std::os::raw::c_int,
12856        arg: *mut ::std::os::raw::c_void,
12857    ) -> ::std::os::raw::c_int;
12858}
12859extern "C" {
12860    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get_ex_data"]
12861    pub fn RSA_get_ex_data(
12862        rsa: *const RSA,
12863        idx: ::std::os::raw::c_int,
12864    ) -> *mut ::std::os::raw::c_void;
12865}
12866extern "C" {
12867    #[link_name = "\u{1}aws_lc_0_43_0_RSA_flags"]
12868    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
12869}
12870extern "C" {
12871    #[link_name = "\u{1}aws_lc_0_43_0_RSA_set_flags"]
12872    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
12873}
12874extern "C" {
12875    #[link_name = "\u{1}aws_lc_0_43_0_RSA_test_flags"]
12876    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12877}
12878extern "C" {
12879    #[link_name = "\u{1}aws_lc_0_43_0_RSA_blinding_on"]
12880    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
12881}
12882extern "C" {
12883    #[link_name = "\u{1}aws_lc_0_43_0_RSA_blinding_off_temp_for_accp_compatibility"]
12884    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
12885}
12886extern "C" {
12887    #[link_name = "\u{1}aws_lc_0_43_0_RSA_pkey_ctx_ctrl"]
12888    pub fn RSA_pkey_ctx_ctrl(
12889        ctx: *mut EVP_PKEY_CTX,
12890        optype: ::std::os::raw::c_int,
12891        cmd: ::std::os::raw::c_int,
12892        p1: ::std::os::raw::c_int,
12893        p2: *mut ::std::os::raw::c_void,
12894    ) -> ::std::os::raw::c_int;
12895}
12896extern "C" {
12897    #[link_name = "\u{1}aws_lc_0_43_0_RSA_generate_key"]
12898    pub fn RSA_generate_key(
12899        bits: ::std::os::raw::c_int,
12900        e: u64,
12901        callback: *mut ::std::os::raw::c_void,
12902        cb_arg: *mut ::std::os::raw::c_void,
12903    ) -> *mut RSA;
12904}
12905extern "C" {
12906    #[link_name = "\u{1}aws_lc_0_43_0_d2i_RSAPublicKey"]
12907    pub fn d2i_RSAPublicKey(
12908        out: *mut *mut RSA,
12909        inp: *mut *const u8,
12910        len: ::std::os::raw::c_long,
12911    ) -> *mut RSA;
12912}
12913extern "C" {
12914    #[link_name = "\u{1}aws_lc_0_43_0_i2d_RSAPublicKey"]
12915    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12916}
12917extern "C" {
12918    #[link_name = "\u{1}aws_lc_0_43_0_d2i_RSAPrivateKey"]
12919    pub fn d2i_RSAPrivateKey(
12920        out: *mut *mut RSA,
12921        inp: *mut *const u8,
12922        len: ::std::os::raw::c_long,
12923    ) -> *mut RSA;
12924}
12925extern "C" {
12926    #[link_name = "\u{1}aws_lc_0_43_0_i2d_RSAPrivateKey"]
12927    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12928}
12929extern "C" {
12930    #[link_name = "\u{1}aws_lc_0_43_0_RSA_padding_add_PKCS1_PSS"]
12931    pub fn RSA_padding_add_PKCS1_PSS(
12932        rsa: *const RSA,
12933        EM: *mut u8,
12934        mHash: *const u8,
12935        Hash: *const EVP_MD,
12936        sLen: ::std::os::raw::c_int,
12937    ) -> ::std::os::raw::c_int;
12938}
12939extern "C" {
12940    #[link_name = "\u{1}aws_lc_0_43_0_RSA_verify_PKCS1_PSS"]
12941    pub fn RSA_verify_PKCS1_PSS(
12942        rsa: *const RSA,
12943        mHash: *const u8,
12944        Hash: *const EVP_MD,
12945        EM: *const u8,
12946        sLen: ::std::os::raw::c_int,
12947    ) -> ::std::os::raw::c_int;
12948}
12949extern "C" {
12950    #[link_name = "\u{1}aws_lc_0_43_0_RSA_padding_add_PKCS1_OAEP"]
12951    pub fn RSA_padding_add_PKCS1_OAEP(
12952        to: *mut u8,
12953        to_len: usize,
12954        from: *const u8,
12955        from_len: usize,
12956        param: *const u8,
12957        param_len: usize,
12958    ) -> ::std::os::raw::c_int;
12959}
12960extern "C" {
12961    #[link_name = "\u{1}aws_lc_0_43_0_RSA_print"]
12962    pub fn RSA_print(
12963        bio: *mut BIO,
12964        rsa: *const RSA,
12965        indent: ::std::os::raw::c_int,
12966    ) -> ::std::os::raw::c_int;
12967}
12968extern "C" {
12969    #[link_name = "\u{1}aws_lc_0_43_0_RSA_get0_pss_params"]
12970    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
12971}
12972extern "C" {
12973    #[link_name = "\u{1}aws_lc_0_43_0_RSA_new_method_no_e"]
12974    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
12975}
12976#[repr(C)]
12977#[derive(Debug, Copy, Clone)]
12978pub struct stack_st_GENERAL_NAME {
12979    _unused: [u8; 0],
12980}
12981pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
12982#[repr(C)]
12983#[derive(Debug, Copy, Clone)]
12984pub struct stack_st_X509_NAME_ENTRY {
12985    _unused: [u8; 0],
12986}
12987#[repr(C)]
12988#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12989pub struct otherName_st {
12990    pub type_id: *mut ASN1_OBJECT,
12991    pub value: *mut ASN1_TYPE,
12992}
12993#[test]
12994fn bindgen_test_layout_otherName_st() {
12995    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
12996    let ptr = UNINIT.as_ptr();
12997    assert_eq!(
12998        ::std::mem::size_of::<otherName_st>(),
12999        16usize,
13000        "Size of otherName_st"
13001    );
13002    assert_eq!(
13003        ::std::mem::align_of::<otherName_st>(),
13004        8usize,
13005        "Alignment of otherName_st"
13006    );
13007    assert_eq!(
13008        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
13009        0usize,
13010        "Offset of field: otherName_st::type_id"
13011    );
13012    assert_eq!(
13013        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13014        8usize,
13015        "Offset of field: otherName_st::value"
13016    );
13017}
13018impl Default for otherName_st {
13019    fn default() -> Self {
13020        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13021        unsafe {
13022            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13023            s.assume_init()
13024        }
13025    }
13026}
13027pub type OTHERNAME = otherName_st;
13028#[repr(C)]
13029#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13030pub struct EDIPartyName_st {
13031    pub nameAssigner: *mut ASN1_STRING,
13032    pub partyName: *mut ASN1_STRING,
13033}
13034#[test]
13035fn bindgen_test_layout_EDIPartyName_st() {
13036    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
13037    let ptr = UNINIT.as_ptr();
13038    assert_eq!(
13039        ::std::mem::size_of::<EDIPartyName_st>(),
13040        16usize,
13041        "Size of EDIPartyName_st"
13042    );
13043    assert_eq!(
13044        ::std::mem::align_of::<EDIPartyName_st>(),
13045        8usize,
13046        "Alignment of EDIPartyName_st"
13047    );
13048    assert_eq!(
13049        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
13050        0usize,
13051        "Offset of field: EDIPartyName_st::nameAssigner"
13052    );
13053    assert_eq!(
13054        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
13055        8usize,
13056        "Offset of field: EDIPartyName_st::partyName"
13057    );
13058}
13059impl Default for EDIPartyName_st {
13060    fn default() -> Self {
13061        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13062        unsafe {
13063            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13064            s.assume_init()
13065        }
13066    }
13067}
13068pub type EDIPARTYNAME = EDIPartyName_st;
13069#[repr(C)]
13070#[derive(Copy, Clone)]
13071pub struct GENERAL_NAME_st {
13072    pub type_: ::std::os::raw::c_int,
13073    pub d: GENERAL_NAME_st__bindgen_ty_1,
13074}
13075#[repr(C)]
13076#[derive(Copy, Clone)]
13077pub union GENERAL_NAME_st__bindgen_ty_1 {
13078    pub ptr: *mut ::std::os::raw::c_char,
13079    pub otherName: *mut OTHERNAME,
13080    pub rfc822Name: *mut ASN1_IA5STRING,
13081    pub dNSName: *mut ASN1_IA5STRING,
13082    pub x400Address: *mut ASN1_STRING,
13083    pub directoryName: *mut X509_NAME,
13084    pub ediPartyName: *mut EDIPARTYNAME,
13085    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13086    pub iPAddress: *mut ASN1_OCTET_STRING,
13087    pub registeredID: *mut ASN1_OBJECT,
13088    pub ip: *mut ASN1_OCTET_STRING,
13089    pub dirn: *mut X509_NAME,
13090    pub ia5: *mut ASN1_IA5STRING,
13091    pub rid: *mut ASN1_OBJECT,
13092}
13093#[test]
13094fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13095    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13096        ::std::mem::MaybeUninit::uninit();
13097    let ptr = UNINIT.as_ptr();
13098    assert_eq!(
13099        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13100        8usize,
13101        "Size of GENERAL_NAME_st__bindgen_ty_1"
13102    );
13103    assert_eq!(
13104        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13105        8usize,
13106        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13107    );
13108    assert_eq!(
13109        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13110        0usize,
13111        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13112    );
13113    assert_eq!(
13114        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13115        0usize,
13116        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13117    );
13118    assert_eq!(
13119        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13120        0usize,
13121        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13122    );
13123    assert_eq!(
13124        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13125        0usize,
13126        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13127    );
13128    assert_eq!(
13129        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13130        0usize,
13131        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13132    );
13133    assert_eq!(
13134        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13135        0usize,
13136        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13137    );
13138    assert_eq!(
13139        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13140        0usize,
13141        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13142    );
13143    assert_eq!(
13144        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13145        0usize,
13146        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13147    );
13148    assert_eq!(
13149        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13150        0usize,
13151        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13152    );
13153    assert_eq!(
13154        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13155        0usize,
13156        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13157    );
13158    assert_eq!(
13159        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13160        0usize,
13161        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13162    );
13163    assert_eq!(
13164        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13165        0usize,
13166        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13167    );
13168    assert_eq!(
13169        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13170        0usize,
13171        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13172    );
13173    assert_eq!(
13174        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13175        0usize,
13176        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13177    );
13178}
13179impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13180    fn default() -> Self {
13181        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13182        unsafe {
13183            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13184            s.assume_init()
13185        }
13186    }
13187}
13188#[test]
13189fn bindgen_test_layout_GENERAL_NAME_st() {
13190    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13191    let ptr = UNINIT.as_ptr();
13192    assert_eq!(
13193        ::std::mem::size_of::<GENERAL_NAME_st>(),
13194        16usize,
13195        "Size of GENERAL_NAME_st"
13196    );
13197    assert_eq!(
13198        ::std::mem::align_of::<GENERAL_NAME_st>(),
13199        8usize,
13200        "Alignment of GENERAL_NAME_st"
13201    );
13202    assert_eq!(
13203        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13204        0usize,
13205        "Offset of field: GENERAL_NAME_st::type_"
13206    );
13207    assert_eq!(
13208        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13209        8usize,
13210        "Offset of field: GENERAL_NAME_st::d"
13211    );
13212}
13213impl Default for GENERAL_NAME_st {
13214    fn default() -> Self {
13215        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13216        unsafe {
13217            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13218            s.assume_init()
13219        }
13220    }
13221}
13222#[repr(C)]
13223#[derive(Debug, Copy, Clone)]
13224pub struct stack_st_X509_ALGOR {
13225    _unused: [u8; 0],
13226}
13227#[repr(C)]
13228#[derive(Debug, Copy, Clone)]
13229pub struct stack_st_X509_ATTRIBUTE {
13230    _unused: [u8; 0],
13231}
13232#[repr(C)]
13233#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13234pub struct Netscape_spki_st {
13235    pub spkac: *mut NETSCAPE_SPKAC,
13236    pub sig_algor: *mut X509_ALGOR,
13237    pub signature: *mut ASN1_BIT_STRING,
13238}
13239#[test]
13240fn bindgen_test_layout_Netscape_spki_st() {
13241    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13242    let ptr = UNINIT.as_ptr();
13243    assert_eq!(
13244        ::std::mem::size_of::<Netscape_spki_st>(),
13245        24usize,
13246        "Size of Netscape_spki_st"
13247    );
13248    assert_eq!(
13249        ::std::mem::align_of::<Netscape_spki_st>(),
13250        8usize,
13251        "Alignment of Netscape_spki_st"
13252    );
13253    assert_eq!(
13254        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13255        0usize,
13256        "Offset of field: Netscape_spki_st::spkac"
13257    );
13258    assert_eq!(
13259        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13260        8usize,
13261        "Offset of field: Netscape_spki_st::sig_algor"
13262    );
13263    assert_eq!(
13264        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13265        16usize,
13266        "Offset of field: Netscape_spki_st::signature"
13267    );
13268}
13269impl Default for Netscape_spki_st {
13270    fn default() -> Self {
13271        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13272        unsafe {
13273            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13274            s.assume_init()
13275        }
13276    }
13277}
13278#[repr(C)]
13279#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13280pub struct Netscape_spkac_st {
13281    pub pubkey: *mut X509_PUBKEY,
13282    pub challenge: *mut ASN1_IA5STRING,
13283}
13284#[test]
13285fn bindgen_test_layout_Netscape_spkac_st() {
13286    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13287    let ptr = UNINIT.as_ptr();
13288    assert_eq!(
13289        ::std::mem::size_of::<Netscape_spkac_st>(),
13290        16usize,
13291        "Size of Netscape_spkac_st"
13292    );
13293    assert_eq!(
13294        ::std::mem::align_of::<Netscape_spkac_st>(),
13295        8usize,
13296        "Alignment of Netscape_spkac_st"
13297    );
13298    assert_eq!(
13299        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13300        0usize,
13301        "Offset of field: Netscape_spkac_st::pubkey"
13302    );
13303    assert_eq!(
13304        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13305        8usize,
13306        "Offset of field: Netscape_spkac_st::challenge"
13307    );
13308}
13309impl Default for Netscape_spkac_st {
13310    fn default() -> Self {
13311        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13312        unsafe {
13313            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13314            s.assume_init()
13315        }
13316    }
13317}
13318#[repr(C)]
13319#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13320pub struct rsa_pss_params_st {
13321    pub hashAlgorithm: *mut X509_ALGOR,
13322    pub maskGenAlgorithm: *mut X509_ALGOR,
13323    pub saltLength: *mut ASN1_INTEGER,
13324    pub trailerField: *mut ASN1_INTEGER,
13325    pub maskHash: *mut X509_ALGOR,
13326}
13327#[test]
13328fn bindgen_test_layout_rsa_pss_params_st() {
13329    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13330    let ptr = UNINIT.as_ptr();
13331    assert_eq!(
13332        ::std::mem::size_of::<rsa_pss_params_st>(),
13333        40usize,
13334        "Size of rsa_pss_params_st"
13335    );
13336    assert_eq!(
13337        ::std::mem::align_of::<rsa_pss_params_st>(),
13338        8usize,
13339        "Alignment of rsa_pss_params_st"
13340    );
13341    assert_eq!(
13342        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13343        0usize,
13344        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13345    );
13346    assert_eq!(
13347        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13348        8usize,
13349        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13350    );
13351    assert_eq!(
13352        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13353        16usize,
13354        "Offset of field: rsa_pss_params_st::saltLength"
13355    );
13356    assert_eq!(
13357        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13358        24usize,
13359        "Offset of field: rsa_pss_params_st::trailerField"
13360    );
13361    assert_eq!(
13362        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13363        32usize,
13364        "Offset of field: rsa_pss_params_st::maskHash"
13365    );
13366}
13367impl Default for rsa_pss_params_st {
13368    fn default() -> Self {
13369        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13370        unsafe {
13371            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13372            s.assume_init()
13373        }
13374    }
13375}
13376#[repr(C)]
13377#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13378pub struct private_key_st {
13379    pub dec_pkey: *mut EVP_PKEY,
13380}
13381#[test]
13382fn bindgen_test_layout_private_key_st() {
13383    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13384    let ptr = UNINIT.as_ptr();
13385    assert_eq!(
13386        ::std::mem::size_of::<private_key_st>(),
13387        8usize,
13388        "Size of private_key_st"
13389    );
13390    assert_eq!(
13391        ::std::mem::align_of::<private_key_st>(),
13392        8usize,
13393        "Alignment of private_key_st"
13394    );
13395    assert_eq!(
13396        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13397        0usize,
13398        "Offset of field: private_key_st::dec_pkey"
13399    );
13400}
13401impl Default for private_key_st {
13402    fn default() -> Self {
13403        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13404        unsafe {
13405            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13406            s.assume_init()
13407        }
13408    }
13409}
13410#[repr(C)]
13411#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13412pub struct X509_info_st {
13413    pub x509: *mut X509,
13414    pub crl: *mut X509_CRL,
13415    pub x_pkey: *mut X509_PKEY,
13416    pub enc_cipher: EVP_CIPHER_INFO,
13417    pub enc_len: ::std::os::raw::c_int,
13418    pub enc_data: *mut ::std::os::raw::c_char,
13419}
13420#[test]
13421fn bindgen_test_layout_X509_info_st() {
13422    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13423    let ptr = UNINIT.as_ptr();
13424    assert_eq!(
13425        ::std::mem::size_of::<X509_info_st>(),
13426        64usize,
13427        "Size of X509_info_st"
13428    );
13429    assert_eq!(
13430        ::std::mem::align_of::<X509_info_st>(),
13431        8usize,
13432        "Alignment of X509_info_st"
13433    );
13434    assert_eq!(
13435        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13436        0usize,
13437        "Offset of field: X509_info_st::x509"
13438    );
13439    assert_eq!(
13440        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13441        8usize,
13442        "Offset of field: X509_info_st::crl"
13443    );
13444    assert_eq!(
13445        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13446        16usize,
13447        "Offset of field: X509_info_st::x_pkey"
13448    );
13449    assert_eq!(
13450        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13451        24usize,
13452        "Offset of field: X509_info_st::enc_cipher"
13453    );
13454    assert_eq!(
13455        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13456        48usize,
13457        "Offset of field: X509_info_st::enc_len"
13458    );
13459    assert_eq!(
13460        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13461        56usize,
13462        "Offset of field: X509_info_st::enc_data"
13463    );
13464}
13465impl Default for X509_info_st {
13466    fn default() -> Self {
13467        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13468        unsafe {
13469            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13470            s.assume_init()
13471        }
13472    }
13473}
13474pub type X509V3_EXT_NEW =
13475    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13476pub type X509V3_EXT_FREE =
13477    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13478pub type X509V3_EXT_D2I = ::std::option::Option<
13479    unsafe extern "C" fn(
13480        ext: *mut ::std::os::raw::c_void,
13481        inp: *mut *const u8,
13482        len: ::std::os::raw::c_long,
13483    ) -> *mut ::std::os::raw::c_void,
13484>;
13485pub type X509V3_EXT_I2D = ::std::option::Option<
13486    unsafe extern "C" fn(
13487        ext: *mut ::std::os::raw::c_void,
13488        outp: *mut *mut u8,
13489    ) -> ::std::os::raw::c_int,
13490>;
13491pub type X509V3_EXT_I2V = ::std::option::Option<
13492    unsafe extern "C" fn(
13493        method: *const X509V3_EXT_METHOD,
13494        ext: *mut ::std::os::raw::c_void,
13495        extlist: *mut stack_st_CONF_VALUE,
13496    ) -> *mut stack_st_CONF_VALUE,
13497>;
13498pub type X509V3_EXT_V2I = ::std::option::Option<
13499    unsafe extern "C" fn(
13500        method: *const X509V3_EXT_METHOD,
13501        ctx: *const X509V3_CTX,
13502        values: *const stack_st_CONF_VALUE,
13503    ) -> *mut ::std::os::raw::c_void,
13504>;
13505pub type X509V3_EXT_I2S = ::std::option::Option<
13506    unsafe extern "C" fn(
13507        method: *const X509V3_EXT_METHOD,
13508        ext: *mut ::std::os::raw::c_void,
13509    ) -> *mut ::std::os::raw::c_char,
13510>;
13511pub type X509V3_EXT_S2I = ::std::option::Option<
13512    unsafe extern "C" fn(
13513        method: *const X509V3_EXT_METHOD,
13514        ctx: *const X509V3_CTX,
13515        str_: *const ::std::os::raw::c_char,
13516    ) -> *mut ::std::os::raw::c_void,
13517>;
13518pub type X509V3_EXT_I2R = ::std::option::Option<
13519    unsafe extern "C" fn(
13520        method: *const X509V3_EXT_METHOD,
13521        ext: *mut ::std::os::raw::c_void,
13522        out: *mut BIO,
13523        indent: ::std::os::raw::c_int,
13524    ) -> ::std::os::raw::c_int,
13525>;
13526pub type X509V3_EXT_R2I = ::std::option::Option<
13527    unsafe extern "C" fn(
13528        method: *const X509V3_EXT_METHOD,
13529        ctx: *const X509V3_CTX,
13530        str_: *const ::std::os::raw::c_char,
13531    ) -> *mut ::std::os::raw::c_void,
13532>;
13533#[repr(C)]
13534#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13535pub struct v3_ext_method {
13536    pub ext_nid: ::std::os::raw::c_int,
13537    pub ext_flags: ::std::os::raw::c_int,
13538    pub it: *const ASN1_ITEM_st,
13539    pub ext_new: X509V3_EXT_NEW,
13540    pub ext_free: X509V3_EXT_FREE,
13541    pub d2i: X509V3_EXT_D2I,
13542    pub i2d: X509V3_EXT_I2D,
13543    pub i2s: X509V3_EXT_I2S,
13544    pub s2i: X509V3_EXT_S2I,
13545    pub i2v: X509V3_EXT_I2V,
13546    pub v2i: X509V3_EXT_V2I,
13547    pub i2r: X509V3_EXT_I2R,
13548    pub r2i: X509V3_EXT_R2I,
13549    pub usr_data: *mut ::std::os::raw::c_void,
13550}
13551#[test]
13552fn bindgen_test_layout_v3_ext_method() {
13553    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13554    let ptr = UNINIT.as_ptr();
13555    assert_eq!(
13556        ::std::mem::size_of::<v3_ext_method>(),
13557        104usize,
13558        "Size of v3_ext_method"
13559    );
13560    assert_eq!(
13561        ::std::mem::align_of::<v3_ext_method>(),
13562        8usize,
13563        "Alignment of v3_ext_method"
13564    );
13565    assert_eq!(
13566        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13567        0usize,
13568        "Offset of field: v3_ext_method::ext_nid"
13569    );
13570    assert_eq!(
13571        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13572        4usize,
13573        "Offset of field: v3_ext_method::ext_flags"
13574    );
13575    assert_eq!(
13576        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13577        8usize,
13578        "Offset of field: v3_ext_method::it"
13579    );
13580    assert_eq!(
13581        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13582        16usize,
13583        "Offset of field: v3_ext_method::ext_new"
13584    );
13585    assert_eq!(
13586        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13587        24usize,
13588        "Offset of field: v3_ext_method::ext_free"
13589    );
13590    assert_eq!(
13591        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13592        32usize,
13593        "Offset of field: v3_ext_method::d2i"
13594    );
13595    assert_eq!(
13596        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13597        40usize,
13598        "Offset of field: v3_ext_method::i2d"
13599    );
13600    assert_eq!(
13601        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13602        48usize,
13603        "Offset of field: v3_ext_method::i2s"
13604    );
13605    assert_eq!(
13606        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13607        56usize,
13608        "Offset of field: v3_ext_method::s2i"
13609    );
13610    assert_eq!(
13611        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13612        64usize,
13613        "Offset of field: v3_ext_method::i2v"
13614    );
13615    assert_eq!(
13616        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13617        72usize,
13618        "Offset of field: v3_ext_method::v2i"
13619    );
13620    assert_eq!(
13621        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13622        80usize,
13623        "Offset of field: v3_ext_method::i2r"
13624    );
13625    assert_eq!(
13626        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13627        88usize,
13628        "Offset of field: v3_ext_method::r2i"
13629    );
13630    assert_eq!(
13631        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13632        96usize,
13633        "Offset of field: v3_ext_method::usr_data"
13634    );
13635}
13636impl Default for v3_ext_method {
13637    fn default() -> Self {
13638        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13639        unsafe {
13640            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13641            s.assume_init()
13642        }
13643    }
13644}
13645#[repr(C)]
13646#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13647pub struct v3_ext_ctx {
13648    pub flags: ::std::os::raw::c_int,
13649    pub issuer_cert: *const X509,
13650    pub subject_cert: *const X509,
13651    pub subject_req: *const X509_REQ,
13652    pub crl: *const X509_CRL,
13653    pub db: *const CONF,
13654}
13655#[test]
13656fn bindgen_test_layout_v3_ext_ctx() {
13657    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13658    let ptr = UNINIT.as_ptr();
13659    assert_eq!(
13660        ::std::mem::size_of::<v3_ext_ctx>(),
13661        48usize,
13662        "Size of v3_ext_ctx"
13663    );
13664    assert_eq!(
13665        ::std::mem::align_of::<v3_ext_ctx>(),
13666        8usize,
13667        "Alignment of v3_ext_ctx"
13668    );
13669    assert_eq!(
13670        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13671        0usize,
13672        "Offset of field: v3_ext_ctx::flags"
13673    );
13674    assert_eq!(
13675        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13676        8usize,
13677        "Offset of field: v3_ext_ctx::issuer_cert"
13678    );
13679    assert_eq!(
13680        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13681        16usize,
13682        "Offset of field: v3_ext_ctx::subject_cert"
13683    );
13684    assert_eq!(
13685        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13686        24usize,
13687        "Offset of field: v3_ext_ctx::subject_req"
13688    );
13689    assert_eq!(
13690        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13691        32usize,
13692        "Offset of field: v3_ext_ctx::crl"
13693    );
13694    assert_eq!(
13695        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13696        40usize,
13697        "Offset of field: v3_ext_ctx::db"
13698    );
13699}
13700impl Default for v3_ext_ctx {
13701    fn default() -> Self {
13702        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13703        unsafe {
13704            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13705            s.assume_init()
13706        }
13707    }
13708}
13709#[repr(C)]
13710#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13711pub struct X509_algor_st {
13712    pub algorithm: *mut ASN1_OBJECT,
13713    pub parameter: *mut ASN1_TYPE,
13714}
13715#[test]
13716fn bindgen_test_layout_X509_algor_st() {
13717    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13718    let ptr = UNINIT.as_ptr();
13719    assert_eq!(
13720        ::std::mem::size_of::<X509_algor_st>(),
13721        16usize,
13722        "Size of X509_algor_st"
13723    );
13724    assert_eq!(
13725        ::std::mem::align_of::<X509_algor_st>(),
13726        8usize,
13727        "Alignment of X509_algor_st"
13728    );
13729    assert_eq!(
13730        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13731        0usize,
13732        "Offset of field: X509_algor_st::algorithm"
13733    );
13734    assert_eq!(
13735        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13736        8usize,
13737        "Offset of field: X509_algor_st::parameter"
13738    );
13739}
13740impl Default for X509_algor_st {
13741    fn default() -> Self {
13742        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13743        unsafe {
13744            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13745            s.assume_init()
13746        }
13747    }
13748}
13749#[repr(C)]
13750#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13751pub struct x509_trust_st {
13752    pub trust: ::std::os::raw::c_int,
13753    pub flags: ::std::os::raw::c_int,
13754    pub check_trust: ::std::option::Option<
13755        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13756    >,
13757    pub name: *mut ::std::os::raw::c_char,
13758    pub arg1: ::std::os::raw::c_int,
13759    pub arg2: *mut ::std::os::raw::c_void,
13760}
13761#[test]
13762fn bindgen_test_layout_x509_trust_st() {
13763    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13764    let ptr = UNINIT.as_ptr();
13765    assert_eq!(
13766        ::std::mem::size_of::<x509_trust_st>(),
13767        40usize,
13768        "Size of x509_trust_st"
13769    );
13770    assert_eq!(
13771        ::std::mem::align_of::<x509_trust_st>(),
13772        8usize,
13773        "Alignment of x509_trust_st"
13774    );
13775    assert_eq!(
13776        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13777        0usize,
13778        "Offset of field: x509_trust_st::trust"
13779    );
13780    assert_eq!(
13781        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13782        4usize,
13783        "Offset of field: x509_trust_st::flags"
13784    );
13785    assert_eq!(
13786        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13787        8usize,
13788        "Offset of field: x509_trust_st::check_trust"
13789    );
13790    assert_eq!(
13791        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13792        16usize,
13793        "Offset of field: x509_trust_st::name"
13794    );
13795    assert_eq!(
13796        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13797        24usize,
13798        "Offset of field: x509_trust_st::arg1"
13799    );
13800    assert_eq!(
13801        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13802        32usize,
13803        "Offset of field: x509_trust_st::arg2"
13804    );
13805}
13806impl Default for x509_trust_st {
13807    fn default() -> Self {
13808        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13809        unsafe {
13810            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13811            s.assume_init()
13812        }
13813    }
13814}
13815#[repr(C)]
13816#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13817pub struct BASIC_CONSTRAINTS_st {
13818    pub ca: ASN1_BOOLEAN,
13819    pub pathlen: *mut ASN1_INTEGER,
13820}
13821#[test]
13822fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
13823    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13824    let ptr = UNINIT.as_ptr();
13825    assert_eq!(
13826        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
13827        16usize,
13828        "Size of BASIC_CONSTRAINTS_st"
13829    );
13830    assert_eq!(
13831        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
13832        8usize,
13833        "Alignment of BASIC_CONSTRAINTS_st"
13834    );
13835    assert_eq!(
13836        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
13837        0usize,
13838        "Offset of field: BASIC_CONSTRAINTS_st::ca"
13839    );
13840    assert_eq!(
13841        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
13842        8usize,
13843        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
13844    );
13845}
13846impl Default for BASIC_CONSTRAINTS_st {
13847    fn default() -> Self {
13848        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13849        unsafe {
13850            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13851            s.assume_init()
13852        }
13853    }
13854}
13855#[repr(C)]
13856#[derive(Copy, Clone)]
13857pub struct DIST_POINT_NAME_st {
13858    pub type_: ::std::os::raw::c_int,
13859    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
13860    pub dpname: *mut X509_NAME,
13861}
13862#[repr(C)]
13863#[derive(Copy, Clone)]
13864pub union DIST_POINT_NAME_st__bindgen_ty_1 {
13865    pub fullname: *mut GENERAL_NAMES,
13866    pub relativename: *mut stack_st_X509_NAME_ENTRY,
13867}
13868#[test]
13869fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
13870    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
13871        ::std::mem::MaybeUninit::uninit();
13872    let ptr = UNINIT.as_ptr();
13873    assert_eq!(
13874        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13875        8usize,
13876        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
13877    );
13878    assert_eq!(
13879        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13880        8usize,
13881        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
13882    );
13883    assert_eq!(
13884        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
13885        0usize,
13886        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
13887    );
13888    assert_eq!(
13889        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
13890        0usize,
13891        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
13892    );
13893}
13894impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
13895    fn default() -> Self {
13896        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13897        unsafe {
13898            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13899            s.assume_init()
13900        }
13901    }
13902}
13903#[test]
13904fn bindgen_test_layout_DIST_POINT_NAME_st() {
13905    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
13906    let ptr = UNINIT.as_ptr();
13907    assert_eq!(
13908        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
13909        24usize,
13910        "Size of DIST_POINT_NAME_st"
13911    );
13912    assert_eq!(
13913        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
13914        8usize,
13915        "Alignment of DIST_POINT_NAME_st"
13916    );
13917    assert_eq!(
13918        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13919        0usize,
13920        "Offset of field: DIST_POINT_NAME_st::type_"
13921    );
13922    assert_eq!(
13923        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13924        8usize,
13925        "Offset of field: DIST_POINT_NAME_st::name"
13926    );
13927    assert_eq!(
13928        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
13929        16usize,
13930        "Offset of field: DIST_POINT_NAME_st::dpname"
13931    );
13932}
13933impl Default for DIST_POINT_NAME_st {
13934    fn default() -> Self {
13935        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13936        unsafe {
13937            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13938            s.assume_init()
13939        }
13940    }
13941}
13942pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
13943#[repr(C)]
13944#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13945pub struct DIST_POINT_st {
13946    pub distpoint: *mut DIST_POINT_NAME,
13947    pub reasons: *mut ASN1_BIT_STRING,
13948    pub CRLissuer: *mut GENERAL_NAMES,
13949}
13950#[test]
13951fn bindgen_test_layout_DIST_POINT_st() {
13952    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
13953    let ptr = UNINIT.as_ptr();
13954    assert_eq!(
13955        ::std::mem::size_of::<DIST_POINT_st>(),
13956        24usize,
13957        "Size of DIST_POINT_st"
13958    );
13959    assert_eq!(
13960        ::std::mem::align_of::<DIST_POINT_st>(),
13961        8usize,
13962        "Alignment of DIST_POINT_st"
13963    );
13964    assert_eq!(
13965        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
13966        0usize,
13967        "Offset of field: DIST_POINT_st::distpoint"
13968    );
13969    assert_eq!(
13970        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
13971        8usize,
13972        "Offset of field: DIST_POINT_st::reasons"
13973    );
13974    assert_eq!(
13975        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
13976        16usize,
13977        "Offset of field: DIST_POINT_st::CRLissuer"
13978    );
13979}
13980impl Default for DIST_POINT_st {
13981    fn default() -> Self {
13982        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13983        unsafe {
13984            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13985            s.assume_init()
13986        }
13987    }
13988}
13989#[repr(C)]
13990#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13991pub struct AUTHORITY_KEYID_st {
13992    pub keyid: *mut ASN1_OCTET_STRING,
13993    pub issuer: *mut GENERAL_NAMES,
13994    pub serial: *mut ASN1_INTEGER,
13995}
13996#[test]
13997fn bindgen_test_layout_AUTHORITY_KEYID_st() {
13998    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
13999    let ptr = UNINIT.as_ptr();
14000    assert_eq!(
14001        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
14002        24usize,
14003        "Size of AUTHORITY_KEYID_st"
14004    );
14005    assert_eq!(
14006        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
14007        8usize,
14008        "Alignment of AUTHORITY_KEYID_st"
14009    );
14010    assert_eq!(
14011        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
14012        0usize,
14013        "Offset of field: AUTHORITY_KEYID_st::keyid"
14014    );
14015    assert_eq!(
14016        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
14017        8usize,
14018        "Offset of field: AUTHORITY_KEYID_st::issuer"
14019    );
14020    assert_eq!(
14021        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14022        16usize,
14023        "Offset of field: AUTHORITY_KEYID_st::serial"
14024    );
14025}
14026impl Default for AUTHORITY_KEYID_st {
14027    fn default() -> Self {
14028        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14029        unsafe {
14030            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14031            s.assume_init()
14032        }
14033    }
14034}
14035#[repr(C)]
14036#[derive(Debug, Copy, Clone)]
14037pub struct stack_st_GENERAL_SUBTREE {
14038    _unused: [u8; 0],
14039}
14040#[repr(C)]
14041#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14042pub struct NAME_CONSTRAINTS_st {
14043    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14044    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14045}
14046#[test]
14047fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
14048    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14049    let ptr = UNINIT.as_ptr();
14050    assert_eq!(
14051        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
14052        16usize,
14053        "Size of NAME_CONSTRAINTS_st"
14054    );
14055    assert_eq!(
14056        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
14057        8usize,
14058        "Alignment of NAME_CONSTRAINTS_st"
14059    );
14060    assert_eq!(
14061        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
14062        0usize,
14063        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
14064    );
14065    assert_eq!(
14066        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
14067        8usize,
14068        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
14069    );
14070}
14071impl Default for NAME_CONSTRAINTS_st {
14072    fn default() -> Self {
14073        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14074        unsafe {
14075            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14076            s.assume_init()
14077        }
14078    }
14079}
14080#[repr(C)]
14081#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14082pub struct ISSUING_DIST_POINT_st {
14083    pub distpoint: *mut DIST_POINT_NAME,
14084    pub onlyuser: ASN1_BOOLEAN,
14085    pub onlyCA: ASN1_BOOLEAN,
14086    pub onlysomereasons: *mut ASN1_BIT_STRING,
14087    pub indirectCRL: ASN1_BOOLEAN,
14088    pub onlyattr: ASN1_BOOLEAN,
14089}
14090#[test]
14091fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14092    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14093        ::std::mem::MaybeUninit::uninit();
14094    let ptr = UNINIT.as_ptr();
14095    assert_eq!(
14096        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14097        32usize,
14098        "Size of ISSUING_DIST_POINT_st"
14099    );
14100    assert_eq!(
14101        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14102        8usize,
14103        "Alignment of ISSUING_DIST_POINT_st"
14104    );
14105    assert_eq!(
14106        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14107        0usize,
14108        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14109    );
14110    assert_eq!(
14111        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14112        8usize,
14113        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14114    );
14115    assert_eq!(
14116        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14117        12usize,
14118        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14119    );
14120    assert_eq!(
14121        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14122        16usize,
14123        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14124    );
14125    assert_eq!(
14126        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14127        24usize,
14128        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14129    );
14130    assert_eq!(
14131        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14132        28usize,
14133        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14134    );
14135}
14136impl Default for ISSUING_DIST_POINT_st {
14137    fn default() -> Self {
14138        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14139        unsafe {
14140            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14141            s.assume_init()
14142        }
14143    }
14144}
14145pub type poly1305_state = [u8; 512usize];
14146extern "C" {
14147    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_poly1305_init"]
14148    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14149}
14150extern "C" {
14151    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_poly1305_update"]
14152    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14153}
14154extern "C" {
14155    #[link_name = "\u{1}aws_lc_0_43_0_CRYPTO_poly1305_finish"]
14156    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14157}
14158extern "C" {
14159    #[link_name = "\u{1}aws_lc_0_43_0_RAND_bytes"]
14160    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14161}
14162extern "C" {
14163    #[link_name = "\u{1}aws_lc_0_43_0_RAND_priv_bytes"]
14164    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14165}
14166extern "C" {
14167    #[link_name = "\u{1}aws_lc_0_43_0_RAND_public_bytes"]
14168    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
14169}
14170extern "C" {
14171    #[link_name = "\u{1}aws_lc_0_43_0_RAND_bytes_with_user_prediction_resistance"]
14172    pub fn RAND_bytes_with_user_prediction_resistance(
14173        out: *mut u8,
14174        out_len: usize,
14175        user_pred_resistance: *const u8,
14176    ) -> ::std::os::raw::c_int;
14177}
14178extern "C" {
14179    #[link_name = "\u{1}aws_lc_0_43_0_RAND_pseudo_bytes"]
14180    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14181}
14182extern "C" {
14183    #[link_name = "\u{1}aws_lc_0_43_0_RAND_seed"]
14184    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14185}
14186extern "C" {
14187    #[link_name = "\u{1}aws_lc_0_43_0_RAND_load_file"]
14188    pub fn RAND_load_file(
14189        path: *const ::std::os::raw::c_char,
14190        num: ::std::os::raw::c_long,
14191    ) -> ::std::os::raw::c_int;
14192}
14193extern "C" {
14194    #[link_name = "\u{1}aws_lc_0_43_0_RAND_write_file"]
14195    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14196}
14197extern "C" {
14198    #[link_name = "\u{1}aws_lc_0_43_0_RAND_file_name"]
14199    pub fn RAND_file_name(
14200        buf: *mut ::std::os::raw::c_char,
14201        num: usize,
14202    ) -> *const ::std::os::raw::c_char;
14203}
14204extern "C" {
14205    #[link_name = "\u{1}aws_lc_0_43_0_RAND_add"]
14206    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14207}
14208extern "C" {
14209    #[link_name = "\u{1}aws_lc_0_43_0_RAND_egd"]
14210    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14211}
14212extern "C" {
14213    #[link_name = "\u{1}aws_lc_0_43_0_RAND_egd_bytes"]
14214    pub fn RAND_egd_bytes(
14215        arg1: *const ::std::os::raw::c_char,
14216        bytes: ::std::os::raw::c_int,
14217    ) -> ::std::os::raw::c_int;
14218}
14219extern "C" {
14220    #[link_name = "\u{1}aws_lc_0_43_0_RAND_poll"]
14221    pub fn RAND_poll() -> ::std::os::raw::c_int;
14222}
14223extern "C" {
14224    #[link_name = "\u{1}aws_lc_0_43_0_RAND_status"]
14225    pub fn RAND_status() -> ::std::os::raw::c_int;
14226}
14227extern "C" {
14228    #[link_name = "\u{1}aws_lc_0_43_0_RAND_cleanup"]
14229    pub fn RAND_cleanup();
14230}
14231#[repr(C)]
14232#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14233pub struct rand_meth_st {
14234    pub seed: ::std::option::Option<
14235        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14236    >,
14237    pub bytes: ::std::option::Option<
14238        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14239    >,
14240    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14241    pub add: ::std::option::Option<
14242        unsafe extern "C" fn(
14243            buf: *const ::std::os::raw::c_void,
14244            num: ::std::os::raw::c_int,
14245            entropy: f64,
14246        ),
14247    >,
14248    pub pseudorand: ::std::option::Option<
14249        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14250    >,
14251    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14252}
14253#[test]
14254fn bindgen_test_layout_rand_meth_st() {
14255    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14256    let ptr = UNINIT.as_ptr();
14257    assert_eq!(
14258        ::std::mem::size_of::<rand_meth_st>(),
14259        48usize,
14260        "Size of rand_meth_st"
14261    );
14262    assert_eq!(
14263        ::std::mem::align_of::<rand_meth_st>(),
14264        8usize,
14265        "Alignment of rand_meth_st"
14266    );
14267    assert_eq!(
14268        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14269        0usize,
14270        "Offset of field: rand_meth_st::seed"
14271    );
14272    assert_eq!(
14273        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14274        8usize,
14275        "Offset of field: rand_meth_st::bytes"
14276    );
14277    assert_eq!(
14278        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14279        16usize,
14280        "Offset of field: rand_meth_st::cleanup"
14281    );
14282    assert_eq!(
14283        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14284        24usize,
14285        "Offset of field: rand_meth_st::add"
14286    );
14287    assert_eq!(
14288        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14289        32usize,
14290        "Offset of field: rand_meth_st::pseudorand"
14291    );
14292    assert_eq!(
14293        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14294        40usize,
14295        "Offset of field: rand_meth_st::status"
14296    );
14297}
14298extern "C" {
14299    #[link_name = "\u{1}aws_lc_0_43_0_RAND_SSLeay"]
14300    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14301}
14302extern "C" {
14303    #[link_name = "\u{1}aws_lc_0_43_0_RAND_OpenSSL"]
14304    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14305}
14306extern "C" {
14307    #[link_name = "\u{1}aws_lc_0_43_0_RAND_get_rand_method"]
14308    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14309}
14310extern "C" {
14311    #[link_name = "\u{1}aws_lc_0_43_0_RAND_set_rand_method"]
14312    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14313}
14314extern "C" {
14315    #[link_name = "\u{1}aws_lc_0_43_0_RAND_keep_random_devices_open"]
14316    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14317}
14318#[repr(C)]
14319#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14320pub struct rc4_key_st {
14321    pub x: u32,
14322    pub y: u32,
14323    pub data: [u32; 256usize],
14324}
14325#[test]
14326fn bindgen_test_layout_rc4_key_st() {
14327    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14328    let ptr = UNINIT.as_ptr();
14329    assert_eq!(
14330        ::std::mem::size_of::<rc4_key_st>(),
14331        1032usize,
14332        "Size of rc4_key_st"
14333    );
14334    assert_eq!(
14335        ::std::mem::align_of::<rc4_key_st>(),
14336        4usize,
14337        "Alignment of rc4_key_st"
14338    );
14339    assert_eq!(
14340        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14341        0usize,
14342        "Offset of field: rc4_key_st::x"
14343    );
14344    assert_eq!(
14345        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14346        4usize,
14347        "Offset of field: rc4_key_st::y"
14348    );
14349    assert_eq!(
14350        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14351        8usize,
14352        "Offset of field: rc4_key_st::data"
14353    );
14354}
14355impl Default for rc4_key_st {
14356    fn default() -> Self {
14357        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14358        unsafe {
14359            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14360            s.assume_init()
14361        }
14362    }
14363}
14364#[repr(C)]
14365#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14366pub struct RIPEMD160state_st {
14367    pub h: [u32; 5usize],
14368    pub Nl: u32,
14369    pub Nh: u32,
14370    pub data: [u8; 64usize],
14371    pub num: ::std::os::raw::c_uint,
14372}
14373#[test]
14374fn bindgen_test_layout_RIPEMD160state_st() {
14375    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14376    let ptr = UNINIT.as_ptr();
14377    assert_eq!(
14378        ::std::mem::size_of::<RIPEMD160state_st>(),
14379        96usize,
14380        "Size of RIPEMD160state_st"
14381    );
14382    assert_eq!(
14383        ::std::mem::align_of::<RIPEMD160state_st>(),
14384        4usize,
14385        "Alignment of RIPEMD160state_st"
14386    );
14387    assert_eq!(
14388        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14389        0usize,
14390        "Offset of field: RIPEMD160state_st::h"
14391    );
14392    assert_eq!(
14393        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14394        20usize,
14395        "Offset of field: RIPEMD160state_st::Nl"
14396    );
14397    assert_eq!(
14398        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14399        24usize,
14400        "Offset of field: RIPEMD160state_st::Nh"
14401    );
14402    assert_eq!(
14403        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14404        28usize,
14405        "Offset of field: RIPEMD160state_st::data"
14406    );
14407    assert_eq!(
14408        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14409        92usize,
14410        "Offset of field: RIPEMD160state_st::num"
14411    );
14412}
14413impl Default for RIPEMD160state_st {
14414    fn default() -> Self {
14415        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14416        unsafe {
14417            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14418            s.assume_init()
14419        }
14420    }
14421}
14422#[repr(C)]
14423#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14424pub struct trust_token_st {
14425    pub data: *mut u8,
14426    pub len: usize,
14427}
14428#[test]
14429fn bindgen_test_layout_trust_token_st() {
14430    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14431    let ptr = UNINIT.as_ptr();
14432    assert_eq!(
14433        ::std::mem::size_of::<trust_token_st>(),
14434        16usize,
14435        "Size of trust_token_st"
14436    );
14437    assert_eq!(
14438        ::std::mem::align_of::<trust_token_st>(),
14439        8usize,
14440        "Alignment of trust_token_st"
14441    );
14442    assert_eq!(
14443        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14444        0usize,
14445        "Offset of field: trust_token_st::data"
14446    );
14447    assert_eq!(
14448        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14449        8usize,
14450        "Offset of field: trust_token_st::len"
14451    );
14452}
14453impl Default for trust_token_st {
14454    fn default() -> Self {
14455        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14456        unsafe {
14457            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14458            s.assume_init()
14459        }
14460    }
14461}
14462extern "C" {
14463    #[link_name = "\u{1}aws_lc_0_43_0_ERR_GET_LIB_RUST"]
14464    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14465}
14466extern "C" {
14467    #[link_name = "\u{1}aws_lc_0_43_0_ERR_GET_REASON_RUST"]
14468    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14469}
14470extern "C" {
14471    #[link_name = "\u{1}aws_lc_0_43_0_ERR_GET_FUNC_RUST"]
14472    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14473}
14474pub type __builtin_va_list = [__va_list_tag; 1usize];
14475#[repr(C)]
14476#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14477pub struct __va_list_tag {
14478    pub gp_offset: ::std::os::raw::c_uint,
14479    pub fp_offset: ::std::os::raw::c_uint,
14480    pub overflow_arg_area: *mut ::std::os::raw::c_void,
14481    pub reg_save_area: *mut ::std::os::raw::c_void,
14482}
14483#[test]
14484fn bindgen_test_layout___va_list_tag() {
14485    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
14486    let ptr = UNINIT.as_ptr();
14487    assert_eq!(
14488        ::std::mem::size_of::<__va_list_tag>(),
14489        24usize,
14490        "Size of __va_list_tag"
14491    );
14492    assert_eq!(
14493        ::std::mem::align_of::<__va_list_tag>(),
14494        8usize,
14495        "Alignment of __va_list_tag"
14496    );
14497    assert_eq!(
14498        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
14499        0usize,
14500        "Offset of field: __va_list_tag::gp_offset"
14501    );
14502    assert_eq!(
14503        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
14504        4usize,
14505        "Offset of field: __va_list_tag::fp_offset"
14506    );
14507    assert_eq!(
14508        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
14509        8usize,
14510        "Offset of field: __va_list_tag::overflow_arg_area"
14511    );
14512    assert_eq!(
14513        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
14514        16usize,
14515        "Offset of field: __va_list_tag::reg_save_area"
14516    );
14517}
14518impl Default for __va_list_tag {
14519    fn default() -> Self {
14520        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14521        unsafe {
14522            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14523            s.assume_init()
14524        }
14525    }
14526}