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; 7] = b"1.73.0\0";
180pub const AES_ENCRYPT: i32 = 1;
181pub const AES_DECRYPT: i32 = 0;
182pub const AES_MAXNR: i32 = 14;
183pub const AES_BLOCK_SIZE: i32 = 16;
184pub const SHA_CBLOCK: i32 = 64;
185pub const SHA_DIGEST_LENGTH: i32 = 20;
186pub const SHA224_CBLOCK: i32 = 64;
187pub const SHA224_DIGEST_LENGTH: i32 = 28;
188pub const SHA256_CBLOCK: i32 = 64;
189pub const SHA256_DIGEST_LENGTH: i32 = 32;
190pub const SHA384_CBLOCK: i32 = 128;
191pub const SHA384_DIGEST_LENGTH: i32 = 48;
192pub const SHA512_CBLOCK: i32 = 128;
193pub const SHA512_DIGEST_LENGTH: i32 = 64;
194pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
195pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
196pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 1.73.0)\0";
197pub const OPENSSL_VERSION: i32 = 0;
198pub const OPENSSL_CFLAGS: i32 = 1;
199pub const OPENSSL_BUILT_ON: i32 = 2;
200pub const OPENSSL_PLATFORM: i32 = 3;
201pub const OPENSSL_DIR: i32 = 4;
202pub const SSLEAY_VERSION: i32 = 0;
203pub const SSLEAY_CFLAGS: i32 = 1;
204pub const SSLEAY_BUILT_ON: i32 = 2;
205pub const SSLEAY_PLATFORM: i32 = 3;
206pub const SSLEAY_DIR: i32 = 4;
207pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
208pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
209pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
210pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
211pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
212pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
213pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
214pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
215pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
216pub const OPENSSL_INIT_ATFORK: i32 = 0;
217pub const CRYPTO_MEM_CHECK_ON: i32 = 0;
218pub const ERR_FLAG_STRING: i32 = 1;
219pub const ERR_FLAG_MALLOCED: i32 = 2;
220pub const ERR_LIB_NONE: i32 = 1;
221pub const ERR_LIB_SYS: i32 = 2;
222pub const ERR_LIB_BN: i32 = 3;
223pub const ERR_LIB_RSA: i32 = 4;
224pub const ERR_LIB_DH: i32 = 5;
225pub const ERR_LIB_EVP: i32 = 6;
226pub const ERR_LIB_BUF: i32 = 7;
227pub const ERR_LIB_OBJ: i32 = 8;
228pub const ERR_LIB_PEM: i32 = 9;
229pub const ERR_LIB_DSA: i32 = 10;
230pub const ERR_LIB_X509: i32 = 11;
231pub const ERR_LIB_ASN1: i32 = 12;
232pub const ERR_LIB_CONF: i32 = 13;
233pub const ERR_LIB_CRYPTO: i32 = 14;
234pub const ERR_LIB_EC: i32 = 15;
235pub const ERR_LIB_SSL: i32 = 16;
236pub const ERR_LIB_BIO: i32 = 17;
237pub const ERR_LIB_PKCS7: i32 = 18;
238pub const ERR_LIB_PKCS8: i32 = 19;
239pub const ERR_LIB_X509V3: i32 = 20;
240pub const ERR_LIB_RAND: i32 = 21;
241pub const ERR_LIB_ENGINE: i32 = 22;
242pub const ERR_LIB_OCSP: i32 = 23;
243pub const ERR_LIB_UI: i32 = 24;
244pub const ERR_LIB_COMP: i32 = 25;
245pub const ERR_LIB_ECDSA: i32 = 26;
246pub const ERR_LIB_ECDH: i32 = 27;
247pub const ERR_LIB_HMAC: i32 = 28;
248pub const ERR_LIB_DIGEST: i32 = 29;
249pub const ERR_LIB_CIPHER: i32 = 30;
250pub const ERR_LIB_HKDF: i32 = 31;
251pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
252pub const ERR_LIB_USER: i32 = 33;
253pub const ERR_NUM_LIBS: i32 = 34;
254pub const ERR_LIB_PKCS12: i32 = 35;
255pub const ERR_LIB_DSO: i32 = 36;
256pub const ERR_LIB_OSSL_STORE: i32 = 37;
257pub const ERR_LIB_FIPS: i32 = 38;
258pub const ERR_LIB_CMS: i32 = 39;
259pub const ERR_LIB_TS: i32 = 40;
260pub const ERR_LIB_CT: i32 = 41;
261pub const ERR_LIB_ASYNC: i32 = 42;
262pub const ERR_LIB_KDF: i32 = 43;
263pub const ERR_LIB_SM2: i32 = 44;
264pub const ERR_R_SYS_LIB: i32 = 2;
265pub const ERR_R_BN_LIB: i32 = 3;
266pub const ERR_R_RSA_LIB: i32 = 4;
267pub const ERR_R_DH_LIB: i32 = 5;
268pub const ERR_R_EVP_LIB: i32 = 6;
269pub const ERR_R_BUF_LIB: i32 = 7;
270pub const ERR_R_OBJ_LIB: i32 = 8;
271pub const ERR_R_PEM_LIB: i32 = 9;
272pub const ERR_R_DSA_LIB: i32 = 10;
273pub const ERR_R_X509_LIB: i32 = 11;
274pub const ERR_R_ASN1_LIB: i32 = 12;
275pub const ERR_R_CONF_LIB: i32 = 13;
276pub const ERR_R_CRYPTO_LIB: i32 = 14;
277pub const ERR_R_EC_LIB: i32 = 15;
278pub const ERR_R_SSL_LIB: i32 = 16;
279pub const ERR_R_BIO_LIB: i32 = 17;
280pub const ERR_R_PKCS7_LIB: i32 = 18;
281pub const ERR_R_PKCS8_LIB: i32 = 19;
282pub const ERR_R_X509V3_LIB: i32 = 20;
283pub const ERR_R_RAND_LIB: i32 = 21;
284pub const ERR_R_DSO_LIB: i32 = 36;
285pub const ERR_R_ENGINE_LIB: i32 = 22;
286pub const ERR_R_OCSP_LIB: i32 = 23;
287pub const ERR_R_UI_LIB: i32 = 24;
288pub const ERR_R_COMP_LIB: i32 = 25;
289pub const ERR_R_ECDSA_LIB: i32 = 26;
290pub const ERR_R_ECDH_LIB: i32 = 27;
291pub const ERR_R_FIPS_LIB: i32 = 38;
292pub const ERR_R_CMS_LIB: i32 = 39;
293pub const ERR_R_TS_LIB: i32 = 40;
294pub const ERR_R_HMAC_LIB: i32 = 28;
295pub const ERR_R_USER_LIB: i32 = 33;
296pub const ERR_R_DIGEST_LIB: i32 = 29;
297pub const ERR_R_CIPHER_LIB: i32 = 30;
298pub const ERR_R_HKDF_LIB: i32 = 31;
299pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
300pub const ERR_R_FATAL: i32 = 64;
301pub const ERR_R_MALLOC_FAILURE: i32 = 65;
302pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
303pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
304pub const ERR_R_INTERNAL_ERROR: i32 = 68;
305pub const ERR_R_OVERFLOW: i32 = 69;
306pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
307pub const ERR_TXT_STRING: i32 = 1;
308pub const ERR_TXT_MALLOCED: i32 = 2;
309pub const ERR_NUM_ERRORS: i32 = 16;
310pub const BN_BITS2: i32 = 64;
311pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
312pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
313pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
314pub const BN_RAND_TOP_ANY: i32 = -1;
315pub const BN_RAND_TOP_ONE: i32 = 0;
316pub const BN_RAND_TOP_TWO: i32 = 1;
317pub const BN_RAND_BOTTOM_ANY: i32 = 0;
318pub const BN_RAND_BOTTOM_ODD: i32 = 1;
319pub const BN_GENCB_GENERATED: i32 = 0;
320pub const BN_GENCB_PRIME_TEST: i32 = 1;
321pub const BN_prime_checks_for_validation: i32 = 64;
322pub const BN_prime_checks_for_generation: i32 = 0;
323pub const BN_prime_checks: i32 = 64;
324pub const BN_FLG_MALLOCED: i32 = 1;
325pub const BN_FLG_STATIC_DATA: i32 = 2;
326pub const BN_R_ARG2_LT_ARG3: i32 = 100;
327pub const BN_R_BAD_RECIPROCAL: i32 = 101;
328pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
329pub const BN_R_BITS_TOO_SMALL: i32 = 103;
330pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
331pub const BN_R_DIV_BY_ZERO: i32 = 105;
332pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
333pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
334pub const BN_R_INVALID_RANGE: i32 = 108;
335pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
336pub const BN_R_NOT_A_SQUARE: i32 = 110;
337pub const BN_R_NOT_INITIALIZED: i32 = 111;
338pub const BN_R_NO_INVERSE: i32 = 112;
339pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
340pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
341pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
342pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
343pub const BN_R_BAD_ENCODING: i32 = 117;
344pub const BN_R_ENCODE_ERROR: i32 = 118;
345pub const BN_R_INVALID_INPUT: i32 = 119;
346pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
347pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
348pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
349pub const CBS_ASN1_UNIVERSAL: i32 = 0;
350pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
351pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
352pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
353pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
354pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
355pub const CBS_ASN1_BOOLEAN: i32 = 1;
356pub const CBS_ASN1_INTEGER: i32 = 2;
357pub const CBS_ASN1_BITSTRING: i32 = 3;
358pub const CBS_ASN1_OCTETSTRING: i32 = 4;
359pub const CBS_ASN1_NULL: i32 = 5;
360pub const CBS_ASN1_OBJECT: i32 = 6;
361pub const CBS_ASN1_ENUMERATED: i32 = 10;
362pub const CBS_ASN1_UTF8STRING: i32 = 12;
363pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
364pub const CBS_ASN1_SET: i32 = 536870929;
365pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
366pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
367pub const CBS_ASN1_T61STRING: i32 = 20;
368pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
369pub const CBS_ASN1_IA5STRING: i32 = 22;
370pub const CBS_ASN1_UTCTIME: i32 = 23;
371pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
372pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
373pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
374pub const CBS_ASN1_GENERALSTRING: i32 = 27;
375pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
376pub const CBS_ASN1_BMPSTRING: i32 = 30;
377pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
378pub const EVP_CIPH_ECB_MODE: i32 = 1;
379pub const EVP_CIPH_CBC_MODE: i32 = 2;
380pub const EVP_CIPH_CFB_MODE: i32 = 3;
381pub const EVP_CIPH_OFB_MODE: i32 = 4;
382pub const EVP_CIPH_CTR_MODE: i32 = 5;
383pub const EVP_CIPH_GCM_MODE: i32 = 6;
384pub const EVP_CIPH_XTS_MODE: i32 = 7;
385pub const EVP_CIPH_CCM_MODE: i32 = 8;
386pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
387pub const EVP_CIPH_OCB_MODE: i32 = 9;
388pub const EVP_CIPH_WRAP_MODE: i32 = 10;
389pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
390pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
391pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
392pub const EVP_CIPH_CTRL_INIT: i32 = 512;
393pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
394pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
395pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
396pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
397pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
398pub const EVP_CIPH_NO_PADDING: i32 = 2048;
399pub const EVP_CTRL_INIT: i32 = 0;
400pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
401pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
402pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
403pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
404pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
405pub const EVP_CTRL_RAND_KEY: i32 = 6;
406pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
407pub const EVP_CTRL_COPY: i32 = 8;
408pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
409pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
410pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
411pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
412pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
413pub const EVP_CTRL_CCM_SET_L: i32 = 20;
414pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
415pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
416pub const EVP_CTRL_GET_IVLEN: i32 = 25;
417pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
418pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
419pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
420pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
421pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
422pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
423pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
424pub const EVP_MAX_KEY_LENGTH: i32 = 64;
425pub const EVP_MAX_IV_LENGTH: i32 = 16;
426pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
427pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
428pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
429pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
430pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
431pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
432pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
433pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
434pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
435pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
436pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
437pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
438pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
439pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
440pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
441pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
442pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
443pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
444pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
445pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
446pub const CIPHER_R_TOO_LARGE: i32 = 117;
447pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
448pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
449pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
450pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
451pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
452pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
453pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
454pub const CIPHER_R_INVALID_NONCE: i32 = 125;
455pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
456pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
457pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
458pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
459pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
460pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
461pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
462pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
463pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
464pub const X25519_SHARED_KEY_LEN: i32 = 32;
465pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
466pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
467pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
468pub const ED25519_SIGNATURE_LEN: i32 = 64;
469pub const ED25519_SEED_LEN: i32 = 32;
470pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
471pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
472pub const EVP_MAX_MD_SIZE: i32 = 64;
473pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
474pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
475pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
476pub const EVP_MD_FLAG_XOF: i32 = 4;
477pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
478pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
479pub const DIGEST_R_DECODE_ERROR: i32 = 101;
480pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
481pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
482pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
483pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
484pub const EC_PKEY_NO_PUBKEY: i32 = 2;
485pub const ECDSA_FLAG_OPAQUE: i32 = 1;
486pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
487pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
488pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
489pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
490pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
491pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
492pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
493pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
494pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
495pub const EC_R_INVALID_ENCODING: i32 = 109;
496pub const EC_R_INVALID_FIELD: i32 = 110;
497pub const EC_R_INVALID_FORM: i32 = 111;
498pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
499pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
500pub const EC_R_MISSING_PARAMETERS: i32 = 114;
501pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
502pub const EC_R_NON_NAMED_CURVE: i32 = 116;
503pub const EC_R_NOT_INITIALIZED: i32 = 117;
504pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
505pub const EC_R_POINT_AT_INFINITY: i32 = 119;
506pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
507pub const EC_R_SLOT_FULL: i32 = 121;
508pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
509pub const EC_R_UNKNOWN_GROUP: i32 = 123;
510pub const EC_R_UNKNOWN_ORDER: i32 = 124;
511pub const EC_R_WRONG_ORDER: i32 = 125;
512pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
513pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
514pub const EC_R_DECODE_ERROR: i32 = 128;
515pub const EC_R_ENCODE_ERROR: i32 = 129;
516pub const EC_R_GROUP_MISMATCH: i32 = 130;
517pub const EC_R_INVALID_COFACTOR: i32 = 131;
518pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
519pub const EC_R_INVALID_SCALAR: i32 = 133;
520pub const ECDH_R_KDF_FAILED: i32 = 100;
521pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
522pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
523pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
524pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
525pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
526pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
527pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
528pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
529pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
530pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
531pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
532pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
533pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
534pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
535pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
536pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
537pub const SN_undef: &[u8; 6] = b"UNDEF\0";
538pub const LN_undef: &[u8; 10] = b"undefined\0";
539pub const NID_undef: i32 = 0;
540pub const OBJ_undef: i32 = 0;
541pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
542pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
543pub const NID_rsadsi: i32 = 1;
544pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
545pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
546pub const NID_pkcs: i32 = 2;
547pub const SN_md2: &[u8; 4] = b"MD2\0";
548pub const LN_md2: &[u8; 4] = b"md2\0";
549pub const NID_md2: i32 = 3;
550pub const SN_md5: &[u8; 4] = b"MD5\0";
551pub const LN_md5: &[u8; 4] = b"md5\0";
552pub const NID_md5: i32 = 4;
553pub const SN_rc4: &[u8; 4] = b"RC4\0";
554pub const LN_rc4: &[u8; 4] = b"rc4\0";
555pub const NID_rc4: i32 = 5;
556pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
557pub const NID_rsaEncryption: i32 = 6;
558pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
559pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
560pub const NID_md2WithRSAEncryption: i32 = 7;
561pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
562pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
563pub const NID_md5WithRSAEncryption: i32 = 8;
564pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
565pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
566pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
567pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
568pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
569pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
570pub const SN_X500: &[u8; 5] = b"X500\0";
571pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
572pub const NID_X500: i32 = 11;
573pub const SN_X509: &[u8; 5] = b"X509\0";
574pub const NID_X509: i32 = 12;
575pub const SN_commonName: &[u8; 3] = b"CN\0";
576pub const LN_commonName: &[u8; 11] = b"commonName\0";
577pub const NID_commonName: i32 = 13;
578pub const SN_countryName: &[u8; 2] = b"C\0";
579pub const LN_countryName: &[u8; 12] = b"countryName\0";
580pub const NID_countryName: i32 = 14;
581pub const SN_localityName: &[u8; 2] = b"L\0";
582pub const LN_localityName: &[u8; 13] = b"localityName\0";
583pub const NID_localityName: i32 = 15;
584pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
585pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
586pub const NID_stateOrProvinceName: i32 = 16;
587pub const SN_organizationName: &[u8; 2] = b"O\0";
588pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
589pub const NID_organizationName: i32 = 17;
590pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
591pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
592pub const NID_organizationalUnitName: i32 = 18;
593pub const SN_rsa: &[u8; 4] = b"RSA\0";
594pub const LN_rsa: &[u8; 4] = b"rsa\0";
595pub const NID_rsa: i32 = 19;
596pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
597pub const NID_pkcs7: i32 = 20;
598pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
599pub const NID_pkcs7_data: i32 = 21;
600pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
601pub const NID_pkcs7_signed: i32 = 22;
602pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
603pub const NID_pkcs7_enveloped: i32 = 23;
604pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
605pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
606pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
607pub const NID_pkcs7_digest: i32 = 25;
608pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
609pub const NID_pkcs7_encrypted: i32 = 26;
610pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
611pub const NID_pkcs3: i32 = 27;
612pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
613pub const NID_dhKeyAgreement: i32 = 28;
614pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
615pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
616pub const NID_des_ecb: i32 = 29;
617pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
618pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
619pub const NID_des_cfb64: i32 = 30;
620pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
621pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
622pub const NID_des_cbc: i32 = 31;
623pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
624pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
625pub const NID_des_ede_ecb: i32 = 32;
626pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
627pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
628pub const NID_des_ede3_ecb: i32 = 33;
629pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
630pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
631pub const NID_idea_cbc: i32 = 34;
632pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
633pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
634pub const NID_idea_cfb64: i32 = 35;
635pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
636pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
637pub const NID_idea_ecb: i32 = 36;
638pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
639pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
640pub const NID_rc2_cbc: i32 = 37;
641pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
642pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
643pub const NID_rc2_ecb: i32 = 38;
644pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
645pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
646pub const NID_rc2_cfb64: i32 = 39;
647pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
648pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
649pub const NID_rc2_ofb64: i32 = 40;
650pub const SN_sha: &[u8; 4] = b"SHA\0";
651pub const LN_sha: &[u8; 4] = b"sha\0";
652pub const NID_sha: i32 = 41;
653pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
654pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
655pub const NID_shaWithRSAEncryption: i32 = 42;
656pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
657pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
658pub const NID_des_ede_cbc: i32 = 43;
659pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
660pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
661pub const NID_des_ede3_cbc: i32 = 44;
662pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
663pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
664pub const NID_des_ofb64: i32 = 45;
665pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
666pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
667pub const NID_idea_ofb64: i32 = 46;
668pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
669pub const NID_pkcs9: i32 = 47;
670pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
671pub const NID_pkcs9_emailAddress: i32 = 48;
672pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
673pub const NID_pkcs9_unstructuredName: i32 = 49;
674pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
675pub const NID_pkcs9_contentType: i32 = 50;
676pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
677pub const NID_pkcs9_messageDigest: i32 = 51;
678pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
679pub const NID_pkcs9_signingTime: i32 = 52;
680pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
681pub const NID_pkcs9_countersignature: i32 = 53;
682pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
683pub const NID_pkcs9_challengePassword: i32 = 54;
684pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
685pub const NID_pkcs9_unstructuredAddress: i32 = 55;
686pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
687pub const NID_pkcs9_extCertAttributes: i32 = 56;
688pub const SN_netscape: &[u8; 9] = b"Netscape\0";
689pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
690pub const NID_netscape: i32 = 57;
691pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
692pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
693pub const NID_netscape_cert_extension: i32 = 58;
694pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
695pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
696pub const NID_netscape_data_type: i32 = 59;
697pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
698pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
699pub const NID_des_ede_cfb64: i32 = 60;
700pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
701pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
702pub const NID_des_ede3_cfb64: i32 = 61;
703pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
704pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
705pub const NID_des_ede_ofb64: i32 = 62;
706pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
707pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
708pub const NID_des_ede3_ofb64: i32 = 63;
709pub const SN_sha1: &[u8; 5] = b"SHA1\0";
710pub const LN_sha1: &[u8; 5] = b"sha1\0";
711pub const NID_sha1: i32 = 64;
712pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
713pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
714pub const NID_sha1WithRSAEncryption: i32 = 65;
715pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
716pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
717pub const NID_dsaWithSHA: i32 = 66;
718pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
719pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
720pub const NID_dsa_2: i32 = 67;
721pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
722pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
723pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
724pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
725pub const NID_id_pbkdf2: i32 = 69;
726pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
727pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
728pub const NID_dsaWithSHA1_2: i32 = 70;
729pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
730pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
731pub const NID_netscape_cert_type: i32 = 71;
732pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
733pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
734pub const NID_netscape_base_url: i32 = 72;
735pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
736pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
737pub const NID_netscape_revocation_url: i32 = 73;
738pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
739pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
740pub const NID_netscape_ca_revocation_url: i32 = 74;
741pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
742pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
743pub const NID_netscape_renewal_url: i32 = 75;
744pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
745pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
746pub const NID_netscape_ca_policy_url: i32 = 76;
747pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
748pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
749pub const NID_netscape_ssl_server_name: i32 = 77;
750pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
751pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
752pub const NID_netscape_comment: i32 = 78;
753pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
754pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
755pub const NID_netscape_cert_sequence: i32 = 79;
756pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
757pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
758pub const NID_desx_cbc: i32 = 80;
759pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
760pub const NID_id_ce: i32 = 81;
761pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
762pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
763pub const NID_subject_key_identifier: i32 = 82;
764pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
765pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
766pub const NID_key_usage: i32 = 83;
767pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
768pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
769pub const NID_private_key_usage_period: i32 = 84;
770pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
771pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
772pub const NID_subject_alt_name: i32 = 85;
773pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
774pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
775pub const NID_issuer_alt_name: i32 = 86;
776pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
777pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
778pub const NID_basic_constraints: i32 = 87;
779pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
780pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
781pub const NID_crl_number: i32 = 88;
782pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
783pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
784pub const NID_certificate_policies: i32 = 89;
785pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
786pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
787pub const NID_authority_key_identifier: i32 = 90;
788pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
789pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
790pub const NID_bf_cbc: i32 = 91;
791pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
792pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
793pub const NID_bf_ecb: i32 = 92;
794pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
795pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
796pub const NID_bf_cfb64: i32 = 93;
797pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
798pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
799pub const NID_bf_ofb64: i32 = 94;
800pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
801pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
802pub const NID_mdc2: i32 = 95;
803pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
804pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
805pub const NID_mdc2WithRSA: i32 = 96;
806pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
807pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
808pub const NID_rc4_40: i32 = 97;
809pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
810pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
811pub const NID_rc2_40_cbc: i32 = 98;
812pub const SN_givenName: &[u8; 3] = b"GN\0";
813pub const LN_givenName: &[u8; 10] = b"givenName\0";
814pub const NID_givenName: i32 = 99;
815pub const SN_surname: &[u8; 3] = b"SN\0";
816pub const LN_surname: &[u8; 8] = b"surname\0";
817pub const NID_surname: i32 = 100;
818pub const SN_initials: &[u8; 9] = b"initials\0";
819pub const LN_initials: &[u8; 9] = b"initials\0";
820pub const NID_initials: i32 = 101;
821pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
822pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
823pub const NID_crl_distribution_points: i32 = 103;
824pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
825pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
826pub const NID_md5WithRSA: i32 = 104;
827pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
828pub const NID_serialNumber: i32 = 105;
829pub const SN_title: &[u8; 6] = b"title\0";
830pub const LN_title: &[u8; 6] = b"title\0";
831pub const NID_title: i32 = 106;
832pub const LN_description: &[u8; 12] = b"description\0";
833pub const NID_description: i32 = 107;
834pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
835pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
836pub const NID_cast5_cbc: i32 = 108;
837pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
838pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
839pub const NID_cast5_ecb: i32 = 109;
840pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
841pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
842pub const NID_cast5_cfb64: i32 = 110;
843pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
844pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
845pub const NID_cast5_ofb64: i32 = 111;
846pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
847pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
848pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
849pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
850pub const NID_dsaWithSHA1: i32 = 113;
851pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
852pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
853pub const NID_md5_sha1: i32 = 114;
854pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
855pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
856pub const NID_sha1WithRSA: i32 = 115;
857pub const SN_dsa: &[u8; 4] = b"DSA\0";
858pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
859pub const NID_dsa: i32 = 116;
860pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
861pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
862pub const NID_ripemd160: i32 = 117;
863pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
864pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
865pub const NID_ripemd160WithRSA: i32 = 119;
866pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
867pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
868pub const NID_rc5_cbc: i32 = 120;
869pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
870pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
871pub const NID_rc5_ecb: i32 = 121;
872pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
873pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
874pub const NID_rc5_cfb64: i32 = 122;
875pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
876pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
877pub const NID_rc5_ofb64: i32 = 123;
878pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
879pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
880pub const NID_zlib_compression: i32 = 125;
881pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
882pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
883pub const NID_ext_key_usage: i32 = 126;
884pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
885pub const NID_id_pkix: i32 = 127;
886pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
887pub const NID_id_kp: i32 = 128;
888pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
889pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
890pub const NID_server_auth: i32 = 129;
891pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
892pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
893pub const NID_client_auth: i32 = 130;
894pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
895pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
896pub const NID_code_sign: i32 = 131;
897pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
898pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
899pub const NID_email_protect: i32 = 132;
900pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
901pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
902pub const NID_time_stamp: i32 = 133;
903pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
904pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
905pub const NID_ms_code_ind: i32 = 134;
906pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
907pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
908pub const NID_ms_code_com: i32 = 135;
909pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
910pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
911pub const NID_ms_ctl_sign: i32 = 136;
912pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
913pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
914pub const NID_ms_sgc: i32 = 137;
915pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
916pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
917pub const NID_ms_efs: i32 = 138;
918pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
919pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
920pub const NID_ns_sgc: i32 = 139;
921pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
922pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
923pub const NID_delta_crl: i32 = 140;
924pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
925pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
926pub const NID_crl_reason: i32 = 141;
927pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
928pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
929pub const NID_invalidity_date: i32 = 142;
930pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
931pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
932pub const NID_sxnet: i32 = 143;
933pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
934pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
935pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
936pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
937pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
938pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
939pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
940pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
941pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
942pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
943pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
944pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
945pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
946pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
947pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
948pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
949pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
950pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
951pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
952pub const NID_keyBag: i32 = 150;
953pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
954pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
955pub const LN_certBag: &[u8; 8] = b"certBag\0";
956pub const NID_certBag: i32 = 152;
957pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
958pub const NID_crlBag: i32 = 153;
959pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
960pub const NID_secretBag: i32 = 154;
961pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
962pub const NID_safeContentsBag: i32 = 155;
963pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
964pub const NID_friendlyName: i32 = 156;
965pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
966pub const NID_localKeyID: i32 = 157;
967pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
968pub const NID_x509Certificate: i32 = 158;
969pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
970pub const NID_sdsiCertificate: i32 = 159;
971pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
972pub const NID_x509Crl: i32 = 160;
973pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
974pub const NID_pbes2: i32 = 161;
975pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
976pub const NID_pbmac1: i32 = 162;
977pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
978pub const NID_hmacWithSHA1: i32 = 163;
979pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
980pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
981pub const NID_id_qt_cps: i32 = 164;
982pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
983pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
984pub const NID_id_qt_unotice: i32 = 165;
985pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
986pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
987pub const NID_rc2_64_cbc: i32 = 166;
988pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
989pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
990pub const NID_SMIMECapabilities: i32 = 167;
991pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
992pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
993pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
994pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
995pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
996pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
997pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
998pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
999pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1000pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1001pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1002pub const NID_ms_ext_req: i32 = 171;
1003pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1004pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1005pub const NID_ext_req: i32 = 172;
1006pub const SN_name: &[u8; 5] = b"name\0";
1007pub const LN_name: &[u8; 5] = b"name\0";
1008pub const NID_name: i32 = 173;
1009pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1010pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1011pub const NID_dnQualifier: i32 = 174;
1012pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1013pub const NID_id_pe: i32 = 175;
1014pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1015pub const NID_id_ad: i32 = 176;
1016pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1017pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1018pub const NID_info_access: i32 = 177;
1019pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1020pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1021pub const NID_ad_OCSP: i32 = 178;
1022pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1023pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1024pub const NID_ad_ca_issuers: i32 = 179;
1025pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1026pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1027pub const NID_OCSP_sign: i32 = 180;
1028pub const SN_iso: &[u8; 4] = b"ISO\0";
1029pub const LN_iso: &[u8; 4] = b"iso\0";
1030pub const NID_iso: i32 = 181;
1031pub const OBJ_iso: i32 = 1;
1032pub const SN_member_body: &[u8; 12] = b"member-body\0";
1033pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1034pub const NID_member_body: i32 = 182;
1035pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1036pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1037pub const NID_ISO_US: i32 = 183;
1038pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1039pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1040pub const NID_X9_57: i32 = 184;
1041pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1042pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1043pub const NID_X9cm: i32 = 185;
1044pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1045pub const NID_pkcs1: i32 = 186;
1046pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1047pub const NID_pkcs5: i32 = 187;
1048pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1049pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1050pub const NID_SMIME: i32 = 188;
1051pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1052pub const NID_id_smime_mod: i32 = 189;
1053pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1054pub const NID_id_smime_ct: i32 = 190;
1055pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1056pub const NID_id_smime_aa: i32 = 191;
1057pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1058pub const NID_id_smime_alg: i32 = 192;
1059pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1060pub const NID_id_smime_cd: i32 = 193;
1061pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1062pub const NID_id_smime_spq: i32 = 194;
1063pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1064pub const NID_id_smime_cti: i32 = 195;
1065pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1066pub const NID_id_smime_mod_cms: i32 = 196;
1067pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1068pub const NID_id_smime_mod_ess: i32 = 197;
1069pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1070pub const NID_id_smime_mod_oid: i32 = 198;
1071pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1072pub const NID_id_smime_mod_msg_v3: i32 = 199;
1073pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1074pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1075pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1076pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1077pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1078pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1079pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1080pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1081pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1082pub const NID_id_smime_ct_receipt: i32 = 204;
1083pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1084pub const NID_id_smime_ct_authData: i32 = 205;
1085pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1086pub const NID_id_smime_ct_publishCert: i32 = 206;
1087pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1088pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1089pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1090pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1091pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1092pub const NID_id_smime_ct_contentInfo: i32 = 209;
1093pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1094pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1095pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1096pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1097pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1098pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1099pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1100pub const NID_id_smime_aa_securityLabel: i32 = 213;
1101pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1102pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1103pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1104pub const NID_id_smime_aa_contentHint: i32 = 215;
1105pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1106pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1107pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1108pub const NID_id_smime_aa_encapContentType: i32 = 217;
1109pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1110pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1111pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1112pub const NID_id_smime_aa_macValue: i32 = 219;
1113pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1114pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1115pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1116pub const NID_id_smime_aa_contentReference: i32 = 221;
1117pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1118pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1119pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1120pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1121pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1122pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1123pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1124pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1125pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1126pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1127pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1128pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1129pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1130pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1131pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1132pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1133pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1134pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1135pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1136pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1137pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1138pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1139pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1140pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1141pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1142pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1143pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1144pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1145pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1146pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1147pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1148pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1149pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1150pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1151pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1152pub const NID_id_smime_aa_signatureType: i32 = 239;
1153pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1154pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1155pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1156pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1157pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1158pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1159pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1160pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1161pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1162pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1163pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1164pub const NID_id_smime_alg_ESDH: i32 = 245;
1165pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1166pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1167pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1168pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1169pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1170pub const NID_id_smime_cd_ldap: i32 = 248;
1171pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1172pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1173pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1174pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1175pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1176pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1177pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1178pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1179pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1180pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1181pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1182pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1183pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1184pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1185pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1186pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1187pub const SN_md4: &[u8; 4] = b"MD4\0";
1188pub const LN_md4: &[u8; 4] = b"md4\0";
1189pub const NID_md4: i32 = 257;
1190pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1191pub const NID_id_pkix_mod: i32 = 258;
1192pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1193pub const NID_id_qt: i32 = 259;
1194pub const SN_id_it: &[u8; 6] = b"id-it\0";
1195pub const NID_id_it: i32 = 260;
1196pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1197pub const NID_id_pkip: i32 = 261;
1198pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1199pub const NID_id_alg: i32 = 262;
1200pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1201pub const NID_id_cmc: i32 = 263;
1202pub const SN_id_on: &[u8; 6] = b"id-on\0";
1203pub const NID_id_on: i32 = 264;
1204pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1205pub const NID_id_pda: i32 = 265;
1206pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1207pub const NID_id_aca: i32 = 266;
1208pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1209pub const NID_id_qcs: i32 = 267;
1210pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1211pub const NID_id_cct: i32 = 268;
1212pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1213pub const NID_id_pkix1_explicit_88: i32 = 269;
1214pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1215pub const NID_id_pkix1_implicit_88: i32 = 270;
1216pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1217pub const NID_id_pkix1_explicit_93: i32 = 271;
1218pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1219pub const NID_id_pkix1_implicit_93: i32 = 272;
1220pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1221pub const NID_id_mod_crmf: i32 = 273;
1222pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1223pub const NID_id_mod_cmc: i32 = 274;
1224pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1225pub const NID_id_mod_kea_profile_88: i32 = 275;
1226pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1227pub const NID_id_mod_kea_profile_93: i32 = 276;
1228pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1229pub const NID_id_mod_cmp: i32 = 277;
1230pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1231pub const NID_id_mod_qualified_cert_88: i32 = 278;
1232pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1233pub const NID_id_mod_qualified_cert_93: i32 = 279;
1234pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1235pub const NID_id_mod_attribute_cert: i32 = 280;
1236pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1237pub const NID_id_mod_timestamp_protocol: i32 = 281;
1238pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1239pub const NID_id_mod_ocsp: i32 = 282;
1240pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1241pub const NID_id_mod_dvcs: i32 = 283;
1242pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1243pub const NID_id_mod_cmp2000: i32 = 284;
1244pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1245pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1246pub const NID_biometricInfo: i32 = 285;
1247pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1248pub const NID_qcStatements: i32 = 286;
1249pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1250pub const NID_ac_auditEntity: i32 = 287;
1251pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1252pub const NID_ac_targeting: i32 = 288;
1253pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1254pub const NID_aaControls: i32 = 289;
1255pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1256pub const NID_sbgp_ipAddrBlock: i32 = 290;
1257pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1258pub const NID_sbgp_autonomousSysNum: i32 = 291;
1259pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1260pub const NID_sbgp_routerIdentifier: i32 = 292;
1261pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1262pub const NID_textNotice: i32 = 293;
1263pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1264pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1265pub const NID_ipsecEndSystem: i32 = 294;
1266pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1267pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1268pub const NID_ipsecTunnel: i32 = 295;
1269pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1270pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1271pub const NID_ipsecUser: i32 = 296;
1272pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1273pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1274pub const NID_dvcs: i32 = 297;
1275pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1276pub const NID_id_it_caProtEncCert: i32 = 298;
1277pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1278pub const NID_id_it_signKeyPairTypes: i32 = 299;
1279pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1280pub const NID_id_it_encKeyPairTypes: i32 = 300;
1281pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1282pub const NID_id_it_preferredSymmAlg: i32 = 301;
1283pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1284pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1285pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1286pub const NID_id_it_currentCRL: i32 = 303;
1287pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1288pub const NID_id_it_unsupportedOIDs: i32 = 304;
1289pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1290pub const NID_id_it_subscriptionRequest: i32 = 305;
1291pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1292pub const NID_id_it_subscriptionResponse: i32 = 306;
1293pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1294pub const NID_id_it_keyPairParamReq: i32 = 307;
1295pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1296pub const NID_id_it_keyPairParamRep: i32 = 308;
1297pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1298pub const NID_id_it_revPassphrase: i32 = 309;
1299pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1300pub const NID_id_it_implicitConfirm: i32 = 310;
1301pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1302pub const NID_id_it_confirmWaitTime: i32 = 311;
1303pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1304pub const NID_id_it_origPKIMessage: i32 = 312;
1305pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1306pub const NID_id_regCtrl: i32 = 313;
1307pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1308pub const NID_id_regInfo: i32 = 314;
1309pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1310pub const NID_id_regCtrl_regToken: i32 = 315;
1311pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1312pub const NID_id_regCtrl_authenticator: i32 = 316;
1313pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1314pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1315pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1316pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1317pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1318pub const NID_id_regCtrl_oldCertID: i32 = 319;
1319pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1320pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1321pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1322pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1323pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1324pub const NID_id_regInfo_certReq: i32 = 322;
1325pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1326pub const NID_id_alg_des40: i32 = 323;
1327pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1328pub const NID_id_alg_noSignature: i32 = 324;
1329pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1330pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1331pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1332pub const NID_id_alg_dh_pop: i32 = 326;
1333pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1334pub const NID_id_cmc_statusInfo: i32 = 327;
1335pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1336pub const NID_id_cmc_identification: i32 = 328;
1337pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1338pub const NID_id_cmc_identityProof: i32 = 329;
1339pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1340pub const NID_id_cmc_dataReturn: i32 = 330;
1341pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1342pub const NID_id_cmc_transactionId: i32 = 331;
1343pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1344pub const NID_id_cmc_senderNonce: i32 = 332;
1345pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1346pub const NID_id_cmc_recipientNonce: i32 = 333;
1347pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1348pub const NID_id_cmc_addExtensions: i32 = 334;
1349pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1350pub const NID_id_cmc_encryptedPOP: i32 = 335;
1351pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1352pub const NID_id_cmc_decryptedPOP: i32 = 336;
1353pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1354pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1355pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1356pub const NID_id_cmc_getCert: i32 = 338;
1357pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1358pub const NID_id_cmc_getCRL: i32 = 339;
1359pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1360pub const NID_id_cmc_revokeRequest: i32 = 340;
1361pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1362pub const NID_id_cmc_regInfo: i32 = 341;
1363pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1364pub const NID_id_cmc_responseInfo: i32 = 342;
1365pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1366pub const NID_id_cmc_queryPending: i32 = 343;
1367pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1368pub const NID_id_cmc_popLinkRandom: i32 = 344;
1369pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1370pub const NID_id_cmc_popLinkWitness: i32 = 345;
1371pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1372pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1373pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1374pub const NID_id_on_personalData: i32 = 347;
1375pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1376pub const NID_id_pda_dateOfBirth: i32 = 348;
1377pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1378pub const NID_id_pda_placeOfBirth: i32 = 349;
1379pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1380pub const NID_id_pda_gender: i32 = 351;
1381pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1382pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1383pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1384pub const NID_id_pda_countryOfResidence: i32 = 353;
1385pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1386pub const NID_id_aca_authenticationInfo: i32 = 354;
1387pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1388pub const NID_id_aca_accessIdentity: i32 = 355;
1389pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1390pub const NID_id_aca_chargingIdentity: i32 = 356;
1391pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1392pub const NID_id_aca_group: i32 = 357;
1393pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1394pub const NID_id_aca_role: i32 = 358;
1395pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1396pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1397pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1398pub const NID_id_cct_crs: i32 = 360;
1399pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1400pub const NID_id_cct_PKIData: i32 = 361;
1401pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1402pub const NID_id_cct_PKIResponse: i32 = 362;
1403pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1404pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1405pub const NID_ad_timeStamping: i32 = 363;
1406pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1407pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1408pub const NID_ad_dvcs: i32 = 364;
1409pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1410pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1411pub const NID_id_pkix_OCSP_basic: i32 = 365;
1412pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1413pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1414pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1415pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1416pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1417pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1418pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1419pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1420pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1421pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1422pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1423pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1424pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1425pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1426pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1427pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1428pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1429pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1430pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1431pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1432pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1433pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1434pub const NID_id_pkix_OCSP_valid: i32 = 373;
1435pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1436pub const NID_id_pkix_OCSP_path: i32 = 374;
1437pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1438pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1439pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1440pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1441pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1442pub const NID_algorithm: i32 = 376;
1443pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1444pub const NID_rsaSignature: i32 = 377;
1445pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1446pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1447pub const NID_X500algorithms: i32 = 378;
1448pub const SN_org: &[u8; 4] = b"ORG\0";
1449pub const LN_org: &[u8; 4] = b"org\0";
1450pub const NID_org: i32 = 379;
1451pub const SN_dod: &[u8; 4] = b"DOD\0";
1452pub const LN_dod: &[u8; 4] = b"dod\0";
1453pub const NID_dod: i32 = 380;
1454pub const SN_iana: &[u8; 5] = b"IANA\0";
1455pub const LN_iana: &[u8; 5] = b"iana\0";
1456pub const NID_iana: i32 = 381;
1457pub const SN_Directory: &[u8; 10] = b"directory\0";
1458pub const LN_Directory: &[u8; 10] = b"Directory\0";
1459pub const NID_Directory: i32 = 382;
1460pub const SN_Management: &[u8; 5] = b"mgmt\0";
1461pub const LN_Management: &[u8; 11] = b"Management\0";
1462pub const NID_Management: i32 = 383;
1463pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1464pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1465pub const NID_Experimental: i32 = 384;
1466pub const SN_Private: &[u8; 8] = b"private\0";
1467pub const LN_Private: &[u8; 8] = b"Private\0";
1468pub const NID_Private: i32 = 385;
1469pub const SN_Security: &[u8; 9] = b"security\0";
1470pub const LN_Security: &[u8; 9] = b"Security\0";
1471pub const NID_Security: i32 = 386;
1472pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1473pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1474pub const NID_SNMPv2: i32 = 387;
1475pub const LN_Mail: &[u8; 5] = b"Mail\0";
1476pub const NID_Mail: i32 = 388;
1477pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1478pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1479pub const NID_Enterprises: i32 = 389;
1480pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1481pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1482pub const NID_dcObject: i32 = 390;
1483pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1484pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1485pub const NID_domainComponent: i32 = 391;
1486pub const SN_Domain: &[u8; 7] = b"domain\0";
1487pub const LN_Domain: &[u8; 7] = b"Domain\0";
1488pub const NID_Domain: i32 = 392;
1489pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1490pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1491pub const NID_selected_attribute_types: i32 = 394;
1492pub const SN_clearance: &[u8; 10] = b"clearance\0";
1493pub const NID_clearance: i32 = 395;
1494pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1495pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1496pub const NID_md4WithRSAEncryption: i32 = 396;
1497pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1498pub const NID_ac_proxying: i32 = 397;
1499pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1500pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1501pub const NID_sinfo_access: i32 = 398;
1502pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1503pub const NID_id_aca_encAttrs: i32 = 399;
1504pub const SN_role: &[u8; 5] = b"role\0";
1505pub const LN_role: &[u8; 5] = b"role\0";
1506pub const NID_role: i32 = 400;
1507pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1508pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1509pub const NID_policy_constraints: i32 = 401;
1510pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1511pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1512pub const NID_target_information: i32 = 402;
1513pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1514pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1515pub const NID_no_rev_avail: i32 = 403;
1516pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1517pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1518pub const NID_ansi_X9_62: i32 = 405;
1519pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1520pub const NID_X9_62_prime_field: i32 = 406;
1521pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1522pub const NID_X9_62_characteristic_two_field: i32 = 407;
1523pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1524pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1525pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1526pub const NID_X9_62_prime192v1: i32 = 409;
1527pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1528pub const NID_X9_62_prime192v2: i32 = 410;
1529pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1530pub const NID_X9_62_prime192v3: i32 = 411;
1531pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1532pub const NID_X9_62_prime239v1: i32 = 412;
1533pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1534pub const NID_X9_62_prime239v2: i32 = 413;
1535pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1536pub const NID_X9_62_prime239v3: i32 = 414;
1537pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1538pub const NID_X9_62_prime256v1: i32 = 415;
1539pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1540pub const NID_ecdsa_with_SHA1: i32 = 416;
1541pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1542pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1543pub const NID_ms_csp_name: i32 = 417;
1544pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1545pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1546pub const NID_aes_128_ecb: i32 = 418;
1547pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1548pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1549pub const NID_aes_128_cbc: i32 = 419;
1550pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1551pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1552pub const NID_aes_128_ofb128: i32 = 420;
1553pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1554pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1555pub const NID_aes_128_cfb128: i32 = 421;
1556pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1557pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1558pub const NID_aes_192_ecb: i32 = 422;
1559pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1560pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1561pub const NID_aes_192_cbc: i32 = 423;
1562pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1563pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1564pub const NID_aes_192_ofb128: i32 = 424;
1565pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1566pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1567pub const NID_aes_192_cfb128: i32 = 425;
1568pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1569pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1570pub const NID_aes_256_ecb: i32 = 426;
1571pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1572pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1573pub const NID_aes_256_cbc: i32 = 427;
1574pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1575pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1576pub const NID_aes_256_ofb128: i32 = 428;
1577pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1578pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1579pub const NID_aes_256_cfb128: i32 = 429;
1580pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1581pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1582pub const NID_hold_instruction_code: i32 = 430;
1583pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1584pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1585pub const NID_hold_instruction_none: i32 = 431;
1586pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1587pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1588pub const NID_hold_instruction_call_issuer: i32 = 432;
1589pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1590pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1591pub const NID_hold_instruction_reject: i32 = 433;
1592pub const SN_data: &[u8; 5] = b"data\0";
1593pub const NID_data: i32 = 434;
1594pub const SN_pss: &[u8; 4] = b"pss\0";
1595pub const NID_pss: i32 = 435;
1596pub const SN_ucl: &[u8; 4] = b"ucl\0";
1597pub const NID_ucl: i32 = 436;
1598pub const SN_pilot: &[u8; 6] = b"pilot\0";
1599pub const NID_pilot: i32 = 437;
1600pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1601pub const NID_pilotAttributeType: i32 = 438;
1602pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
1603pub const NID_pilotAttributeSyntax: i32 = 439;
1604pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
1605pub const NID_pilotObjectClass: i32 = 440;
1606pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
1607pub const NID_pilotGroups: i32 = 441;
1608pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
1609pub const NID_iA5StringSyntax: i32 = 442;
1610pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
1611pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
1612pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
1613pub const NID_pilotObject: i32 = 444;
1614pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
1615pub const NID_pilotPerson: i32 = 445;
1616pub const SN_account: &[u8; 8] = b"account\0";
1617pub const NID_account: i32 = 446;
1618pub const SN_document: &[u8; 9] = b"document\0";
1619pub const NID_document: i32 = 447;
1620pub const SN_room: &[u8; 5] = b"room\0";
1621pub const NID_room: i32 = 448;
1622pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
1623pub const NID_documentSeries: i32 = 449;
1624pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
1625pub const NID_rFC822localPart: i32 = 450;
1626pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
1627pub const NID_dNSDomain: i32 = 451;
1628pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
1629pub const NID_domainRelatedObject: i32 = 452;
1630pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
1631pub const NID_friendlyCountry: i32 = 453;
1632pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
1633pub const NID_simpleSecurityObject: i32 = 454;
1634pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
1635pub const NID_pilotOrganization: i32 = 455;
1636pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
1637pub const NID_pilotDSA: i32 = 456;
1638pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
1639pub const NID_qualityLabelledData: i32 = 457;
1640pub const SN_userId: &[u8; 4] = b"UID\0";
1641pub const LN_userId: &[u8; 7] = b"userId\0";
1642pub const NID_userId: i32 = 458;
1643pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
1644pub const NID_textEncodedORAddress: i32 = 459;
1645pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
1646pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
1647pub const NID_rfc822Mailbox: i32 = 460;
1648pub const SN_info: &[u8; 5] = b"info\0";
1649pub const NID_info: i32 = 461;
1650pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
1651pub const NID_favouriteDrink: i32 = 462;
1652pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
1653pub const NID_roomNumber: i32 = 463;
1654pub const SN_photo: &[u8; 6] = b"photo\0";
1655pub const NID_photo: i32 = 464;
1656pub const LN_userClass: &[u8; 10] = b"userClass\0";
1657pub const NID_userClass: i32 = 465;
1658pub const SN_host: &[u8; 5] = b"host\0";
1659pub const NID_host: i32 = 466;
1660pub const SN_manager: &[u8; 8] = b"manager\0";
1661pub const NID_manager: i32 = 467;
1662pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
1663pub const NID_documentIdentifier: i32 = 468;
1664pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
1665pub const NID_documentTitle: i32 = 469;
1666pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
1667pub const NID_documentVersion: i32 = 470;
1668pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
1669pub const NID_documentAuthor: i32 = 471;
1670pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
1671pub const NID_documentLocation: i32 = 472;
1672pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
1673pub const NID_homeTelephoneNumber: i32 = 473;
1674pub const SN_secretary: &[u8; 10] = b"secretary\0";
1675pub const NID_secretary: i32 = 474;
1676pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
1677pub const NID_otherMailbox: i32 = 475;
1678pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
1679pub const NID_lastModifiedTime: i32 = 476;
1680pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
1681pub const NID_lastModifiedBy: i32 = 477;
1682pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
1683pub const NID_aRecord: i32 = 478;
1684pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
1685pub const NID_pilotAttributeType27: i32 = 479;
1686pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
1687pub const NID_mXRecord: i32 = 480;
1688pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
1689pub const NID_nSRecord: i32 = 481;
1690pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
1691pub const NID_sOARecord: i32 = 482;
1692pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
1693pub const NID_cNAMERecord: i32 = 483;
1694pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
1695pub const NID_associatedDomain: i32 = 484;
1696pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
1697pub const NID_associatedName: i32 = 485;
1698pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
1699pub const NID_homePostalAddress: i32 = 486;
1700pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
1701pub const NID_personalTitle: i32 = 487;
1702pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
1703pub const NID_mobileTelephoneNumber: i32 = 488;
1704pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
1705pub const NID_pagerTelephoneNumber: i32 = 489;
1706pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
1707pub const NID_friendlyCountryName: i32 = 490;
1708pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
1709pub const NID_organizationalStatus: i32 = 491;
1710pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
1711pub const NID_janetMailbox: i32 = 492;
1712pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
1713pub const NID_mailPreferenceOption: i32 = 493;
1714pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
1715pub const NID_buildingName: i32 = 494;
1716pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
1717pub const NID_dSAQuality: i32 = 495;
1718pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
1719pub const NID_singleLevelQuality: i32 = 496;
1720pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
1721pub const NID_subtreeMinimumQuality: i32 = 497;
1722pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
1723pub const NID_subtreeMaximumQuality: i32 = 498;
1724pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
1725pub const NID_personalSignature: i32 = 499;
1726pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
1727pub const NID_dITRedirect: i32 = 500;
1728pub const SN_audio: &[u8; 6] = b"audio\0";
1729pub const NID_audio: i32 = 501;
1730pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
1731pub const NID_documentPublisher: i32 = 502;
1732pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
1733pub const NID_x500UniqueIdentifier: i32 = 503;
1734pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
1735pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
1736pub const NID_mime_mhs: i32 = 504;
1737pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1738pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1739pub const NID_mime_mhs_headings: i32 = 505;
1740pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1741pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1742pub const NID_mime_mhs_bodies: i32 = 506;
1743pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1744pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1745pub const NID_id_hex_partial_message: i32 = 507;
1746pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1747pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1748pub const NID_id_hex_multipart_message: i32 = 508;
1749pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
1750pub const NID_generationQualifier: i32 = 509;
1751pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
1752pub const NID_pseudonym: i32 = 510;
1753pub const SN_id_set: &[u8; 7] = b"id-set\0";
1754pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
1755pub const NID_id_set: i32 = 512;
1756pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
1757pub const LN_set_ctype: &[u8; 14] = b"content types\0";
1758pub const NID_set_ctype: i32 = 513;
1759pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
1760pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
1761pub const NID_set_msgExt: i32 = 514;
1762pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
1763pub const NID_set_attr: i32 = 515;
1764pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
1765pub const NID_set_policy: i32 = 516;
1766pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
1767pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
1768pub const NID_set_certExt: i32 = 517;
1769pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
1770pub const NID_set_brand: i32 = 518;
1771pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
1772pub const NID_setct_PANData: i32 = 519;
1773pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
1774pub const NID_setct_PANToken: i32 = 520;
1775pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
1776pub const NID_setct_PANOnly: i32 = 521;
1777pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
1778pub const NID_setct_OIData: i32 = 522;
1779pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
1780pub const NID_setct_PI: i32 = 523;
1781pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
1782pub const NID_setct_PIData: i32 = 524;
1783pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
1784pub const NID_setct_PIDataUnsigned: i32 = 525;
1785pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
1786pub const NID_setct_HODInput: i32 = 526;
1787pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
1788pub const NID_setct_AuthResBaggage: i32 = 527;
1789pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
1790pub const NID_setct_AuthRevReqBaggage: i32 = 528;
1791pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
1792pub const NID_setct_AuthRevResBaggage: i32 = 529;
1793pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
1794pub const NID_setct_CapTokenSeq: i32 = 530;
1795pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
1796pub const NID_setct_PInitResData: i32 = 531;
1797pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
1798pub const NID_setct_PI_TBS: i32 = 532;
1799pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
1800pub const NID_setct_PResData: i32 = 533;
1801pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
1802pub const NID_setct_AuthReqTBS: i32 = 534;
1803pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
1804pub const NID_setct_AuthResTBS: i32 = 535;
1805pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
1806pub const NID_setct_AuthResTBSX: i32 = 536;
1807pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
1808pub const NID_setct_AuthTokenTBS: i32 = 537;
1809pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
1810pub const NID_setct_CapTokenData: i32 = 538;
1811pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
1812pub const NID_setct_CapTokenTBS: i32 = 539;
1813pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
1814pub const NID_setct_AcqCardCodeMsg: i32 = 540;
1815pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
1816pub const NID_setct_AuthRevReqTBS: i32 = 541;
1817pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
1818pub const NID_setct_AuthRevResData: i32 = 542;
1819pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
1820pub const NID_setct_AuthRevResTBS: i32 = 543;
1821pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
1822pub const NID_setct_CapReqTBS: i32 = 544;
1823pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
1824pub const NID_setct_CapReqTBSX: i32 = 545;
1825pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
1826pub const NID_setct_CapResData: i32 = 546;
1827pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
1828pub const NID_setct_CapRevReqTBS: i32 = 547;
1829pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
1830pub const NID_setct_CapRevReqTBSX: i32 = 548;
1831pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
1832pub const NID_setct_CapRevResData: i32 = 549;
1833pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
1834pub const NID_setct_CredReqTBS: i32 = 550;
1835pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
1836pub const NID_setct_CredReqTBSX: i32 = 551;
1837pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
1838pub const NID_setct_CredResData: i32 = 552;
1839pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
1840pub const NID_setct_CredRevReqTBS: i32 = 553;
1841pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
1842pub const NID_setct_CredRevReqTBSX: i32 = 554;
1843pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
1844pub const NID_setct_CredRevResData: i32 = 555;
1845pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
1846pub const NID_setct_PCertReqData: i32 = 556;
1847pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
1848pub const NID_setct_PCertResTBS: i32 = 557;
1849pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
1850pub const NID_setct_BatchAdminReqData: i32 = 558;
1851pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
1852pub const NID_setct_BatchAdminResData: i32 = 559;
1853pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
1854pub const NID_setct_CardCInitResTBS: i32 = 560;
1855pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
1856pub const NID_setct_MeAqCInitResTBS: i32 = 561;
1857pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
1858pub const NID_setct_RegFormResTBS: i32 = 562;
1859pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
1860pub const NID_setct_CertReqData: i32 = 563;
1861pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
1862pub const NID_setct_CertReqTBS: i32 = 564;
1863pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
1864pub const NID_setct_CertResData: i32 = 565;
1865pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
1866pub const NID_setct_CertInqReqTBS: i32 = 566;
1867pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
1868pub const NID_setct_ErrorTBS: i32 = 567;
1869pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
1870pub const NID_setct_PIDualSignedTBE: i32 = 568;
1871pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
1872pub const NID_setct_PIUnsignedTBE: i32 = 569;
1873pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
1874pub const NID_setct_AuthReqTBE: i32 = 570;
1875pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
1876pub const NID_setct_AuthResTBE: i32 = 571;
1877pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
1878pub const NID_setct_AuthResTBEX: i32 = 572;
1879pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
1880pub const NID_setct_AuthTokenTBE: i32 = 573;
1881pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
1882pub const NID_setct_CapTokenTBE: i32 = 574;
1883pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
1884pub const NID_setct_CapTokenTBEX: i32 = 575;
1885pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
1886pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
1887pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
1888pub const NID_setct_AuthRevReqTBE: i32 = 577;
1889pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
1890pub const NID_setct_AuthRevResTBE: i32 = 578;
1891pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
1892pub const NID_setct_AuthRevResTBEB: i32 = 579;
1893pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
1894pub const NID_setct_CapReqTBE: i32 = 580;
1895pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
1896pub const NID_setct_CapReqTBEX: i32 = 581;
1897pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
1898pub const NID_setct_CapResTBE: i32 = 582;
1899pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
1900pub const NID_setct_CapRevReqTBE: i32 = 583;
1901pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
1902pub const NID_setct_CapRevReqTBEX: i32 = 584;
1903pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
1904pub const NID_setct_CapRevResTBE: i32 = 585;
1905pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
1906pub const NID_setct_CredReqTBE: i32 = 586;
1907pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
1908pub const NID_setct_CredReqTBEX: i32 = 587;
1909pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
1910pub const NID_setct_CredResTBE: i32 = 588;
1911pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
1912pub const NID_setct_CredRevReqTBE: i32 = 589;
1913pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
1914pub const NID_setct_CredRevReqTBEX: i32 = 590;
1915pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
1916pub const NID_setct_CredRevResTBE: i32 = 591;
1917pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
1918pub const NID_setct_BatchAdminReqTBE: i32 = 592;
1919pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
1920pub const NID_setct_BatchAdminResTBE: i32 = 593;
1921pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
1922pub const NID_setct_RegFormReqTBE: i32 = 594;
1923pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
1924pub const NID_setct_CertReqTBE: i32 = 595;
1925pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
1926pub const NID_setct_CertReqTBEX: i32 = 596;
1927pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
1928pub const NID_setct_CertResTBE: i32 = 597;
1929pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
1930pub const NID_setct_CRLNotificationTBS: i32 = 598;
1931pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
1932pub const NID_setct_CRLNotificationResTBS: i32 = 599;
1933pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
1934pub const NID_setct_BCIDistributionTBS: i32 = 600;
1935pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
1936pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
1937pub const NID_setext_genCrypt: i32 = 601;
1938pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
1939pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
1940pub const NID_setext_miAuth: i32 = 602;
1941pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
1942pub const NID_setext_pinSecure: i32 = 603;
1943pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
1944pub const NID_setext_pinAny: i32 = 604;
1945pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
1946pub const NID_setext_track2: i32 = 605;
1947pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
1948pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
1949pub const NID_setext_cv: i32 = 606;
1950pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
1951pub const NID_set_policy_root: i32 = 607;
1952pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
1953pub const NID_setCext_hashedRoot: i32 = 608;
1954pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
1955pub const NID_setCext_certType: i32 = 609;
1956pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
1957pub const NID_setCext_merchData: i32 = 610;
1958pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
1959pub const NID_setCext_cCertRequired: i32 = 611;
1960pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
1961pub const NID_setCext_tunneling: i32 = 612;
1962pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
1963pub const NID_setCext_setExt: i32 = 613;
1964pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
1965pub const NID_setCext_setQualf: i32 = 614;
1966pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
1967pub const NID_setCext_PGWYcapabilities: i32 = 615;
1968pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
1969pub const NID_setCext_TokenIdentifier: i32 = 616;
1970pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
1971pub const NID_setCext_Track2Data: i32 = 617;
1972pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
1973pub const NID_setCext_TokenType: i32 = 618;
1974pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
1975pub const NID_setCext_IssuerCapabilities: i32 = 619;
1976pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
1977pub const NID_setAttr_Cert: i32 = 620;
1978pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
1979pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
1980pub const NID_setAttr_PGWYcap: i32 = 621;
1981pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
1982pub const NID_setAttr_TokenType: i32 = 622;
1983pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
1984pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
1985pub const NID_setAttr_IssCap: i32 = 623;
1986pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
1987pub const NID_set_rootKeyThumb: i32 = 624;
1988pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
1989pub const NID_set_addPolicy: i32 = 625;
1990pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
1991pub const NID_setAttr_Token_EMV: i32 = 626;
1992pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
1993pub const NID_setAttr_Token_B0Prime: i32 = 627;
1994pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
1995pub const NID_setAttr_IssCap_CVM: i32 = 628;
1996pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
1997pub const NID_setAttr_IssCap_T2: i32 = 629;
1998pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
1999pub const NID_setAttr_IssCap_Sig: i32 = 630;
2000pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2001pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2002pub const NID_setAttr_GenCryptgrm: i32 = 631;
2003pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2004pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2005pub const NID_setAttr_T2Enc: i32 = 632;
2006pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2007pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2008pub const NID_setAttr_T2cleartxt: i32 = 633;
2009pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2010pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2011pub const NID_setAttr_TokICCsig: i32 = 634;
2012pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2013pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2014pub const NID_setAttr_SecDevSig: i32 = 635;
2015pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2016pub const NID_set_brand_IATA_ATA: i32 = 636;
2017pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2018pub const NID_set_brand_Diners: i32 = 637;
2019pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2020pub const NID_set_brand_AmericanExpress: i32 = 638;
2021pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2022pub const NID_set_brand_JCB: i32 = 639;
2023pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2024pub const NID_set_brand_Visa: i32 = 640;
2025pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2026pub const NID_set_brand_MasterCard: i32 = 641;
2027pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2028pub const NID_set_brand_Novus: i32 = 642;
2029pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2030pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2031pub const NID_des_cdmf: i32 = 643;
2032pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2033pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2034pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2035pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2036pub const NID_itu_t: i32 = 645;
2037pub const OBJ_itu_t: i32 = 0;
2038pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2039pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2040pub const NID_joint_iso_itu_t: i32 = 646;
2041pub const OBJ_joint_iso_itu_t: i32 = 2;
2042pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2043pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2044pub const NID_international_organizations: i32 = 647;
2045pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2046pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2047pub const NID_ms_smartcard_login: i32 = 648;
2048pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2049pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2050pub const NID_ms_upn: i32 = 649;
2051pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2052pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2053pub const NID_aes_128_cfb1: i32 = 650;
2054pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2055pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2056pub const NID_aes_192_cfb1: i32 = 651;
2057pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2058pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2059pub const NID_aes_256_cfb1: i32 = 652;
2060pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2061pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2062pub const NID_aes_128_cfb8: i32 = 653;
2063pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2064pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2065pub const NID_aes_192_cfb8: i32 = 654;
2066pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2067pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2068pub const NID_aes_256_cfb8: i32 = 655;
2069pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2070pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2071pub const NID_des_cfb1: i32 = 656;
2072pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2073pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2074pub const NID_des_cfb8: i32 = 657;
2075pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2076pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2077pub const NID_des_ede3_cfb1: i32 = 658;
2078pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2079pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2080pub const NID_des_ede3_cfb8: i32 = 659;
2081pub const SN_streetAddress: &[u8; 7] = b"street\0";
2082pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2083pub const NID_streetAddress: i32 = 660;
2084pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2085pub const NID_postalCode: i32 = 661;
2086pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2087pub const NID_id_ppl: i32 = 662;
2088pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2089pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2090pub const NID_proxyCertInfo: i32 = 663;
2091pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2092pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2093pub const NID_id_ppl_anyLanguage: i32 = 664;
2094pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2095pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2096pub const NID_id_ppl_inheritAll: i32 = 665;
2097pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2098pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2099pub const NID_name_constraints: i32 = 666;
2100pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2101pub const LN_Independent: &[u8; 12] = b"Independent\0";
2102pub const NID_Independent: i32 = 667;
2103pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2104pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2105pub const NID_sha256WithRSAEncryption: i32 = 668;
2106pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2107pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2108pub const NID_sha384WithRSAEncryption: i32 = 669;
2109pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2110pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2111pub const NID_sha512WithRSAEncryption: i32 = 670;
2112pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2113pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2114pub const NID_sha224WithRSAEncryption: i32 = 671;
2115pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2116pub const LN_sha256: &[u8; 7] = b"sha256\0";
2117pub const NID_sha256: i32 = 672;
2118pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2119pub const LN_sha384: &[u8; 7] = b"sha384\0";
2120pub const NID_sha384: i32 = 673;
2121pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2122pub const LN_sha512: &[u8; 7] = b"sha512\0";
2123pub const NID_sha512: i32 = 674;
2124pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2125pub const LN_sha224: &[u8; 7] = b"sha224\0";
2126pub const NID_sha224: i32 = 675;
2127pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2128pub const NID_identified_organization: i32 = 676;
2129pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2130pub const NID_certicom_arc: i32 = 677;
2131pub const SN_wap: &[u8; 4] = b"wap\0";
2132pub const NID_wap: i32 = 678;
2133pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2134pub const NID_wap_wsg: i32 = 679;
2135pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2136pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2137pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2138pub const NID_X9_62_onBasis: i32 = 681;
2139pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2140pub const NID_X9_62_tpBasis: i32 = 682;
2141pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2142pub const NID_X9_62_ppBasis: i32 = 683;
2143pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2144pub const NID_X9_62_c2pnb163v1: i32 = 684;
2145pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2146pub const NID_X9_62_c2pnb163v2: i32 = 685;
2147pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2148pub const NID_X9_62_c2pnb163v3: i32 = 686;
2149pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2150pub const NID_X9_62_c2pnb176v1: i32 = 687;
2151pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2152pub const NID_X9_62_c2tnb191v1: i32 = 688;
2153pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2154pub const NID_X9_62_c2tnb191v2: i32 = 689;
2155pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2156pub const NID_X9_62_c2tnb191v3: i32 = 690;
2157pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2158pub const NID_X9_62_c2onb191v4: i32 = 691;
2159pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2160pub const NID_X9_62_c2onb191v5: i32 = 692;
2161pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2162pub const NID_X9_62_c2pnb208w1: i32 = 693;
2163pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2164pub const NID_X9_62_c2tnb239v1: i32 = 694;
2165pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2166pub const NID_X9_62_c2tnb239v2: i32 = 695;
2167pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2168pub const NID_X9_62_c2tnb239v3: i32 = 696;
2169pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2170pub const NID_X9_62_c2onb239v4: i32 = 697;
2171pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2172pub const NID_X9_62_c2onb239v5: i32 = 698;
2173pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2174pub const NID_X9_62_c2pnb272w1: i32 = 699;
2175pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2176pub const NID_X9_62_c2pnb304w1: i32 = 700;
2177pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2178pub const NID_X9_62_c2tnb359v1: i32 = 701;
2179pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2180pub const NID_X9_62_c2pnb368w1: i32 = 702;
2181pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2182pub const NID_X9_62_c2tnb431r1: i32 = 703;
2183pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2184pub const NID_secp112r1: i32 = 704;
2185pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2186pub const NID_secp112r2: i32 = 705;
2187pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2188pub const NID_secp128r1: i32 = 706;
2189pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2190pub const NID_secp128r2: i32 = 707;
2191pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2192pub const NID_secp160k1: i32 = 708;
2193pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2194pub const NID_secp160r1: i32 = 709;
2195pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2196pub const NID_secp160r2: i32 = 710;
2197pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2198pub const NID_secp192k1: i32 = 711;
2199pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2200pub const NID_secp224k1: i32 = 712;
2201pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2202pub const NID_secp224r1: i32 = 713;
2203pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2204pub const NID_secp256k1: i32 = 714;
2205pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2206pub const NID_secp384r1: i32 = 715;
2207pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2208pub const NID_secp521r1: i32 = 716;
2209pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2210pub const NID_sect113r1: i32 = 717;
2211pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2212pub const NID_sect113r2: i32 = 718;
2213pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2214pub const NID_sect131r1: i32 = 719;
2215pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2216pub const NID_sect131r2: i32 = 720;
2217pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2218pub const NID_sect163k1: i32 = 721;
2219pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2220pub const NID_sect163r1: i32 = 722;
2221pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2222pub const NID_sect163r2: i32 = 723;
2223pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2224pub const NID_sect193r1: i32 = 724;
2225pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2226pub const NID_sect193r2: i32 = 725;
2227pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2228pub const NID_sect233k1: i32 = 726;
2229pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2230pub const NID_sect233r1: i32 = 727;
2231pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2232pub const NID_sect239k1: i32 = 728;
2233pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2234pub const NID_sect283k1: i32 = 729;
2235pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2236pub const NID_sect283r1: i32 = 730;
2237pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2238pub const NID_sect409k1: i32 = 731;
2239pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2240pub const NID_sect409r1: i32 = 732;
2241pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2242pub const NID_sect571k1: i32 = 733;
2243pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2244pub const NID_sect571r1: i32 = 734;
2245pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2246pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2247pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2248pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2249pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2250pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2251pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2252pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2253pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2254pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2255pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2256pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2257pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2258pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2259pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2260pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2261pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2262pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2263pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2264pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2265pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2266pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2267pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2268pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2269pub const NID_any_policy: i32 = 746;
2270pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2271pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2272pub const NID_policy_mappings: i32 = 747;
2273pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2274pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2275pub const NID_inhibit_any_policy: i32 = 748;
2276pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2277pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2278pub const NID_ipsec3: i32 = 749;
2279pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2280pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2281pub const NID_ipsec4: i32 = 750;
2282pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2283pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2284pub const NID_camellia_128_cbc: i32 = 751;
2285pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2286pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2287pub const NID_camellia_192_cbc: i32 = 752;
2288pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2289pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2290pub const NID_camellia_256_cbc: i32 = 753;
2291pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2292pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2293pub const NID_camellia_128_ecb: i32 = 754;
2294pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2295pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2296pub const NID_camellia_192_ecb: i32 = 755;
2297pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2298pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2299pub const NID_camellia_256_ecb: i32 = 756;
2300pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2301pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2302pub const NID_camellia_128_cfb128: i32 = 757;
2303pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2304pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2305pub const NID_camellia_192_cfb128: i32 = 758;
2306pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2307pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2308pub const NID_camellia_256_cfb128: i32 = 759;
2309pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2310pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2311pub const NID_camellia_128_cfb1: i32 = 760;
2312pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2313pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2314pub const NID_camellia_192_cfb1: i32 = 761;
2315pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2316pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2317pub const NID_camellia_256_cfb1: i32 = 762;
2318pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2319pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2320pub const NID_camellia_128_cfb8: i32 = 763;
2321pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2322pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2323pub const NID_camellia_192_cfb8: i32 = 764;
2324pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2325pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2326pub const NID_camellia_256_cfb8: i32 = 765;
2327pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2328pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2329pub const NID_camellia_128_ofb128: i32 = 766;
2330pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2331pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2332pub const NID_camellia_192_ofb128: i32 = 767;
2333pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2334pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2335pub const NID_camellia_256_ofb128: i32 = 768;
2336pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2337pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2338pub const NID_subject_directory_attributes: i32 = 769;
2339pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2340pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2341pub const NID_issuing_distribution_point: i32 = 770;
2342pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2343pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2344pub const NID_certificate_issuer: i32 = 771;
2345pub const SN_kisa: &[u8; 5] = b"KISA\0";
2346pub const LN_kisa: &[u8; 5] = b"kisa\0";
2347pub const NID_kisa: i32 = 773;
2348pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2349pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2350pub const NID_seed_ecb: i32 = 776;
2351pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2352pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2353pub const NID_seed_cbc: i32 = 777;
2354pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2355pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2356pub const NID_seed_ofb128: i32 = 778;
2357pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2358pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2359pub const NID_seed_cfb128: i32 = 779;
2360pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2361pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2362pub const NID_hmac_md5: i32 = 780;
2363pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2364pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2365pub const NID_hmac_sha1: i32 = 781;
2366pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2367pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2368pub const NID_id_PasswordBasedMAC: i32 = 782;
2369pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2370pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2371pub const NID_id_DHBasedMac: i32 = 783;
2372pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2373pub const NID_id_it_suppLangTags: i32 = 784;
2374pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2375pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2376pub const NID_caRepository: i32 = 785;
2377pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2378pub const NID_id_smime_ct_compressedData: i32 = 786;
2379pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2380pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2381pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2382pub const NID_id_aes128_wrap: i32 = 788;
2383pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2384pub const NID_id_aes192_wrap: i32 = 789;
2385pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2386pub const NID_id_aes256_wrap: i32 = 790;
2387pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2388pub const NID_ecdsa_with_Recommended: i32 = 791;
2389pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2390pub const NID_ecdsa_with_Specified: i32 = 792;
2391pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2392pub const NID_ecdsa_with_SHA224: i32 = 793;
2393pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2394pub const NID_ecdsa_with_SHA256: i32 = 794;
2395pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2396pub const NID_ecdsa_with_SHA384: i32 = 795;
2397pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2398pub const NID_ecdsa_with_SHA512: i32 = 796;
2399pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2400pub const NID_hmacWithMD5: i32 = 797;
2401pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2402pub const NID_hmacWithSHA224: i32 = 798;
2403pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2404pub const NID_hmacWithSHA256: i32 = 799;
2405pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2406pub const NID_hmacWithSHA384: i32 = 800;
2407pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2408pub const NID_hmacWithSHA512: i32 = 801;
2409pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2410pub const NID_dsa_with_SHA224: i32 = 802;
2411pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2412pub const NID_dsa_with_SHA256: i32 = 803;
2413pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2414pub const NID_whirlpool: i32 = 804;
2415pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2416pub const NID_cryptopro: i32 = 805;
2417pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2418pub const NID_cryptocom: i32 = 806;
2419pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2420    b"id-GostR3411-94-with-GostR3410-2001\0";
2421pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2422    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2423pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2424pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2425pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2426    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2427pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2428pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2429pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2430pub const NID_id_GostR3411_94: i32 = 809;
2431pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2432pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2433pub const NID_id_HMACGostR3411_94: i32 = 810;
2434pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2435pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2436pub const NID_id_GostR3410_2001: i32 = 811;
2437pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2438pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2439pub const NID_id_GostR3410_94: i32 = 812;
2440pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2441pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2442pub const NID_id_Gost28147_89: i32 = 813;
2443pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2444pub const NID_gost89_cnt: i32 = 814;
2445pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2446pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2447pub const NID_id_Gost28147_89_MAC: i32 = 815;
2448pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2449pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2450pub const NID_id_GostR3411_94_prf: i32 = 816;
2451pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2452pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2453pub const NID_id_GostR3410_2001DH: i32 = 817;
2454pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2455pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2456pub const NID_id_GostR3410_94DH: i32 = 818;
2457pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2458    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2459pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2460pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2461pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2462pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2463pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2464pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2465pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2466pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2467pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2468pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2469    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2470pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2471pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2472    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2473pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2474pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2475    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2476pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2477pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2478    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2479pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2480pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2481    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2482pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2483pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2484    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2485pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2486pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2487    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2488pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2489pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2490pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2491pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2492    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2493pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2494pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2495    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2496pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2497pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2498    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2499pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2500pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2501    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2502pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2503pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2504    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2505pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2506pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2507    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2508pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2509pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2510    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2511pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2512pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2513pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2514pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2515    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2516pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2517pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2518    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2519pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2520pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2521    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2522pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2523pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2524    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2525pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2526pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2527    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2528pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2529pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2530pub const NID_id_GostR3410_94_a: i32 = 845;
2531pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2532pub const NID_id_GostR3410_94_aBis: i32 = 846;
2533pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2534pub const NID_id_GostR3410_94_b: i32 = 847;
2535pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2536pub const NID_id_GostR3410_94_bBis: i32 = 848;
2537pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2538pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2539pub const NID_id_Gost28147_89_cc: i32 = 849;
2540pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2541pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2542pub const NID_id_GostR3410_94_cc: i32 = 850;
2543pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2544pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2545pub const NID_id_GostR3410_2001_cc: i32 = 851;
2546pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2547    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2548pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2549    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2550pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2551pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2552    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2553pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2554    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2555pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2556pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2557pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2558    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2559pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2560pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2561pub const LN_hmac: &[u8; 5] = b"hmac\0";
2562pub const NID_hmac: i32 = 855;
2563pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2564pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2565pub const NID_LocalKeySet: i32 = 856;
2566pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2567pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2568pub const NID_freshest_crl: i32 = 857;
2569pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2570pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2571pub const NID_id_on_permanentIdentifier: i32 = 858;
2572pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2573pub const NID_searchGuide: i32 = 859;
2574pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2575pub const NID_businessCategory: i32 = 860;
2576pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2577pub const NID_postalAddress: i32 = 861;
2578pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2579pub const NID_postOfficeBox: i32 = 862;
2580pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2581pub const NID_physicalDeliveryOfficeName: i32 = 863;
2582pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2583pub const NID_telephoneNumber: i32 = 864;
2584pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2585pub const NID_telexNumber: i32 = 865;
2586pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2587pub const NID_teletexTerminalIdentifier: i32 = 866;
2588pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2589pub const NID_facsimileTelephoneNumber: i32 = 867;
2590pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2591pub const NID_x121Address: i32 = 868;
2592pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2593pub const NID_internationaliSDNNumber: i32 = 869;
2594pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2595pub const NID_registeredAddress: i32 = 870;
2596pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2597pub const NID_destinationIndicator: i32 = 871;
2598pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2599pub const NID_preferredDeliveryMethod: i32 = 872;
2600pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2601pub const NID_presentationAddress: i32 = 873;
2602pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
2603pub const NID_supportedApplicationContext: i32 = 874;
2604pub const SN_member: &[u8; 7] = b"member\0";
2605pub const NID_member: i32 = 875;
2606pub const SN_owner: &[u8; 6] = b"owner\0";
2607pub const NID_owner: i32 = 876;
2608pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
2609pub const NID_roleOccupant: i32 = 877;
2610pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
2611pub const NID_seeAlso: i32 = 878;
2612pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
2613pub const NID_userPassword: i32 = 879;
2614pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
2615pub const NID_userCertificate: i32 = 880;
2616pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
2617pub const NID_cACertificate: i32 = 881;
2618pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
2619pub const NID_authorityRevocationList: i32 = 882;
2620pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
2621pub const NID_certificateRevocationList: i32 = 883;
2622pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
2623pub const NID_crossCertificatePair: i32 = 884;
2624pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
2625pub const NID_enhancedSearchGuide: i32 = 885;
2626pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
2627pub const NID_protocolInformation: i32 = 886;
2628pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
2629pub const NID_distinguishedName: i32 = 887;
2630pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
2631pub const NID_uniqueMember: i32 = 888;
2632pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
2633pub const NID_houseIdentifier: i32 = 889;
2634pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
2635pub const NID_supportedAlgorithms: i32 = 890;
2636pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
2637pub const NID_deltaRevocationList: i32 = 891;
2638pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
2639pub const NID_dmdName: i32 = 892;
2640pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
2641pub const NID_id_alg_PWRI_KEK: i32 = 893;
2642pub const SN_cmac: &[u8; 5] = b"CMAC\0";
2643pub const LN_cmac: &[u8; 5] = b"cmac\0";
2644pub const NID_cmac: i32 = 894;
2645pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
2646pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
2647pub const NID_aes_128_gcm: i32 = 895;
2648pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
2649pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
2650pub const NID_aes_128_ccm: i32 = 896;
2651pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
2652pub const NID_id_aes128_wrap_pad: i32 = 897;
2653pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
2654pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
2655pub const NID_aes_192_gcm: i32 = 898;
2656pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
2657pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
2658pub const NID_aes_192_ccm: i32 = 899;
2659pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
2660pub const NID_id_aes192_wrap_pad: i32 = 900;
2661pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
2662pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
2663pub const NID_aes_256_gcm: i32 = 901;
2664pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
2665pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
2666pub const NID_aes_256_ccm: i32 = 902;
2667pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
2668pub const NID_id_aes256_wrap_pad: i32 = 903;
2669pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
2670pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
2671pub const NID_aes_128_ctr: i32 = 904;
2672pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
2673pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
2674pub const NID_aes_192_ctr: i32 = 905;
2675pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
2676pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
2677pub const NID_aes_256_ctr: i32 = 906;
2678pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
2679pub const NID_id_camellia128_wrap: i32 = 907;
2680pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
2681pub const NID_id_camellia192_wrap: i32 = 908;
2682pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
2683pub const NID_id_camellia256_wrap: i32 = 909;
2684pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
2685pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
2686pub const NID_anyExtendedKeyUsage: i32 = 910;
2687pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
2688pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
2689pub const NID_mgf1: i32 = 911;
2690pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
2691pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
2692pub const NID_rsassaPss: i32 = 912;
2693pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
2694pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
2695pub const NID_aes_128_xts: i32 = 913;
2696pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
2697pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
2698pub const NID_aes_256_xts: i32 = 914;
2699pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
2700pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
2701pub const NID_rc4_hmac_md5: i32 = 915;
2702pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
2703pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
2704pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
2705pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
2706pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
2707pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
2708pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
2709pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
2710pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
2711pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
2712pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
2713pub const NID_rsaesOaep: i32 = 919;
2714pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
2715pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
2716pub const NID_dhpublicnumber: i32 = 920;
2717pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
2718pub const NID_brainpoolP160r1: i32 = 921;
2719pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
2720pub const NID_brainpoolP160t1: i32 = 922;
2721pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
2722pub const NID_brainpoolP192r1: i32 = 923;
2723pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
2724pub const NID_brainpoolP192t1: i32 = 924;
2725pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
2726pub const NID_brainpoolP224r1: i32 = 925;
2727pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
2728pub const NID_brainpoolP224t1: i32 = 926;
2729pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
2730pub const NID_brainpoolP256r1: i32 = 927;
2731pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
2732pub const NID_brainpoolP256t1: i32 = 928;
2733pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
2734pub const NID_brainpoolP320r1: i32 = 929;
2735pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
2736pub const NID_brainpoolP320t1: i32 = 930;
2737pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
2738pub const NID_brainpoolP384r1: i32 = 931;
2739pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
2740pub const NID_brainpoolP384t1: i32 = 932;
2741pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
2742pub const NID_brainpoolP512r1: i32 = 933;
2743pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
2744pub const NID_brainpoolP512t1: i32 = 934;
2745pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
2746pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
2747pub const NID_pSpecified: i32 = 935;
2748pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
2749pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
2750pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
2751    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
2752pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
2753pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
2754    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
2755pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
2756pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
2757    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
2758pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
2759pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
2760    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
2761pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
2762pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
2763    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
2764pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
2765pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
2766    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
2767pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
2768pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
2769    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
2770pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
2771pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
2772    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
2773pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
2774pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
2775    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
2776pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
2777pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
2778pub const NID_dh_std_kdf: i32 = 946;
2779pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
2780pub const NID_dh_cofactor_kdf: i32 = 947;
2781pub const SN_X25519: &[u8; 7] = b"X25519\0";
2782pub const NID_X25519: i32 = 948;
2783pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
2784pub const NID_ED25519: i32 = 949;
2785pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
2786pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
2787pub const NID_chacha20_poly1305: i32 = 950;
2788pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
2789pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
2790pub const NID_kx_rsa: i32 = 951;
2791pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
2792pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
2793pub const NID_kx_ecdhe: i32 = 952;
2794pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
2795pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
2796pub const NID_kx_psk: i32 = 953;
2797pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
2798pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
2799pub const NID_auth_rsa: i32 = 954;
2800pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
2801pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
2802pub const NID_auth_ecdsa: i32 = 955;
2803pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
2804pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
2805pub const NID_auth_psk: i32 = 956;
2806pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
2807pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
2808pub const NID_kx_any: i32 = 957;
2809pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
2810pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
2811pub const NID_auth_any: i32 = 958;
2812pub const SN_ED448: &[u8; 6] = b"ED448\0";
2813pub const NID_ED448: i32 = 960;
2814pub const SN_X448: &[u8; 5] = b"X448\0";
2815pub const NID_X448: i32 = 961;
2816pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
2817pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
2818pub const NID_sha512_256: i32 = 962;
2819pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
2820pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
2821pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
2822pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
2823pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
2824pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
2825pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
2826pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
2827pub const NID_sha3_224: i32 = 965;
2828pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
2829pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
2830pub const NID_sha3_256: i32 = 966;
2831pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
2832pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
2833pub const NID_sha3_384: i32 = 967;
2834pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
2835pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
2836pub const NID_sha3_512: i32 = 968;
2837pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
2838pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
2839pub const NID_hkdf: i32 = 969;
2840pub const SN_kem: &[u8; 4] = b"KEM\0";
2841pub const LN_kem: &[u8; 4] = b"kem\0";
2842pub const NID_kem: i32 = 970;
2843pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
2844pub const NID_ffdhe2048: i32 = 976;
2845pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
2846pub const NID_ffdhe4096: i32 = 977;
2847pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
2848pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
2849pub const NID_sha512_224: i32 = 978;
2850pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
2851pub const LN_shake128: &[u8; 9] = b"shake128\0";
2852pub const NID_shake128: i32 = 979;
2853pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
2854pub const LN_shake256: &[u8; 9] = b"shake256\0";
2855pub const NID_shake256: i32 = 980;
2856pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
2857pub const NID_ffdhe3072: i32 = 983;
2858pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
2859pub const NID_ffdhe8192: i32 = 984;
2860pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
2861pub const NID_MLKEM512IPD: i32 = 985;
2862pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
2863pub const NID_MLKEM768IPD: i32 = 986;
2864pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
2865pub const NID_MLKEM1024IPD: i32 = 987;
2866pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
2867pub const NID_MLKEM512: i32 = 988;
2868pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
2869pub const NID_MLKEM768: i32 = 989;
2870pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
2871pub const NID_MLKEM1024: i32 = 990;
2872pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
2873pub const NID_X25519MLKEM768: i32 = 991;
2874pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
2875pub const NID_SecP256r1MLKEM768: i32 = 992;
2876pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
2877pub const NID_PQDSA: i32 = 993;
2878pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
2879pub const NID_MLDSA44: i32 = 994;
2880pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
2881pub const NID_MLDSA65: i32 = 995;
2882pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
2883pub const NID_MLDSA87: i32 = 996;
2884pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
2885pub const NID_ED25519ph: i32 = 997;
2886pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
2887pub const NID_SecP384r1MLKEM1024: i32 = 998;
2888pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
2889pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
2890pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
2891pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
2892pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
2893pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
2894pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
2895pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
2896pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
2897pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
2898pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
2899pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
2900pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
2901pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
2902pub const HMAC_R_UNSUPPORTED_DIGEST: i32 = 106;
2903pub const EVP_PKEY_NONE: i32 = 0;
2904pub const EVP_PKEY_RSA: i32 = 6;
2905pub const EVP_PKEY_RSA_PSS: i32 = 912;
2906pub const EVP_PKEY_EC: i32 = 408;
2907pub const EVP_PKEY_ED25519: i32 = 949;
2908pub const EVP_PKEY_ED25519PH: i32 = 997;
2909pub const EVP_PKEY_X25519: i32 = 948;
2910pub const EVP_PKEY_HKDF: i32 = 969;
2911pub const EVP_PKEY_HMAC: i32 = 855;
2912pub const EVP_PKEY_DH: i32 = 28;
2913pub const EVP_PKEY_PQDSA: i32 = 993;
2914pub const EVP_PKEY_KEM: i32 = 970;
2915pub const PKCS5_SALT_LEN: i32 = 8;
2916pub const EVP_PKEY_RSA2: i32 = 19;
2917pub const EVP_PKEY_X448: i32 = 961;
2918pub const EVP_PKEY_ED448: i32 = 960;
2919pub const EVP_PKEY_DSA: i32 = 116;
2920pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
2921pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
2922pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
2923pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
2924pub const HKDF_R_UNSUPPORTED_DIGEST: i32 = 101;
2925pub const RSA_PKCS1_PADDING: i32 = 1;
2926pub const RSA_NO_PADDING: i32 = 3;
2927pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
2928pub const RSA_X931_PADDING: i32 = 5;
2929pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
2930pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
2931pub const RSA_FLAG_OPAQUE: i32 = 1;
2932pub const RSA_FLAG_NO_BLINDING: i32 = 8;
2933pub const RSA_FLAG_EXT_PKEY: i32 = 32;
2934pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
2935pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
2936pub const RSA_3: i32 = 3;
2937pub const RSA_F4: i32 = 65537;
2938pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
2939pub const RSA_R_BAD_ENCODING: i32 = 100;
2940pub const RSA_R_BAD_E_VALUE: i32 = 101;
2941pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
2942pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
2943pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
2944pub const RSA_R_BAD_SIGNATURE: i32 = 105;
2945pub const RSA_R_BAD_VERSION: i32 = 106;
2946pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
2947pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
2948pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
2949pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
2950pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
2951pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
2952pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
2953pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
2954pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
2955pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
2956pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
2957pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
2958pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
2959pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
2960pub const RSA_R_ENCODE_ERROR: i32 = 121;
2961pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
2962pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
2963pub const RSA_R_INTERNAL_ERROR: i32 = 124;
2964pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
2965pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
2966pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
2967pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
2968pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
2969pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
2970pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
2971pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
2972pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
2973pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
2974pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
2975pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
2976pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
2977pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
2978pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
2979pub const RSA_R_TOO_LONG: i32 = 140;
2980pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
2981pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
2982pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
2983pub const RSA_R_VALUE_MISSING: i32 = 144;
2984pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
2985pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
2986pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
2987pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
2988pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
2989pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
2990pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
2991pub type __off_t = ::std::os::raw::c_long;
2992pub type __off64_t = ::std::os::raw::c_long;
2993#[repr(C)]
2994#[repr(align(4))]
2995#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
2996pub struct static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit {
2997    pub _bitfield_align_1: [u8; 0],
2998    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
2999    pub __bindgen_padding_0: [u8; 3usize],
3000}
3001#[test]
3002fn bindgen_test_layout_static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3003) {
3004    assert_eq!(
3005        ::std::mem::size_of::<
3006            static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit,
3007        >(),
3008        4usize,
3009        "Size of static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit"
3010    );
3011    assert_eq ! (:: std :: mem :: align_of :: < static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit > () , 4usize , "Alignment of static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit");
3012}
3013impl static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3014    #[inline]
3015    pub fn static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3016        &self,
3017    ) -> ::std::os::raw::c_uint {
3018        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3019    }
3020    #[inline]
3021    pub fn set_static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3022        &mut self,
3023        val: ::std::os::raw::c_uint,
3024    ) {
3025        unsafe {
3026            let val: u32 = ::std::mem::transmute(val);
3027            self._bitfield_1.set(0usize, 1u8, val as u64)
3028        }
3029    }
3030    #[inline]
3031    pub unsafe fn static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3032        this: *const Self,
3033    ) -> ::std::os::raw::c_uint {
3034        unsafe {
3035            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3036                ::std::ptr::addr_of!((*this)._bitfield_1),
3037                0usize,
3038                1u8,
3039            ) as u32)
3040        }
3041    }
3042    #[inline]
3043    pub unsafe fn set_static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3044        this: *mut Self,
3045        val: ::std::os::raw::c_uint,
3046    ) {
3047        unsafe {
3048            let val: u32 = ::std::mem::transmute(val);
3049            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3050                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3051                0usize,
3052                1u8,
3053                val as u64,
3054            )
3055        }
3056    }
3057    #[inline]
3058    pub fn new_bitfield_1(
3059        static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
3060    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3061        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3062        __bindgen_bitfield_unit . set (0usize , 1u8 , { let static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit : u32 = unsafe { :: std :: mem :: transmute (static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit) } ; static_assertion_at_line_219_error_is_pointer_size_must_be_8_bytes_for_64_bit as u64 }) ;
3063        __bindgen_bitfield_unit
3064    }
3065}
3066pub type ossl_ssize_t = isize;
3067pub type CBS_ASN1_TAG = u32;
3068pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3069#[repr(C)]
3070#[derive(Debug, Copy, Clone)]
3071pub struct asn1_null_st {
3072    _unused: [u8; 0],
3073}
3074pub type ASN1_NULL = asn1_null_st;
3075pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3076pub type ASN1_ITEM = ASN1_ITEM_st;
3077#[repr(C)]
3078#[derive(Debug, Copy, Clone)]
3079pub struct asn1_object_st {
3080    _unused: [u8; 0],
3081}
3082pub type ASN1_OBJECT = asn1_object_st;
3083#[repr(C)]
3084#[derive(Debug, Copy, Clone)]
3085pub struct asn1_pctx_st {
3086    _unused: [u8; 0],
3087}
3088pub type ASN1_PCTX = asn1_pctx_st;
3089pub type ASN1_BIT_STRING = asn1_string_st;
3090pub type ASN1_BMPSTRING = asn1_string_st;
3091pub type ASN1_ENUMERATED = asn1_string_st;
3092pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3093pub type ASN1_GENERALSTRING = asn1_string_st;
3094pub type ASN1_IA5STRING = asn1_string_st;
3095pub type ASN1_INTEGER = asn1_string_st;
3096pub type ASN1_OCTET_STRING = asn1_string_st;
3097pub type ASN1_PRINTABLESTRING = asn1_string_st;
3098pub type ASN1_STRING = asn1_string_st;
3099pub type ASN1_T61STRING = asn1_string_st;
3100pub type ASN1_TIME = asn1_string_st;
3101pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3102pub type ASN1_UTCTIME = asn1_string_st;
3103pub type ASN1_UTF8STRING = asn1_string_st;
3104pub type ASN1_VISIBLESTRING = asn1_string_st;
3105pub type ASN1_TYPE = asn1_type_st;
3106pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3107pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3108pub type DIST_POINT = DIST_POINT_st;
3109pub type DSA_SIG = DSA_SIG_st;
3110pub type GENERAL_NAME = GENERAL_NAME_st;
3111pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3112pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3113pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3114pub type NETSCAPE_SPKI = Netscape_spki_st;
3115pub type RIPEMD160_CTX = RIPEMD160state_st;
3116#[repr(C)]
3117#[derive(Debug, Copy, Clone)]
3118pub struct X509_VERIFY_PARAM_st {
3119    _unused: [u8; 0],
3120}
3121pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3122pub type X509_ALGOR = X509_algor_st;
3123#[repr(C)]
3124#[derive(Debug, Copy, Clone)]
3125pub struct X509_crl_st {
3126    _unused: [u8; 0],
3127}
3128pub type X509_CRL = X509_crl_st;
3129#[repr(C)]
3130#[derive(Debug, Copy, Clone)]
3131pub struct X509_extension_st {
3132    _unused: [u8; 0],
3133}
3134pub type X509_EXTENSION = X509_extension_st;
3135pub type X509_INFO = X509_info_st;
3136#[repr(C)]
3137#[derive(Debug, Copy, Clone)]
3138pub struct X509_name_entry_st {
3139    _unused: [u8; 0],
3140}
3141pub type X509_NAME_ENTRY = X509_name_entry_st;
3142#[repr(C)]
3143#[derive(Debug, Copy, Clone)]
3144pub struct X509_name_st {
3145    _unused: [u8; 0],
3146}
3147pub type X509_NAME = X509_name_st;
3148#[repr(C)]
3149#[derive(Debug, Copy, Clone)]
3150pub struct X509_pubkey_st {
3151    _unused: [u8; 0],
3152}
3153pub type X509_PUBKEY = X509_pubkey_st;
3154#[repr(C)]
3155#[derive(Debug, Copy, Clone)]
3156pub struct X509_req_st {
3157    _unused: [u8; 0],
3158}
3159pub type X509_REQ = X509_req_st;
3160#[repr(C)]
3161#[derive(Debug, Copy, Clone)]
3162pub struct x509_sig_info_st {
3163    _unused: [u8; 0],
3164}
3165pub type X509_SIG_INFO = x509_sig_info_st;
3166#[repr(C)]
3167#[derive(Debug, Copy, Clone)]
3168pub struct X509_sig_st {
3169    _unused: [u8; 0],
3170}
3171pub type X509_SIG = X509_sig_st;
3172#[repr(C)]
3173#[derive(Debug, Copy, Clone)]
3174pub struct bignum_ctx {
3175    _unused: [u8; 0],
3176}
3177pub type BN_CTX = bignum_ctx;
3178pub type BIGNUM = bignum_st;
3179pub type BIO_METHOD = bio_method_st;
3180pub type BIO = bio_st;
3181pub type BLAKE2B_CTX = blake2b_state_st;
3182pub type BN_GENCB = bn_gencb_st;
3183pub type BN_MONT_CTX = bn_mont_ctx_st;
3184pub type BUF_MEM = buf_mem_st;
3185#[repr(C)]
3186#[derive(Debug, Copy, Clone)]
3187pub struct cast_key_st {
3188    _unused: [u8; 0],
3189}
3190pub type CAST_KEY = cast_key_st;
3191pub type CBB = cbb_st;
3192pub type CBS = cbs_st;
3193#[repr(C)]
3194#[derive(Debug, Copy, Clone)]
3195pub struct cmac_ctx_st {
3196    _unused: [u8; 0],
3197}
3198pub type CMAC_CTX = cmac_ctx_st;
3199pub type CONF = conf_st;
3200pub type CONF_VALUE = conf_value_st;
3201#[repr(C)]
3202#[derive(Debug, Copy, Clone)]
3203pub struct crypto_buffer_pool_st {
3204    _unused: [u8; 0],
3205}
3206pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3207#[repr(C)]
3208#[derive(Debug, Copy, Clone)]
3209pub struct crypto_buffer_st {
3210    _unused: [u8; 0],
3211}
3212pub type CRYPTO_BUFFER = crypto_buffer_st;
3213#[repr(C)]
3214#[derive(Debug, Copy, Clone)]
3215pub struct ctr_drbg_state_st {
3216    _unused: [u8; 0],
3217}
3218pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3219#[repr(C)]
3220#[derive(Debug, Copy, Clone)]
3221pub struct dh_st {
3222    _unused: [u8; 0],
3223}
3224pub type DH = dh_st;
3225#[repr(C)]
3226#[derive(Debug, Copy, Clone)]
3227pub struct dsa_st {
3228    _unused: [u8; 0],
3229}
3230pub type DSA = dsa_st;
3231#[repr(C)]
3232#[derive(Debug, Copy, Clone)]
3233pub struct ec_group_st {
3234    _unused: [u8; 0],
3235}
3236pub type EC_GROUP = ec_group_st;
3237#[repr(C)]
3238#[derive(Debug, Copy, Clone)]
3239pub struct ec_key_st {
3240    _unused: [u8; 0],
3241}
3242pub type EC_KEY = ec_key_st;
3243#[repr(C)]
3244#[derive(Debug, Copy, Clone)]
3245pub struct ec_point_st {
3246    _unused: [u8; 0],
3247}
3248pub type EC_POINT = ec_point_st;
3249#[repr(C)]
3250#[derive(Debug, Copy, Clone)]
3251pub struct ec_key_method_st {
3252    _unused: [u8; 0],
3253}
3254pub type EC_KEY_METHOD = ec_key_method_st;
3255pub type ECDSA_SIG = ecdsa_sig_st;
3256#[repr(C)]
3257#[derive(Debug, Copy, Clone)]
3258pub struct engine_st {
3259    _unused: [u8; 0],
3260}
3261pub type ENGINE = engine_st;
3262pub type EVP_MD_CTX = env_md_ctx_st;
3263#[repr(C)]
3264#[derive(Debug, Copy, Clone)]
3265pub struct env_md_st {
3266    _unused: [u8; 0],
3267}
3268pub type EVP_MD = env_md_st;
3269#[repr(C)]
3270#[derive(Debug, Copy, Clone)]
3271pub struct evp_aead_st {
3272    _unused: [u8; 0],
3273}
3274pub type EVP_AEAD = evp_aead_st;
3275pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3276pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3277#[repr(C)]
3278#[derive(Debug, Copy, Clone)]
3279pub struct evp_cipher_st {
3280    _unused: [u8; 0],
3281}
3282pub type EVP_CIPHER = evp_cipher_st;
3283#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
3284pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3285#[repr(C)]
3286#[derive(Debug, Copy, Clone)]
3287pub struct evp_hpke_aead_st {
3288    _unused: [u8; 0],
3289}
3290pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3291pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3292#[repr(C)]
3293#[derive(Debug, Copy, Clone)]
3294pub struct evp_hpke_kdf_st {
3295    _unused: [u8; 0],
3296}
3297pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3298#[repr(C)]
3299#[derive(Debug, Copy, Clone)]
3300pub struct evp_hpke_kem_st {
3301    _unused: [u8; 0],
3302}
3303pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3304pub type EVP_HPKE_KEY = evp_hpke_key_st;
3305#[repr(C)]
3306#[derive(Debug, Copy, Clone)]
3307pub struct evp_kem_st {
3308    _unused: [u8; 0],
3309}
3310pub type EVP_KEM = evp_kem_st;
3311#[repr(C)]
3312#[derive(Debug, Copy, Clone)]
3313pub struct kem_key_st {
3314    _unused: [u8; 0],
3315}
3316pub type KEM_KEY = kem_key_st;
3317#[repr(C)]
3318#[derive(Debug, Copy, Clone)]
3319pub struct evp_pkey_ctx_st {
3320    _unused: [u8; 0],
3321}
3322pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3323#[repr(C)]
3324#[derive(Debug, Copy, Clone)]
3325pub struct evp_pkey_asn1_method_st {
3326    _unused: [u8; 0],
3327}
3328pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3329#[repr(C)]
3330#[derive(Debug, Copy, Clone)]
3331pub struct evp_pkey_st {
3332    _unused: [u8; 0],
3333}
3334pub type EVP_PKEY = evp_pkey_st;
3335#[repr(C)]
3336#[derive(Debug, Copy, Clone)]
3337pub struct evp_pkey_ctx_signature_context_params_st {
3338    _unused: [u8; 0],
3339}
3340pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3341pub type HMAC_CTX = hmac_ctx_st;
3342pub type MD4_CTX = md4_state_st;
3343pub type MD5_CTX = md5_state_st;
3344#[repr(C)]
3345#[derive(Debug, Copy, Clone)]
3346pub struct pqdsa_key_st {
3347    _unused: [u8; 0],
3348}
3349pub type PQDSA_KEY = pqdsa_key_st;
3350#[repr(C)]
3351#[derive(Debug, Copy, Clone)]
3352pub struct ocsp_req_ctx_st {
3353    _unused: [u8; 0],
3354}
3355pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3356#[repr(C)]
3357#[derive(Debug, Copy, Clone)]
3358pub struct ossl_init_settings_st {
3359    _unused: [u8; 0],
3360}
3361pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3362#[repr(C)]
3363#[derive(Debug, Copy, Clone)]
3364pub struct pkcs7_digest_st {
3365    _unused: [u8; 0],
3366}
3367pub type PKCS7_DIGEST = pkcs7_digest_st;
3368#[repr(C)]
3369#[derive(Debug, Copy, Clone)]
3370pub struct pkcs7_enc_content_st {
3371    _unused: [u8; 0],
3372}
3373pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3374#[repr(C)]
3375#[derive(Debug, Copy, Clone)]
3376pub struct pkcs7_encrypt_st {
3377    _unused: [u8; 0],
3378}
3379pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3380pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3381pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3382pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3383pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3384pub type PKCS7_SIGNED = pkcs7_signed_st;
3385pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3386pub type PKCS7 = pkcs7_st;
3387#[repr(C)]
3388#[derive(Debug, Copy, Clone)]
3389pub struct pkcs12_st {
3390    _unused: [u8; 0],
3391}
3392pub type PKCS12 = pkcs12_st;
3393#[repr(C)]
3394#[derive(Debug, Copy, Clone)]
3395pub struct pkcs8_priv_key_info_st {
3396    _unused: [u8; 0],
3397}
3398pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3399pub type X509_PKEY = private_key_st;
3400pub type RAND_METHOD = rand_meth_st;
3401pub type RC4_KEY = rc4_key_st;
3402#[repr(C)]
3403#[derive(Debug, Copy, Clone)]
3404pub struct rsa_meth_st {
3405    _unused: [u8; 0],
3406}
3407pub type RSA_METHOD = rsa_meth_st;
3408#[repr(C)]
3409#[derive(Debug, Copy, Clone)]
3410pub struct rsassa_pss_params_st {
3411    _unused: [u8; 0],
3412}
3413pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3414pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3415#[repr(C)]
3416#[derive(Debug, Copy, Clone)]
3417pub struct rsa_st {
3418    _unused: [u8; 0],
3419}
3420pub type RSA = rsa_st;
3421pub type SHA256_CTX = sha256_state_st;
3422pub type SHA512_CTX = sha512_state_st;
3423pub type SHA_CTX = sha_state_st;
3424#[repr(C)]
3425#[derive(Debug, Copy, Clone)]
3426pub struct spake2_ctx_st {
3427    _unused: [u8; 0],
3428}
3429pub type SPAKE2_CTX = spake2_ctx_st;
3430#[repr(C)]
3431#[derive(Debug, Copy, Clone)]
3432pub struct srtp_protection_profile_st {
3433    _unused: [u8; 0],
3434}
3435pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3436#[repr(C)]
3437#[derive(Debug, Copy, Clone)]
3438pub struct ssl_cipher_st {
3439    _unused: [u8; 0],
3440}
3441pub type SSL_CIPHER = ssl_cipher_st;
3442#[repr(C)]
3443#[derive(Debug, Copy, Clone)]
3444pub struct ssl_ctx_st {
3445    _unused: [u8; 0],
3446}
3447pub type SSL_CTX = ssl_ctx_st;
3448#[repr(C)]
3449#[derive(Debug, Copy, Clone)]
3450pub struct ssl_early_callback_ctx {
3451    _unused: [u8; 0],
3452}
3453pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3454#[repr(C)]
3455#[derive(Debug, Copy, Clone)]
3456pub struct ssl_ech_keys_st {
3457    _unused: [u8; 0],
3458}
3459pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3460#[repr(C)]
3461#[derive(Debug, Copy, Clone)]
3462pub struct ssl_method_st {
3463    _unused: [u8; 0],
3464}
3465pub type SSL_METHOD = ssl_method_st;
3466#[repr(C)]
3467#[derive(Debug, Copy, Clone)]
3468pub struct ssl_private_key_method_st {
3469    _unused: [u8; 0],
3470}
3471pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3472#[repr(C)]
3473#[derive(Debug, Copy, Clone)]
3474pub struct ssl_quic_method_st {
3475    _unused: [u8; 0],
3476}
3477pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3478#[repr(C)]
3479#[derive(Debug, Copy, Clone)]
3480pub struct ssl_session_st {
3481    _unused: [u8; 0],
3482}
3483pub type SSL_SESSION = ssl_session_st;
3484#[repr(C)]
3485#[derive(Debug, Copy, Clone)]
3486pub struct ssl_st {
3487    _unused: [u8; 0],
3488}
3489pub type SSL = ssl_st;
3490#[repr(C)]
3491#[derive(Debug, Copy, Clone)]
3492pub struct ssl_ticket_aead_method_st {
3493    _unused: [u8; 0],
3494}
3495pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3496#[repr(C)]
3497#[derive(Debug, Copy, Clone)]
3498pub struct st_ERR_FNS {
3499    _unused: [u8; 0],
3500}
3501pub type ERR_FNS = st_ERR_FNS;
3502pub type TRUST_TOKEN = trust_token_st;
3503#[repr(C)]
3504#[derive(Debug, Copy, Clone)]
3505pub struct trust_token_client_st {
3506    _unused: [u8; 0],
3507}
3508pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3509#[repr(C)]
3510#[derive(Debug, Copy, Clone)]
3511pub struct trust_token_issuer_st {
3512    _unused: [u8; 0],
3513}
3514pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3515#[repr(C)]
3516#[derive(Debug, Copy, Clone)]
3517pub struct trust_token_method_st {
3518    _unused: [u8; 0],
3519}
3520pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3521pub type X509V3_CTX = v3_ext_ctx;
3522pub type X509V3_EXT_METHOD = v3_ext_method;
3523#[repr(C)]
3524#[derive(Debug, Copy, Clone)]
3525pub struct x509_attributes_st {
3526    _unused: [u8; 0],
3527}
3528pub type X509_ATTRIBUTE = x509_attributes_st;
3529#[repr(C)]
3530#[derive(Debug, Copy, Clone)]
3531pub struct x509_lookup_st {
3532    _unused: [u8; 0],
3533}
3534pub type X509_LOOKUP = x509_lookup_st;
3535#[repr(C)]
3536#[derive(Debug, Copy, Clone)]
3537pub struct x509_lookup_method_st {
3538    _unused: [u8; 0],
3539}
3540pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3541#[repr(C)]
3542#[derive(Debug, Copy, Clone)]
3543pub struct x509_object_st {
3544    _unused: [u8; 0],
3545}
3546pub type X509_OBJECT = x509_object_st;
3547#[repr(C)]
3548#[derive(Debug, Copy, Clone)]
3549pub struct x509_revoked_st {
3550    _unused: [u8; 0],
3551}
3552pub type X509_REVOKED = x509_revoked_st;
3553#[repr(C)]
3554#[derive(Debug, Copy, Clone)]
3555pub struct x509_st {
3556    _unused: [u8; 0],
3557}
3558pub type X509 = x509_st;
3559#[repr(C)]
3560#[derive(Debug, Copy, Clone)]
3561pub struct x509_store_ctx_st {
3562    _unused: [u8; 0],
3563}
3564pub type X509_STORE_CTX = x509_store_ctx_st;
3565#[repr(C)]
3566#[derive(Debug, Copy, Clone)]
3567pub struct x509_store_st {
3568    _unused: [u8; 0],
3569}
3570pub type X509_STORE = x509_store_st;
3571pub type X509_TRUST = x509_trust_st;
3572pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3573#[repr(C)]
3574#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3575pub struct aes_key_st {
3576    pub rd_key: [u32; 60usize],
3577    pub rounds: ::std::os::raw::c_uint,
3578}
3579#[test]
3580fn bindgen_test_layout_aes_key_st() {
3581    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3582    let ptr = UNINIT.as_ptr();
3583    assert_eq!(
3584        ::std::mem::size_of::<aes_key_st>(),
3585        244usize,
3586        "Size of aes_key_st"
3587    );
3588    assert_eq!(
3589        ::std::mem::align_of::<aes_key_st>(),
3590        4usize,
3591        "Alignment of aes_key_st"
3592    );
3593    assert_eq!(
3594        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3595        0usize,
3596        "Offset of field: aes_key_st::rd_key"
3597    );
3598    assert_eq!(
3599        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3600        240usize,
3601        "Offset of field: aes_key_st::rounds"
3602    );
3603}
3604impl Default for aes_key_st {
3605    fn default() -> Self {
3606        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3607        unsafe {
3608            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3609            s.assume_init()
3610        }
3611    }
3612}
3613pub type AES_KEY = aes_key_st;
3614extern "C" {
3615    #[link_name = "\u{1}aws_lc_0_41_0_AES_set_encrypt_key"]
3616    pub fn AES_set_encrypt_key(
3617        key: *const u8,
3618        bits: ::std::os::raw::c_uint,
3619        aeskey: *mut AES_KEY,
3620    ) -> ::std::os::raw::c_int;
3621}
3622extern "C" {
3623    #[link_name = "\u{1}aws_lc_0_41_0_AES_set_decrypt_key"]
3624    pub fn AES_set_decrypt_key(
3625        key: *const u8,
3626        bits: ::std::os::raw::c_uint,
3627        aeskey: *mut AES_KEY,
3628    ) -> ::std::os::raw::c_int;
3629}
3630extern "C" {
3631    #[link_name = "\u{1}aws_lc_0_41_0_AES_encrypt"]
3632    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3633}
3634extern "C" {
3635    #[link_name = "\u{1}aws_lc_0_41_0_AES_decrypt"]
3636    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3637}
3638extern "C" {
3639    #[link_name = "\u{1}aws_lc_0_41_0_AES_ctr128_encrypt"]
3640    pub fn AES_ctr128_encrypt(
3641        in_: *const u8,
3642        out: *mut u8,
3643        len: usize,
3644        key: *const AES_KEY,
3645        ivec: *mut u8,
3646        ecount_buf: *mut u8,
3647        num: *mut ::std::os::raw::c_uint,
3648    );
3649}
3650extern "C" {
3651    #[link_name = "\u{1}aws_lc_0_41_0_AES_ecb_encrypt"]
3652    pub fn AES_ecb_encrypt(
3653        in_: *const u8,
3654        out: *mut u8,
3655        key: *const AES_KEY,
3656        enc: ::std::os::raw::c_int,
3657    );
3658}
3659extern "C" {
3660    #[link_name = "\u{1}aws_lc_0_41_0_AES_cbc_encrypt"]
3661    pub fn AES_cbc_encrypt(
3662        in_: *const u8,
3663        out: *mut u8,
3664        len: usize,
3665        key: *const AES_KEY,
3666        ivec: *mut u8,
3667        enc: ::std::os::raw::c_int,
3668    );
3669}
3670extern "C" {
3671    #[link_name = "\u{1}aws_lc_0_41_0_AES_ofb128_encrypt"]
3672    pub fn AES_ofb128_encrypt(
3673        in_: *const u8,
3674        out: *mut u8,
3675        len: usize,
3676        key: *const AES_KEY,
3677        ivec: *mut u8,
3678        num: *mut ::std::os::raw::c_int,
3679    );
3680}
3681extern "C" {
3682    #[link_name = "\u{1}aws_lc_0_41_0_AES_cfb1_encrypt"]
3683    pub fn AES_cfb1_encrypt(
3684        in_: *const u8,
3685        out: *mut u8,
3686        bits: usize,
3687        key: *const AES_KEY,
3688        ivec: *mut u8,
3689        num: *mut ::std::os::raw::c_int,
3690        enc: ::std::os::raw::c_int,
3691    );
3692}
3693extern "C" {
3694    #[link_name = "\u{1}aws_lc_0_41_0_AES_cfb8_encrypt"]
3695    pub fn AES_cfb8_encrypt(
3696        in_: *const u8,
3697        out: *mut u8,
3698        len: usize,
3699        key: *const AES_KEY,
3700        ivec: *mut u8,
3701        num: *mut ::std::os::raw::c_int,
3702        enc: ::std::os::raw::c_int,
3703    );
3704}
3705extern "C" {
3706    #[link_name = "\u{1}aws_lc_0_41_0_AES_cfb128_encrypt"]
3707    pub fn AES_cfb128_encrypt(
3708        in_: *const u8,
3709        out: *mut u8,
3710        len: usize,
3711        key: *const AES_KEY,
3712        ivec: *mut u8,
3713        num: *mut ::std::os::raw::c_int,
3714        enc: ::std::os::raw::c_int,
3715    );
3716}
3717extern "C" {
3718    #[link_name = "\u{1}aws_lc_0_41_0_AES_wrap_key"]
3719    pub fn AES_wrap_key(
3720        key: *const AES_KEY,
3721        iv: *const u8,
3722        out: *mut u8,
3723        in_: *const u8,
3724        in_len: usize,
3725    ) -> ::std::os::raw::c_int;
3726}
3727extern "C" {
3728    #[link_name = "\u{1}aws_lc_0_41_0_AES_unwrap_key"]
3729    pub fn AES_unwrap_key(
3730        key: *const AES_KEY,
3731        iv: *const u8,
3732        out: *mut u8,
3733        in_: *const u8,
3734        in_len: usize,
3735    ) -> ::std::os::raw::c_int;
3736}
3737extern "C" {
3738    #[link_name = "\u{1}aws_lc_0_41_0_AES_wrap_key_padded"]
3739    pub fn AES_wrap_key_padded(
3740        key: *const AES_KEY,
3741        out: *mut u8,
3742        out_len: *mut usize,
3743        max_out: usize,
3744        in_: *const u8,
3745        in_len: usize,
3746    ) -> ::std::os::raw::c_int;
3747}
3748extern "C" {
3749    #[link_name = "\u{1}aws_lc_0_41_0_AES_unwrap_key_padded"]
3750    pub fn AES_unwrap_key_padded(
3751        key: *const AES_KEY,
3752        out: *mut u8,
3753        out_len: *mut usize,
3754        max_out: usize,
3755        in_: *const u8,
3756        in_len: usize,
3757    ) -> ::std::os::raw::c_int;
3758}
3759pub type __gnuc_va_list = __builtin_va_list;
3760#[repr(C)]
3761#[derive(Debug, Copy, Clone)]
3762pub struct _IO_marker {
3763    _unused: [u8; 0],
3764}
3765#[repr(C)]
3766#[derive(Debug, Copy, Clone)]
3767pub struct _IO_codecvt {
3768    _unused: [u8; 0],
3769}
3770#[repr(C)]
3771#[derive(Debug, Copy, Clone)]
3772pub struct _IO_wide_data {
3773    _unused: [u8; 0],
3774}
3775pub type _IO_lock_t = ::std::os::raw::c_void;
3776#[repr(C)]
3777#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3778pub struct _IO_FILE {
3779    pub _flags: ::std::os::raw::c_int,
3780    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3781    pub _IO_read_end: *mut ::std::os::raw::c_char,
3782    pub _IO_read_base: *mut ::std::os::raw::c_char,
3783    pub _IO_write_base: *mut ::std::os::raw::c_char,
3784    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3785    pub _IO_write_end: *mut ::std::os::raw::c_char,
3786    pub _IO_buf_base: *mut ::std::os::raw::c_char,
3787    pub _IO_buf_end: *mut ::std::os::raw::c_char,
3788    pub _IO_save_base: *mut ::std::os::raw::c_char,
3789    pub _IO_backup_base: *mut ::std::os::raw::c_char,
3790    pub _IO_save_end: *mut ::std::os::raw::c_char,
3791    pub _markers: *mut _IO_marker,
3792    pub _chain: *mut _IO_FILE,
3793    pub _fileno: ::std::os::raw::c_int,
3794    pub _flags2: ::std::os::raw::c_int,
3795    pub _old_offset: __off_t,
3796    pub _cur_column: ::std::os::raw::c_ushort,
3797    pub _vtable_offset: ::std::os::raw::c_schar,
3798    pub _shortbuf: [::std::os::raw::c_char; 1usize],
3799    pub _lock: *mut _IO_lock_t,
3800    pub _offset: __off64_t,
3801    pub _codecvt: *mut _IO_codecvt,
3802    pub _wide_data: *mut _IO_wide_data,
3803    pub _freeres_list: *mut _IO_FILE,
3804    pub _freeres_buf: *mut ::std::os::raw::c_void,
3805    pub __pad5: usize,
3806    pub _mode: ::std::os::raw::c_int,
3807    pub _unused2: [::std::os::raw::c_char; 20usize],
3808}
3809#[test]
3810fn bindgen_test_layout__IO_FILE() {
3811    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
3812    let ptr = UNINIT.as_ptr();
3813    assert_eq!(
3814        ::std::mem::size_of::<_IO_FILE>(),
3815        216usize,
3816        "Size of _IO_FILE"
3817    );
3818    assert_eq!(
3819        ::std::mem::align_of::<_IO_FILE>(),
3820        8usize,
3821        "Alignment of _IO_FILE"
3822    );
3823    assert_eq!(
3824        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
3825        0usize,
3826        "Offset of field: _IO_FILE::_flags"
3827    );
3828    assert_eq!(
3829        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
3830        8usize,
3831        "Offset of field: _IO_FILE::_IO_read_ptr"
3832    );
3833    assert_eq!(
3834        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
3835        16usize,
3836        "Offset of field: _IO_FILE::_IO_read_end"
3837    );
3838    assert_eq!(
3839        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
3840        24usize,
3841        "Offset of field: _IO_FILE::_IO_read_base"
3842    );
3843    assert_eq!(
3844        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
3845        32usize,
3846        "Offset of field: _IO_FILE::_IO_write_base"
3847    );
3848    assert_eq!(
3849        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
3850        40usize,
3851        "Offset of field: _IO_FILE::_IO_write_ptr"
3852    );
3853    assert_eq!(
3854        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
3855        48usize,
3856        "Offset of field: _IO_FILE::_IO_write_end"
3857    );
3858    assert_eq!(
3859        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
3860        56usize,
3861        "Offset of field: _IO_FILE::_IO_buf_base"
3862    );
3863    assert_eq!(
3864        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
3865        64usize,
3866        "Offset of field: _IO_FILE::_IO_buf_end"
3867    );
3868    assert_eq!(
3869        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
3870        72usize,
3871        "Offset of field: _IO_FILE::_IO_save_base"
3872    );
3873    assert_eq!(
3874        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
3875        80usize,
3876        "Offset of field: _IO_FILE::_IO_backup_base"
3877    );
3878    assert_eq!(
3879        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
3880        88usize,
3881        "Offset of field: _IO_FILE::_IO_save_end"
3882    );
3883    assert_eq!(
3884        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
3885        96usize,
3886        "Offset of field: _IO_FILE::_markers"
3887    );
3888    assert_eq!(
3889        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
3890        104usize,
3891        "Offset of field: _IO_FILE::_chain"
3892    );
3893    assert_eq!(
3894        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
3895        112usize,
3896        "Offset of field: _IO_FILE::_fileno"
3897    );
3898    assert_eq!(
3899        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
3900        116usize,
3901        "Offset of field: _IO_FILE::_flags2"
3902    );
3903    assert_eq!(
3904        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
3905        120usize,
3906        "Offset of field: _IO_FILE::_old_offset"
3907    );
3908    assert_eq!(
3909        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
3910        128usize,
3911        "Offset of field: _IO_FILE::_cur_column"
3912    );
3913    assert_eq!(
3914        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
3915        130usize,
3916        "Offset of field: _IO_FILE::_vtable_offset"
3917    );
3918    assert_eq!(
3919        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
3920        131usize,
3921        "Offset of field: _IO_FILE::_shortbuf"
3922    );
3923    assert_eq!(
3924        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
3925        136usize,
3926        "Offset of field: _IO_FILE::_lock"
3927    );
3928    assert_eq!(
3929        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
3930        144usize,
3931        "Offset of field: _IO_FILE::_offset"
3932    );
3933    assert_eq!(
3934        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
3935        152usize,
3936        "Offset of field: _IO_FILE::_codecvt"
3937    );
3938    assert_eq!(
3939        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
3940        160usize,
3941        "Offset of field: _IO_FILE::_wide_data"
3942    );
3943    assert_eq!(
3944        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
3945        168usize,
3946        "Offset of field: _IO_FILE::_freeres_list"
3947    );
3948    assert_eq!(
3949        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
3950        176usize,
3951        "Offset of field: _IO_FILE::_freeres_buf"
3952    );
3953    assert_eq!(
3954        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
3955        184usize,
3956        "Offset of field: _IO_FILE::__pad5"
3957    );
3958    assert_eq!(
3959        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
3960        192usize,
3961        "Offset of field: _IO_FILE::_mode"
3962    );
3963    assert_eq!(
3964        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
3965        196usize,
3966        "Offset of field: _IO_FILE::_unused2"
3967    );
3968}
3969impl Default for _IO_FILE {
3970    fn default() -> Self {
3971        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3972        unsafe {
3973            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3974            s.assume_init()
3975        }
3976    }
3977}
3978pub type va_list = __gnuc_va_list;
3979#[repr(C)]
3980#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3981pub struct buf_mem_st {
3982    pub length: usize,
3983    pub data: *mut ::std::os::raw::c_char,
3984    pub max: usize,
3985}
3986#[test]
3987fn bindgen_test_layout_buf_mem_st() {
3988    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
3989    let ptr = UNINIT.as_ptr();
3990    assert_eq!(
3991        ::std::mem::size_of::<buf_mem_st>(),
3992        24usize,
3993        "Size of buf_mem_st"
3994    );
3995    assert_eq!(
3996        ::std::mem::align_of::<buf_mem_st>(),
3997        8usize,
3998        "Alignment of buf_mem_st"
3999    );
4000    assert_eq!(
4001        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
4002        0usize,
4003        "Offset of field: buf_mem_st::length"
4004    );
4005    assert_eq!(
4006        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4007        8usize,
4008        "Offset of field: buf_mem_st::data"
4009    );
4010    assert_eq!(
4011        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
4012        16usize,
4013        "Offset of field: buf_mem_st::max"
4014    );
4015}
4016impl Default for buf_mem_st {
4017    fn default() -> Self {
4018        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4019        unsafe {
4020            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4021            s.assume_init()
4022        }
4023    }
4024}
4025extern "C" {
4026    #[link_name = "\u{1}aws_lc_0_41_0_SHA1_Init"]
4027    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4028}
4029extern "C" {
4030    #[link_name = "\u{1}aws_lc_0_41_0_SHA1_Update"]
4031    pub fn SHA1_Update(
4032        sha: *mut SHA_CTX,
4033        data: *const ::std::os::raw::c_void,
4034        len: usize,
4035    ) -> ::std::os::raw::c_int;
4036}
4037extern "C" {
4038    #[link_name = "\u{1}aws_lc_0_41_0_SHA1_Final"]
4039    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4040}
4041extern "C" {
4042    #[link_name = "\u{1}aws_lc_0_41_0_SHA1"]
4043    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4044}
4045extern "C" {
4046    #[link_name = "\u{1}aws_lc_0_41_0_SHA1_Transform"]
4047    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
4048}
4049#[repr(C)]
4050#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4051pub struct sha_state_st {
4052    pub h: [u32; 5usize],
4053    pub Nl: u32,
4054    pub Nh: u32,
4055    pub data: [u8; 64usize],
4056    pub num: ::std::os::raw::c_uint,
4057}
4058#[test]
4059fn bindgen_test_layout_sha_state_st() {
4060    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
4061    let ptr = UNINIT.as_ptr();
4062    assert_eq!(
4063        ::std::mem::size_of::<sha_state_st>(),
4064        96usize,
4065        "Size of sha_state_st"
4066    );
4067    assert_eq!(
4068        ::std::mem::align_of::<sha_state_st>(),
4069        4usize,
4070        "Alignment of sha_state_st"
4071    );
4072    assert_eq!(
4073        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4074        0usize,
4075        "Offset of field: sha_state_st::h"
4076    );
4077    assert_eq!(
4078        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4079        20usize,
4080        "Offset of field: sha_state_st::Nl"
4081    );
4082    assert_eq!(
4083        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4084        24usize,
4085        "Offset of field: sha_state_st::Nh"
4086    );
4087    assert_eq!(
4088        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4089        28usize,
4090        "Offset of field: sha_state_st::data"
4091    );
4092    assert_eq!(
4093        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4094        92usize,
4095        "Offset of field: sha_state_st::num"
4096    );
4097}
4098impl Default for sha_state_st {
4099    fn default() -> Self {
4100        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4101        unsafe {
4102            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4103            s.assume_init()
4104        }
4105    }
4106}
4107extern "C" {
4108    #[link_name = "\u{1}aws_lc_0_41_0_SHA224_Init"]
4109    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4110}
4111extern "C" {
4112    #[link_name = "\u{1}aws_lc_0_41_0_SHA224_Update"]
4113    pub fn SHA224_Update(
4114        sha: *mut SHA256_CTX,
4115        data: *const ::std::os::raw::c_void,
4116        len: usize,
4117    ) -> ::std::os::raw::c_int;
4118}
4119extern "C" {
4120    #[link_name = "\u{1}aws_lc_0_41_0_SHA224_Final"]
4121    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4122}
4123extern "C" {
4124    #[link_name = "\u{1}aws_lc_0_41_0_SHA224"]
4125    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4126}
4127extern "C" {
4128    #[link_name = "\u{1}aws_lc_0_41_0_SHA256_Init"]
4129    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4130}
4131extern "C" {
4132    #[link_name = "\u{1}aws_lc_0_41_0_SHA256_Update"]
4133    pub fn SHA256_Update(
4134        sha: *mut SHA256_CTX,
4135        data: *const ::std::os::raw::c_void,
4136        len: usize,
4137    ) -> ::std::os::raw::c_int;
4138}
4139extern "C" {
4140    #[link_name = "\u{1}aws_lc_0_41_0_SHA256_Final"]
4141    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4142}
4143extern "C" {
4144    #[link_name = "\u{1}aws_lc_0_41_0_SHA256"]
4145    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4146}
4147extern "C" {
4148    #[link_name = "\u{1}aws_lc_0_41_0_SHA256_Transform"]
4149    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4150}
4151extern "C" {
4152    #[link_name = "\u{1}aws_lc_0_41_0_SHA256_TransformBlocks"]
4153    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4154}
4155#[repr(C)]
4156#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4157pub struct sha256_state_st {
4158    pub h: [u32; 8usize],
4159    pub Nl: u32,
4160    pub Nh: u32,
4161    pub data: [u8; 64usize],
4162    pub num: ::std::os::raw::c_uint,
4163    pub md_len: ::std::os::raw::c_uint,
4164}
4165#[test]
4166fn bindgen_test_layout_sha256_state_st() {
4167    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4168    let ptr = UNINIT.as_ptr();
4169    assert_eq!(
4170        ::std::mem::size_of::<sha256_state_st>(),
4171        112usize,
4172        "Size of sha256_state_st"
4173    );
4174    assert_eq!(
4175        ::std::mem::align_of::<sha256_state_st>(),
4176        4usize,
4177        "Alignment of sha256_state_st"
4178    );
4179    assert_eq!(
4180        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4181        0usize,
4182        "Offset of field: sha256_state_st::h"
4183    );
4184    assert_eq!(
4185        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4186        32usize,
4187        "Offset of field: sha256_state_st::Nl"
4188    );
4189    assert_eq!(
4190        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4191        36usize,
4192        "Offset of field: sha256_state_st::Nh"
4193    );
4194    assert_eq!(
4195        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4196        40usize,
4197        "Offset of field: sha256_state_st::data"
4198    );
4199    assert_eq!(
4200        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4201        104usize,
4202        "Offset of field: sha256_state_st::num"
4203    );
4204    assert_eq!(
4205        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4206        108usize,
4207        "Offset of field: sha256_state_st::md_len"
4208    );
4209}
4210impl Default for sha256_state_st {
4211    fn default() -> Self {
4212        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4213        unsafe {
4214            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4215            s.assume_init()
4216        }
4217    }
4218}
4219extern "C" {
4220    #[link_name = "\u{1}aws_lc_0_41_0_SHA384_Init"]
4221    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4222}
4223extern "C" {
4224    #[link_name = "\u{1}aws_lc_0_41_0_SHA384_Update"]
4225    pub fn SHA384_Update(
4226        sha: *mut SHA512_CTX,
4227        data: *const ::std::os::raw::c_void,
4228        len: usize,
4229    ) -> ::std::os::raw::c_int;
4230}
4231extern "C" {
4232    #[link_name = "\u{1}aws_lc_0_41_0_SHA384_Final"]
4233    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4234}
4235extern "C" {
4236    #[link_name = "\u{1}aws_lc_0_41_0_SHA384"]
4237    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4238}
4239extern "C" {
4240    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_Init"]
4241    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4242}
4243extern "C" {
4244    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_Update"]
4245    pub fn SHA512_Update(
4246        sha: *mut SHA512_CTX,
4247        data: *const ::std::os::raw::c_void,
4248        len: usize,
4249    ) -> ::std::os::raw::c_int;
4250}
4251extern "C" {
4252    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_Final"]
4253    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4254}
4255extern "C" {
4256    #[link_name = "\u{1}aws_lc_0_41_0_SHA512"]
4257    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4258}
4259extern "C" {
4260    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_Transform"]
4261    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4262}
4263#[repr(C)]
4264#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4265pub struct sha512_state_st {
4266    pub h: [u64; 8usize],
4267    pub Nl: u64,
4268    pub Nh: u64,
4269    pub p: [u8; 128usize],
4270    pub num: ::std::os::raw::c_uint,
4271    pub md_len: ::std::os::raw::c_uint,
4272}
4273#[test]
4274fn bindgen_test_layout_sha512_state_st() {
4275    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4276    let ptr = UNINIT.as_ptr();
4277    assert_eq!(
4278        ::std::mem::size_of::<sha512_state_st>(),
4279        216usize,
4280        "Size of sha512_state_st"
4281    );
4282    assert_eq!(
4283        ::std::mem::align_of::<sha512_state_st>(),
4284        8usize,
4285        "Alignment of sha512_state_st"
4286    );
4287    assert_eq!(
4288        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4289        0usize,
4290        "Offset of field: sha512_state_st::h"
4291    );
4292    assert_eq!(
4293        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4294        64usize,
4295        "Offset of field: sha512_state_st::Nl"
4296    );
4297    assert_eq!(
4298        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4299        72usize,
4300        "Offset of field: sha512_state_st::Nh"
4301    );
4302    assert_eq!(
4303        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4304        80usize,
4305        "Offset of field: sha512_state_st::p"
4306    );
4307    assert_eq!(
4308        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4309        208usize,
4310        "Offset of field: sha512_state_st::num"
4311    );
4312    assert_eq!(
4313        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4314        212usize,
4315        "Offset of field: sha512_state_st::md_len"
4316    );
4317}
4318impl Default for sha512_state_st {
4319    fn default() -> Self {
4320        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4321        unsafe {
4322            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4323            s.assume_init()
4324        }
4325    }
4326}
4327extern "C" {
4328    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_224_Init"]
4329    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4330}
4331extern "C" {
4332    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_224_Update"]
4333    pub fn SHA512_224_Update(
4334        sha: *mut SHA512_CTX,
4335        data: *const ::std::os::raw::c_void,
4336        len: usize,
4337    ) -> ::std::os::raw::c_int;
4338}
4339extern "C" {
4340    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_224_Final"]
4341    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4342}
4343extern "C" {
4344    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_224"]
4345    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4346}
4347extern "C" {
4348    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_256_Init"]
4349    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4350}
4351extern "C" {
4352    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_256_Update"]
4353    pub fn SHA512_256_Update(
4354        sha: *mut SHA512_CTX,
4355        data: *const ::std::os::raw::c_void,
4356        len: usize,
4357    ) -> ::std::os::raw::c_int;
4358}
4359extern "C" {
4360    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_256_Final"]
4361    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4362}
4363extern "C" {
4364    #[link_name = "\u{1}aws_lc_0_41_0_SHA512_256"]
4365    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4366}
4367extern "C" {
4368    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_malloc"]
4369    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4370}
4371extern "C" {
4372    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_zalloc"]
4373    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4374}
4375extern "C" {
4376    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_calloc"]
4377    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4378}
4379extern "C" {
4380    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_realloc"]
4381    pub fn OPENSSL_realloc(
4382        ptr: *mut ::std::os::raw::c_void,
4383        new_size: usize,
4384    ) -> *mut ::std::os::raw::c_void;
4385}
4386extern "C" {
4387    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_free"]
4388    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4389}
4390extern "C" {
4391    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_cleanse"]
4392    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4393}
4394extern "C" {
4395    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_memcmp"]
4396    pub fn CRYPTO_memcmp(
4397        a: *const ::std::os::raw::c_void,
4398        b: *const ::std::os::raw::c_void,
4399        len: usize,
4400    ) -> ::std::os::raw::c_int;
4401}
4402extern "C" {
4403    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_hash32"]
4404    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4405}
4406extern "C" {
4407    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strhash"]
4408    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4409}
4410extern "C" {
4411    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strdup"]
4412    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4413}
4414extern "C" {
4415    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strnlen"]
4416    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4417}
4418extern "C" {
4419    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_isalpha"]
4420    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4421}
4422extern "C" {
4423    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_isdigit"]
4424    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4425}
4426extern "C" {
4427    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_isxdigit"]
4428    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4429}
4430extern "C" {
4431    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_fromxdigit"]
4432    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4433}
4434extern "C" {
4435    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_hexstr2buf"]
4436    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4437}
4438extern "C" {
4439    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_isalnum"]
4440    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4441}
4442extern "C" {
4443    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_tolower"]
4444    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4445}
4446extern "C" {
4447    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_isspace"]
4448    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4449}
4450extern "C" {
4451    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strcasecmp"]
4452    pub fn OPENSSL_strcasecmp(
4453        a: *const ::std::os::raw::c_char,
4454        b: *const ::std::os::raw::c_char,
4455    ) -> ::std::os::raw::c_int;
4456}
4457extern "C" {
4458    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strncasecmp"]
4459    pub fn OPENSSL_strncasecmp(
4460        a: *const ::std::os::raw::c_char,
4461        b: *const ::std::os::raw::c_char,
4462        n: usize,
4463    ) -> ::std::os::raw::c_int;
4464}
4465extern "C" {
4466    #[link_name = "\u{1}aws_lc_0_41_0_BIO_snprintf"]
4467    pub fn BIO_snprintf(
4468        buf: *mut ::std::os::raw::c_char,
4469        n: usize,
4470        format: *const ::std::os::raw::c_char,
4471        ...
4472    ) -> ::std::os::raw::c_int;
4473}
4474extern "C" {
4475    #[link_name = "\u{1}aws_lc_0_41_0_BIO_vsnprintf"]
4476    pub fn BIO_vsnprintf(
4477        buf: *mut ::std::os::raw::c_char,
4478        n: usize,
4479        format: *const ::std::os::raw::c_char,
4480        args: *mut __va_list_tag,
4481    ) -> ::std::os::raw::c_int;
4482}
4483extern "C" {
4484    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_vasprintf"]
4485    pub fn OPENSSL_vasprintf(
4486        str_: *mut *mut ::std::os::raw::c_char,
4487        format: *const ::std::os::raw::c_char,
4488        args: *mut __va_list_tag,
4489    ) -> ::std::os::raw::c_int;
4490}
4491extern "C" {
4492    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_asprintf"]
4493    pub fn OPENSSL_asprintf(
4494        str_: *mut *mut ::std::os::raw::c_char,
4495        format: *const ::std::os::raw::c_char,
4496        ...
4497    ) -> ::std::os::raw::c_int;
4498}
4499extern "C" {
4500    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strndup"]
4501    pub fn OPENSSL_strndup(
4502        str_: *const ::std::os::raw::c_char,
4503        size: usize,
4504    ) -> *mut ::std::os::raw::c_char;
4505}
4506extern "C" {
4507    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_memdup"]
4508    pub fn OPENSSL_memdup(
4509        data: *const ::std::os::raw::c_void,
4510        size: usize,
4511    ) -> *mut ::std::os::raw::c_void;
4512}
4513extern "C" {
4514    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strlcpy"]
4515    pub fn OPENSSL_strlcpy(
4516        dst: *mut ::std::os::raw::c_char,
4517        src: *const ::std::os::raw::c_char,
4518        dst_size: usize,
4519    ) -> usize;
4520}
4521extern "C" {
4522    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_strlcat"]
4523    pub fn OPENSSL_strlcat(
4524        dst: *mut ::std::os::raw::c_char,
4525        src: *const ::std::os::raw::c_char,
4526        dst_size: usize,
4527    ) -> usize;
4528}
4529extern "C" {
4530    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_malloc"]
4531    pub fn CRYPTO_malloc(
4532        size: usize,
4533        file: *const ::std::os::raw::c_char,
4534        line: ::std::os::raw::c_int,
4535    ) -> *mut ::std::os::raw::c_void;
4536}
4537extern "C" {
4538    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_realloc"]
4539    pub fn CRYPTO_realloc(
4540        ptr: *mut ::std::os::raw::c_void,
4541        new_size: usize,
4542        file: *const ::std::os::raw::c_char,
4543        line: ::std::os::raw::c_int,
4544    ) -> *mut ::std::os::raw::c_void;
4545}
4546extern "C" {
4547    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_free"]
4548    pub fn CRYPTO_free(
4549        ptr: *mut ::std::os::raw::c_void,
4550        file: *const ::std::os::raw::c_char,
4551        line: ::std::os::raw::c_int,
4552    );
4553}
4554extern "C" {
4555    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_clear_free"]
4556    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4557}
4558extern "C" {
4559    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_set_mem_functions"]
4560    pub fn CRYPTO_set_mem_functions(
4561        m: ::std::option::Option<
4562            unsafe extern "C" fn(
4563                arg1: usize,
4564                arg2: *const ::std::os::raw::c_char,
4565                arg3: ::std::os::raw::c_int,
4566            ) -> *mut ::std::os::raw::c_void,
4567        >,
4568        r: ::std::option::Option<
4569            unsafe extern "C" fn(
4570                arg1: *mut ::std::os::raw::c_void,
4571                arg2: usize,
4572                arg3: *const ::std::os::raw::c_char,
4573                arg4: ::std::os::raw::c_int,
4574            ) -> *mut ::std::os::raw::c_void,
4575        >,
4576        f: ::std::option::Option<
4577            unsafe extern "C" fn(
4578                arg1: *mut ::std::os::raw::c_void,
4579                arg2: *const ::std::os::raw::c_char,
4580                arg3: ::std::os::raw::c_int,
4581            ),
4582        >,
4583    ) -> ::std::os::raw::c_int;
4584}
4585extern "C" {
4586    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_secure_malloc_init"]
4587    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4588}
4589extern "C" {
4590    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_secure_malloc_initialized"]
4591    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4592}
4593extern "C" {
4594    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_secure_used"]
4595    pub fn CRYPTO_secure_used() -> usize;
4596}
4597extern "C" {
4598    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_secure_malloc"]
4599    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4600}
4601extern "C" {
4602    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_secure_zalloc"]
4603    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4604}
4605extern "C" {
4606    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_secure_clear_free"]
4607    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4608}
4609pub type CRYPTO_refcount_t = u32;
4610extern "C" {
4611    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_library_init"]
4612    pub fn CRYPTO_library_init();
4613}
4614extern "C" {
4615    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_is_confidential_build"]
4616    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4617}
4618extern "C" {
4619    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_has_asm"]
4620    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4621}
4622extern "C" {
4623    #[link_name = "\u{1}aws_lc_0_41_0_BORINGSSL_self_test"]
4624    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4625}
4626extern "C" {
4627    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4628}
4629extern "C" {
4630    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_pre_sandbox_init"]
4631    pub fn CRYPTO_pre_sandbox_init();
4632}
4633extern "C" {
4634    #[link_name = "\u{1}aws_lc_0_41_0_FIPS_mode"]
4635    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4636}
4637extern "C" {
4638    #[link_name = "\u{1}aws_lc_0_41_0_FIPS_is_entropy_cpu_jitter"]
4639    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4640}
4641extern "C" {
4642    #[link_name = "\u{1}aws_lc_0_41_0_OpenSSL_version"]
4643    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4644}
4645extern "C" {
4646    #[link_name = "\u{1}aws_lc_0_41_0_SSLeay_version"]
4647    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4648}
4649extern "C" {
4650    #[link_name = "\u{1}aws_lc_0_41_0_SSLeay"]
4651    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4652}
4653extern "C" {
4654    #[link_name = "\u{1}aws_lc_0_41_0_OpenSSL_version_num"]
4655    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4656}
4657extern "C" {
4658    #[link_name = "\u{1}aws_lc_0_41_0_awslc_api_version_num"]
4659    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4660}
4661extern "C" {
4662    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_malloc_init"]
4663    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4664}
4665extern "C" {
4666    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_malloc_init"]
4667    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4668}
4669extern "C" {
4670    #[link_name = "\u{1}aws_lc_0_41_0_ENGINE_load_builtin_engines"]
4671    pub fn ENGINE_load_builtin_engines();
4672}
4673extern "C" {
4674    #[link_name = "\u{1}aws_lc_0_41_0_ENGINE_register_all_ciphers"]
4675    pub fn ENGINE_register_all_ciphers();
4676}
4677extern "C" {
4678    #[link_name = "\u{1}aws_lc_0_41_0_ENGINE_register_all_digests"]
4679    pub fn ENGINE_register_all_digests();
4680}
4681extern "C" {
4682    #[link_name = "\u{1}aws_lc_0_41_0_ENGINE_register_all_complete"]
4683    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4684}
4685extern "C" {
4686    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_load_builtin_modules"]
4687    pub fn OPENSSL_load_builtin_modules();
4688}
4689extern "C" {
4690    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_init_crypto"]
4691    pub fn OPENSSL_init_crypto(
4692        opts: u64,
4693        settings: *const OPENSSL_INIT_SETTINGS,
4694    ) -> ::std::os::raw::c_int;
4695}
4696extern "C" {
4697    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_init"]
4698    pub fn OPENSSL_init();
4699}
4700extern "C" {
4701    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_cleanup"]
4702    pub fn OPENSSL_cleanup();
4703}
4704extern "C" {
4705    #[link_name = "\u{1}aws_lc_0_41_0_FIPS_mode_set"]
4706    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4707}
4708extern "C" {
4709    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_mem_ctrl"]
4710    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4711}
4712extern "C" {
4713    #[link_name = "\u{1}aws_lc_0_41_0_ERR_load_BIO_strings"]
4714    pub fn ERR_load_BIO_strings();
4715}
4716extern "C" {
4717    #[link_name = "\u{1}aws_lc_0_41_0_ERR_load_ERR_strings"]
4718    pub fn ERR_load_ERR_strings();
4719}
4720extern "C" {
4721    #[link_name = "\u{1}aws_lc_0_41_0_ERR_load_CRYPTO_strings"]
4722    pub fn ERR_load_CRYPTO_strings();
4723}
4724extern "C" {
4725    #[link_name = "\u{1}aws_lc_0_41_0_ERR_load_crypto_strings"]
4726    pub fn ERR_load_crypto_strings();
4727}
4728extern "C" {
4729    #[link_name = "\u{1}aws_lc_0_41_0_ERR_load_RAND_strings"]
4730    pub fn ERR_load_RAND_strings();
4731}
4732extern "C" {
4733    #[link_name = "\u{1}aws_lc_0_41_0_ERR_free_strings"]
4734    pub fn ERR_free_strings();
4735}
4736extern "C" {
4737    #[link_name = "\u{1}aws_lc_0_41_0_ERR_get_error"]
4738    pub fn ERR_get_error() -> u32;
4739}
4740extern "C" {
4741    #[link_name = "\u{1}aws_lc_0_41_0_ERR_get_error_line"]
4742    pub fn ERR_get_error_line(
4743        file: *mut *const ::std::os::raw::c_char,
4744        line: *mut ::std::os::raw::c_int,
4745    ) -> u32;
4746}
4747extern "C" {
4748    #[link_name = "\u{1}aws_lc_0_41_0_ERR_get_error_line_data"]
4749    pub fn ERR_get_error_line_data(
4750        file: *mut *const ::std::os::raw::c_char,
4751        line: *mut ::std::os::raw::c_int,
4752        data: *mut *const ::std::os::raw::c_char,
4753        flags: *mut ::std::os::raw::c_int,
4754    ) -> u32;
4755}
4756extern "C" {
4757    #[link_name = "\u{1}aws_lc_0_41_0_ERR_peek_error"]
4758    pub fn ERR_peek_error() -> u32;
4759}
4760extern "C" {
4761    #[link_name = "\u{1}aws_lc_0_41_0_ERR_peek_error_line"]
4762    pub fn ERR_peek_error_line(
4763        file: *mut *const ::std::os::raw::c_char,
4764        line: *mut ::std::os::raw::c_int,
4765    ) -> u32;
4766}
4767extern "C" {
4768    #[link_name = "\u{1}aws_lc_0_41_0_ERR_peek_error_line_data"]
4769    pub fn ERR_peek_error_line_data(
4770        file: *mut *const ::std::os::raw::c_char,
4771        line: *mut ::std::os::raw::c_int,
4772        data: *mut *const ::std::os::raw::c_char,
4773        flags: *mut ::std::os::raw::c_int,
4774    ) -> u32;
4775}
4776extern "C" {
4777    #[link_name = "\u{1}aws_lc_0_41_0_ERR_peek_last_error"]
4778    pub fn ERR_peek_last_error() -> u32;
4779}
4780extern "C" {
4781    #[link_name = "\u{1}aws_lc_0_41_0_ERR_peek_last_error_line"]
4782    pub fn ERR_peek_last_error_line(
4783        file: *mut *const ::std::os::raw::c_char,
4784        line: *mut ::std::os::raw::c_int,
4785    ) -> u32;
4786}
4787extern "C" {
4788    #[link_name = "\u{1}aws_lc_0_41_0_ERR_peek_last_error_line_data"]
4789    pub fn ERR_peek_last_error_line_data(
4790        file: *mut *const ::std::os::raw::c_char,
4791        line: *mut ::std::os::raw::c_int,
4792        data: *mut *const ::std::os::raw::c_char,
4793        flags: *mut ::std::os::raw::c_int,
4794    ) -> u32;
4795}
4796extern "C" {
4797    #[link_name = "\u{1}aws_lc_0_41_0_ERR_error_string_n"]
4798    pub fn ERR_error_string_n(
4799        packed_error: u32,
4800        buf: *mut ::std::os::raw::c_char,
4801        len: usize,
4802    ) -> *mut ::std::os::raw::c_char;
4803}
4804extern "C" {
4805    #[link_name = "\u{1}aws_lc_0_41_0_ERR_lib_error_string"]
4806    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4807}
4808extern "C" {
4809    #[link_name = "\u{1}aws_lc_0_41_0_ERR_reason_error_string"]
4810    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4811}
4812pub type ERR_print_errors_callback_t = ::std::option::Option<
4813    unsafe extern "C" fn(
4814        str_: *const ::std::os::raw::c_char,
4815        len: usize,
4816        ctx: *mut ::std::os::raw::c_void,
4817    ) -> ::std::os::raw::c_int,
4818>;
4819extern "C" {
4820    #[link_name = "\u{1}aws_lc_0_41_0_ERR_print_errors_cb"]
4821    pub fn ERR_print_errors_cb(
4822        callback: ERR_print_errors_callback_t,
4823        ctx: *mut ::std::os::raw::c_void,
4824    );
4825}
4826extern "C" {
4827    #[link_name = "\u{1}aws_lc_0_41_0_ERR_clear_error"]
4828    pub fn ERR_clear_error();
4829}
4830extern "C" {
4831    #[link_name = "\u{1}aws_lc_0_41_0_ERR_set_mark"]
4832    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4833}
4834extern "C" {
4835    #[link_name = "\u{1}aws_lc_0_41_0_ERR_pop_to_mark"]
4836    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4837}
4838extern "C" {
4839    #[link_name = "\u{1}aws_lc_0_41_0_ERR_get_next_error_library"]
4840    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4841}
4842extern "C" {
4843    #[link_name = "\u{1}aws_lc_0_41_0_ERR_remove_state"]
4844    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4845}
4846extern "C" {
4847    #[link_name = "\u{1}aws_lc_0_41_0_ERR_remove_thread_state"]
4848    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4849}
4850extern "C" {
4851    #[link_name = "\u{1}aws_lc_0_41_0_ERR_func_error_string"]
4852    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4853}
4854extern "C" {
4855    #[link_name = "\u{1}aws_lc_0_41_0_ERR_error_string"]
4856    pub fn ERR_error_string(
4857        packed_error: u32,
4858        buf: *mut ::std::os::raw::c_char,
4859    ) -> *mut ::std::os::raw::c_char;
4860}
4861extern "C" {
4862    #[link_name = "\u{1}aws_lc_0_41_0_ERR_clear_system_error"]
4863    pub fn ERR_clear_system_error();
4864}
4865extern "C" {
4866    #[link_name = "\u{1}aws_lc_0_41_0_ERR_put_error"]
4867    pub fn ERR_put_error(
4868        library: ::std::os::raw::c_int,
4869        unused: ::std::os::raw::c_int,
4870        reason: ::std::os::raw::c_int,
4871        file: *const ::std::os::raw::c_char,
4872        line: ::std::os::raw::c_uint,
4873    );
4874}
4875extern "C" {
4876    #[link_name = "\u{1}aws_lc_0_41_0_ERR_add_error_data"]
4877    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
4878}
4879extern "C" {
4880    #[link_name = "\u{1}aws_lc_0_41_0_ERR_add_error_dataf"]
4881    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
4882}
4883extern "C" {
4884    #[link_name = "\u{1}aws_lc_0_41_0_ERR_set_error_data"]
4885    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
4886}
4887#[repr(C)]
4888#[derive(Debug, Copy, Clone)]
4889pub struct stack_st_void {
4890    _unused: [u8; 0],
4891}
4892pub type CRYPTO_EX_DATA = crypto_ex_data_st;
4893pub type CRYPTO_EX_free = ::std::option::Option<
4894    unsafe extern "C" fn(
4895        parent: *mut ::std::os::raw::c_void,
4896        ptr: *mut ::std::os::raw::c_void,
4897        ad: *mut CRYPTO_EX_DATA,
4898        index: ::std::os::raw::c_int,
4899        argl: ::std::os::raw::c_long,
4900        argp: *mut ::std::os::raw::c_void,
4901    ),
4902>;
4903pub type CRYPTO_EX_dup = ::std::option::Option<
4904    unsafe extern "C" fn(
4905        to: *mut CRYPTO_EX_DATA,
4906        from: *const CRYPTO_EX_DATA,
4907        from_d: *mut *mut ::std::os::raw::c_void,
4908        index: ::std::os::raw::c_int,
4909        argl: ::std::os::raw::c_long,
4910        argp: *mut ::std::os::raw::c_void,
4911    ) -> ::std::os::raw::c_int,
4912>;
4913pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
4914#[repr(C)]
4915#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4916pub struct crypto_ex_data_st {
4917    pub sk: *mut stack_st_void,
4918}
4919#[test]
4920fn bindgen_test_layout_crypto_ex_data_st() {
4921    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
4922    let ptr = UNINIT.as_ptr();
4923    assert_eq!(
4924        ::std::mem::size_of::<crypto_ex_data_st>(),
4925        8usize,
4926        "Size of crypto_ex_data_st"
4927    );
4928    assert_eq!(
4929        ::std::mem::align_of::<crypto_ex_data_st>(),
4930        8usize,
4931        "Alignment of crypto_ex_data_st"
4932    );
4933    assert_eq!(
4934        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
4935        0usize,
4936        "Offset of field: crypto_ex_data_st::sk"
4937    );
4938}
4939impl Default for crypto_ex_data_st {
4940    fn default() -> Self {
4941        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4942        unsafe {
4943            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4944            s.assume_init()
4945        }
4946    }
4947}
4948pub type bio_info_cb = ::std::option::Option<
4949    unsafe extern "C" fn(
4950        b: *mut BIO,
4951        state: ::std::os::raw::c_int,
4952        res: ::std::os::raw::c_int,
4953    ) -> ::std::os::raw::c_long,
4954>;
4955pub type BIO_callback_fn_ex = ::std::option::Option<
4956    unsafe extern "C" fn(
4957        bio: *mut BIO,
4958        oper: ::std::os::raw::c_int,
4959        argp: *const ::std::os::raw::c_char,
4960        len: usize,
4961        argi: ::std::os::raw::c_int,
4962        argl: ::std::os::raw::c_long,
4963        bio_ret: ::std::os::raw::c_int,
4964        processed: *mut usize,
4965    ) -> ::std::os::raw::c_long,
4966>;
4967pub type BIO_callback_fn = ::std::option::Option<
4968    unsafe extern "C" fn(
4969        bio: *mut BIO,
4970        oper: ::std::os::raw::c_int,
4971        argp: *const ::std::os::raw::c_char,
4972        argi: ::std::os::raw::c_int,
4973        argl: ::std::os::raw::c_long,
4974        bio_ret: ::std::os::raw::c_long,
4975    ) -> ::std::os::raw::c_long,
4976>;
4977#[repr(C)]
4978#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4979pub struct bio_method_st {
4980    pub type_: ::std::os::raw::c_int,
4981    pub name: *const ::std::os::raw::c_char,
4982    pub bwrite: ::std::option::Option<
4983        unsafe extern "C" fn(
4984            arg1: *mut BIO,
4985            arg2: *const ::std::os::raw::c_char,
4986            arg3: ::std::os::raw::c_int,
4987        ) -> ::std::os::raw::c_int,
4988    >,
4989    pub bread: ::std::option::Option<
4990        unsafe extern "C" fn(
4991            arg1: *mut BIO,
4992            arg2: *mut ::std::os::raw::c_char,
4993            arg3: ::std::os::raw::c_int,
4994        ) -> ::std::os::raw::c_int,
4995    >,
4996    pub bputs: ::std::option::Option<
4997        unsafe extern "C" fn(
4998            arg1: *mut BIO,
4999            arg2: *const ::std::os::raw::c_char,
5000        ) -> ::std::os::raw::c_int,
5001    >,
5002    pub bgets: ::std::option::Option<
5003        unsafe extern "C" fn(
5004            arg1: *mut BIO,
5005            arg2: *mut ::std::os::raw::c_char,
5006            arg3: ::std::os::raw::c_int,
5007        ) -> ::std::os::raw::c_int,
5008    >,
5009    pub ctrl: ::std::option::Option<
5010        unsafe extern "C" fn(
5011            arg1: *mut BIO,
5012            arg2: ::std::os::raw::c_int,
5013            arg3: ::std::os::raw::c_long,
5014            arg4: *mut ::std::os::raw::c_void,
5015        ) -> ::std::os::raw::c_long,
5016    >,
5017    pub create:
5018        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5019    pub destroy:
5020        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5021    pub callback_ctrl: ::std::option::Option<
5022        unsafe extern "C" fn(
5023            arg1: *mut BIO,
5024            arg2: ::std::os::raw::c_int,
5025            arg3: bio_info_cb,
5026        ) -> ::std::os::raw::c_long,
5027    >,
5028}
5029#[test]
5030fn bindgen_test_layout_bio_method_st() {
5031    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
5032    let ptr = UNINIT.as_ptr();
5033    assert_eq!(
5034        ::std::mem::size_of::<bio_method_st>(),
5035        80usize,
5036        "Size of bio_method_st"
5037    );
5038    assert_eq!(
5039        ::std::mem::align_of::<bio_method_st>(),
5040        8usize,
5041        "Alignment of bio_method_st"
5042    );
5043    assert_eq!(
5044        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5045        0usize,
5046        "Offset of field: bio_method_st::type_"
5047    );
5048    assert_eq!(
5049        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
5050        8usize,
5051        "Offset of field: bio_method_st::name"
5052    );
5053    assert_eq!(
5054        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5055        16usize,
5056        "Offset of field: bio_method_st::bwrite"
5057    );
5058    assert_eq!(
5059        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5060        24usize,
5061        "Offset of field: bio_method_st::bread"
5062    );
5063    assert_eq!(
5064        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5065        32usize,
5066        "Offset of field: bio_method_st::bputs"
5067    );
5068    assert_eq!(
5069        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5070        40usize,
5071        "Offset of field: bio_method_st::bgets"
5072    );
5073    assert_eq!(
5074        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5075        48usize,
5076        "Offset of field: bio_method_st::ctrl"
5077    );
5078    assert_eq!(
5079        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5080        56usize,
5081        "Offset of field: bio_method_st::create"
5082    );
5083    assert_eq!(
5084        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5085        64usize,
5086        "Offset of field: bio_method_st::destroy"
5087    );
5088    assert_eq!(
5089        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5090        72usize,
5091        "Offset of field: bio_method_st::callback_ctrl"
5092    );
5093}
5094impl Default for bio_method_st {
5095    fn default() -> Self {
5096        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5097        unsafe {
5098            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5099            s.assume_init()
5100        }
5101    }
5102}
5103#[repr(C)]
5104#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5105pub struct bio_st {
5106    pub method: *const BIO_METHOD,
5107    pub ex_data: CRYPTO_EX_DATA,
5108    pub callback_ex: BIO_callback_fn_ex,
5109    pub callback: BIO_callback_fn,
5110    pub cb_arg: *mut ::std::os::raw::c_char,
5111    pub init: ::std::os::raw::c_int,
5112    pub shutdown: ::std::os::raw::c_int,
5113    pub flags: ::std::os::raw::c_int,
5114    pub retry_reason: ::std::os::raw::c_int,
5115    pub num: ::std::os::raw::c_int,
5116    pub references: CRYPTO_refcount_t,
5117    pub ptr: *mut ::std::os::raw::c_void,
5118    pub next_bio: *mut BIO,
5119    pub num_read: u64,
5120    pub num_write: u64,
5121}
5122#[test]
5123fn bindgen_test_layout_bio_st() {
5124    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5125    let ptr = UNINIT.as_ptr();
5126    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5127    assert_eq!(
5128        ::std::mem::align_of::<bio_st>(),
5129        8usize,
5130        "Alignment of bio_st"
5131    );
5132    assert_eq!(
5133        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5134        0usize,
5135        "Offset of field: bio_st::method"
5136    );
5137    assert_eq!(
5138        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5139        8usize,
5140        "Offset of field: bio_st::ex_data"
5141    );
5142    assert_eq!(
5143        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5144        16usize,
5145        "Offset of field: bio_st::callback_ex"
5146    );
5147    assert_eq!(
5148        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5149        24usize,
5150        "Offset of field: bio_st::callback"
5151    );
5152    assert_eq!(
5153        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5154        32usize,
5155        "Offset of field: bio_st::cb_arg"
5156    );
5157    assert_eq!(
5158        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5159        40usize,
5160        "Offset of field: bio_st::init"
5161    );
5162    assert_eq!(
5163        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5164        44usize,
5165        "Offset of field: bio_st::shutdown"
5166    );
5167    assert_eq!(
5168        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5169        48usize,
5170        "Offset of field: bio_st::flags"
5171    );
5172    assert_eq!(
5173        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5174        52usize,
5175        "Offset of field: bio_st::retry_reason"
5176    );
5177    assert_eq!(
5178        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5179        56usize,
5180        "Offset of field: bio_st::num"
5181    );
5182    assert_eq!(
5183        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5184        60usize,
5185        "Offset of field: bio_st::references"
5186    );
5187    assert_eq!(
5188        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5189        64usize,
5190        "Offset of field: bio_st::ptr"
5191    );
5192    assert_eq!(
5193        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5194        72usize,
5195        "Offset of field: bio_st::next_bio"
5196    );
5197    assert_eq!(
5198        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5199        80usize,
5200        "Offset of field: bio_st::num_read"
5201    );
5202    assert_eq!(
5203        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5204        88usize,
5205        "Offset of field: bio_st::num_write"
5206    );
5207}
5208impl Default for bio_st {
5209    fn default() -> Self {
5210        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5211        unsafe {
5212            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5213            s.assume_init()
5214        }
5215    }
5216}
5217pub type BN_ULONG = u64;
5218extern "C" {
5219    #[link_name = "\u{1}aws_lc_0_41_0_BN_new"]
5220    pub fn BN_new() -> *mut BIGNUM;
5221}
5222extern "C" {
5223    #[link_name = "\u{1}aws_lc_0_41_0_BN_init"]
5224    pub fn BN_init(bn: *mut BIGNUM);
5225}
5226extern "C" {
5227    #[link_name = "\u{1}aws_lc_0_41_0_BN_free"]
5228    pub fn BN_free(bn: *mut BIGNUM);
5229}
5230extern "C" {
5231    #[link_name = "\u{1}aws_lc_0_41_0_BN_clear_free"]
5232    pub fn BN_clear_free(bn: *mut BIGNUM);
5233}
5234extern "C" {
5235    #[link_name = "\u{1}aws_lc_0_41_0_BN_dup"]
5236    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5237}
5238extern "C" {
5239    #[link_name = "\u{1}aws_lc_0_41_0_BN_copy"]
5240    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5241}
5242extern "C" {
5243    #[link_name = "\u{1}aws_lc_0_41_0_BN_clear"]
5244    pub fn BN_clear(bn: *mut BIGNUM);
5245}
5246extern "C" {
5247    #[link_name = "\u{1}aws_lc_0_41_0_BN_value_one"]
5248    pub fn BN_value_one() -> *const BIGNUM;
5249}
5250extern "C" {
5251    #[link_name = "\u{1}aws_lc_0_41_0_BN_num_bits"]
5252    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5253}
5254extern "C" {
5255    #[link_name = "\u{1}aws_lc_0_41_0_BN_num_bytes"]
5256    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5257}
5258extern "C" {
5259    #[link_name = "\u{1}aws_lc_0_41_0_BN_get_minimal_width"]
5260    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5261}
5262extern "C" {
5263    #[link_name = "\u{1}aws_lc_0_41_0_BN_zero"]
5264    pub fn BN_zero(bn: *mut BIGNUM);
5265}
5266extern "C" {
5267    #[link_name = "\u{1}aws_lc_0_41_0_BN_one"]
5268    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5269}
5270extern "C" {
5271    #[link_name = "\u{1}aws_lc_0_41_0_BN_set_word"]
5272    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5273}
5274extern "C" {
5275    #[link_name = "\u{1}aws_lc_0_41_0_BN_set_u64"]
5276    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5277}
5278extern "C" {
5279    #[link_name = "\u{1}aws_lc_0_41_0_BN_set_negative"]
5280    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5281}
5282extern "C" {
5283    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_negative"]
5284    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5285}
5286extern "C" {
5287    #[link_name = "\u{1}aws_lc_0_41_0_BN_bin2bn"]
5288    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5289}
5290extern "C" {
5291    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2bin"]
5292    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5293}
5294extern "C" {
5295    #[link_name = "\u{1}aws_lc_0_41_0_BN_le2bn"]
5296    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5297}
5298extern "C" {
5299    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2le_padded"]
5300    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5301}
5302extern "C" {
5303    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2bin_padded"]
5304    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5305}
5306extern "C" {
5307    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2cbb_padded"]
5308    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5309        -> ::std::os::raw::c_int;
5310}
5311extern "C" {
5312    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2hex"]
5313    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5314}
5315extern "C" {
5316    #[link_name = "\u{1}aws_lc_0_41_0_BN_hex2bn"]
5317    pub fn BN_hex2bn(
5318        outp: *mut *mut BIGNUM,
5319        in_: *const ::std::os::raw::c_char,
5320    ) -> ::std::os::raw::c_int;
5321}
5322extern "C" {
5323    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2dec"]
5324    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5325}
5326extern "C" {
5327    #[link_name = "\u{1}aws_lc_0_41_0_BN_dec2bn"]
5328    pub fn BN_dec2bn(
5329        outp: *mut *mut BIGNUM,
5330        in_: *const ::std::os::raw::c_char,
5331    ) -> ::std::os::raw::c_int;
5332}
5333extern "C" {
5334    #[link_name = "\u{1}aws_lc_0_41_0_BN_asc2bn"]
5335    pub fn BN_asc2bn(
5336        outp: *mut *mut BIGNUM,
5337        in_: *const ::std::os::raw::c_char,
5338    ) -> ::std::os::raw::c_int;
5339}
5340extern "C" {
5341    #[link_name = "\u{1}aws_lc_0_41_0_BN_print"]
5342    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5343}
5344extern "C" {
5345    #[link_name = "\u{1}aws_lc_0_41_0_BN_get_word"]
5346    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5347}
5348extern "C" {
5349    #[link_name = "\u{1}aws_lc_0_41_0_BN_get_u64"]
5350    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5351}
5352extern "C" {
5353    #[link_name = "\u{1}aws_lc_0_41_0_BN_get_flags"]
5354    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5355}
5356extern "C" {
5357    #[link_name = "\u{1}aws_lc_0_41_0_BN_parse_asn1_unsigned"]
5358    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5359}
5360extern "C" {
5361    #[link_name = "\u{1}aws_lc_0_41_0_BN_marshal_asn1"]
5362    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5363}
5364extern "C" {
5365    #[link_name = "\u{1}aws_lc_0_41_0_BN_CTX_new"]
5366    pub fn BN_CTX_new() -> *mut BN_CTX;
5367}
5368extern "C" {
5369    #[link_name = "\u{1}aws_lc_0_41_0_BN_CTX_free"]
5370    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5371}
5372extern "C" {
5373    #[link_name = "\u{1}aws_lc_0_41_0_BN_CTX_start"]
5374    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5375}
5376extern "C" {
5377    #[link_name = "\u{1}aws_lc_0_41_0_BN_CTX_get"]
5378    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5379}
5380extern "C" {
5381    #[link_name = "\u{1}aws_lc_0_41_0_BN_CTX_end"]
5382    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5383}
5384extern "C" {
5385    #[link_name = "\u{1}aws_lc_0_41_0_BN_add"]
5386    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5387}
5388extern "C" {
5389    #[link_name = "\u{1}aws_lc_0_41_0_BN_uadd"]
5390    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5391}
5392extern "C" {
5393    #[link_name = "\u{1}aws_lc_0_41_0_BN_add_word"]
5394    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5395}
5396extern "C" {
5397    #[link_name = "\u{1}aws_lc_0_41_0_BN_sub"]
5398    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5399}
5400extern "C" {
5401    #[link_name = "\u{1}aws_lc_0_41_0_BN_usub"]
5402    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5403}
5404extern "C" {
5405    #[link_name = "\u{1}aws_lc_0_41_0_BN_sub_word"]
5406    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5407}
5408extern "C" {
5409    #[link_name = "\u{1}aws_lc_0_41_0_BN_mul"]
5410    pub fn BN_mul(
5411        r: *mut BIGNUM,
5412        a: *const BIGNUM,
5413        b: *const BIGNUM,
5414        ctx: *mut BN_CTX,
5415    ) -> ::std::os::raw::c_int;
5416}
5417extern "C" {
5418    #[link_name = "\u{1}aws_lc_0_41_0_BN_mul_word"]
5419    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5420}
5421extern "C" {
5422    #[link_name = "\u{1}aws_lc_0_41_0_BN_sqr"]
5423    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5424}
5425extern "C" {
5426    #[link_name = "\u{1}aws_lc_0_41_0_BN_div"]
5427    pub fn BN_div(
5428        quotient: *mut BIGNUM,
5429        rem: *mut BIGNUM,
5430        numerator: *const BIGNUM,
5431        divisor: *const BIGNUM,
5432        ctx: *mut BN_CTX,
5433    ) -> ::std::os::raw::c_int;
5434}
5435extern "C" {
5436    #[link_name = "\u{1}aws_lc_0_41_0_BN_div_word"]
5437    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5438}
5439extern "C" {
5440    #[link_name = "\u{1}aws_lc_0_41_0_BN_sqrt"]
5441    pub fn BN_sqrt(
5442        out_sqrt: *mut BIGNUM,
5443        in_: *const BIGNUM,
5444        ctx: *mut BN_CTX,
5445    ) -> ::std::os::raw::c_int;
5446}
5447extern "C" {
5448    #[link_name = "\u{1}aws_lc_0_41_0_BN_cmp"]
5449    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5450}
5451extern "C" {
5452    #[link_name = "\u{1}aws_lc_0_41_0_BN_cmp_word"]
5453    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5454}
5455extern "C" {
5456    #[link_name = "\u{1}aws_lc_0_41_0_BN_ucmp"]
5457    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5458}
5459extern "C" {
5460    #[link_name = "\u{1}aws_lc_0_41_0_BN_equal_consttime"]
5461    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5462}
5463extern "C" {
5464    #[link_name = "\u{1}aws_lc_0_41_0_BN_abs_is_word"]
5465    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5466}
5467extern "C" {
5468    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_zero"]
5469    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5470}
5471extern "C" {
5472    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_one"]
5473    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5474}
5475extern "C" {
5476    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_word"]
5477    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5478}
5479extern "C" {
5480    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_odd"]
5481    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5482}
5483extern "C" {
5484    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_pow2"]
5485    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5486}
5487extern "C" {
5488    #[link_name = "\u{1}aws_lc_0_41_0_BN_lshift"]
5489    pub fn BN_lshift(
5490        r: *mut BIGNUM,
5491        a: *const BIGNUM,
5492        n: ::std::os::raw::c_int,
5493    ) -> ::std::os::raw::c_int;
5494}
5495extern "C" {
5496    #[link_name = "\u{1}aws_lc_0_41_0_BN_lshift1"]
5497    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5498}
5499extern "C" {
5500    #[link_name = "\u{1}aws_lc_0_41_0_BN_rshift"]
5501    pub fn BN_rshift(
5502        r: *mut BIGNUM,
5503        a: *const BIGNUM,
5504        n: ::std::os::raw::c_int,
5505    ) -> ::std::os::raw::c_int;
5506}
5507extern "C" {
5508    #[link_name = "\u{1}aws_lc_0_41_0_BN_rshift1"]
5509    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5510}
5511extern "C" {
5512    #[link_name = "\u{1}aws_lc_0_41_0_BN_set_bit"]
5513    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5514}
5515extern "C" {
5516    #[link_name = "\u{1}aws_lc_0_41_0_BN_clear_bit"]
5517    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5518}
5519extern "C" {
5520    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_bit_set"]
5521    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5522}
5523extern "C" {
5524    #[link_name = "\u{1}aws_lc_0_41_0_BN_mask_bits"]
5525    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5526}
5527extern "C" {
5528    #[link_name = "\u{1}aws_lc_0_41_0_BN_count_low_zero_bits"]
5529    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5530}
5531extern "C" {
5532    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_word"]
5533    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5534}
5535extern "C" {
5536    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_pow2"]
5537    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5538}
5539extern "C" {
5540    #[link_name = "\u{1}aws_lc_0_41_0_BN_nnmod_pow2"]
5541    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5542}
5543extern "C" {
5544    #[link_name = "\u{1}aws_lc_0_41_0_BN_nnmod"]
5545    pub fn BN_nnmod(
5546        rem: *mut BIGNUM,
5547        numerator: *const BIGNUM,
5548        divisor: *const BIGNUM,
5549        ctx: *mut BN_CTX,
5550    ) -> ::std::os::raw::c_int;
5551}
5552extern "C" {
5553    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_add"]
5554    pub fn BN_mod_add(
5555        r: *mut BIGNUM,
5556        a: *const BIGNUM,
5557        b: *const BIGNUM,
5558        m: *const BIGNUM,
5559        ctx: *mut BN_CTX,
5560    ) -> ::std::os::raw::c_int;
5561}
5562extern "C" {
5563    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_add_quick"]
5564    pub fn BN_mod_add_quick(
5565        r: *mut BIGNUM,
5566        a: *const BIGNUM,
5567        b: *const BIGNUM,
5568        m: *const BIGNUM,
5569    ) -> ::std::os::raw::c_int;
5570}
5571extern "C" {
5572    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_sub"]
5573    pub fn BN_mod_sub(
5574        r: *mut BIGNUM,
5575        a: *const BIGNUM,
5576        b: *const BIGNUM,
5577        m: *const BIGNUM,
5578        ctx: *mut BN_CTX,
5579    ) -> ::std::os::raw::c_int;
5580}
5581extern "C" {
5582    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_sub_quick"]
5583    pub fn BN_mod_sub_quick(
5584        r: *mut BIGNUM,
5585        a: *const BIGNUM,
5586        b: *const BIGNUM,
5587        m: *const BIGNUM,
5588    ) -> ::std::os::raw::c_int;
5589}
5590extern "C" {
5591    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_mul"]
5592    pub fn BN_mod_mul(
5593        r: *mut BIGNUM,
5594        a: *const BIGNUM,
5595        b: *const BIGNUM,
5596        m: *const BIGNUM,
5597        ctx: *mut BN_CTX,
5598    ) -> ::std::os::raw::c_int;
5599}
5600extern "C" {
5601    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_sqr"]
5602    pub fn BN_mod_sqr(
5603        r: *mut BIGNUM,
5604        a: *const BIGNUM,
5605        m: *const BIGNUM,
5606        ctx: *mut BN_CTX,
5607    ) -> ::std::os::raw::c_int;
5608}
5609extern "C" {
5610    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_lshift"]
5611    pub fn BN_mod_lshift(
5612        r: *mut BIGNUM,
5613        a: *const BIGNUM,
5614        n: ::std::os::raw::c_int,
5615        m: *const BIGNUM,
5616        ctx: *mut BN_CTX,
5617    ) -> ::std::os::raw::c_int;
5618}
5619extern "C" {
5620    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_lshift_quick"]
5621    pub fn BN_mod_lshift_quick(
5622        r: *mut BIGNUM,
5623        a: *const BIGNUM,
5624        n: ::std::os::raw::c_int,
5625        m: *const BIGNUM,
5626    ) -> ::std::os::raw::c_int;
5627}
5628extern "C" {
5629    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_lshift1"]
5630    pub fn BN_mod_lshift1(
5631        r: *mut BIGNUM,
5632        a: *const BIGNUM,
5633        m: *const BIGNUM,
5634        ctx: *mut BN_CTX,
5635    ) -> ::std::os::raw::c_int;
5636}
5637extern "C" {
5638    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_lshift1_quick"]
5639    pub fn BN_mod_lshift1_quick(
5640        r: *mut BIGNUM,
5641        a: *const BIGNUM,
5642        m: *const BIGNUM,
5643    ) -> ::std::os::raw::c_int;
5644}
5645extern "C" {
5646    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_sqrt"]
5647    pub fn BN_mod_sqrt(
5648        in_: *mut BIGNUM,
5649        a: *const BIGNUM,
5650        p: *const BIGNUM,
5651        ctx: *mut BN_CTX,
5652    ) -> *mut BIGNUM;
5653}
5654extern "C" {
5655    #[link_name = "\u{1}aws_lc_0_41_0_BN_rand"]
5656    pub fn BN_rand(
5657        rnd: *mut BIGNUM,
5658        bits: ::std::os::raw::c_int,
5659        top: ::std::os::raw::c_int,
5660        bottom: ::std::os::raw::c_int,
5661    ) -> ::std::os::raw::c_int;
5662}
5663extern "C" {
5664    #[link_name = "\u{1}aws_lc_0_41_0_BN_pseudo_rand"]
5665    pub fn BN_pseudo_rand(
5666        rnd: *mut BIGNUM,
5667        bits: ::std::os::raw::c_int,
5668        top: ::std::os::raw::c_int,
5669        bottom: ::std::os::raw::c_int,
5670    ) -> ::std::os::raw::c_int;
5671}
5672extern "C" {
5673    #[link_name = "\u{1}aws_lc_0_41_0_BN_rand_range"]
5674    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5675}
5676extern "C" {
5677    #[link_name = "\u{1}aws_lc_0_41_0_BN_rand_range_ex"]
5678    pub fn BN_rand_range_ex(
5679        r: *mut BIGNUM,
5680        min_inclusive: BN_ULONG,
5681        max_exclusive: *const BIGNUM,
5682    ) -> ::std::os::raw::c_int;
5683}
5684extern "C" {
5685    #[link_name = "\u{1}aws_lc_0_41_0_BN_pseudo_rand_range"]
5686    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5687}
5688#[repr(C)]
5689#[derive(Copy, Clone)]
5690pub struct bn_gencb_st {
5691    pub type_: u8,
5692    pub arg: *mut ::std::os::raw::c_void,
5693    pub callback: bn_gencb_st__bindgen_ty_1,
5694}
5695#[repr(C)]
5696#[derive(Copy, Clone)]
5697pub union bn_gencb_st__bindgen_ty_1 {
5698    pub new_style: ::std::option::Option<
5699        unsafe extern "C" fn(
5700            event: ::std::os::raw::c_int,
5701            n: ::std::os::raw::c_int,
5702            arg1: *mut bn_gencb_st,
5703        ) -> ::std::os::raw::c_int,
5704    >,
5705    pub old_style: ::std::option::Option<
5706        unsafe extern "C" fn(
5707            arg1: ::std::os::raw::c_int,
5708            arg2: ::std::os::raw::c_int,
5709            arg3: *mut ::std::os::raw::c_void,
5710        ),
5711    >,
5712}
5713#[test]
5714fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5715    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5716        ::std::mem::MaybeUninit::uninit();
5717    let ptr = UNINIT.as_ptr();
5718    assert_eq!(
5719        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5720        8usize,
5721        "Size of bn_gencb_st__bindgen_ty_1"
5722    );
5723    assert_eq!(
5724        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5725        8usize,
5726        "Alignment of bn_gencb_st__bindgen_ty_1"
5727    );
5728    assert_eq!(
5729        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5730        0usize,
5731        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5732    );
5733    assert_eq!(
5734        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5735        0usize,
5736        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5737    );
5738}
5739impl Default for bn_gencb_st__bindgen_ty_1 {
5740    fn default() -> Self {
5741        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5742        unsafe {
5743            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5744            s.assume_init()
5745        }
5746    }
5747}
5748#[test]
5749fn bindgen_test_layout_bn_gencb_st() {
5750    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5751    let ptr = UNINIT.as_ptr();
5752    assert_eq!(
5753        ::std::mem::size_of::<bn_gencb_st>(),
5754        24usize,
5755        "Size of bn_gencb_st"
5756    );
5757    assert_eq!(
5758        ::std::mem::align_of::<bn_gencb_st>(),
5759        8usize,
5760        "Alignment of bn_gencb_st"
5761    );
5762    assert_eq!(
5763        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5764        0usize,
5765        "Offset of field: bn_gencb_st::type_"
5766    );
5767    assert_eq!(
5768        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5769        8usize,
5770        "Offset of field: bn_gencb_st::arg"
5771    );
5772    assert_eq!(
5773        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5774        16usize,
5775        "Offset of field: bn_gencb_st::callback"
5776    );
5777}
5778impl Default for bn_gencb_st {
5779    fn default() -> Self {
5780        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5781        unsafe {
5782            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5783            s.assume_init()
5784        }
5785    }
5786}
5787extern "C" {
5788    #[link_name = "\u{1}aws_lc_0_41_0_BN_GENCB_new"]
5789    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5790}
5791extern "C" {
5792    #[link_name = "\u{1}aws_lc_0_41_0_BN_GENCB_free"]
5793    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5794}
5795extern "C" {
5796    #[link_name = "\u{1}aws_lc_0_41_0_BN_GENCB_set"]
5797    pub fn BN_GENCB_set(
5798        callback: *mut BN_GENCB,
5799        f: ::std::option::Option<
5800            unsafe extern "C" fn(
5801                event: ::std::os::raw::c_int,
5802                n: ::std::os::raw::c_int,
5803                arg1: *mut BN_GENCB,
5804            ) -> ::std::os::raw::c_int,
5805        >,
5806        arg: *mut ::std::os::raw::c_void,
5807    );
5808}
5809extern "C" {
5810    #[link_name = "\u{1}aws_lc_0_41_0_BN_GENCB_call"]
5811    pub fn BN_GENCB_call(
5812        callback: *mut BN_GENCB,
5813        event: ::std::os::raw::c_int,
5814        n: ::std::os::raw::c_int,
5815    ) -> ::std::os::raw::c_int;
5816}
5817extern "C" {
5818    #[link_name = "\u{1}aws_lc_0_41_0_BN_GENCB_get_arg"]
5819    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5820}
5821extern "C" {
5822    #[link_name = "\u{1}aws_lc_0_41_0_BN_generate_prime_ex"]
5823    pub fn BN_generate_prime_ex(
5824        ret: *mut BIGNUM,
5825        bits: ::std::os::raw::c_int,
5826        safe: ::std::os::raw::c_int,
5827        add: *const BIGNUM,
5828        rem: *const BIGNUM,
5829        cb: *mut BN_GENCB,
5830    ) -> ::std::os::raw::c_int;
5831}
5832pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5833pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5834pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5835pub type bn_primality_result_t = ::std::os::raw::c_uint;
5836extern "C" {
5837    #[link_name = "\u{1}aws_lc_0_41_0_BN_enhanced_miller_rabin_primality_test"]
5838    pub fn BN_enhanced_miller_rabin_primality_test(
5839        out_result: *mut bn_primality_result_t,
5840        w: *const BIGNUM,
5841        checks: ::std::os::raw::c_int,
5842        ctx: *mut BN_CTX,
5843        cb: *mut BN_GENCB,
5844    ) -> ::std::os::raw::c_int;
5845}
5846extern "C" {
5847    #[link_name = "\u{1}aws_lc_0_41_0_BN_primality_test"]
5848    pub fn BN_primality_test(
5849        is_probably_prime: *mut ::std::os::raw::c_int,
5850        candidate: *const BIGNUM,
5851        checks: ::std::os::raw::c_int,
5852        ctx: *mut BN_CTX,
5853        do_trial_division: ::std::os::raw::c_int,
5854        cb: *mut BN_GENCB,
5855    ) -> ::std::os::raw::c_int;
5856}
5857extern "C" {
5858    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_prime_fasttest_ex"]
5859    pub fn BN_is_prime_fasttest_ex(
5860        candidate: *const BIGNUM,
5861        checks: ::std::os::raw::c_int,
5862        ctx: *mut BN_CTX,
5863        do_trial_division: ::std::os::raw::c_int,
5864        cb: *mut BN_GENCB,
5865    ) -> ::std::os::raw::c_int;
5866}
5867extern "C" {
5868    #[link_name = "\u{1}aws_lc_0_41_0_BN_is_prime_ex"]
5869    pub fn BN_is_prime_ex(
5870        candidate: *const BIGNUM,
5871        checks: ::std::os::raw::c_int,
5872        ctx: *mut BN_CTX,
5873        cb: *mut BN_GENCB,
5874    ) -> ::std::os::raw::c_int;
5875}
5876extern "C" {
5877    #[link_name = "\u{1}aws_lc_0_41_0_BN_gcd"]
5878    pub fn BN_gcd(
5879        r: *mut BIGNUM,
5880        a: *const BIGNUM,
5881        b: *const BIGNUM,
5882        ctx: *mut BN_CTX,
5883    ) -> ::std::os::raw::c_int;
5884}
5885extern "C" {
5886    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_inverse"]
5887    pub fn BN_mod_inverse(
5888        out: *mut BIGNUM,
5889        a: *const BIGNUM,
5890        n: *const BIGNUM,
5891        ctx: *mut BN_CTX,
5892    ) -> *mut BIGNUM;
5893}
5894extern "C" {
5895    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_inverse_blinded"]
5896    pub fn BN_mod_inverse_blinded(
5897        out: *mut BIGNUM,
5898        out_no_inverse: *mut ::std::os::raw::c_int,
5899        a: *const BIGNUM,
5900        mont: *const BN_MONT_CTX,
5901        ctx: *mut BN_CTX,
5902    ) -> ::std::os::raw::c_int;
5903}
5904extern "C" {
5905    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_inverse_odd"]
5906    pub fn BN_mod_inverse_odd(
5907        out: *mut BIGNUM,
5908        out_no_inverse: *mut ::std::os::raw::c_int,
5909        a: *const BIGNUM,
5910        n: *const BIGNUM,
5911        ctx: *mut BN_CTX,
5912    ) -> ::std::os::raw::c_int;
5913}
5914extern "C" {
5915    #[link_name = "\u{1}aws_lc_0_41_0_BN_MONT_CTX_new_for_modulus"]
5916    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5917}
5918extern "C" {
5919    #[link_name = "\u{1}aws_lc_0_41_0_BN_MONT_CTX_new_consttime"]
5920    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5921}
5922extern "C" {
5923    #[link_name = "\u{1}aws_lc_0_41_0_BN_MONT_CTX_free"]
5924    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
5925}
5926extern "C" {
5927    #[link_name = "\u{1}aws_lc_0_41_0_BN_MONT_CTX_copy"]
5928    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
5929}
5930extern "C" {
5931    #[link_name = "\u{1}aws_lc_0_41_0_BN_to_montgomery"]
5932    pub fn BN_to_montgomery(
5933        ret: *mut BIGNUM,
5934        a: *const BIGNUM,
5935        mont: *const BN_MONT_CTX,
5936        ctx: *mut BN_CTX,
5937    ) -> ::std::os::raw::c_int;
5938}
5939extern "C" {
5940    #[link_name = "\u{1}aws_lc_0_41_0_BN_from_montgomery"]
5941    pub fn BN_from_montgomery(
5942        ret: *mut BIGNUM,
5943        a: *const BIGNUM,
5944        mont: *const BN_MONT_CTX,
5945        ctx: *mut BN_CTX,
5946    ) -> ::std::os::raw::c_int;
5947}
5948extern "C" {
5949    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_mul_montgomery"]
5950    pub fn BN_mod_mul_montgomery(
5951        r: *mut BIGNUM,
5952        a: *const BIGNUM,
5953        b: *const BIGNUM,
5954        mont: *const BN_MONT_CTX,
5955        ctx: *mut BN_CTX,
5956    ) -> ::std::os::raw::c_int;
5957}
5958extern "C" {
5959    #[link_name = "\u{1}aws_lc_0_41_0_BN_exp"]
5960    pub fn BN_exp(
5961        r: *mut BIGNUM,
5962        a: *const BIGNUM,
5963        p: *const BIGNUM,
5964        ctx: *mut BN_CTX,
5965    ) -> ::std::os::raw::c_int;
5966}
5967extern "C" {
5968    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_exp"]
5969    pub fn BN_mod_exp(
5970        r: *mut BIGNUM,
5971        a: *const BIGNUM,
5972        p: *const BIGNUM,
5973        m: *const BIGNUM,
5974        ctx: *mut BN_CTX,
5975    ) -> ::std::os::raw::c_int;
5976}
5977extern "C" {
5978    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_exp_mont"]
5979    pub fn BN_mod_exp_mont(
5980        r: *mut BIGNUM,
5981        a: *const BIGNUM,
5982        p: *const BIGNUM,
5983        m: *const BIGNUM,
5984        ctx: *mut BN_CTX,
5985        mont: *const BN_MONT_CTX,
5986    ) -> ::std::os::raw::c_int;
5987}
5988extern "C" {
5989    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_exp_mont_consttime"]
5990    pub fn BN_mod_exp_mont_consttime(
5991        rr: *mut BIGNUM,
5992        a: *const BIGNUM,
5993        p: *const BIGNUM,
5994        m: *const BIGNUM,
5995        ctx: *mut BN_CTX,
5996        mont: *const BN_MONT_CTX,
5997    ) -> ::std::os::raw::c_int;
5998}
5999extern "C" {
6000    #[link_name = "\u{1}aws_lc_0_41_0_BN_GENCB_set_old"]
6001    pub fn BN_GENCB_set_old(
6002        callback: *mut BN_GENCB,
6003        f: ::std::option::Option<
6004            unsafe extern "C" fn(
6005                arg1: ::std::os::raw::c_int,
6006                arg2: ::std::os::raw::c_int,
6007                arg3: *mut ::std::os::raw::c_void,
6008            ),
6009        >,
6010        cb_arg: *mut ::std::os::raw::c_void,
6011    );
6012}
6013extern "C" {
6014    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2mpi"]
6015    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
6016}
6017extern "C" {
6018    #[link_name = "\u{1}aws_lc_0_41_0_BN_mpi2bn"]
6019    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
6020}
6021extern "C" {
6022    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_exp_mont_word"]
6023    pub fn BN_mod_exp_mont_word(
6024        r: *mut BIGNUM,
6025        a: BN_ULONG,
6026        p: *const BIGNUM,
6027        m: *const BIGNUM,
6028        ctx: *mut BN_CTX,
6029        mont: *const BN_MONT_CTX,
6030    ) -> ::std::os::raw::c_int;
6031}
6032extern "C" {
6033    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_exp2_mont"]
6034    pub fn BN_mod_exp2_mont(
6035        r: *mut BIGNUM,
6036        a1: *const BIGNUM,
6037        p1: *const BIGNUM,
6038        a2: *const BIGNUM,
6039        p2: *const BIGNUM,
6040        m: *const BIGNUM,
6041        ctx: *mut BN_CTX,
6042        mont: *const BN_MONT_CTX,
6043    ) -> ::std::os::raw::c_int;
6044}
6045extern "C" {
6046    #[link_name = "\u{1}aws_lc_0_41_0_BN_MONT_CTX_new"]
6047    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
6048}
6049extern "C" {
6050    #[link_name = "\u{1}aws_lc_0_41_0_BN_MONT_CTX_set"]
6051    pub fn BN_MONT_CTX_set(
6052        mont: *mut BN_MONT_CTX,
6053        mod_: *const BIGNUM,
6054        ctx: *mut BN_CTX,
6055    ) -> ::std::os::raw::c_int;
6056}
6057extern "C" {
6058    #[link_name = "\u{1}aws_lc_0_41_0_BN_bn2binpad"]
6059    pub fn BN_bn2binpad(
6060        in_: *const BIGNUM,
6061        out: *mut u8,
6062        len: ::std::os::raw::c_int,
6063    ) -> ::std::os::raw::c_int;
6064}
6065extern "C" {
6066    #[link_name = "\u{1}aws_lc_0_41_0_BN_secure_new"]
6067    pub fn BN_secure_new() -> *mut BIGNUM;
6068}
6069extern "C" {
6070    #[link_name = "\u{1}aws_lc_0_41_0_BN_CTX_secure_new"]
6071    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6072}
6073extern "C" {
6074    #[link_name = "\u{1}aws_lc_0_41_0_BN_mod_exp_mont_consttime_x2"]
6075    pub fn BN_mod_exp_mont_consttime_x2(
6076        rr1: *mut BIGNUM,
6077        a1: *const BIGNUM,
6078        p1: *const BIGNUM,
6079        m1: *const BIGNUM,
6080        in_mont1: *const BN_MONT_CTX,
6081        rr2: *mut BIGNUM,
6082        a2: *const BIGNUM,
6083        p2: *const BIGNUM,
6084        m2: *const BIGNUM,
6085        in_mont2: *const BN_MONT_CTX,
6086        ctx: *mut BN_CTX,
6087    ) -> ::std::os::raw::c_int;
6088}
6089extern "C" {
6090    #[link_name = "\u{1}aws_lc_0_41_0_BN_set_flags"]
6091    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6092}
6093#[repr(C)]
6094#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6095pub struct bignum_st {
6096    pub d: *mut BN_ULONG,
6097    pub width: ::std::os::raw::c_int,
6098    pub dmax: ::std::os::raw::c_int,
6099    pub neg: ::std::os::raw::c_int,
6100    pub flags: ::std::os::raw::c_int,
6101}
6102#[test]
6103fn bindgen_test_layout_bignum_st() {
6104    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6105    let ptr = UNINIT.as_ptr();
6106    assert_eq!(
6107        ::std::mem::size_of::<bignum_st>(),
6108        24usize,
6109        "Size of bignum_st"
6110    );
6111    assert_eq!(
6112        ::std::mem::align_of::<bignum_st>(),
6113        8usize,
6114        "Alignment of bignum_st"
6115    );
6116    assert_eq!(
6117        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6118        0usize,
6119        "Offset of field: bignum_st::d"
6120    );
6121    assert_eq!(
6122        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6123        8usize,
6124        "Offset of field: bignum_st::width"
6125    );
6126    assert_eq!(
6127        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6128        12usize,
6129        "Offset of field: bignum_st::dmax"
6130    );
6131    assert_eq!(
6132        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6133        16usize,
6134        "Offset of field: bignum_st::neg"
6135    );
6136    assert_eq!(
6137        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6138        20usize,
6139        "Offset of field: bignum_st::flags"
6140    );
6141}
6142impl Default for bignum_st {
6143    fn default() -> Self {
6144        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6145        unsafe {
6146            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6147            s.assume_init()
6148        }
6149    }
6150}
6151#[repr(C)]
6152#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6153pub struct bn_mont_ctx_st {
6154    pub RR: BIGNUM,
6155    pub N: BIGNUM,
6156    pub n0: [BN_ULONG; 2usize],
6157}
6158#[test]
6159fn bindgen_test_layout_bn_mont_ctx_st() {
6160    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6161    let ptr = UNINIT.as_ptr();
6162    assert_eq!(
6163        ::std::mem::size_of::<bn_mont_ctx_st>(),
6164        64usize,
6165        "Size of bn_mont_ctx_st"
6166    );
6167    assert_eq!(
6168        ::std::mem::align_of::<bn_mont_ctx_st>(),
6169        8usize,
6170        "Alignment of bn_mont_ctx_st"
6171    );
6172    assert_eq!(
6173        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6174        0usize,
6175        "Offset of field: bn_mont_ctx_st::RR"
6176    );
6177    assert_eq!(
6178        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6179        24usize,
6180        "Offset of field: bn_mont_ctx_st::N"
6181    );
6182    assert_eq!(
6183        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6184        48usize,
6185        "Offset of field: bn_mont_ctx_st::n0"
6186    );
6187}
6188impl Default for bn_mont_ctx_st {
6189    fn default() -> Self {
6190        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6191        unsafe {
6192            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6193            s.assume_init()
6194        }
6195    }
6196}
6197extern "C" {
6198    #[link_name = "\u{1}aws_lc_0_41_0_BN_num_bits_word"]
6199    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6200}
6201#[repr(C)]
6202#[derive(Debug, Copy, Clone)]
6203pub struct ASN1_VALUE_st {
6204    _unused: [u8; 0],
6205}
6206pub type ASN1_VALUE = ASN1_VALUE_st;
6207#[repr(C)]
6208#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6209pub struct asn1_string_st {
6210    pub length: ::std::os::raw::c_int,
6211    pub type_: ::std::os::raw::c_int,
6212    pub data: *mut ::std::os::raw::c_uchar,
6213    pub flags: ::std::os::raw::c_long,
6214}
6215#[test]
6216fn bindgen_test_layout_asn1_string_st() {
6217    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6218    let ptr = UNINIT.as_ptr();
6219    assert_eq!(
6220        ::std::mem::size_of::<asn1_string_st>(),
6221        24usize,
6222        "Size of asn1_string_st"
6223    );
6224    assert_eq!(
6225        ::std::mem::align_of::<asn1_string_st>(),
6226        8usize,
6227        "Alignment of asn1_string_st"
6228    );
6229    assert_eq!(
6230        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6231        0usize,
6232        "Offset of field: asn1_string_st::length"
6233    );
6234    assert_eq!(
6235        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6236        4usize,
6237        "Offset of field: asn1_string_st::type_"
6238    );
6239    assert_eq!(
6240        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6241        8usize,
6242        "Offset of field: asn1_string_st::data"
6243    );
6244    assert_eq!(
6245        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6246        16usize,
6247        "Offset of field: asn1_string_st::flags"
6248    );
6249}
6250impl Default for asn1_string_st {
6251    fn default() -> Self {
6252        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6253        unsafe {
6254            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6255            s.assume_init()
6256        }
6257    }
6258}
6259#[repr(C)]
6260#[derive(Copy, Clone)]
6261pub struct asn1_type_st {
6262    pub type_: ::std::os::raw::c_int,
6263    pub value: asn1_type_st__bindgen_ty_1,
6264}
6265#[repr(C)]
6266#[derive(Copy, Clone)]
6267pub union asn1_type_st__bindgen_ty_1 {
6268    pub ptr: *mut ::std::os::raw::c_char,
6269    pub boolean: ASN1_BOOLEAN,
6270    pub asn1_string: *mut ASN1_STRING,
6271    pub object: *mut ASN1_OBJECT,
6272    pub integer: *mut ASN1_INTEGER,
6273    pub enumerated: *mut ASN1_ENUMERATED,
6274    pub bit_string: *mut ASN1_BIT_STRING,
6275    pub octet_string: *mut ASN1_OCTET_STRING,
6276    pub printablestring: *mut ASN1_PRINTABLESTRING,
6277    pub t61string: *mut ASN1_T61STRING,
6278    pub ia5string: *mut ASN1_IA5STRING,
6279    pub generalstring: *mut ASN1_GENERALSTRING,
6280    pub bmpstring: *mut ASN1_BMPSTRING,
6281    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6282    pub utctime: *mut ASN1_UTCTIME,
6283    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6284    pub visiblestring: *mut ASN1_VISIBLESTRING,
6285    pub utf8string: *mut ASN1_UTF8STRING,
6286    pub set: *mut ASN1_STRING,
6287    pub sequence: *mut ASN1_STRING,
6288    pub asn1_value: *mut ASN1_VALUE,
6289}
6290#[test]
6291fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6292    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6293        ::std::mem::MaybeUninit::uninit();
6294    let ptr = UNINIT.as_ptr();
6295    assert_eq!(
6296        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6297        8usize,
6298        "Size of asn1_type_st__bindgen_ty_1"
6299    );
6300    assert_eq!(
6301        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6302        8usize,
6303        "Alignment of asn1_type_st__bindgen_ty_1"
6304    );
6305    assert_eq!(
6306        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6307        0usize,
6308        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6309    );
6310    assert_eq!(
6311        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6312        0usize,
6313        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6314    );
6315    assert_eq!(
6316        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6317        0usize,
6318        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6319    );
6320    assert_eq!(
6321        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6322        0usize,
6323        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6324    );
6325    assert_eq!(
6326        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6327        0usize,
6328        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6329    );
6330    assert_eq!(
6331        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6332        0usize,
6333        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6334    );
6335    assert_eq!(
6336        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6337        0usize,
6338        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6339    );
6340    assert_eq!(
6341        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6342        0usize,
6343        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6344    );
6345    assert_eq!(
6346        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6347        0usize,
6348        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6349    );
6350    assert_eq!(
6351        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6352        0usize,
6353        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6354    );
6355    assert_eq!(
6356        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6357        0usize,
6358        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6359    );
6360    assert_eq!(
6361        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6362        0usize,
6363        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6364    );
6365    assert_eq!(
6366        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6367        0usize,
6368        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6369    );
6370    assert_eq!(
6371        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6372        0usize,
6373        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6374    );
6375    assert_eq!(
6376        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6377        0usize,
6378        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6379    );
6380    assert_eq!(
6381        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6382        0usize,
6383        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6384    );
6385    assert_eq!(
6386        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6387        0usize,
6388        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6389    );
6390    assert_eq!(
6391        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6392        0usize,
6393        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6394    );
6395    assert_eq!(
6396        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6397        0usize,
6398        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6399    );
6400    assert_eq!(
6401        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6402        0usize,
6403        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6404    );
6405    assert_eq!(
6406        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6407        0usize,
6408        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6409    );
6410}
6411impl Default for asn1_type_st__bindgen_ty_1 {
6412    fn default() -> Self {
6413        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6414        unsafe {
6415            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6416            s.assume_init()
6417        }
6418    }
6419}
6420#[test]
6421fn bindgen_test_layout_asn1_type_st() {
6422    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6423    let ptr = UNINIT.as_ptr();
6424    assert_eq!(
6425        ::std::mem::size_of::<asn1_type_st>(),
6426        16usize,
6427        "Size of asn1_type_st"
6428    );
6429    assert_eq!(
6430        ::std::mem::align_of::<asn1_type_st>(),
6431        8usize,
6432        "Alignment of asn1_type_st"
6433    );
6434    assert_eq!(
6435        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6436        0usize,
6437        "Offset of field: asn1_type_st::type_"
6438    );
6439    assert_eq!(
6440        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6441        8usize,
6442        "Offset of field: asn1_type_st::value"
6443    );
6444}
6445impl Default for asn1_type_st {
6446    fn default() -> Self {
6447        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6448        unsafe {
6449            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6450            s.assume_init()
6451        }
6452    }
6453}
6454pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6455#[repr(C)]
6456#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6457pub struct ASN1_TEMPLATE_st {
6458    pub flags: u32,
6459    pub tag: ::std::os::raw::c_int,
6460    pub offset: ::std::os::raw::c_ulong,
6461    pub field_name: *const ::std::os::raw::c_char,
6462    pub item: *const ASN1_ITEM_st,
6463}
6464#[test]
6465fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6466    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6467    let ptr = UNINIT.as_ptr();
6468    assert_eq!(
6469        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6470        32usize,
6471        "Size of ASN1_TEMPLATE_st"
6472    );
6473    assert_eq!(
6474        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6475        8usize,
6476        "Alignment of ASN1_TEMPLATE_st"
6477    );
6478    assert_eq!(
6479        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6480        0usize,
6481        "Offset of field: ASN1_TEMPLATE_st::flags"
6482    );
6483    assert_eq!(
6484        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6485        4usize,
6486        "Offset of field: ASN1_TEMPLATE_st::tag"
6487    );
6488    assert_eq!(
6489        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6490        8usize,
6491        "Offset of field: ASN1_TEMPLATE_st::offset"
6492    );
6493    assert_eq!(
6494        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6495        16usize,
6496        "Offset of field: ASN1_TEMPLATE_st::field_name"
6497    );
6498    assert_eq!(
6499        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6500        24usize,
6501        "Offset of field: ASN1_TEMPLATE_st::item"
6502    );
6503}
6504impl Default for ASN1_TEMPLATE_st {
6505    fn default() -> Self {
6506        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6507        unsafe {
6508            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6509            s.assume_init()
6510        }
6511    }
6512}
6513#[repr(C)]
6514#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6515pub struct ASN1_ITEM_st {
6516    pub itype: ::std::os::raw::c_char,
6517    pub utype: ::std::os::raw::c_int,
6518    pub templates: *const ASN1_TEMPLATE,
6519    pub tcount: ::std::os::raw::c_long,
6520    pub funcs: *const ::std::os::raw::c_void,
6521    pub size: ::std::os::raw::c_long,
6522    pub sname: *const ::std::os::raw::c_char,
6523}
6524#[test]
6525fn bindgen_test_layout_ASN1_ITEM_st() {
6526    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6527    let ptr = UNINIT.as_ptr();
6528    assert_eq!(
6529        ::std::mem::size_of::<ASN1_ITEM_st>(),
6530        48usize,
6531        "Size of ASN1_ITEM_st"
6532    );
6533    assert_eq!(
6534        ::std::mem::align_of::<ASN1_ITEM_st>(),
6535        8usize,
6536        "Alignment of ASN1_ITEM_st"
6537    );
6538    assert_eq!(
6539        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6540        0usize,
6541        "Offset of field: ASN1_ITEM_st::itype"
6542    );
6543    assert_eq!(
6544        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6545        4usize,
6546        "Offset of field: ASN1_ITEM_st::utype"
6547    );
6548    assert_eq!(
6549        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6550        8usize,
6551        "Offset of field: ASN1_ITEM_st::templates"
6552    );
6553    assert_eq!(
6554        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6555        16usize,
6556        "Offset of field: ASN1_ITEM_st::tcount"
6557    );
6558    assert_eq!(
6559        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6560        24usize,
6561        "Offset of field: ASN1_ITEM_st::funcs"
6562    );
6563    assert_eq!(
6564        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6565        32usize,
6566        "Offset of field: ASN1_ITEM_st::size"
6567    );
6568    assert_eq!(
6569        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6570        40usize,
6571        "Offset of field: ASN1_ITEM_st::sname"
6572    );
6573}
6574impl Default for ASN1_ITEM_st {
6575    fn default() -> Self {
6576        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6577        unsafe {
6578            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6579            s.assume_init()
6580        }
6581    }
6582}
6583#[repr(C)]
6584#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6585pub struct evp_encode_ctx_st {
6586    pub data_used: ::std::os::raw::c_uint,
6587    pub data: [u8; 48usize],
6588    pub eof_seen: ::std::os::raw::c_char,
6589    pub error_encountered: ::std::os::raw::c_char,
6590}
6591#[test]
6592fn bindgen_test_layout_evp_encode_ctx_st() {
6593    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6594    let ptr = UNINIT.as_ptr();
6595    assert_eq!(
6596        ::std::mem::size_of::<evp_encode_ctx_st>(),
6597        56usize,
6598        "Size of evp_encode_ctx_st"
6599    );
6600    assert_eq!(
6601        ::std::mem::align_of::<evp_encode_ctx_st>(),
6602        4usize,
6603        "Alignment of evp_encode_ctx_st"
6604    );
6605    assert_eq!(
6606        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6607        0usize,
6608        "Offset of field: evp_encode_ctx_st::data_used"
6609    );
6610    assert_eq!(
6611        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6612        4usize,
6613        "Offset of field: evp_encode_ctx_st::data"
6614    );
6615    assert_eq!(
6616        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6617        52usize,
6618        "Offset of field: evp_encode_ctx_st::eof_seen"
6619    );
6620    assert_eq!(
6621        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6622        53usize,
6623        "Offset of field: evp_encode_ctx_st::error_encountered"
6624    );
6625}
6626impl Default for evp_encode_ctx_st {
6627    fn default() -> Self {
6628        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6629        unsafe {
6630            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6631            s.assume_init()
6632        }
6633    }
6634}
6635#[repr(C)]
6636#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6637pub struct blake2b_state_st {
6638    pub h: [u64; 8usize],
6639    pub t_low: u64,
6640    pub t_high: u64,
6641    pub block: [u8; 128usize],
6642    pub block_used: usize,
6643}
6644#[test]
6645fn bindgen_test_layout_blake2b_state_st() {
6646    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6647    let ptr = UNINIT.as_ptr();
6648    assert_eq!(
6649        ::std::mem::size_of::<blake2b_state_st>(),
6650        216usize,
6651        "Size of blake2b_state_st"
6652    );
6653    assert_eq!(
6654        ::std::mem::align_of::<blake2b_state_st>(),
6655        8usize,
6656        "Alignment of blake2b_state_st"
6657    );
6658    assert_eq!(
6659        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6660        0usize,
6661        "Offset of field: blake2b_state_st::h"
6662    );
6663    assert_eq!(
6664        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6665        64usize,
6666        "Offset of field: blake2b_state_st::t_low"
6667    );
6668    assert_eq!(
6669        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6670        72usize,
6671        "Offset of field: blake2b_state_st::t_high"
6672    );
6673    assert_eq!(
6674        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6675        80usize,
6676        "Offset of field: blake2b_state_st::block"
6677    );
6678    assert_eq!(
6679        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6680        208usize,
6681        "Offset of field: blake2b_state_st::block_used"
6682    );
6683}
6684impl Default for blake2b_state_st {
6685    fn default() -> Self {
6686        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6687        unsafe {
6688            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6689            s.assume_init()
6690        }
6691    }
6692}
6693#[repr(C)]
6694#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6695pub struct cbs_st {
6696    pub data: *const u8,
6697    pub len: usize,
6698}
6699#[test]
6700fn bindgen_test_layout_cbs_st() {
6701    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6702    let ptr = UNINIT.as_ptr();
6703    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6704    assert_eq!(
6705        ::std::mem::align_of::<cbs_st>(),
6706        8usize,
6707        "Alignment of cbs_st"
6708    );
6709    assert_eq!(
6710        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6711        0usize,
6712        "Offset of field: cbs_st::data"
6713    );
6714    assert_eq!(
6715        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6716        8usize,
6717        "Offset of field: cbs_st::len"
6718    );
6719}
6720impl Default for cbs_st {
6721    fn default() -> Self {
6722        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6723        unsafe {
6724            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6725            s.assume_init()
6726        }
6727    }
6728}
6729extern "C" {
6730    #[link_name = "\u{1}aws_lc_0_41_0_CBS_init"]
6731    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6732}
6733extern "C" {
6734    #[link_name = "\u{1}aws_lc_0_41_0_CBS_skip"]
6735    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6736}
6737extern "C" {
6738    #[link_name = "\u{1}aws_lc_0_41_0_CBS_data"]
6739    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6740}
6741extern "C" {
6742    #[link_name = "\u{1}aws_lc_0_41_0_CBS_len"]
6743    pub fn CBS_len(cbs: *const CBS) -> usize;
6744}
6745extern "C" {
6746    #[link_name = "\u{1}aws_lc_0_41_0_CBS_stow"]
6747    pub fn CBS_stow(
6748        cbs: *const CBS,
6749        out_ptr: *mut *mut u8,
6750        out_len: *mut usize,
6751    ) -> ::std::os::raw::c_int;
6752}
6753extern "C" {
6754    #[link_name = "\u{1}aws_lc_0_41_0_CBS_strdup"]
6755    pub fn CBS_strdup(
6756        cbs: *const CBS,
6757        out_ptr: *mut *mut ::std::os::raw::c_char,
6758    ) -> ::std::os::raw::c_int;
6759}
6760extern "C" {
6761    #[link_name = "\u{1}aws_lc_0_41_0_CBS_contains_zero_byte"]
6762    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6763}
6764extern "C" {
6765    #[link_name = "\u{1}aws_lc_0_41_0_CBS_mem_equal"]
6766    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6767}
6768extern "C" {
6769    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u8"]
6770    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6771}
6772extern "C" {
6773    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u16"]
6774    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6775}
6776extern "C" {
6777    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u16le"]
6778    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6779}
6780extern "C" {
6781    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u24"]
6782    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6783}
6784extern "C" {
6785    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u32"]
6786    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6787}
6788extern "C" {
6789    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u32le"]
6790    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6791}
6792extern "C" {
6793    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u64"]
6794    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6795}
6796extern "C" {
6797    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u64le"]
6798    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6799}
6800extern "C" {
6801    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_last_u8"]
6802    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6803}
6804extern "C" {
6805    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_bytes"]
6806    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6807}
6808extern "C" {
6809    #[link_name = "\u{1}aws_lc_0_41_0_CBS_copy_bytes"]
6810    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6811}
6812extern "C" {
6813    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u8_length_prefixed"]
6814    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6815}
6816extern "C" {
6817    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u16_length_prefixed"]
6818    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6819}
6820extern "C" {
6821    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u24_length_prefixed"]
6822    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6823}
6824extern "C" {
6825    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_until_first"]
6826    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6827}
6828extern "C" {
6829    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_u64_decimal"]
6830    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6831}
6832extern "C" {
6833    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_asn1"]
6834    pub fn CBS_get_asn1(
6835        cbs: *mut CBS,
6836        out: *mut CBS,
6837        tag_value: CBS_ASN1_TAG,
6838    ) -> ::std::os::raw::c_int;
6839}
6840extern "C" {
6841    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_asn1_element"]
6842    pub fn CBS_get_asn1_element(
6843        cbs: *mut CBS,
6844        out: *mut CBS,
6845        tag_value: CBS_ASN1_TAG,
6846    ) -> ::std::os::raw::c_int;
6847}
6848extern "C" {
6849    #[link_name = "\u{1}aws_lc_0_41_0_CBS_peek_asn1_tag"]
6850    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6851}
6852extern "C" {
6853    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_any_asn1"]
6854    pub fn CBS_get_any_asn1(
6855        cbs: *mut CBS,
6856        out: *mut CBS,
6857        out_tag: *mut CBS_ASN1_TAG,
6858    ) -> ::std::os::raw::c_int;
6859}
6860extern "C" {
6861    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_any_asn1_element"]
6862    pub fn CBS_get_any_asn1_element(
6863        cbs: *mut CBS,
6864        out: *mut CBS,
6865        out_tag: *mut CBS_ASN1_TAG,
6866        out_header_len: *mut usize,
6867    ) -> ::std::os::raw::c_int;
6868}
6869extern "C" {
6870    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_any_ber_asn1_element"]
6871    pub fn CBS_get_any_ber_asn1_element(
6872        cbs: *mut CBS,
6873        out: *mut CBS,
6874        out_tag: *mut CBS_ASN1_TAG,
6875        out_header_len: *mut usize,
6876        out_ber_found: *mut ::std::os::raw::c_int,
6877        out_indefinite: *mut ::std::os::raw::c_int,
6878    ) -> ::std::os::raw::c_int;
6879}
6880extern "C" {
6881    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_asn1_uint64"]
6882    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6883}
6884extern "C" {
6885    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_asn1_int64"]
6886    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
6887}
6888extern "C" {
6889    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_asn1_bool"]
6890    pub fn CBS_get_asn1_bool(
6891        cbs: *mut CBS,
6892        out: *mut ::std::os::raw::c_int,
6893    ) -> ::std::os::raw::c_int;
6894}
6895extern "C" {
6896    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_optional_asn1"]
6897    pub fn CBS_get_optional_asn1(
6898        cbs: *mut CBS,
6899        out: *mut CBS,
6900        out_present: *mut ::std::os::raw::c_int,
6901        tag: CBS_ASN1_TAG,
6902    ) -> ::std::os::raw::c_int;
6903}
6904extern "C" {
6905    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_optional_asn1_octet_string"]
6906    pub fn CBS_get_optional_asn1_octet_string(
6907        cbs: *mut CBS,
6908        out: *mut CBS,
6909        out_present: *mut ::std::os::raw::c_int,
6910        tag: CBS_ASN1_TAG,
6911    ) -> ::std::os::raw::c_int;
6912}
6913extern "C" {
6914    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_optional_asn1_uint64"]
6915    pub fn CBS_get_optional_asn1_uint64(
6916        cbs: *mut CBS,
6917        out: *mut u64,
6918        tag: CBS_ASN1_TAG,
6919        default_value: u64,
6920    ) -> ::std::os::raw::c_int;
6921}
6922extern "C" {
6923    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_optional_asn1_bool"]
6924    pub fn CBS_get_optional_asn1_bool(
6925        cbs: *mut CBS,
6926        out: *mut ::std::os::raw::c_int,
6927        tag: CBS_ASN1_TAG,
6928        default_value: ::std::os::raw::c_int,
6929    ) -> ::std::os::raw::c_int;
6930}
6931extern "C" {
6932    #[link_name = "\u{1}aws_lc_0_41_0_CBS_is_valid_asn1_bitstring"]
6933    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
6934}
6935extern "C" {
6936    #[link_name = "\u{1}aws_lc_0_41_0_CBS_asn1_bitstring_has_bit"]
6937    pub fn CBS_asn1_bitstring_has_bit(
6938        cbs: *const CBS,
6939        bit: ::std::os::raw::c_uint,
6940    ) -> ::std::os::raw::c_int;
6941}
6942extern "C" {
6943    #[link_name = "\u{1}aws_lc_0_41_0_CBS_is_valid_asn1_integer"]
6944    pub fn CBS_is_valid_asn1_integer(
6945        cbs: *const CBS,
6946        out_is_negative: *mut ::std::os::raw::c_int,
6947    ) -> ::std::os::raw::c_int;
6948}
6949extern "C" {
6950    #[link_name = "\u{1}aws_lc_0_41_0_CBS_is_unsigned_asn1_integer"]
6951    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
6952}
6953extern "C" {
6954    #[link_name = "\u{1}aws_lc_0_41_0_CBS_is_valid_asn1_oid"]
6955    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
6956}
6957extern "C" {
6958    #[link_name = "\u{1}aws_lc_0_41_0_CBS_asn1_oid_to_text"]
6959    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
6960}
6961extern "C" {
6962    #[link_name = "\u{1}aws_lc_0_41_0_CBS_get_optional_asn1_int64"]
6963    pub fn CBS_get_optional_asn1_int64(
6964        cbs: *mut CBS,
6965        out: *mut i64,
6966        tag: CBS_ASN1_TAG,
6967        default_value: i64,
6968    ) -> ::std::os::raw::c_int;
6969}
6970#[repr(C)]
6971#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6972pub struct cbb_buffer_st {
6973    pub buf: *mut u8,
6974    pub len: usize,
6975    pub cap: usize,
6976    pub _bitfield_align_1: [u8; 0],
6977    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6978    pub __bindgen_padding_0: [u8; 7usize],
6979}
6980#[test]
6981fn bindgen_test_layout_cbb_buffer_st() {
6982    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
6983    let ptr = UNINIT.as_ptr();
6984    assert_eq!(
6985        ::std::mem::size_of::<cbb_buffer_st>(),
6986        32usize,
6987        "Size of cbb_buffer_st"
6988    );
6989    assert_eq!(
6990        ::std::mem::align_of::<cbb_buffer_st>(),
6991        8usize,
6992        "Alignment of cbb_buffer_st"
6993    );
6994    assert_eq!(
6995        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
6996        0usize,
6997        "Offset of field: cbb_buffer_st::buf"
6998    );
6999    assert_eq!(
7000        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
7001        8usize,
7002        "Offset of field: cbb_buffer_st::len"
7003    );
7004    assert_eq!(
7005        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
7006        16usize,
7007        "Offset of field: cbb_buffer_st::cap"
7008    );
7009}
7010impl Default for cbb_buffer_st {
7011    fn default() -> Self {
7012        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7013        unsafe {
7014            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7015            s.assume_init()
7016        }
7017    }
7018}
7019impl cbb_buffer_st {
7020    #[inline]
7021    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
7022        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7023    }
7024    #[inline]
7025    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
7026        unsafe {
7027            let val: u32 = ::std::mem::transmute(val);
7028            self._bitfield_1.set(0usize, 1u8, val as u64)
7029        }
7030    }
7031    #[inline]
7032    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
7033        unsafe {
7034            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7035                ::std::ptr::addr_of!((*this)._bitfield_1),
7036                0usize,
7037                1u8,
7038            ) as u32)
7039        }
7040    }
7041    #[inline]
7042    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7043        unsafe {
7044            let val: u32 = ::std::mem::transmute(val);
7045            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7046                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7047                0usize,
7048                1u8,
7049                val as u64,
7050            )
7051        }
7052    }
7053    #[inline]
7054    pub fn error(&self) -> ::std::os::raw::c_uint {
7055        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7056    }
7057    #[inline]
7058    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7059        unsafe {
7060            let val: u32 = ::std::mem::transmute(val);
7061            self._bitfield_1.set(1usize, 1u8, val as u64)
7062        }
7063    }
7064    #[inline]
7065    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7066        unsafe {
7067            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7068                ::std::ptr::addr_of!((*this)._bitfield_1),
7069                1usize,
7070                1u8,
7071            ) as u32)
7072        }
7073    }
7074    #[inline]
7075    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7076        unsafe {
7077            let val: u32 = ::std::mem::transmute(val);
7078            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7079                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7080                1usize,
7081                1u8,
7082                val as u64,
7083            )
7084        }
7085    }
7086    #[inline]
7087    pub fn new_bitfield_1(
7088        can_resize: ::std::os::raw::c_uint,
7089        error: ::std::os::raw::c_uint,
7090    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7091        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7092        __bindgen_bitfield_unit.set(0usize, 1u8, {
7093            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7094            can_resize as u64
7095        });
7096        __bindgen_bitfield_unit.set(1usize, 1u8, {
7097            let error: u32 = unsafe { ::std::mem::transmute(error) };
7098            error as u64
7099        });
7100        __bindgen_bitfield_unit
7101    }
7102}
7103#[repr(C)]
7104#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7105pub struct cbb_child_st {
7106    pub base: *mut cbb_buffer_st,
7107    pub offset: usize,
7108    pub pending_len_len: u8,
7109    pub _bitfield_align_1: [u8; 0],
7110    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7111    pub __bindgen_padding_0: [u16; 3usize],
7112}
7113#[test]
7114fn bindgen_test_layout_cbb_child_st() {
7115    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7116    let ptr = UNINIT.as_ptr();
7117    assert_eq!(
7118        ::std::mem::size_of::<cbb_child_st>(),
7119        24usize,
7120        "Size of cbb_child_st"
7121    );
7122    assert_eq!(
7123        ::std::mem::align_of::<cbb_child_st>(),
7124        8usize,
7125        "Alignment of cbb_child_st"
7126    );
7127    assert_eq!(
7128        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7129        0usize,
7130        "Offset of field: cbb_child_st::base"
7131    );
7132    assert_eq!(
7133        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7134        8usize,
7135        "Offset of field: cbb_child_st::offset"
7136    );
7137    assert_eq!(
7138        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7139        16usize,
7140        "Offset of field: cbb_child_st::pending_len_len"
7141    );
7142}
7143impl Default for cbb_child_st {
7144    fn default() -> Self {
7145        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7146        unsafe {
7147            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7148            s.assume_init()
7149        }
7150    }
7151}
7152impl cbb_child_st {
7153    #[inline]
7154    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7155        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7156    }
7157    #[inline]
7158    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7159        unsafe {
7160            let val: u32 = ::std::mem::transmute(val);
7161            self._bitfield_1.set(0usize, 1u8, val as u64)
7162        }
7163    }
7164    #[inline]
7165    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7166        unsafe {
7167            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7168                ::std::ptr::addr_of!((*this)._bitfield_1),
7169                0usize,
7170                1u8,
7171            ) as u32)
7172        }
7173    }
7174    #[inline]
7175    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7176        unsafe {
7177            let val: u32 = ::std::mem::transmute(val);
7178            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7179                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7180                0usize,
7181                1u8,
7182                val as u64,
7183            )
7184        }
7185    }
7186    #[inline]
7187    pub fn new_bitfield_1(
7188        pending_is_asn1: ::std::os::raw::c_uint,
7189    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7190        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7191        __bindgen_bitfield_unit.set(0usize, 1u8, {
7192            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7193            pending_is_asn1 as u64
7194        });
7195        __bindgen_bitfield_unit
7196    }
7197}
7198#[repr(C)]
7199#[derive(Copy, Clone)]
7200pub struct cbb_st {
7201    pub child: *mut CBB,
7202    pub is_child: ::std::os::raw::c_char,
7203    pub u: cbb_st__bindgen_ty_1,
7204}
7205#[repr(C)]
7206#[derive(Copy, Clone)]
7207pub union cbb_st__bindgen_ty_1 {
7208    pub base: cbb_buffer_st,
7209    pub child: cbb_child_st,
7210}
7211#[test]
7212fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7213    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7214    let ptr = UNINIT.as_ptr();
7215    assert_eq!(
7216        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7217        32usize,
7218        "Size of cbb_st__bindgen_ty_1"
7219    );
7220    assert_eq!(
7221        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7222        8usize,
7223        "Alignment of cbb_st__bindgen_ty_1"
7224    );
7225    assert_eq!(
7226        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7227        0usize,
7228        "Offset of field: cbb_st__bindgen_ty_1::base"
7229    );
7230    assert_eq!(
7231        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7232        0usize,
7233        "Offset of field: cbb_st__bindgen_ty_1::child"
7234    );
7235}
7236impl Default for cbb_st__bindgen_ty_1 {
7237    fn default() -> Self {
7238        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7239        unsafe {
7240            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7241            s.assume_init()
7242        }
7243    }
7244}
7245#[test]
7246fn bindgen_test_layout_cbb_st() {
7247    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7248    let ptr = UNINIT.as_ptr();
7249    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7250    assert_eq!(
7251        ::std::mem::align_of::<cbb_st>(),
7252        8usize,
7253        "Alignment of cbb_st"
7254    );
7255    assert_eq!(
7256        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7257        0usize,
7258        "Offset of field: cbb_st::child"
7259    );
7260    assert_eq!(
7261        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7262        8usize,
7263        "Offset of field: cbb_st::is_child"
7264    );
7265    assert_eq!(
7266        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7267        16usize,
7268        "Offset of field: cbb_st::u"
7269    );
7270}
7271impl Default for cbb_st {
7272    fn default() -> Self {
7273        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7274        unsafe {
7275            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7276            s.assume_init()
7277        }
7278    }
7279}
7280extern "C" {
7281    #[link_name = "\u{1}aws_lc_0_41_0_CBB_zero"]
7282    pub fn CBB_zero(cbb: *mut CBB);
7283}
7284extern "C" {
7285    #[link_name = "\u{1}aws_lc_0_41_0_CBB_init"]
7286    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7287}
7288extern "C" {
7289    #[link_name = "\u{1}aws_lc_0_41_0_CBB_init_fixed"]
7290    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7291}
7292extern "C" {
7293    #[link_name = "\u{1}aws_lc_0_41_0_CBB_cleanup"]
7294    pub fn CBB_cleanup(cbb: *mut CBB);
7295}
7296extern "C" {
7297    #[link_name = "\u{1}aws_lc_0_41_0_CBB_finish"]
7298    pub fn CBB_finish(
7299        cbb: *mut CBB,
7300        out_data: *mut *mut u8,
7301        out_len: *mut usize,
7302    ) -> ::std::os::raw::c_int;
7303}
7304extern "C" {
7305    #[link_name = "\u{1}aws_lc_0_41_0_CBB_flush"]
7306    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7307}
7308extern "C" {
7309    #[link_name = "\u{1}aws_lc_0_41_0_CBB_data"]
7310    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7311}
7312extern "C" {
7313    #[link_name = "\u{1}aws_lc_0_41_0_CBB_len"]
7314    pub fn CBB_len(cbb: *const CBB) -> usize;
7315}
7316extern "C" {
7317    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u8_length_prefixed"]
7318    pub fn CBB_add_u8_length_prefixed(
7319        cbb: *mut CBB,
7320        out_contents: *mut CBB,
7321    ) -> ::std::os::raw::c_int;
7322}
7323extern "C" {
7324    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u16_length_prefixed"]
7325    pub fn CBB_add_u16_length_prefixed(
7326        cbb: *mut CBB,
7327        out_contents: *mut CBB,
7328    ) -> ::std::os::raw::c_int;
7329}
7330extern "C" {
7331    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u24_length_prefixed"]
7332    pub fn CBB_add_u24_length_prefixed(
7333        cbb: *mut CBB,
7334        out_contents: *mut CBB,
7335    ) -> ::std::os::raw::c_int;
7336}
7337extern "C" {
7338    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1"]
7339    pub fn CBB_add_asn1(
7340        cbb: *mut CBB,
7341        out_contents: *mut CBB,
7342        tag: CBS_ASN1_TAG,
7343    ) -> ::std::os::raw::c_int;
7344}
7345extern "C" {
7346    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_bytes"]
7347    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7348}
7349extern "C" {
7350    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_zeros"]
7351    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7352}
7353extern "C" {
7354    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_space"]
7355    pub fn CBB_add_space(
7356        cbb: *mut CBB,
7357        out_data: *mut *mut u8,
7358        len: usize,
7359    ) -> ::std::os::raw::c_int;
7360}
7361extern "C" {
7362    #[link_name = "\u{1}aws_lc_0_41_0_CBB_reserve"]
7363    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7364}
7365extern "C" {
7366    #[link_name = "\u{1}aws_lc_0_41_0_CBB_did_write"]
7367    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7368}
7369extern "C" {
7370    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u8"]
7371    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7372}
7373extern "C" {
7374    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u16"]
7375    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7376}
7377extern "C" {
7378    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u16le"]
7379    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7380}
7381extern "C" {
7382    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u24"]
7383    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7384}
7385extern "C" {
7386    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u32"]
7387    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7388}
7389extern "C" {
7390    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u32le"]
7391    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7392}
7393extern "C" {
7394    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u64"]
7395    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7396}
7397extern "C" {
7398    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_u64le"]
7399    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7400}
7401extern "C" {
7402    #[link_name = "\u{1}aws_lc_0_41_0_CBB_discard_child"]
7403    pub fn CBB_discard_child(cbb: *mut CBB);
7404}
7405extern "C" {
7406    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1_uint64"]
7407    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7408}
7409extern "C" {
7410    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1_uint64_with_tag"]
7411    pub fn CBB_add_asn1_uint64_with_tag(
7412        cbb: *mut CBB,
7413        value: u64,
7414        tag: CBS_ASN1_TAG,
7415    ) -> ::std::os::raw::c_int;
7416}
7417extern "C" {
7418    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1_int64"]
7419    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7420}
7421extern "C" {
7422    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1_int64_with_tag"]
7423    pub fn CBB_add_asn1_int64_with_tag(
7424        cbb: *mut CBB,
7425        value: i64,
7426        tag: CBS_ASN1_TAG,
7427    ) -> ::std::os::raw::c_int;
7428}
7429extern "C" {
7430    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1_octet_string"]
7431    pub fn CBB_add_asn1_octet_string(
7432        cbb: *mut CBB,
7433        data: *const u8,
7434        data_len: usize,
7435    ) -> ::std::os::raw::c_int;
7436}
7437extern "C" {
7438    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1_bool"]
7439    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7440}
7441extern "C" {
7442    #[link_name = "\u{1}aws_lc_0_41_0_CBB_add_asn1_oid_from_text"]
7443    pub fn CBB_add_asn1_oid_from_text(
7444        cbb: *mut CBB,
7445        text: *const ::std::os::raw::c_char,
7446        len: usize,
7447    ) -> ::std::os::raw::c_int;
7448}
7449extern "C" {
7450    #[link_name = "\u{1}aws_lc_0_41_0_CBB_flush_asn1_set_of"]
7451    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7452}
7453extern "C" {
7454    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_chacha_20"]
7455    pub fn CRYPTO_chacha_20(
7456        out: *mut u8,
7457        in_: *const u8,
7458        in_len: usize,
7459        key: *const u8,
7460        nonce: *const u8,
7461        counter: u32,
7462    );
7463}
7464extern "C" {
7465    #[link_name = "\u{1}aws_lc_0_41_0_EVP_rc4"]
7466    pub fn EVP_rc4() -> *const EVP_CIPHER;
7467}
7468extern "C" {
7469    #[link_name = "\u{1}aws_lc_0_41_0_EVP_des_cbc"]
7470    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7471}
7472extern "C" {
7473    #[link_name = "\u{1}aws_lc_0_41_0_EVP_des_ecb"]
7474    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7475}
7476extern "C" {
7477    #[link_name = "\u{1}aws_lc_0_41_0_EVP_des_ede"]
7478    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7479}
7480extern "C" {
7481    #[link_name = "\u{1}aws_lc_0_41_0_EVP_des_ede3"]
7482    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7483}
7484extern "C" {
7485    #[link_name = "\u{1}aws_lc_0_41_0_EVP_des_ede_cbc"]
7486    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7487}
7488extern "C" {
7489    #[link_name = "\u{1}aws_lc_0_41_0_EVP_des_ede3_cbc"]
7490    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7491}
7492extern "C" {
7493    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_ecb"]
7494    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7495}
7496extern "C" {
7497    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_cbc"]
7498    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7499}
7500extern "C" {
7501    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_ctr"]
7502    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7503}
7504extern "C" {
7505    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_ofb"]
7506    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7507}
7508extern "C" {
7509    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_ecb"]
7510    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7511}
7512extern "C" {
7513    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_cbc"]
7514    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7515}
7516extern "C" {
7517    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_ctr"]
7518    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7519}
7520extern "C" {
7521    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_ofb"]
7522    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7523}
7524extern "C" {
7525    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_xts"]
7526    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7527}
7528extern "C" {
7529    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_wrap"]
7530    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7531}
7532extern "C" {
7533    #[link_name = "\u{1}aws_lc_0_41_0_EVP_enc_null"]
7534    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7535}
7536extern "C" {
7537    #[link_name = "\u{1}aws_lc_0_41_0_EVP_rc2_cbc"]
7538    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7539}
7540extern "C" {
7541    #[link_name = "\u{1}aws_lc_0_41_0_EVP_rc2_40_cbc"]
7542    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7543}
7544extern "C" {
7545    #[link_name = "\u{1}aws_lc_0_41_0_EVP_chacha20_poly1305"]
7546    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7547}
7548extern "C" {
7549    #[link_name = "\u{1}aws_lc_0_41_0_EVP_get_cipherbynid"]
7550    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7551}
7552extern "C" {
7553    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_init"]
7554    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7555}
7556extern "C" {
7557    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_new"]
7558    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7559}
7560extern "C" {
7561    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_cleanup"]
7562    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7563}
7564extern "C" {
7565    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_free"]
7566    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7567}
7568extern "C" {
7569    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_copy"]
7570    pub fn EVP_CIPHER_CTX_copy(
7571        out: *mut EVP_CIPHER_CTX,
7572        in_: *const EVP_CIPHER_CTX,
7573    ) -> ::std::os::raw::c_int;
7574}
7575extern "C" {
7576    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_reset"]
7577    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7578}
7579extern "C" {
7580    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CipherInit_ex"]
7581    pub fn EVP_CipherInit_ex(
7582        ctx: *mut EVP_CIPHER_CTX,
7583        cipher: *const EVP_CIPHER,
7584        engine: *mut ENGINE,
7585        key: *const u8,
7586        iv: *const u8,
7587        enc: ::std::os::raw::c_int,
7588    ) -> ::std::os::raw::c_int;
7589}
7590extern "C" {
7591    #[link_name = "\u{1}aws_lc_0_41_0_EVP_EncryptInit_ex"]
7592    pub fn EVP_EncryptInit_ex(
7593        ctx: *mut EVP_CIPHER_CTX,
7594        cipher: *const EVP_CIPHER,
7595        impl_: *mut ENGINE,
7596        key: *const u8,
7597        iv: *const u8,
7598    ) -> ::std::os::raw::c_int;
7599}
7600extern "C" {
7601    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DecryptInit_ex"]
7602    pub fn EVP_DecryptInit_ex(
7603        ctx: *mut EVP_CIPHER_CTX,
7604        cipher: *const EVP_CIPHER,
7605        impl_: *mut ENGINE,
7606        key: *const u8,
7607        iv: *const u8,
7608    ) -> ::std::os::raw::c_int;
7609}
7610extern "C" {
7611    #[link_name = "\u{1}aws_lc_0_41_0_EVP_EncryptUpdate"]
7612    pub fn EVP_EncryptUpdate(
7613        ctx: *mut EVP_CIPHER_CTX,
7614        out: *mut u8,
7615        out_len: *mut ::std::os::raw::c_int,
7616        in_: *const u8,
7617        in_len: ::std::os::raw::c_int,
7618    ) -> ::std::os::raw::c_int;
7619}
7620extern "C" {
7621    #[link_name = "\u{1}aws_lc_0_41_0_EVP_EncryptFinal_ex"]
7622    pub fn EVP_EncryptFinal_ex(
7623        ctx: *mut EVP_CIPHER_CTX,
7624        out: *mut u8,
7625        out_len: *mut ::std::os::raw::c_int,
7626    ) -> ::std::os::raw::c_int;
7627}
7628extern "C" {
7629    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DecryptUpdate"]
7630    pub fn EVP_DecryptUpdate(
7631        ctx: *mut EVP_CIPHER_CTX,
7632        out: *mut u8,
7633        out_len: *mut ::std::os::raw::c_int,
7634        in_: *const u8,
7635        in_len: ::std::os::raw::c_int,
7636    ) -> ::std::os::raw::c_int;
7637}
7638extern "C" {
7639    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DecryptFinal_ex"]
7640    pub fn EVP_DecryptFinal_ex(
7641        ctx: *mut EVP_CIPHER_CTX,
7642        out: *mut u8,
7643        out_len: *mut ::std::os::raw::c_int,
7644    ) -> ::std::os::raw::c_int;
7645}
7646extern "C" {
7647    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CipherUpdate"]
7648    pub fn EVP_CipherUpdate(
7649        ctx: *mut EVP_CIPHER_CTX,
7650        out: *mut u8,
7651        out_len: *mut ::std::os::raw::c_int,
7652        in_: *const u8,
7653        in_len: ::std::os::raw::c_int,
7654    ) -> ::std::os::raw::c_int;
7655}
7656extern "C" {
7657    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CipherFinal_ex"]
7658    pub fn EVP_CipherFinal_ex(
7659        ctx: *mut EVP_CIPHER_CTX,
7660        out: *mut u8,
7661        out_len: *mut ::std::os::raw::c_int,
7662    ) -> ::std::os::raw::c_int;
7663}
7664extern "C" {
7665    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_cipher"]
7666    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7667}
7668extern "C" {
7669    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_nid"]
7670    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7671}
7672extern "C" {
7673    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_encrypting"]
7674    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7675}
7676extern "C" {
7677    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_block_size"]
7678    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7679}
7680extern "C" {
7681    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_key_length"]
7682    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7683}
7684extern "C" {
7685    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_iv_length"]
7686    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7687}
7688extern "C" {
7689    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_get_app_data"]
7690    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7691}
7692extern "C" {
7693    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_set_app_data"]
7694    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7695}
7696extern "C" {
7697    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_flags"]
7698    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7699}
7700extern "C" {
7701    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_mode"]
7702    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7703}
7704extern "C" {
7705    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_ctrl"]
7706    pub fn EVP_CIPHER_CTX_ctrl(
7707        ctx: *mut EVP_CIPHER_CTX,
7708        command: ::std::os::raw::c_int,
7709        arg: ::std::os::raw::c_int,
7710        ptr: *mut ::std::os::raw::c_void,
7711    ) -> ::std::os::raw::c_int;
7712}
7713extern "C" {
7714    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_set_padding"]
7715    pub fn EVP_CIPHER_CTX_set_padding(
7716        ctx: *mut EVP_CIPHER_CTX,
7717        pad: ::std::os::raw::c_int,
7718    ) -> ::std::os::raw::c_int;
7719}
7720extern "C" {
7721    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_set_key_length"]
7722    pub fn EVP_CIPHER_CTX_set_key_length(
7723        ctx: *mut EVP_CIPHER_CTX,
7724        key_len: ::std::os::raw::c_uint,
7725    ) -> ::std::os::raw::c_int;
7726}
7727extern "C" {
7728    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_nid"]
7729    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7730}
7731extern "C" {
7732    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_name"]
7733    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7734}
7735extern "C" {
7736    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_block_size"]
7737    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7738}
7739extern "C" {
7740    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_key_length"]
7741    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7742}
7743extern "C" {
7744    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_iv_length"]
7745    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7746}
7747extern "C" {
7748    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_flags"]
7749    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7750}
7751extern "C" {
7752    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_mode"]
7753    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7754}
7755extern "C" {
7756    #[link_name = "\u{1}aws_lc_0_41_0_EVP_BytesToKey"]
7757    pub fn EVP_BytesToKey(
7758        type_: *const EVP_CIPHER,
7759        md: *const EVP_MD,
7760        salt: *const u8,
7761        data: *const u8,
7762        data_len: usize,
7763        count: ::std::os::raw::c_uint,
7764        key: *mut u8,
7765        iv: *mut u8,
7766    ) -> ::std::os::raw::c_int;
7767}
7768extern "C" {
7769    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_cbc_hmac_sha1"]
7770    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7771}
7772extern "C" {
7773    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_cbc_hmac_sha1"]
7774    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7775}
7776extern "C" {
7777    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_cbc_hmac_sha256"]
7778    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7779}
7780extern "C" {
7781    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_cbc_hmac_sha256"]
7782    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7783}
7784extern "C" {
7785    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CipherInit"]
7786    pub fn EVP_CipherInit(
7787        ctx: *mut EVP_CIPHER_CTX,
7788        cipher: *const EVP_CIPHER,
7789        key: *const u8,
7790        iv: *const u8,
7791        enc: ::std::os::raw::c_int,
7792    ) -> ::std::os::raw::c_int;
7793}
7794extern "C" {
7795    #[link_name = "\u{1}aws_lc_0_41_0_EVP_EncryptInit"]
7796    pub fn EVP_EncryptInit(
7797        ctx: *mut EVP_CIPHER_CTX,
7798        cipher: *const EVP_CIPHER,
7799        key: *const u8,
7800        iv: *const u8,
7801    ) -> ::std::os::raw::c_int;
7802}
7803extern "C" {
7804    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DecryptInit"]
7805    pub fn EVP_DecryptInit(
7806        ctx: *mut EVP_CIPHER_CTX,
7807        cipher: *const EVP_CIPHER,
7808        key: *const u8,
7809        iv: *const u8,
7810    ) -> ::std::os::raw::c_int;
7811}
7812extern "C" {
7813    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CipherFinal"]
7814    pub fn EVP_CipherFinal(
7815        ctx: *mut EVP_CIPHER_CTX,
7816        out: *mut u8,
7817        out_len: *mut ::std::os::raw::c_int,
7818    ) -> ::std::os::raw::c_int;
7819}
7820extern "C" {
7821    #[link_name = "\u{1}aws_lc_0_41_0_EVP_EncryptFinal"]
7822    pub fn EVP_EncryptFinal(
7823        ctx: *mut EVP_CIPHER_CTX,
7824        out: *mut u8,
7825        out_len: *mut ::std::os::raw::c_int,
7826    ) -> ::std::os::raw::c_int;
7827}
7828extern "C" {
7829    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DecryptFinal"]
7830    pub fn EVP_DecryptFinal(
7831        ctx: *mut EVP_CIPHER_CTX,
7832        out: *mut u8,
7833        out_len: *mut ::std::os::raw::c_int,
7834    ) -> ::std::os::raw::c_int;
7835}
7836extern "C" {
7837    #[link_name = "\u{1}aws_lc_0_41_0_EVP_Cipher"]
7838    pub fn EVP_Cipher(
7839        ctx: *mut EVP_CIPHER_CTX,
7840        out: *mut u8,
7841        in_: *const u8,
7842        in_len: usize,
7843    ) -> ::std::os::raw::c_int;
7844}
7845extern "C" {
7846    #[link_name = "\u{1}aws_lc_0_41_0_EVP_get_cipherbyname"]
7847    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7848}
7849extern "C" {
7850    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_gcm"]
7851    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7852}
7853extern "C" {
7854    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_gcm"]
7855    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7856}
7857extern "C" {
7858    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_ccm"]
7859    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
7860}
7861extern "C" {
7862    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_ccm"]
7863    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
7864}
7865extern "C" {
7866    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_ccm"]
7867    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
7868}
7869extern "C" {
7870    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_ecb"]
7871    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
7872}
7873extern "C" {
7874    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_cbc"]
7875    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
7876}
7877extern "C" {
7878    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_ctr"]
7879    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
7880}
7881extern "C" {
7882    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_gcm"]
7883    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
7884}
7885extern "C" {
7886    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_ofb"]
7887    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
7888}
7889extern "C" {
7890    #[link_name = "\u{1}aws_lc_0_41_0_EVP_des_ede3_ecb"]
7891    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
7892}
7893extern "C" {
7894    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_cfb128"]
7895    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
7896}
7897extern "C" {
7898    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_cfb"]
7899    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
7900}
7901extern "C" {
7902    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_cfb1"]
7903    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
7904}
7905extern "C" {
7906    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_128_cfb8"]
7907    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
7908}
7909extern "C" {
7910    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_cfb128"]
7911    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
7912}
7913extern "C" {
7914    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_cfb"]
7915    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
7916}
7917extern "C" {
7918    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_cfb1"]
7919    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
7920}
7921extern "C" {
7922    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_192_cfb8"]
7923    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
7924}
7925extern "C" {
7926    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_cfb128"]
7927    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
7928}
7929extern "C" {
7930    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_cfb"]
7931    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
7932}
7933extern "C" {
7934    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_cfb1"]
7935    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
7936}
7937extern "C" {
7938    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aes_256_cfb8"]
7939    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
7940}
7941extern "C" {
7942    #[link_name = "\u{1}aws_lc_0_41_0_EVP_bf_ecb"]
7943    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
7944}
7945extern "C" {
7946    #[link_name = "\u{1}aws_lc_0_41_0_EVP_bf_cbc"]
7947    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
7948}
7949extern "C" {
7950    #[link_name = "\u{1}aws_lc_0_41_0_EVP_bf_cfb"]
7951    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
7952}
7953extern "C" {
7954    #[link_name = "\u{1}aws_lc_0_41_0_EVP_bf_cfb64"]
7955    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
7956}
7957extern "C" {
7958    #[link_name = "\u{1}aws_lc_0_41_0_EVP_bf_ofb"]
7959    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
7960}
7961extern "C" {
7962    #[link_name = "\u{1}aws_lc_0_41_0_EVP_cast5_ecb"]
7963    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
7964}
7965extern "C" {
7966    #[link_name = "\u{1}aws_lc_0_41_0_EVP_cast5_cbc"]
7967    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
7968}
7969extern "C" {
7970    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_CTX_set_flags"]
7971    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
7972}
7973extern "C" {
7974    #[link_name = "\u{1}aws_lc_0_41_0_EVP_add_cipher_alias"]
7975    pub fn EVP_add_cipher_alias(
7976        a: *const ::std::os::raw::c_char,
7977        b: *const ::std::os::raw::c_char,
7978    ) -> ::std::os::raw::c_int;
7979}
7980#[repr(C)]
7981#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7982pub struct evp_cipher_ctx_st {
7983    pub cipher: *const EVP_CIPHER,
7984    pub app_data: *mut ::std::os::raw::c_void,
7985    pub cipher_data: *mut ::std::os::raw::c_void,
7986    pub key_len: ::std::os::raw::c_uint,
7987    pub encrypt: ::std::os::raw::c_int,
7988    pub flags: u32,
7989    pub oiv: [u8; 16usize],
7990    pub iv: [u8; 16usize],
7991    pub buf: [u8; 32usize],
7992    pub buf_len: ::std::os::raw::c_int,
7993    pub num: ::std::os::raw::c_uint,
7994    pub final_used: ::std::os::raw::c_int,
7995    pub final_: [u8; 32usize],
7996    pub poisoned: ::std::os::raw::c_int,
7997}
7998#[test]
7999fn bindgen_test_layout_evp_cipher_ctx_st() {
8000    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
8001    let ptr = UNINIT.as_ptr();
8002    assert_eq!(
8003        ::std::mem::size_of::<evp_cipher_ctx_st>(),
8004        152usize,
8005        "Size of evp_cipher_ctx_st"
8006    );
8007    assert_eq!(
8008        ::std::mem::align_of::<evp_cipher_ctx_st>(),
8009        8usize,
8010        "Alignment of evp_cipher_ctx_st"
8011    );
8012    assert_eq!(
8013        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8014        0usize,
8015        "Offset of field: evp_cipher_ctx_st::cipher"
8016    );
8017    assert_eq!(
8018        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
8019        8usize,
8020        "Offset of field: evp_cipher_ctx_st::app_data"
8021    );
8022    assert_eq!(
8023        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
8024        16usize,
8025        "Offset of field: evp_cipher_ctx_st::cipher_data"
8026    );
8027    assert_eq!(
8028        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8029        24usize,
8030        "Offset of field: evp_cipher_ctx_st::key_len"
8031    );
8032    assert_eq!(
8033        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8034        28usize,
8035        "Offset of field: evp_cipher_ctx_st::encrypt"
8036    );
8037    assert_eq!(
8038        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8039        32usize,
8040        "Offset of field: evp_cipher_ctx_st::flags"
8041    );
8042    assert_eq!(
8043        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8044        36usize,
8045        "Offset of field: evp_cipher_ctx_st::oiv"
8046    );
8047    assert_eq!(
8048        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8049        52usize,
8050        "Offset of field: evp_cipher_ctx_st::iv"
8051    );
8052    assert_eq!(
8053        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8054        68usize,
8055        "Offset of field: evp_cipher_ctx_st::buf"
8056    );
8057    assert_eq!(
8058        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8059        100usize,
8060        "Offset of field: evp_cipher_ctx_st::buf_len"
8061    );
8062    assert_eq!(
8063        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8064        104usize,
8065        "Offset of field: evp_cipher_ctx_st::num"
8066    );
8067    assert_eq!(
8068        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8069        108usize,
8070        "Offset of field: evp_cipher_ctx_st::final_used"
8071    );
8072    assert_eq!(
8073        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8074        112usize,
8075        "Offset of field: evp_cipher_ctx_st::final_"
8076    );
8077    assert_eq!(
8078        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8079        144usize,
8080        "Offset of field: evp_cipher_ctx_st::poisoned"
8081    );
8082}
8083impl Default for evp_cipher_ctx_st {
8084    fn default() -> Self {
8085        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8086        unsafe {
8087            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8088            s.assume_init()
8089        }
8090    }
8091}
8092#[repr(C)]
8093#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8094pub struct evp_cipher_info_st {
8095    pub cipher: *const EVP_CIPHER,
8096    pub iv: [::std::os::raw::c_uchar; 16usize],
8097}
8098#[test]
8099fn bindgen_test_layout_evp_cipher_info_st() {
8100    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8101    let ptr = UNINIT.as_ptr();
8102    assert_eq!(
8103        ::std::mem::size_of::<evp_cipher_info_st>(),
8104        24usize,
8105        "Size of evp_cipher_info_st"
8106    );
8107    assert_eq!(
8108        ::std::mem::align_of::<evp_cipher_info_st>(),
8109        8usize,
8110        "Alignment of evp_cipher_info_st"
8111    );
8112    assert_eq!(
8113        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8114        0usize,
8115        "Offset of field: evp_cipher_info_st::cipher"
8116    );
8117    assert_eq!(
8118        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8119        8usize,
8120        "Offset of field: evp_cipher_info_st::iv"
8121    );
8122}
8123impl Default for evp_cipher_info_st {
8124    fn default() -> Self {
8125        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8126        unsafe {
8127            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8128            s.assume_init()
8129        }
8130    }
8131}
8132pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8133extern "C" {
8134    #[link_name = "\u{1}aws_lc_0_41_0_AES_CMAC"]
8135    pub fn AES_CMAC(
8136        out: *mut u8,
8137        key: *const u8,
8138        key_len: usize,
8139        in_: *const u8,
8140        in_len: usize,
8141    ) -> ::std::os::raw::c_int;
8142}
8143extern "C" {
8144    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_CTX_new"]
8145    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8146}
8147extern "C" {
8148    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_CTX_free"]
8149    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8150}
8151extern "C" {
8152    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_CTX_copy"]
8153    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8154}
8155extern "C" {
8156    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_Init"]
8157    pub fn CMAC_Init(
8158        ctx: *mut CMAC_CTX,
8159        key: *const ::std::os::raw::c_void,
8160        key_len: usize,
8161        cipher: *const EVP_CIPHER,
8162        engine: *mut ENGINE,
8163    ) -> ::std::os::raw::c_int;
8164}
8165extern "C" {
8166    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_Reset"]
8167    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8168}
8169extern "C" {
8170    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_Update"]
8171    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8172}
8173extern "C" {
8174    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_Final"]
8175    pub fn CMAC_Final(
8176        ctx: *mut CMAC_CTX,
8177        out: *mut u8,
8178        out_len: *mut usize,
8179    ) -> ::std::os::raw::c_int;
8180}
8181extern "C" {
8182    #[link_name = "\u{1}aws_lc_0_41_0_CMAC_CTX_get0_cipher_ctx"]
8183    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8184}
8185#[repr(C)]
8186#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8187pub struct conf_value_st {
8188    pub section: *mut ::std::os::raw::c_char,
8189    pub name: *mut ::std::os::raw::c_char,
8190    pub value: *mut ::std::os::raw::c_char,
8191}
8192#[test]
8193fn bindgen_test_layout_conf_value_st() {
8194    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8195    let ptr = UNINIT.as_ptr();
8196    assert_eq!(
8197        ::std::mem::size_of::<conf_value_st>(),
8198        24usize,
8199        "Size of conf_value_st"
8200    );
8201    assert_eq!(
8202        ::std::mem::align_of::<conf_value_st>(),
8203        8usize,
8204        "Alignment of conf_value_st"
8205    );
8206    assert_eq!(
8207        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8208        0usize,
8209        "Offset of field: conf_value_st::section"
8210    );
8211    assert_eq!(
8212        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8213        8usize,
8214        "Offset of field: conf_value_st::name"
8215    );
8216    assert_eq!(
8217        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8218        16usize,
8219        "Offset of field: conf_value_st::value"
8220    );
8221}
8222impl Default for conf_value_st {
8223    fn default() -> Self {
8224        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8225        unsafe {
8226            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8227            s.assume_init()
8228        }
8229    }
8230}
8231#[repr(C)]
8232#[derive(Debug, Copy, Clone)]
8233pub struct stack_st_CONF_VALUE {
8234    _unused: [u8; 0],
8235}
8236#[repr(C)]
8237#[derive(Debug, Copy, Clone)]
8238pub struct lhash_st_CONF_VALUE {
8239    _unused: [u8; 0],
8240}
8241#[repr(C)]
8242#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8243pub struct conf_st {
8244    pub data: *mut lhash_st_CONF_VALUE,
8245}
8246#[test]
8247fn bindgen_test_layout_conf_st() {
8248    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8249    let ptr = UNINIT.as_ptr();
8250    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8251    assert_eq!(
8252        ::std::mem::align_of::<conf_st>(),
8253        8usize,
8254        "Alignment of conf_st"
8255    );
8256    assert_eq!(
8257        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8258        0usize,
8259        "Offset of field: conf_st::data"
8260    );
8261}
8262impl Default for conf_st {
8263    fn default() -> Self {
8264        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8265        unsafe {
8266            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8267            s.assume_init()
8268        }
8269    }
8270}
8271extern "C" {
8272    #[link_name = "\u{1}aws_lc_0_41_0_X25519_keypair"]
8273    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8274}
8275extern "C" {
8276    #[link_name = "\u{1}aws_lc_0_41_0_X25519"]
8277    pub fn X25519(
8278        out_shared_key: *mut u8,
8279        private_key: *const u8,
8280        peer_public_value: *const u8,
8281    ) -> ::std::os::raw::c_int;
8282}
8283extern "C" {
8284    #[link_name = "\u{1}aws_lc_0_41_0_X25519_public_from_private"]
8285    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8286}
8287extern "C" {
8288    #[link_name = "\u{1}aws_lc_0_41_0_ED25519_keypair"]
8289    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8290}
8291extern "C" {
8292    #[link_name = "\u{1}aws_lc_0_41_0_ED25519_sign"]
8293    pub fn ED25519_sign(
8294        out_sig: *mut u8,
8295        message: *const u8,
8296        message_len: usize,
8297        private_key: *const u8,
8298    ) -> ::std::os::raw::c_int;
8299}
8300extern "C" {
8301    #[link_name = "\u{1}aws_lc_0_41_0_ED25519_verify"]
8302    pub fn ED25519_verify(
8303        message: *const u8,
8304        message_len: usize,
8305        signature: *const u8,
8306        public_key: *const u8,
8307    ) -> ::std::os::raw::c_int;
8308}
8309extern "C" {
8310    #[link_name = "\u{1}aws_lc_0_41_0_ED25519ctx_sign"]
8311    pub fn ED25519ctx_sign(
8312        out_sig: *mut u8,
8313        message: *const u8,
8314        message_len: usize,
8315        private_key: *const u8,
8316        context: *const u8,
8317        context_len: usize,
8318    ) -> ::std::os::raw::c_int;
8319}
8320extern "C" {
8321    #[link_name = "\u{1}aws_lc_0_41_0_ED25519ctx_verify"]
8322    pub fn ED25519ctx_verify(
8323        message: *const u8,
8324        message_len: usize,
8325        signature: *const u8,
8326        public_key: *const u8,
8327        context: *const u8,
8328        context_len: usize,
8329    ) -> ::std::os::raw::c_int;
8330}
8331extern "C" {
8332    #[link_name = "\u{1}aws_lc_0_41_0_ED25519ph_sign"]
8333    pub fn ED25519ph_sign(
8334        out_sig: *mut u8,
8335        message: *const u8,
8336        message_len: usize,
8337        private_key: *const u8,
8338        context: *const u8,
8339        context_len: usize,
8340    ) -> ::std::os::raw::c_int;
8341}
8342extern "C" {
8343    #[link_name = "\u{1}aws_lc_0_41_0_ED25519ph_verify"]
8344    pub fn ED25519ph_verify(
8345        message: *const u8,
8346        message_len: usize,
8347        signature: *const u8,
8348        public_key: *const u8,
8349        context: *const u8,
8350        context_len: usize,
8351    ) -> ::std::os::raw::c_int;
8352}
8353extern "C" {
8354    #[link_name = "\u{1}aws_lc_0_41_0_ED25519ph_sign_digest"]
8355    pub fn ED25519ph_sign_digest(
8356        out_sig: *mut u8,
8357        digest: *const u8,
8358        private_key: *const u8,
8359        context: *const u8,
8360        context_len: usize,
8361    ) -> ::std::os::raw::c_int;
8362}
8363extern "C" {
8364    #[link_name = "\u{1}aws_lc_0_41_0_ED25519ph_verify_digest"]
8365    pub fn ED25519ph_verify_digest(
8366        digest: *const u8,
8367        signature: *const u8,
8368        public_key: *const u8,
8369        context: *const u8,
8370        context_len: usize,
8371    ) -> ::std::os::raw::c_int;
8372}
8373extern "C" {
8374    #[link_name = "\u{1}aws_lc_0_41_0_ED25519_keypair_from_seed"]
8375    pub fn ED25519_keypair_from_seed(
8376        out_public_key: *mut u8,
8377        out_private_key: *mut u8,
8378        seed: *const u8,
8379    );
8380}
8381pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8382pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8383pub type spake2_role_t = ::std::os::raw::c_uint;
8384extern "C" {
8385    #[link_name = "\u{1}aws_lc_0_41_0_SPAKE2_CTX_new"]
8386    pub fn SPAKE2_CTX_new(
8387        my_role: spake2_role_t,
8388        my_name: *const u8,
8389        my_name_len: usize,
8390        their_name: *const u8,
8391        their_name_len: usize,
8392    ) -> *mut SPAKE2_CTX;
8393}
8394extern "C" {
8395    #[link_name = "\u{1}aws_lc_0_41_0_SPAKE2_CTX_free"]
8396    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8397}
8398extern "C" {
8399    #[link_name = "\u{1}aws_lc_0_41_0_SPAKE2_generate_msg"]
8400    pub fn SPAKE2_generate_msg(
8401        ctx: *mut SPAKE2_CTX,
8402        out: *mut u8,
8403        out_len: *mut usize,
8404        max_out_len: usize,
8405        password: *const u8,
8406        password_len: usize,
8407    ) -> ::std::os::raw::c_int;
8408}
8409extern "C" {
8410    #[link_name = "\u{1}aws_lc_0_41_0_SPAKE2_process_msg"]
8411    pub fn SPAKE2_process_msg(
8412        ctx: *mut SPAKE2_CTX,
8413        out_key: *mut u8,
8414        out_key_len: *mut usize,
8415        max_out_key_len: usize,
8416        their_msg: *const u8,
8417        their_msg_len: usize,
8418    ) -> ::std::os::raw::c_int;
8419}
8420extern "C" {
8421    #[link_name = "\u{1}aws_lc_0_41_0_EVP_md4"]
8422    pub fn EVP_md4() -> *const EVP_MD;
8423}
8424extern "C" {
8425    #[link_name = "\u{1}aws_lc_0_41_0_EVP_md5"]
8426    pub fn EVP_md5() -> *const EVP_MD;
8427}
8428extern "C" {
8429    #[link_name = "\u{1}aws_lc_0_41_0_EVP_ripemd160"]
8430    pub fn EVP_ripemd160() -> *const EVP_MD;
8431}
8432extern "C" {
8433    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha1"]
8434    pub fn EVP_sha1() -> *const EVP_MD;
8435}
8436extern "C" {
8437    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha224"]
8438    pub fn EVP_sha224() -> *const EVP_MD;
8439}
8440extern "C" {
8441    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha256"]
8442    pub fn EVP_sha256() -> *const EVP_MD;
8443}
8444extern "C" {
8445    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha384"]
8446    pub fn EVP_sha384() -> *const EVP_MD;
8447}
8448extern "C" {
8449    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha512"]
8450    pub fn EVP_sha512() -> *const EVP_MD;
8451}
8452extern "C" {
8453    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha512_224"]
8454    pub fn EVP_sha512_224() -> *const EVP_MD;
8455}
8456extern "C" {
8457    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha512_256"]
8458    pub fn EVP_sha512_256() -> *const EVP_MD;
8459}
8460extern "C" {
8461    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha3_224"]
8462    pub fn EVP_sha3_224() -> *const EVP_MD;
8463}
8464extern "C" {
8465    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha3_256"]
8466    pub fn EVP_sha3_256() -> *const EVP_MD;
8467}
8468extern "C" {
8469    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha3_384"]
8470    pub fn EVP_sha3_384() -> *const EVP_MD;
8471}
8472extern "C" {
8473    #[link_name = "\u{1}aws_lc_0_41_0_EVP_sha3_512"]
8474    pub fn EVP_sha3_512() -> *const EVP_MD;
8475}
8476extern "C" {
8477    #[link_name = "\u{1}aws_lc_0_41_0_EVP_shake128"]
8478    pub fn EVP_shake128() -> *const EVP_MD;
8479}
8480extern "C" {
8481    #[link_name = "\u{1}aws_lc_0_41_0_EVP_shake256"]
8482    pub fn EVP_shake256() -> *const EVP_MD;
8483}
8484extern "C" {
8485    #[link_name = "\u{1}aws_lc_0_41_0_EVP_blake2b256"]
8486    pub fn EVP_blake2b256() -> *const EVP_MD;
8487}
8488extern "C" {
8489    #[link_name = "\u{1}aws_lc_0_41_0_EVP_md5_sha1"]
8490    pub fn EVP_md5_sha1() -> *const EVP_MD;
8491}
8492extern "C" {
8493    #[link_name = "\u{1}aws_lc_0_41_0_EVP_get_digestbynid"]
8494    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8495}
8496extern "C" {
8497    #[link_name = "\u{1}aws_lc_0_41_0_EVP_get_digestbyobj"]
8498    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_init"]
8502    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8503}
8504extern "C" {
8505    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_new"]
8506    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8507}
8508extern "C" {
8509    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_cleanup"]
8510    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8511}
8512extern "C" {
8513    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_cleanse"]
8514    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8515}
8516extern "C" {
8517    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_free"]
8518    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8519}
8520extern "C" {
8521    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_copy_ex"]
8522    pub fn EVP_MD_CTX_copy_ex(
8523        out: *mut EVP_MD_CTX,
8524        in_: *const EVP_MD_CTX,
8525    ) -> ::std::os::raw::c_int;
8526}
8527extern "C" {
8528    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_move"]
8529    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8530}
8531extern "C" {
8532    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_reset"]
8533    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8534}
8535extern "C" {
8536    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestInit_ex"]
8537    pub fn EVP_DigestInit_ex(
8538        ctx: *mut EVP_MD_CTX,
8539        type_: *const EVP_MD,
8540        engine: *mut ENGINE,
8541    ) -> ::std::os::raw::c_int;
8542}
8543extern "C" {
8544    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestInit"]
8545    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8546}
8547extern "C" {
8548    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestUpdate"]
8549    pub fn EVP_DigestUpdate(
8550        ctx: *mut EVP_MD_CTX,
8551        data: *const ::std::os::raw::c_void,
8552        len: usize,
8553    ) -> ::std::os::raw::c_int;
8554}
8555extern "C" {
8556    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestFinal_ex"]
8557    pub fn EVP_DigestFinal_ex(
8558        ctx: *mut EVP_MD_CTX,
8559        md_out: *mut u8,
8560        out_size: *mut ::std::os::raw::c_uint,
8561    ) -> ::std::os::raw::c_int;
8562}
8563extern "C" {
8564    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestFinal"]
8565    pub fn EVP_DigestFinal(
8566        ctx: *mut EVP_MD_CTX,
8567        md_out: *mut u8,
8568        out_size: *mut ::std::os::raw::c_uint,
8569    ) -> ::std::os::raw::c_int;
8570}
8571extern "C" {
8572    #[link_name = "\u{1}aws_lc_0_41_0_EVP_Digest"]
8573    pub fn EVP_Digest(
8574        data: *const ::std::os::raw::c_void,
8575        len: usize,
8576        md_out: *mut u8,
8577        out_size: *mut ::std::os::raw::c_uint,
8578        type_: *const EVP_MD,
8579        impl_: *mut ENGINE,
8580    ) -> ::std::os::raw::c_int;
8581}
8582extern "C" {
8583    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_type"]
8584    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8585}
8586extern "C" {
8587    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_flags"]
8588    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8589}
8590extern "C" {
8591    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_size"]
8592    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8593}
8594extern "C" {
8595    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_block_size"]
8596    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8597}
8598extern "C" {
8599    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_md"]
8600    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8601}
8602extern "C" {
8603    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_size"]
8604    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8605}
8606extern "C" {
8607    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_block_size"]
8608    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8609}
8610extern "C" {
8611    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_type"]
8612    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8613}
8614extern "C" {
8615    #[link_name = "\u{1}aws_lc_0_41_0_EVP_parse_digest_algorithm"]
8616    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8617}
8618extern "C" {
8619    #[link_name = "\u{1}aws_lc_0_41_0_EVP_marshal_digest_algorithm"]
8620    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8621}
8622extern "C" {
8623    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_copy"]
8624    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8625}
8626extern "C" {
8627    #[link_name = "\u{1}aws_lc_0_41_0_EVP_get_digestbyname"]
8628    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8629}
8630extern "C" {
8631    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_create"]
8632    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8633}
8634extern "C" {
8635    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_destroy"]
8636    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8637}
8638extern "C" {
8639    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestFinalXOF"]
8640    pub fn EVP_DigestFinalXOF(
8641        ctx: *mut EVP_MD_CTX,
8642        out: *mut u8,
8643        len: usize,
8644    ) -> ::std::os::raw::c_int;
8645}
8646extern "C" {
8647    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestSqueeze"]
8648    pub fn EVP_DigestSqueeze(
8649        ctx: *mut EVP_MD_CTX,
8650        out: *mut u8,
8651        len: usize,
8652    ) -> ::std::os::raw::c_int;
8653}
8654extern "C" {
8655    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_meth_get_flags"]
8656    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8657}
8658extern "C" {
8659    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_nid"]
8660    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8661}
8662extern "C" {
8663    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_set_pkey_ctx"]
8664    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8665}
8666extern "C" {
8667    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_get_pkey_ctx"]
8668    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8669}
8670extern "C" {
8671    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_pkey_ctx"]
8672    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8673}
8674#[repr(C)]
8675#[derive(Debug, Copy, Clone)]
8676pub struct evp_md_pctx_ops {
8677    _unused: [u8; 0],
8678}
8679#[repr(C)]
8680#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8681pub struct env_md_ctx_st {
8682    pub digest: *const EVP_MD,
8683    pub md_data: *mut ::std::os::raw::c_void,
8684    pub update: ::std::option::Option<
8685        unsafe extern "C" fn(
8686            ctx: *mut EVP_MD_CTX,
8687            data: *const ::std::os::raw::c_void,
8688            count: usize,
8689        ) -> ::std::os::raw::c_int,
8690    >,
8691    pub pctx: *mut EVP_PKEY_CTX,
8692    pub pctx_ops: *const evp_md_pctx_ops,
8693    pub flags: ::std::os::raw::c_ulong,
8694}
8695#[test]
8696fn bindgen_test_layout_env_md_ctx_st() {
8697    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8698    let ptr = UNINIT.as_ptr();
8699    assert_eq!(
8700        ::std::mem::size_of::<env_md_ctx_st>(),
8701        48usize,
8702        "Size of env_md_ctx_st"
8703    );
8704    assert_eq!(
8705        ::std::mem::align_of::<env_md_ctx_st>(),
8706        8usize,
8707        "Alignment of env_md_ctx_st"
8708    );
8709    assert_eq!(
8710        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8711        0usize,
8712        "Offset of field: env_md_ctx_st::digest"
8713    );
8714    assert_eq!(
8715        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8716        8usize,
8717        "Offset of field: env_md_ctx_st::md_data"
8718    );
8719    assert_eq!(
8720        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8721        16usize,
8722        "Offset of field: env_md_ctx_st::update"
8723    );
8724    assert_eq!(
8725        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8726        24usize,
8727        "Offset of field: env_md_ctx_st::pctx"
8728    );
8729    assert_eq!(
8730        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8731        32usize,
8732        "Offset of field: env_md_ctx_st::pctx_ops"
8733    );
8734    assert_eq!(
8735        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8736        40usize,
8737        "Offset of field: env_md_ctx_st::flags"
8738    );
8739}
8740impl Default for env_md_ctx_st {
8741    fn default() -> Self {
8742        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8743        unsafe {
8744            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8745            s.assume_init()
8746        }
8747    }
8748}
8749extern "C" {
8750    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_unstable_sha3_enable"]
8751    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8752}
8753extern "C" {
8754    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_unstable_sha3_is_enabled"]
8755    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8756}
8757extern "C" {
8758    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_CTX_set_flags"]
8759    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8760}
8761extern "C" {
8762    #[link_name = "\u{1}aws_lc_0_41_0_EVP_add_digest"]
8763    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8764}
8765extern "C" {
8766    #[link_name = "\u{1}aws_lc_0_41_0_EVP_md_null"]
8767    pub fn EVP_md_null() -> *const EVP_MD;
8768}
8769#[repr(C)]
8770#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8771pub struct DSA_SIG_st {
8772    pub r: *mut BIGNUM,
8773    pub s: *mut BIGNUM,
8774}
8775#[test]
8776fn bindgen_test_layout_DSA_SIG_st() {
8777    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8778    let ptr = UNINIT.as_ptr();
8779    assert_eq!(
8780        ::std::mem::size_of::<DSA_SIG_st>(),
8781        16usize,
8782        "Size of DSA_SIG_st"
8783    );
8784    assert_eq!(
8785        ::std::mem::align_of::<DSA_SIG_st>(),
8786        8usize,
8787        "Alignment of DSA_SIG_st"
8788    );
8789    assert_eq!(
8790        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8791        0usize,
8792        "Offset of field: DSA_SIG_st::r"
8793    );
8794    assert_eq!(
8795        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8796        8usize,
8797        "Offset of field: DSA_SIG_st::s"
8798    );
8799}
8800impl Default for DSA_SIG_st {
8801    fn default() -> Self {
8802        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8803        unsafe {
8804            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8805            s.assume_init()
8806        }
8807    }
8808}
8809#[repr(u32)]
8810#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8811pub enum point_conversion_form_t {
8812    POINT_CONVERSION_COMPRESSED = 2,
8813    POINT_CONVERSION_UNCOMPRESSED = 4,
8814    POINT_CONVERSION_HYBRID = 6,
8815}
8816extern "C" {
8817    #[link_name = "\u{1}aws_lc_0_41_0_EC_group_p224"]
8818    pub fn EC_group_p224() -> *const EC_GROUP;
8819}
8820extern "C" {
8821    #[link_name = "\u{1}aws_lc_0_41_0_EC_group_p256"]
8822    pub fn EC_group_p256() -> *const EC_GROUP;
8823}
8824extern "C" {
8825    #[link_name = "\u{1}aws_lc_0_41_0_EC_group_p384"]
8826    pub fn EC_group_p384() -> *const EC_GROUP;
8827}
8828extern "C" {
8829    #[link_name = "\u{1}aws_lc_0_41_0_EC_group_p521"]
8830    pub fn EC_group_p521() -> *const EC_GROUP;
8831}
8832extern "C" {
8833    #[link_name = "\u{1}aws_lc_0_41_0_EC_group_secp256k1"]
8834    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8835}
8836extern "C" {
8837    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_new_by_curve_name"]
8838    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8839}
8840extern "C" {
8841    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_new_by_curve_name_mutable"]
8842    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8843}
8844extern "C" {
8845    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_cmp"]
8846    pub fn EC_GROUP_cmp(
8847        a: *const EC_GROUP,
8848        b: *const EC_GROUP,
8849        ignored: *mut BN_CTX,
8850    ) -> ::std::os::raw::c_int;
8851}
8852extern "C" {
8853    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get0_generator"]
8854    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
8855}
8856extern "C" {
8857    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get0_order"]
8858    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
8859}
8860extern "C" {
8861    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_order_bits"]
8862    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8863}
8864extern "C" {
8865    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_cofactor"]
8866    pub fn EC_GROUP_get_cofactor(
8867        group: *const EC_GROUP,
8868        cofactor: *mut BIGNUM,
8869        ctx: *mut BN_CTX,
8870    ) -> ::std::os::raw::c_int;
8871}
8872extern "C" {
8873    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_curve_GFp"]
8874    pub fn EC_GROUP_get_curve_GFp(
8875        group: *const EC_GROUP,
8876        out_p: *mut BIGNUM,
8877        out_a: *mut BIGNUM,
8878        out_b: *mut BIGNUM,
8879        ctx: *mut BN_CTX,
8880    ) -> ::std::os::raw::c_int;
8881}
8882extern "C" {
8883    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_curve_name"]
8884    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8885}
8886extern "C" {
8887    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_degree"]
8888    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
8889}
8890extern "C" {
8891    #[link_name = "\u{1}aws_lc_0_41_0_EC_curve_nid2nist"]
8892    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8893}
8894extern "C" {
8895    #[link_name = "\u{1}aws_lc_0_41_0_EC_curve_nist2nid"]
8896    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8897}
8898extern "C" {
8899    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_new"]
8900    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
8901}
8902extern "C" {
8903    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_free"]
8904    pub fn EC_POINT_free(point: *mut EC_POINT);
8905}
8906extern "C" {
8907    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_copy"]
8908    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
8909}
8910extern "C" {
8911    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_dup"]
8912    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
8913}
8914extern "C" {
8915    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_set_to_infinity"]
8916    pub fn EC_POINT_set_to_infinity(
8917        group: *const EC_GROUP,
8918        point: *mut EC_POINT,
8919    ) -> ::std::os::raw::c_int;
8920}
8921extern "C" {
8922    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_is_at_infinity"]
8923    pub fn EC_POINT_is_at_infinity(
8924        group: *const EC_GROUP,
8925        point: *const EC_POINT,
8926    ) -> ::std::os::raw::c_int;
8927}
8928extern "C" {
8929    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_is_on_curve"]
8930    pub fn EC_POINT_is_on_curve(
8931        group: *const EC_GROUP,
8932        point: *const EC_POINT,
8933        ctx: *mut BN_CTX,
8934    ) -> ::std::os::raw::c_int;
8935}
8936extern "C" {
8937    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_cmp"]
8938    pub fn EC_POINT_cmp(
8939        group: *const EC_GROUP,
8940        a: *const EC_POINT,
8941        b: *const EC_POINT,
8942        ctx: *mut BN_CTX,
8943    ) -> ::std::os::raw::c_int;
8944}
8945extern "C" {
8946    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_get_affine_coordinates_GFp"]
8947    pub fn EC_POINT_get_affine_coordinates_GFp(
8948        group: *const EC_GROUP,
8949        point: *const EC_POINT,
8950        x: *mut BIGNUM,
8951        y: *mut BIGNUM,
8952        ctx: *mut BN_CTX,
8953    ) -> ::std::os::raw::c_int;
8954}
8955extern "C" {
8956    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_get_affine_coordinates"]
8957    pub fn EC_POINT_get_affine_coordinates(
8958        group: *const EC_GROUP,
8959        point: *const EC_POINT,
8960        x: *mut BIGNUM,
8961        y: *mut BIGNUM,
8962        ctx: *mut BN_CTX,
8963    ) -> ::std::os::raw::c_int;
8964}
8965extern "C" {
8966    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_set_affine_coordinates_GFp"]
8967    pub fn EC_POINT_set_affine_coordinates_GFp(
8968        group: *const EC_GROUP,
8969        point: *mut EC_POINT,
8970        x: *const BIGNUM,
8971        y: *const BIGNUM,
8972        ctx: *mut BN_CTX,
8973    ) -> ::std::os::raw::c_int;
8974}
8975extern "C" {
8976    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_set_affine_coordinates"]
8977    pub fn EC_POINT_set_affine_coordinates(
8978        group: *const EC_GROUP,
8979        point: *mut EC_POINT,
8980        x: *const BIGNUM,
8981        y: *const BIGNUM,
8982        ctx: *mut BN_CTX,
8983    ) -> ::std::os::raw::c_int;
8984}
8985extern "C" {
8986    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_point2oct"]
8987    pub fn EC_POINT_point2oct(
8988        group: *const EC_GROUP,
8989        point: *const EC_POINT,
8990        form: point_conversion_form_t,
8991        buf: *mut u8,
8992        len: usize,
8993        ctx: *mut BN_CTX,
8994    ) -> usize;
8995}
8996extern "C" {
8997    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_point2cbb"]
8998    pub fn EC_POINT_point2cbb(
8999        out: *mut CBB,
9000        group: *const EC_GROUP,
9001        point: *const EC_POINT,
9002        form: point_conversion_form_t,
9003        ctx: *mut BN_CTX,
9004    ) -> ::std::os::raw::c_int;
9005}
9006extern "C" {
9007    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_oct2point"]
9008    pub fn EC_POINT_oct2point(
9009        group: *const EC_GROUP,
9010        point: *mut EC_POINT,
9011        buf: *const u8,
9012        len: usize,
9013        ctx: *mut BN_CTX,
9014    ) -> ::std::os::raw::c_int;
9015}
9016extern "C" {
9017    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_set_compressed_coordinates_GFp"]
9018    pub fn EC_POINT_set_compressed_coordinates_GFp(
9019        group: *const EC_GROUP,
9020        point: *mut EC_POINT,
9021        x: *const BIGNUM,
9022        y_bit: ::std::os::raw::c_int,
9023        ctx: *mut BN_CTX,
9024    ) -> ::std::os::raw::c_int;
9025}
9026extern "C" {
9027    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_add"]
9028    pub fn EC_POINT_add(
9029        group: *const EC_GROUP,
9030        r: *mut EC_POINT,
9031        a: *const EC_POINT,
9032        b: *const EC_POINT,
9033        ctx: *mut BN_CTX,
9034    ) -> ::std::os::raw::c_int;
9035}
9036extern "C" {
9037    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_dbl"]
9038    pub fn EC_POINT_dbl(
9039        group: *const EC_GROUP,
9040        r: *mut EC_POINT,
9041        a: *const EC_POINT,
9042        ctx: *mut BN_CTX,
9043    ) -> ::std::os::raw::c_int;
9044}
9045extern "C" {
9046    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_invert"]
9047    pub fn EC_POINT_invert(
9048        group: *const EC_GROUP,
9049        a: *mut EC_POINT,
9050        ctx: *mut BN_CTX,
9051    ) -> ::std::os::raw::c_int;
9052}
9053extern "C" {
9054    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_mul"]
9055    pub fn EC_POINT_mul(
9056        group: *const EC_GROUP,
9057        r: *mut EC_POINT,
9058        n: *const BIGNUM,
9059        q: *const EC_POINT,
9060        m: *const BIGNUM,
9061        ctx: *mut BN_CTX,
9062    ) -> ::std::os::raw::c_int;
9063}
9064extern "C" {
9065    #[link_name = "\u{1}aws_lc_0_41_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9066    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9067        group: *const EC_GROUP,
9068        out: *mut EC_POINT,
9069        dst: *const u8,
9070        dst_len: usize,
9071        msg: *const u8,
9072        msg_len: usize,
9073    ) -> ::std::os::raw::c_int;
9074}
9075extern "C" {
9076    #[link_name = "\u{1}aws_lc_0_41_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9077    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9078        group: *const EC_GROUP,
9079        out: *mut EC_POINT,
9080        dst: *const u8,
9081        dst_len: usize,
9082        msg: *const u8,
9083        msg_len: usize,
9084    ) -> ::std::os::raw::c_int;
9085}
9086extern "C" {
9087    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_free"]
9088    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9089}
9090extern "C" {
9091    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_dup"]
9092    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9093}
9094extern "C" {
9095    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_new_curve_GFp"]
9096    pub fn EC_GROUP_new_curve_GFp(
9097        p: *const BIGNUM,
9098        a: *const BIGNUM,
9099        b: *const BIGNUM,
9100        ctx: *mut BN_CTX,
9101    ) -> *mut EC_GROUP;
9102}
9103extern "C" {
9104    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_set_generator"]
9105    pub fn EC_GROUP_set_generator(
9106        group: *mut EC_GROUP,
9107        generator: *const EC_POINT,
9108        order: *const BIGNUM,
9109        cofactor: *const BIGNUM,
9110    ) -> ::std::os::raw::c_int;
9111}
9112extern "C" {
9113    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_point2bn"]
9114    pub fn EC_POINT_point2bn(
9115        group: *const EC_GROUP,
9116        point: *const EC_POINT,
9117        form: point_conversion_form_t,
9118        ret: *mut BIGNUM,
9119        ctx: *mut BN_CTX,
9120    ) -> *mut BIGNUM;
9121}
9122extern "C" {
9123    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_bn2point"]
9124    pub fn EC_POINT_bn2point(
9125        group: *const EC_GROUP,
9126        bn: *const BIGNUM,
9127        point: *mut EC_POINT,
9128        ctx: *mut BN_CTX,
9129    ) -> *mut EC_POINT;
9130}
9131extern "C" {
9132    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_order"]
9133    pub fn EC_GROUP_get_order(
9134        group: *const EC_GROUP,
9135        order: *mut BIGNUM,
9136        ctx: *mut BN_CTX,
9137    ) -> ::std::os::raw::c_int;
9138}
9139#[repr(C)]
9140#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9141pub struct EC_builtin_curve {
9142    pub nid: ::std::os::raw::c_int,
9143    pub comment: *const ::std::os::raw::c_char,
9144}
9145#[test]
9146fn bindgen_test_layout_EC_builtin_curve() {
9147    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9148    let ptr = UNINIT.as_ptr();
9149    assert_eq!(
9150        ::std::mem::size_of::<EC_builtin_curve>(),
9151        16usize,
9152        "Size of EC_builtin_curve"
9153    );
9154    assert_eq!(
9155        ::std::mem::align_of::<EC_builtin_curve>(),
9156        8usize,
9157        "Alignment of EC_builtin_curve"
9158    );
9159    assert_eq!(
9160        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9161        0usize,
9162        "Offset of field: EC_builtin_curve::nid"
9163    );
9164    assert_eq!(
9165        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9166        8usize,
9167        "Offset of field: EC_builtin_curve::comment"
9168    );
9169}
9170impl Default for EC_builtin_curve {
9171    fn default() -> Self {
9172        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9173        unsafe {
9174            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9175            s.assume_init()
9176        }
9177    }
9178}
9179extern "C" {
9180    #[link_name = "\u{1}aws_lc_0_41_0_EC_get_builtin_curves"]
9181    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9182        -> usize;
9183}
9184extern "C" {
9185    #[link_name = "\u{1}aws_lc_0_41_0_EC_POINT_clear_free"]
9186    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9187}
9188extern "C" {
9189    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_set_seed"]
9190    pub fn EC_GROUP_set_seed(
9191        group: *mut EC_GROUP,
9192        p: *const ::std::os::raw::c_uchar,
9193        len: usize,
9194    ) -> usize;
9195}
9196extern "C" {
9197    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get0_seed"]
9198    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9199}
9200extern "C" {
9201    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_seed_len"]
9202    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9203}
9204extern "C" {
9205    #[link_name = "\u{1}aws_lc_0_41_0_ECPKParameters_print"]
9206    pub fn ECPKParameters_print(
9207        bio: *mut BIO,
9208        group: *const EC_GROUP,
9209        offset: ::std::os::raw::c_int,
9210    ) -> ::std::os::raw::c_int;
9211}
9212extern "C" {
9213    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_set_asn1_flag"]
9214    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9215}
9216extern "C" {
9217    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_asn1_flag"]
9218    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9219}
9220extern "C" {
9221    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_set_point_conversion_form"]
9222    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9223}
9224extern "C" {
9225    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_get_point_conversion_form"]
9226    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9227}
9228extern "C" {
9229    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_decoded_from_explicit_params"]
9230    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9231}
9232#[repr(C)]
9233#[derive(Debug, Copy, Clone)]
9234pub struct ec_method_st {
9235    _unused: [u8; 0],
9236}
9237pub type EC_METHOD = ec_method_st;
9238extern "C" {
9239    #[link_name = "\u{1}aws_lc_0_41_0_EC_GROUP_method_of"]
9240    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9241}
9242extern "C" {
9243    #[link_name = "\u{1}aws_lc_0_41_0_EC_METHOD_get_field_type"]
9244    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9245}
9246extern "C" {
9247    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_new"]
9248    pub fn EC_KEY_new() -> *mut EC_KEY;
9249}
9250extern "C" {
9251    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_new_method"]
9252    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9253}
9254extern "C" {
9255    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_new_by_curve_name"]
9256    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9257}
9258extern "C" {
9259    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_free"]
9260    pub fn EC_KEY_free(key: *mut EC_KEY);
9261}
9262extern "C" {
9263    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_dup"]
9264    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9265}
9266extern "C" {
9267    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_up_ref"]
9268    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9269}
9270extern "C" {
9271    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_is_opaque"]
9272    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9273}
9274extern "C" {
9275    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get0_group"]
9276    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9277}
9278extern "C" {
9279    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_group"]
9280    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9281}
9282extern "C" {
9283    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get0_private_key"]
9284    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9285}
9286extern "C" {
9287    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_private_key"]
9288    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9289}
9290extern "C" {
9291    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get0_public_key"]
9292    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9293}
9294extern "C" {
9295    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_public_key"]
9296    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9297}
9298extern "C" {
9299    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get_enc_flags"]
9300    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9301}
9302extern "C" {
9303    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_enc_flags"]
9304    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9305}
9306extern "C" {
9307    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get_conv_form"]
9308    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9309}
9310extern "C" {
9311    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_conv_form"]
9312    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9313}
9314extern "C" {
9315    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_check_key"]
9316    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9317}
9318extern "C" {
9319    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_check_fips"]
9320    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9321}
9322extern "C" {
9323    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_public_key_affine_coordinates"]
9324    pub fn EC_KEY_set_public_key_affine_coordinates(
9325        key: *mut EC_KEY,
9326        x: *const BIGNUM,
9327        y: *const BIGNUM,
9328    ) -> ::std::os::raw::c_int;
9329}
9330extern "C" {
9331    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_key2buf"]
9332    pub fn EC_KEY_key2buf(
9333        key: *const EC_KEY,
9334        form: point_conversion_form_t,
9335        out_buf: *mut *mut ::std::os::raw::c_uchar,
9336        ctx: *mut BN_CTX,
9337    ) -> usize;
9338}
9339extern "C" {
9340    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_generate_key"]
9341    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9342}
9343extern "C" {
9344    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_generate_key_fips"]
9345    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9346}
9347extern "C" {
9348    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_derive_from_secret"]
9349    pub fn EC_KEY_derive_from_secret(
9350        group: *const EC_GROUP,
9351        secret: *const u8,
9352        secret_len: usize,
9353    ) -> *mut EC_KEY;
9354}
9355extern "C" {
9356    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_parse_private_key"]
9357    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9358}
9359extern "C" {
9360    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_marshal_private_key"]
9361    pub fn EC_KEY_marshal_private_key(
9362        cbb: *mut CBB,
9363        key: *const EC_KEY,
9364        enc_flags: ::std::os::raw::c_uint,
9365    ) -> ::std::os::raw::c_int;
9366}
9367extern "C" {
9368    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_parse_curve_name"]
9369    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9370}
9371extern "C" {
9372    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_marshal_curve_name"]
9373    pub fn EC_KEY_marshal_curve_name(
9374        cbb: *mut CBB,
9375        group: *const EC_GROUP,
9376    ) -> ::std::os::raw::c_int;
9377}
9378extern "C" {
9379    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_parse_parameters"]
9380    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9381}
9382extern "C" {
9383    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get_ex_new_index"]
9384    pub fn EC_KEY_get_ex_new_index(
9385        argl: ::std::os::raw::c_long,
9386        argp: *mut ::std::os::raw::c_void,
9387        unused: *mut CRYPTO_EX_unused,
9388        dup_unused: CRYPTO_EX_dup,
9389        free_func: CRYPTO_EX_free,
9390    ) -> ::std::os::raw::c_int;
9391}
9392extern "C" {
9393    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_ex_data"]
9394    pub fn EC_KEY_set_ex_data(
9395        r: *mut EC_KEY,
9396        idx: ::std::os::raw::c_int,
9397        arg: *mut ::std::os::raw::c_void,
9398    ) -> ::std::os::raw::c_int;
9399}
9400extern "C" {
9401    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get_ex_data"]
9402    pub fn EC_KEY_get_ex_data(
9403        r: *const EC_KEY,
9404        idx: ::std::os::raw::c_int,
9405    ) -> *mut ::std::os::raw::c_void;
9406}
9407extern "C" {
9408    #[link_name = "\u{1}aws_lc_0_41_0_d2i_ECPrivateKey"]
9409    pub fn d2i_ECPrivateKey(
9410        out_key: *mut *mut EC_KEY,
9411        inp: *mut *const u8,
9412        len: ::std::os::raw::c_long,
9413    ) -> *mut EC_KEY;
9414}
9415extern "C" {
9416    #[link_name = "\u{1}aws_lc_0_41_0_i2d_ECPrivateKey"]
9417    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9418}
9419extern "C" {
9420    #[link_name = "\u{1}aws_lc_0_41_0_d2i_ECParameters"]
9421    pub fn d2i_ECParameters(
9422        out_key: *mut *mut EC_KEY,
9423        inp: *mut *const u8,
9424        len: ::std::os::raw::c_long,
9425    ) -> *mut EC_KEY;
9426}
9427extern "C" {
9428    #[link_name = "\u{1}aws_lc_0_41_0_i2d_ECParameters"]
9429    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9430}
9431extern "C" {
9432    #[link_name = "\u{1}aws_lc_0_41_0_d2i_ECPKParameters_bio"]
9433    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9434}
9435extern "C" {
9436    #[link_name = "\u{1}aws_lc_0_41_0_i2d_ECPKParameters_bio"]
9437    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9438}
9439extern "C" {
9440    #[link_name = "\u{1}aws_lc_0_41_0_o2i_ECPublicKey"]
9441    pub fn o2i_ECPublicKey(
9442        out_key: *mut *mut EC_KEY,
9443        inp: *mut *const u8,
9444        len: ::std::os::raw::c_long,
9445    ) -> *mut EC_KEY;
9446}
9447extern "C" {
9448    #[link_name = "\u{1}aws_lc_0_41_0_i2o_ECPublicKey"]
9449    pub fn i2o_ECPublicKey(
9450        key: *const EC_KEY,
9451        outp: *mut *mut ::std::os::raw::c_uchar,
9452    ) -> ::std::os::raw::c_int;
9453}
9454extern "C" {
9455    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get_default_method"]
9456    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9457}
9458extern "C" {
9459    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_OpenSSL"]
9460    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9461}
9462extern "C" {
9463    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_METHOD_new"]
9464    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9465}
9466extern "C" {
9467    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_METHOD_free"]
9468    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9469}
9470extern "C" {
9471    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_method"]
9472    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9473}
9474extern "C" {
9475    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_get_method"]
9476    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9477}
9478extern "C" {
9479    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_METHOD_set_sign_awslc"]
9480    pub fn EC_KEY_METHOD_set_sign_awslc(
9481        meth: *mut EC_KEY_METHOD,
9482        sign: ::std::option::Option<
9483            unsafe extern "C" fn(
9484                type_: ::std::os::raw::c_int,
9485                digest: *const u8,
9486                digest_len: ::std::os::raw::c_int,
9487                sig: *mut u8,
9488                siglen: *mut ::std::os::raw::c_uint,
9489                k_inv: *const BIGNUM,
9490                r: *const BIGNUM,
9491                eckey: *mut EC_KEY,
9492            ) -> ::std::os::raw::c_int,
9493        >,
9494        sign_sig: ::std::option::Option<
9495            unsafe extern "C" fn(
9496                digest: *const u8,
9497                digest_len: ::std::os::raw::c_int,
9498                in_kinv: *const BIGNUM,
9499                in_r: *const BIGNUM,
9500                eckey: *mut EC_KEY,
9501            ) -> *mut ECDSA_SIG,
9502        >,
9503    );
9504}
9505extern "C" {
9506    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_METHOD_set_init_awslc"]
9507    pub fn EC_KEY_METHOD_set_init_awslc(
9508        meth: *mut EC_KEY_METHOD,
9509        init: ::std::option::Option<
9510            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9511        >,
9512        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9513    );
9514}
9515extern "C" {
9516    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_METHOD_set_flags"]
9517    pub fn EC_KEY_METHOD_set_flags(
9518        meth: *mut EC_KEY_METHOD,
9519        flags: ::std::os::raw::c_int,
9520    ) -> ::std::os::raw::c_int;
9521}
9522extern "C" {
9523    #[link_name = "\u{1}aws_lc_0_41_0_EC_KEY_set_asn1_flag"]
9524    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9525}
9526extern "C" {
9527    #[link_name = "\u{1}aws_lc_0_41_0_ECDH_compute_key"]
9528    pub fn ECDH_compute_key(
9529        out: *mut ::std::os::raw::c_void,
9530        outlen: usize,
9531        pub_key: *const EC_POINT,
9532        priv_key: *const EC_KEY,
9533        kdf: ::std::option::Option<
9534            unsafe extern "C" fn(
9535                in_: *const ::std::os::raw::c_void,
9536                inlen: usize,
9537                out: *mut ::std::os::raw::c_void,
9538                outlen: *mut usize,
9539            ) -> *mut ::std::os::raw::c_void,
9540        >,
9541    ) -> ::std::os::raw::c_int;
9542}
9543extern "C" {
9544    #[link_name = "\u{1}aws_lc_0_41_0_ECDH_compute_key_fips"]
9545    pub fn ECDH_compute_key_fips(
9546        out: *mut u8,
9547        out_len: usize,
9548        pub_key: *const EC_POINT,
9549        priv_key: *const EC_KEY,
9550    ) -> ::std::os::raw::c_int;
9551}
9552extern "C" {
9553    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_sign"]
9554    pub fn ECDSA_sign(
9555        type_: ::std::os::raw::c_int,
9556        digest: *const u8,
9557        digest_len: usize,
9558        sig: *mut u8,
9559        sig_len: *mut ::std::os::raw::c_uint,
9560        key: *const EC_KEY,
9561    ) -> ::std::os::raw::c_int;
9562}
9563extern "C" {
9564    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_verify"]
9565    pub fn ECDSA_verify(
9566        type_: ::std::os::raw::c_int,
9567        digest: *const u8,
9568        digest_len: usize,
9569        sig: *const u8,
9570        sig_len: usize,
9571        key: *const EC_KEY,
9572    ) -> ::std::os::raw::c_int;
9573}
9574extern "C" {
9575    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_size"]
9576    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9577}
9578#[repr(C)]
9579#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9580pub struct ecdsa_sig_st {
9581    pub r: *mut BIGNUM,
9582    pub s: *mut BIGNUM,
9583}
9584#[test]
9585fn bindgen_test_layout_ecdsa_sig_st() {
9586    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9587    let ptr = UNINIT.as_ptr();
9588    assert_eq!(
9589        ::std::mem::size_of::<ecdsa_sig_st>(),
9590        16usize,
9591        "Size of ecdsa_sig_st"
9592    );
9593    assert_eq!(
9594        ::std::mem::align_of::<ecdsa_sig_st>(),
9595        8usize,
9596        "Alignment of ecdsa_sig_st"
9597    );
9598    assert_eq!(
9599        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9600        0usize,
9601        "Offset of field: ecdsa_sig_st::r"
9602    );
9603    assert_eq!(
9604        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9605        8usize,
9606        "Offset of field: ecdsa_sig_st::s"
9607    );
9608}
9609impl Default for ecdsa_sig_st {
9610    fn default() -> Self {
9611        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9612        unsafe {
9613            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9614            s.assume_init()
9615        }
9616    }
9617}
9618extern "C" {
9619    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_new"]
9620    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9621}
9622extern "C" {
9623    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_free"]
9624    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9625}
9626extern "C" {
9627    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_get0_r"]
9628    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9629}
9630extern "C" {
9631    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_get0_s"]
9632    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9633}
9634extern "C" {
9635    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_get0"]
9636    pub fn ECDSA_SIG_get0(
9637        sig: *const ECDSA_SIG,
9638        out_r: *mut *const BIGNUM,
9639        out_s: *mut *const BIGNUM,
9640    );
9641}
9642extern "C" {
9643    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_set0"]
9644    pub fn ECDSA_SIG_set0(
9645        sig: *mut ECDSA_SIG,
9646        r: *mut BIGNUM,
9647        s: *mut BIGNUM,
9648    ) -> ::std::os::raw::c_int;
9649}
9650extern "C" {
9651    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_do_sign"]
9652    pub fn ECDSA_do_sign(
9653        digest: *const u8,
9654        digest_len: usize,
9655        key: *const EC_KEY,
9656    ) -> *mut ECDSA_SIG;
9657}
9658extern "C" {
9659    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_do_verify"]
9660    pub fn ECDSA_do_verify(
9661        digest: *const u8,
9662        digest_len: usize,
9663        sig: *const ECDSA_SIG,
9664        key: *const EC_KEY,
9665    ) -> ::std::os::raw::c_int;
9666}
9667extern "C" {
9668    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_parse"]
9669    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9670}
9671extern "C" {
9672    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_from_bytes"]
9673    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9674}
9675extern "C" {
9676    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_marshal"]
9677    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9678}
9679extern "C" {
9680    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_to_bytes"]
9681    pub fn ECDSA_SIG_to_bytes(
9682        out_bytes: *mut *mut u8,
9683        out_len: *mut usize,
9684        sig: *const ECDSA_SIG,
9685    ) -> ::std::os::raw::c_int;
9686}
9687extern "C" {
9688    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_SIG_max_len"]
9689    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9690}
9691extern "C" {
9692    #[link_name = "\u{1}aws_lc_0_41_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9693    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9694        digest: *const u8,
9695        digest_len: usize,
9696        eckey: *const EC_KEY,
9697        nonce: *const u8,
9698        nonce_len: usize,
9699    ) -> *mut ECDSA_SIG;
9700}
9701extern "C" {
9702    #[link_name = "\u{1}aws_lc_0_41_0_d2i_ECDSA_SIG"]
9703    pub fn d2i_ECDSA_SIG(
9704        out: *mut *mut ECDSA_SIG,
9705        inp: *mut *const u8,
9706        len: ::std::os::raw::c_long,
9707    ) -> *mut ECDSA_SIG;
9708}
9709extern "C" {
9710    #[link_name = "\u{1}aws_lc_0_41_0_i2d_ECDSA_SIG"]
9711    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9712}
9713extern "C" {
9714    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_gcm"]
9715    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9716}
9717extern "C" {
9718    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_192_gcm"]
9719    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9720}
9721extern "C" {
9722    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_gcm"]
9723    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9724}
9725extern "C" {
9726    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_chacha20_poly1305"]
9727    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9728}
9729extern "C" {
9730    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_xchacha20_poly1305"]
9731    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9732}
9733extern "C" {
9734    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_ctr_hmac_sha256"]
9735    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9736}
9737extern "C" {
9738    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_ctr_hmac_sha256"]
9739    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9740}
9741extern "C" {
9742    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_gcm_siv"]
9743    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9744}
9745extern "C" {
9746    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_gcm_siv"]
9747    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9748}
9749extern "C" {
9750    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_gcm_randnonce"]
9751    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9752}
9753extern "C" {
9754    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_gcm_randnonce"]
9755    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9756}
9757extern "C" {
9758    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_ccm_bluetooth"]
9759    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9760}
9761extern "C" {
9762    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_ccm_bluetooth_8"]
9763    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9764}
9765extern "C" {
9766    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_ccm_matter"]
9767    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9768}
9769extern "C" {
9770    #[link_name = "\u{1}aws_lc_0_41_0_EVP_has_aes_hardware"]
9771    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9772}
9773extern "C" {
9774    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_key_length"]
9775    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9776}
9777extern "C" {
9778    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_nonce_length"]
9779    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9780}
9781extern "C" {
9782    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_max_overhead"]
9783    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9784}
9785extern "C" {
9786    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_max_tag_len"]
9787    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9788}
9789#[repr(C)]
9790#[derive(Copy, Clone)]
9791pub union evp_aead_ctx_st_state {
9792    pub opaque: [u8; 564usize],
9793    pub alignment: u64,
9794    pub ptr: *mut ::std::os::raw::c_void,
9795}
9796#[test]
9797fn bindgen_test_layout_evp_aead_ctx_st_state() {
9798    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9799        ::std::mem::MaybeUninit::uninit();
9800    let ptr = UNINIT.as_ptr();
9801    assert_eq!(
9802        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9803        568usize,
9804        "Size of evp_aead_ctx_st_state"
9805    );
9806    assert_eq!(
9807        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9808        8usize,
9809        "Alignment of evp_aead_ctx_st_state"
9810    );
9811    assert_eq!(
9812        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9813        0usize,
9814        "Offset of field: evp_aead_ctx_st_state::opaque"
9815    );
9816    assert_eq!(
9817        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9818        0usize,
9819        "Offset of field: evp_aead_ctx_st_state::alignment"
9820    );
9821    assert_eq!(
9822        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9823        0usize,
9824        "Offset of field: evp_aead_ctx_st_state::ptr"
9825    );
9826}
9827impl Default for evp_aead_ctx_st_state {
9828    fn default() -> Self {
9829        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9830        unsafe {
9831            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9832            s.assume_init()
9833        }
9834    }
9835}
9836#[repr(C)]
9837#[derive(Copy, Clone)]
9838pub struct evp_aead_ctx_st {
9839    pub aead: *const EVP_AEAD,
9840    pub state: evp_aead_ctx_st_state,
9841    pub state_offset: u8,
9842    pub tag_len: u8,
9843}
9844#[test]
9845fn bindgen_test_layout_evp_aead_ctx_st() {
9846    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
9847    let ptr = UNINIT.as_ptr();
9848    assert_eq!(
9849        ::std::mem::size_of::<evp_aead_ctx_st>(),
9850        584usize,
9851        "Size of evp_aead_ctx_st"
9852    );
9853    assert_eq!(
9854        ::std::mem::align_of::<evp_aead_ctx_st>(),
9855        8usize,
9856        "Alignment of evp_aead_ctx_st"
9857    );
9858    assert_eq!(
9859        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
9860        0usize,
9861        "Offset of field: evp_aead_ctx_st::aead"
9862    );
9863    assert_eq!(
9864        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
9865        8usize,
9866        "Offset of field: evp_aead_ctx_st::state"
9867    );
9868    assert_eq!(
9869        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
9870        576usize,
9871        "Offset of field: evp_aead_ctx_st::state_offset"
9872    );
9873    assert_eq!(
9874        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
9875        577usize,
9876        "Offset of field: evp_aead_ctx_st::tag_len"
9877    );
9878}
9879impl Default for evp_aead_ctx_st {
9880    fn default() -> Self {
9881        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9882        unsafe {
9883            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9884            s.assume_init()
9885        }
9886    }
9887}
9888extern "C" {
9889    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_zero"]
9890    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
9891}
9892extern "C" {
9893    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_new"]
9894    pub fn EVP_AEAD_CTX_new(
9895        aead: *const EVP_AEAD,
9896        key: *const u8,
9897        key_len: usize,
9898        tag_len: usize,
9899    ) -> *mut EVP_AEAD_CTX;
9900}
9901extern "C" {
9902    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_free"]
9903    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
9904}
9905extern "C" {
9906    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_init"]
9907    pub fn EVP_AEAD_CTX_init(
9908        ctx: *mut EVP_AEAD_CTX,
9909        aead: *const EVP_AEAD,
9910        key: *const u8,
9911        key_len: usize,
9912        tag_len: usize,
9913        impl_: *mut ENGINE,
9914    ) -> ::std::os::raw::c_int;
9915}
9916extern "C" {
9917    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_cleanup"]
9918    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
9919}
9920extern "C" {
9921    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_seal"]
9922    pub fn EVP_AEAD_CTX_seal(
9923        ctx: *const EVP_AEAD_CTX,
9924        out: *mut u8,
9925        out_len: *mut usize,
9926        max_out_len: usize,
9927        nonce: *const u8,
9928        nonce_len: usize,
9929        in_: *const u8,
9930        in_len: usize,
9931        ad: *const u8,
9932        ad_len: usize,
9933    ) -> ::std::os::raw::c_int;
9934}
9935extern "C" {
9936    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_open"]
9937    pub fn EVP_AEAD_CTX_open(
9938        ctx: *const EVP_AEAD_CTX,
9939        out: *mut u8,
9940        out_len: *mut usize,
9941        max_out_len: usize,
9942        nonce: *const u8,
9943        nonce_len: usize,
9944        in_: *const u8,
9945        in_len: usize,
9946        ad: *const u8,
9947        ad_len: usize,
9948    ) -> ::std::os::raw::c_int;
9949}
9950extern "C" {
9951    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_seal_scatter"]
9952    pub fn EVP_AEAD_CTX_seal_scatter(
9953        ctx: *const EVP_AEAD_CTX,
9954        out: *mut u8,
9955        out_tag: *mut u8,
9956        out_tag_len: *mut usize,
9957        max_out_tag_len: usize,
9958        nonce: *const u8,
9959        nonce_len: usize,
9960        in_: *const u8,
9961        in_len: usize,
9962        extra_in: *const u8,
9963        extra_in_len: usize,
9964        ad: *const u8,
9965        ad_len: usize,
9966    ) -> ::std::os::raw::c_int;
9967}
9968extern "C" {
9969    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_open_gather"]
9970    pub fn EVP_AEAD_CTX_open_gather(
9971        ctx: *const EVP_AEAD_CTX,
9972        out: *mut u8,
9973        nonce: *const u8,
9974        nonce_len: usize,
9975        in_: *const u8,
9976        in_len: usize,
9977        in_tag: *const u8,
9978        in_tag_len: usize,
9979        ad: *const u8,
9980        ad_len: usize,
9981    ) -> ::std::os::raw::c_int;
9982}
9983extern "C" {
9984    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_aead"]
9985    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
9986}
9987extern "C" {
9988    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_cbc_sha1_tls"]
9989    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
9990}
9991extern "C" {
9992    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
9993    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
9994}
9995extern "C" {
9996    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_cbc_sha1_tls"]
9997    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
9998}
9999extern "C" {
10000    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
10001    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10002}
10003extern "C" {
10004    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_cbc_sha256_tls"]
10005    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
10006}
10007extern "C" {
10008    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
10009    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
10010}
10011extern "C" {
10012    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_cbc_sha384_tls"]
10013    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
10014}
10015extern "C" {
10016    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_des_ede3_cbc_sha1_tls"]
10017    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
10018}
10019extern "C" {
10020    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
10021    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10022}
10023extern "C" {
10024    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_null_sha1_tls"]
10025    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
10026}
10027extern "C" {
10028    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_gcm_tls12"]
10029    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10030}
10031extern "C" {
10032    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_gcm_tls12"]
10033    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10034}
10035extern "C" {
10036    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_128_gcm_tls13"]
10037    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10038}
10039extern "C" {
10040    #[link_name = "\u{1}aws_lc_0_41_0_EVP_aead_aes_256_gcm_tls13"]
10041    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10042}
10043pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10044pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10045pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10046extern "C" {
10047    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_init_with_direction"]
10048    pub fn EVP_AEAD_CTX_init_with_direction(
10049        ctx: *mut EVP_AEAD_CTX,
10050        aead: *const EVP_AEAD,
10051        key: *const u8,
10052        key_len: usize,
10053        tag_len: usize,
10054        dir: evp_aead_direction_t,
10055    ) -> ::std::os::raw::c_int;
10056}
10057extern "C" {
10058    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_get_iv"]
10059    pub fn EVP_AEAD_CTX_get_iv(
10060        ctx: *const EVP_AEAD_CTX,
10061        out_iv: *mut *const u8,
10062        out_len: *mut usize,
10063    ) -> ::std::os::raw::c_int;
10064}
10065extern "C" {
10066    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_CTX_tag_len"]
10067    pub fn EVP_AEAD_CTX_tag_len(
10068        ctx: *const EVP_AEAD_CTX,
10069        out_tag_len: *mut usize,
10070        in_len: usize,
10071        extra_in_len: usize,
10072    ) -> ::std::os::raw::c_int;
10073}
10074extern "C" {
10075    #[link_name = "\u{1}aws_lc_0_41_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10076    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10077        ipv4_address: u32,
10078        nanosecs: u64,
10079        out_iv: *mut u8,
10080    ) -> ::std::os::raw::c_int;
10081}
10082#[repr(C)]
10083#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10084pub struct md5_state_st {
10085    pub h: [u32; 4usize],
10086    pub Nl: u32,
10087    pub Nh: u32,
10088    pub data: [u8; 64usize],
10089    pub num: ::std::os::raw::c_uint,
10090}
10091#[test]
10092fn bindgen_test_layout_md5_state_st() {
10093    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10094    let ptr = UNINIT.as_ptr();
10095    assert_eq!(
10096        ::std::mem::size_of::<md5_state_st>(),
10097        92usize,
10098        "Size of md5_state_st"
10099    );
10100    assert_eq!(
10101        ::std::mem::align_of::<md5_state_st>(),
10102        4usize,
10103        "Alignment of md5_state_st"
10104    );
10105    assert_eq!(
10106        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10107        0usize,
10108        "Offset of field: md5_state_st::h"
10109    );
10110    assert_eq!(
10111        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10112        16usize,
10113        "Offset of field: md5_state_st::Nl"
10114    );
10115    assert_eq!(
10116        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10117        20usize,
10118        "Offset of field: md5_state_st::Nh"
10119    );
10120    assert_eq!(
10121        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10122        24usize,
10123        "Offset of field: md5_state_st::data"
10124    );
10125    assert_eq!(
10126        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10127        88usize,
10128        "Offset of field: md5_state_st::num"
10129    );
10130}
10131impl Default for md5_state_st {
10132    fn default() -> Self {
10133        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10134        unsafe {
10135            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10136            s.assume_init()
10137        }
10138    }
10139}
10140extern "C" {
10141    #[link_name = "\u{1}aws_lc_0_41_0_HMAC"]
10142    pub fn HMAC(
10143        evp_md: *const EVP_MD,
10144        key: *const ::std::os::raw::c_void,
10145        key_len: usize,
10146        data: *const u8,
10147        data_len: usize,
10148        out: *mut u8,
10149        out_len: *mut ::std::os::raw::c_uint,
10150    ) -> *mut u8;
10151}
10152extern "C" {
10153    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_init"]
10154    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10155}
10156extern "C" {
10157    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_new"]
10158    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10159}
10160extern "C" {
10161    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_cleanup"]
10162    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10163}
10164extern "C" {
10165    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_cleanse"]
10166    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10167}
10168extern "C" {
10169    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_free"]
10170    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10171}
10172extern "C" {
10173    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_Init_ex"]
10174    pub fn HMAC_Init_ex(
10175        ctx: *mut HMAC_CTX,
10176        key: *const ::std::os::raw::c_void,
10177        key_len: usize,
10178        md: *const EVP_MD,
10179        impl_: *mut ENGINE,
10180    ) -> ::std::os::raw::c_int;
10181}
10182extern "C" {
10183    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_Update"]
10184    pub fn HMAC_Update(
10185        ctx: *mut HMAC_CTX,
10186        data: *const u8,
10187        data_len: usize,
10188    ) -> ::std::os::raw::c_int;
10189}
10190extern "C" {
10191    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_Final"]
10192    pub fn HMAC_Final(
10193        ctx: *mut HMAC_CTX,
10194        out: *mut u8,
10195        out_len: *mut ::std::os::raw::c_uint,
10196    ) -> ::std::os::raw::c_int;
10197}
10198extern "C" {
10199    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_size"]
10200    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10201}
10202extern "C" {
10203    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_get_md"]
10204    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10205}
10206extern "C" {
10207    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_copy_ex"]
10208    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10209}
10210extern "C" {
10211    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_reset"]
10212    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10213}
10214extern "C" {
10215    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_set_precomputed_key_export"]
10216    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10217}
10218extern "C" {
10219    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_get_precomputed_key"]
10220    pub fn HMAC_get_precomputed_key(
10221        ctx: *mut HMAC_CTX,
10222        out: *mut u8,
10223        out_len: *mut usize,
10224    ) -> ::std::os::raw::c_int;
10225}
10226extern "C" {
10227    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_Init_from_precomputed_key"]
10228    pub fn HMAC_Init_from_precomputed_key(
10229        ctx: *mut HMAC_CTX,
10230        precomputed_key: *const u8,
10231        precompute_key_len: usize,
10232        md: *const EVP_MD,
10233    ) -> ::std::os::raw::c_int;
10234}
10235extern "C" {
10236    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_Init"]
10237    pub fn HMAC_Init(
10238        ctx: *mut HMAC_CTX,
10239        key: *const ::std::os::raw::c_void,
10240        key_len: ::std::os::raw::c_int,
10241        md: *const EVP_MD,
10242    ) -> ::std::os::raw::c_int;
10243}
10244extern "C" {
10245    #[link_name = "\u{1}aws_lc_0_41_0_HMAC_CTX_copy"]
10246    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10247}
10248#[repr(C)]
10249#[derive(Debug, Copy, Clone)]
10250pub struct hmac_methods_st {
10251    _unused: [u8; 0],
10252}
10253pub type HmacMethods = hmac_methods_st;
10254#[repr(C)]
10255#[derive(Copy, Clone)]
10256pub union md_ctx_union {
10257    pub md5: MD5_CTX,
10258    pub sha1: SHA_CTX,
10259    pub sha256: SHA256_CTX,
10260    pub sha512: SHA512_CTX,
10261    pub sha3: [u8; 400usize],
10262}
10263#[test]
10264fn bindgen_test_layout_md_ctx_union() {
10265    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10266    let ptr = UNINIT.as_ptr();
10267    assert_eq!(
10268        ::std::mem::size_of::<md_ctx_union>(),
10269        400usize,
10270        "Size of md_ctx_union"
10271    );
10272    assert_eq!(
10273        ::std::mem::align_of::<md_ctx_union>(),
10274        8usize,
10275        "Alignment of md_ctx_union"
10276    );
10277    assert_eq!(
10278        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10279        0usize,
10280        "Offset of field: md_ctx_union::md5"
10281    );
10282    assert_eq!(
10283        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10284        0usize,
10285        "Offset of field: md_ctx_union::sha1"
10286    );
10287    assert_eq!(
10288        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10289        0usize,
10290        "Offset of field: md_ctx_union::sha256"
10291    );
10292    assert_eq!(
10293        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10294        0usize,
10295        "Offset of field: md_ctx_union::sha512"
10296    );
10297    assert_eq!(
10298        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10299        0usize,
10300        "Offset of field: md_ctx_union::sha3"
10301    );
10302}
10303impl Default for md_ctx_union {
10304    fn default() -> Self {
10305        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10306        unsafe {
10307            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10308            s.assume_init()
10309        }
10310    }
10311}
10312#[repr(C)]
10313#[derive(Copy, Clone)]
10314pub struct hmac_ctx_st {
10315    pub md: *const EVP_MD,
10316    pub methods: *const HmacMethods,
10317    pub md_ctx: md_ctx_union,
10318    pub i_ctx: md_ctx_union,
10319    pub o_ctx: md_ctx_union,
10320    pub state: i8,
10321}
10322#[test]
10323fn bindgen_test_layout_hmac_ctx_st() {
10324    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10325    let ptr = UNINIT.as_ptr();
10326    assert_eq!(
10327        ::std::mem::size_of::<hmac_ctx_st>(),
10328        1224usize,
10329        "Size of hmac_ctx_st"
10330    );
10331    assert_eq!(
10332        ::std::mem::align_of::<hmac_ctx_st>(),
10333        8usize,
10334        "Alignment of hmac_ctx_st"
10335    );
10336    assert_eq!(
10337        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10338        0usize,
10339        "Offset of field: hmac_ctx_st::md"
10340    );
10341    assert_eq!(
10342        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10343        8usize,
10344        "Offset of field: hmac_ctx_st::methods"
10345    );
10346    assert_eq!(
10347        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10348        16usize,
10349        "Offset of field: hmac_ctx_st::md_ctx"
10350    );
10351    assert_eq!(
10352        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10353        416usize,
10354        "Offset of field: hmac_ctx_st::i_ctx"
10355    );
10356    assert_eq!(
10357        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10358        816usize,
10359        "Offset of field: hmac_ctx_st::o_ctx"
10360    );
10361    assert_eq!(
10362        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10363        1216usize,
10364        "Offset of field: hmac_ctx_st::state"
10365    );
10366}
10367impl Default for hmac_ctx_st {
10368    fn default() -> Self {
10369        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10370        unsafe {
10371            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10372            s.assume_init()
10373        }
10374    }
10375}
10376extern "C" {
10377    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_new"]
10378    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10379}
10380extern "C" {
10381    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_free"]
10382    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10383}
10384extern "C" {
10385    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_up_ref"]
10386    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10387}
10388extern "C" {
10389    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_is_opaque"]
10390    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10391}
10392extern "C" {
10393    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_cmp"]
10394    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10395}
10396extern "C" {
10397    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_copy_parameters"]
10398    pub fn EVP_PKEY_copy_parameters(
10399        to: *mut EVP_PKEY,
10400        from: *const EVP_PKEY,
10401    ) -> ::std::os::raw::c_int;
10402}
10403extern "C" {
10404    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_missing_parameters"]
10405    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10406}
10407extern "C" {
10408    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_size"]
10409    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10410}
10411extern "C" {
10412    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_bits"]
10413    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10414}
10415extern "C" {
10416    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_id"]
10417    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10418}
10419extern "C" {
10420    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_pqdsa_get_type"]
10421    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10422}
10423extern "C" {
10424    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_get0_name"]
10425    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10426}
10427extern "C" {
10428    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_name"]
10429    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10430}
10431extern "C" {
10432    #[link_name = "\u{1}aws_lc_0_41_0_EVP_get_pw_prompt"]
10433    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10434}
10435extern "C" {
10436    #[link_name = "\u{1}aws_lc_0_41_0_EVP_read_pw_string"]
10437    pub fn EVP_read_pw_string(
10438        buf: *mut ::std::os::raw::c_char,
10439        length: ::std::os::raw::c_int,
10440        prompt: *const ::std::os::raw::c_char,
10441        verify: ::std::os::raw::c_int,
10442    ) -> ::std::os::raw::c_int;
10443}
10444extern "C" {
10445    #[link_name = "\u{1}aws_lc_0_41_0_EVP_read_pw_string_min"]
10446    pub fn EVP_read_pw_string_min(
10447        buf: *mut ::std::os::raw::c_char,
10448        min_length: ::std::os::raw::c_int,
10449        length: ::std::os::raw::c_int,
10450        prompt: *const ::std::os::raw::c_char,
10451        verify: ::std::os::raw::c_int,
10452    ) -> ::std::os::raw::c_int;
10453}
10454extern "C" {
10455    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_set1_RSA"]
10456    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10457}
10458extern "C" {
10459    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_assign_RSA"]
10460    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10461}
10462extern "C" {
10463    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get0_RSA"]
10464    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10465}
10466extern "C" {
10467    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get1_RSA"]
10468    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10469}
10470extern "C" {
10471    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_set1_DSA"]
10472    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10473}
10474extern "C" {
10475    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_assign_DSA"]
10476    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10477}
10478extern "C" {
10479    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get0_DSA"]
10480    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10481}
10482extern "C" {
10483    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get1_DSA"]
10484    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10485}
10486extern "C" {
10487    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_set1_EC_KEY"]
10488    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10489}
10490extern "C" {
10491    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_assign_EC_KEY"]
10492    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10493}
10494extern "C" {
10495    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get0_EC_KEY"]
10496    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10497}
10498extern "C" {
10499    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get1_EC_KEY"]
10500    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10501}
10502extern "C" {
10503    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_set1_DH"]
10504    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10505}
10506extern "C" {
10507    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_assign_DH"]
10508    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10509}
10510extern "C" {
10511    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get0_DH"]
10512    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10513}
10514extern "C" {
10515    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get1_DH"]
10516    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10517}
10518extern "C" {
10519    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10520    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10521        ctx: *mut EVP_PKEY_CTX,
10522        pbits: ::std::os::raw::c_int,
10523    ) -> ::std::os::raw::c_int;
10524}
10525extern "C" {
10526    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10527    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10528        ctx: *mut EVP_PKEY_CTX,
10529        gen_: ::std::os::raw::c_int,
10530    ) -> ::std::os::raw::c_int;
10531}
10532extern "C" {
10533    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_set_type"]
10534    pub fn EVP_PKEY_set_type(
10535        pkey: *mut EVP_PKEY,
10536        type_: ::std::os::raw::c_int,
10537    ) -> ::std::os::raw::c_int;
10538}
10539extern "C" {
10540    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_set_type_str"]
10541    pub fn EVP_PKEY_set_type_str(
10542        pkey: *mut EVP_PKEY,
10543        str_: *const ::std::os::raw::c_char,
10544        len: ::std::os::raw::c_int,
10545    ) -> ::std::os::raw::c_int;
10546}
10547extern "C" {
10548    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_cmp_parameters"]
10549    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10550        -> ::std::os::raw::c_int;
10551}
10552extern "C" {
10553    #[link_name = "\u{1}aws_lc_0_41_0_EVP_parse_public_key"]
10554    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10555}
10556extern "C" {
10557    #[link_name = "\u{1}aws_lc_0_41_0_EVP_marshal_public_key"]
10558    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10559}
10560extern "C" {
10561    #[link_name = "\u{1}aws_lc_0_41_0_EVP_parse_private_key"]
10562    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10563}
10564extern "C" {
10565    #[link_name = "\u{1}aws_lc_0_41_0_EVP_marshal_private_key"]
10566    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10567}
10568extern "C" {
10569    #[link_name = "\u{1}aws_lc_0_41_0_EVP_marshal_private_key_v2"]
10570    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10571        -> ::std::os::raw::c_int;
10572}
10573extern "C" {
10574    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_new_raw_private_key"]
10575    pub fn EVP_PKEY_new_raw_private_key(
10576        type_: ::std::os::raw::c_int,
10577        unused: *mut ENGINE,
10578        in_: *const u8,
10579        len: usize,
10580    ) -> *mut EVP_PKEY;
10581}
10582extern "C" {
10583    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_new_raw_public_key"]
10584    pub fn EVP_PKEY_new_raw_public_key(
10585        type_: ::std::os::raw::c_int,
10586        unused: *mut ENGINE,
10587        in_: *const u8,
10588        len: usize,
10589    ) -> *mut EVP_PKEY;
10590}
10591extern "C" {
10592    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get_raw_private_key"]
10593    pub fn EVP_PKEY_get_raw_private_key(
10594        pkey: *const EVP_PKEY,
10595        out: *mut u8,
10596        out_len: *mut usize,
10597    ) -> ::std::os::raw::c_int;
10598}
10599extern "C" {
10600    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get_raw_public_key"]
10601    pub fn EVP_PKEY_get_raw_public_key(
10602        pkey: *const EVP_PKEY,
10603        out: *mut u8,
10604        out_len: *mut usize,
10605    ) -> ::std::os::raw::c_int;
10606}
10607extern "C" {
10608    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestSignInit"]
10609    pub fn EVP_DigestSignInit(
10610        ctx: *mut EVP_MD_CTX,
10611        pctx: *mut *mut EVP_PKEY_CTX,
10612        type_: *const EVP_MD,
10613        e: *mut ENGINE,
10614        pkey: *mut EVP_PKEY,
10615    ) -> ::std::os::raw::c_int;
10616}
10617extern "C" {
10618    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestSignUpdate"]
10619    pub fn EVP_DigestSignUpdate(
10620        ctx: *mut EVP_MD_CTX,
10621        data: *const ::std::os::raw::c_void,
10622        len: usize,
10623    ) -> ::std::os::raw::c_int;
10624}
10625extern "C" {
10626    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestSignFinal"]
10627    pub fn EVP_DigestSignFinal(
10628        ctx: *mut EVP_MD_CTX,
10629        out_sig: *mut u8,
10630        out_sig_len: *mut usize,
10631    ) -> ::std::os::raw::c_int;
10632}
10633extern "C" {
10634    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestSign"]
10635    pub fn EVP_DigestSign(
10636        ctx: *mut EVP_MD_CTX,
10637        out_sig: *mut u8,
10638        out_sig_len: *mut usize,
10639        data: *const u8,
10640        data_len: usize,
10641    ) -> ::std::os::raw::c_int;
10642}
10643extern "C" {
10644    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestVerifyInit"]
10645    pub fn EVP_DigestVerifyInit(
10646        ctx: *mut EVP_MD_CTX,
10647        pctx: *mut *mut EVP_PKEY_CTX,
10648        type_: *const EVP_MD,
10649        e: *mut ENGINE,
10650        pkey: *mut EVP_PKEY,
10651    ) -> ::std::os::raw::c_int;
10652}
10653extern "C" {
10654    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestVerifyUpdate"]
10655    pub fn EVP_DigestVerifyUpdate(
10656        ctx: *mut EVP_MD_CTX,
10657        data: *const ::std::os::raw::c_void,
10658        len: usize,
10659    ) -> ::std::os::raw::c_int;
10660}
10661extern "C" {
10662    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestVerifyFinal"]
10663    pub fn EVP_DigestVerifyFinal(
10664        ctx: *mut EVP_MD_CTX,
10665        sig: *const u8,
10666        sig_len: usize,
10667    ) -> ::std::os::raw::c_int;
10668}
10669extern "C" {
10670    #[link_name = "\u{1}aws_lc_0_41_0_EVP_DigestVerify"]
10671    pub fn EVP_DigestVerify(
10672        ctx: *mut EVP_MD_CTX,
10673        sig: *const u8,
10674        sig_len: usize,
10675        data: *const u8,
10676        len: usize,
10677    ) -> ::std::os::raw::c_int;
10678}
10679extern "C" {
10680    #[link_name = "\u{1}aws_lc_0_41_0_EVP_SignInit_ex"]
10681    pub fn EVP_SignInit_ex(
10682        ctx: *mut EVP_MD_CTX,
10683        type_: *const EVP_MD,
10684        impl_: *mut ENGINE,
10685    ) -> ::std::os::raw::c_int;
10686}
10687extern "C" {
10688    #[link_name = "\u{1}aws_lc_0_41_0_EVP_SignInit"]
10689    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10690}
10691extern "C" {
10692    #[link_name = "\u{1}aws_lc_0_41_0_EVP_SignUpdate"]
10693    pub fn EVP_SignUpdate(
10694        ctx: *mut EVP_MD_CTX,
10695        data: *const ::std::os::raw::c_void,
10696        len: usize,
10697    ) -> ::std::os::raw::c_int;
10698}
10699extern "C" {
10700    #[link_name = "\u{1}aws_lc_0_41_0_EVP_SignFinal"]
10701    pub fn EVP_SignFinal(
10702        ctx: *const EVP_MD_CTX,
10703        sig: *mut u8,
10704        out_sig_len: *mut ::std::os::raw::c_uint,
10705        pkey: *mut EVP_PKEY,
10706    ) -> ::std::os::raw::c_int;
10707}
10708extern "C" {
10709    #[link_name = "\u{1}aws_lc_0_41_0_EVP_VerifyInit_ex"]
10710    pub fn EVP_VerifyInit_ex(
10711        ctx: *mut EVP_MD_CTX,
10712        type_: *const EVP_MD,
10713        impl_: *mut ENGINE,
10714    ) -> ::std::os::raw::c_int;
10715}
10716extern "C" {
10717    #[link_name = "\u{1}aws_lc_0_41_0_EVP_VerifyInit"]
10718    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10719}
10720extern "C" {
10721    #[link_name = "\u{1}aws_lc_0_41_0_EVP_VerifyUpdate"]
10722    pub fn EVP_VerifyUpdate(
10723        ctx: *mut EVP_MD_CTX,
10724        data: *const ::std::os::raw::c_void,
10725        len: usize,
10726    ) -> ::std::os::raw::c_int;
10727}
10728extern "C" {
10729    #[link_name = "\u{1}aws_lc_0_41_0_EVP_VerifyFinal"]
10730    pub fn EVP_VerifyFinal(
10731        ctx: *mut EVP_MD_CTX,
10732        sig: *const u8,
10733        sig_len: usize,
10734        pkey: *mut EVP_PKEY,
10735    ) -> ::std::os::raw::c_int;
10736}
10737extern "C" {
10738    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_print_public"]
10739    pub fn EVP_PKEY_print_public(
10740        out: *mut BIO,
10741        pkey: *const EVP_PKEY,
10742        indent: ::std::os::raw::c_int,
10743        pctx: *mut ASN1_PCTX,
10744    ) -> ::std::os::raw::c_int;
10745}
10746extern "C" {
10747    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_print_private"]
10748    pub fn EVP_PKEY_print_private(
10749        out: *mut BIO,
10750        pkey: *const EVP_PKEY,
10751        indent: ::std::os::raw::c_int,
10752        pctx: *mut ASN1_PCTX,
10753    ) -> ::std::os::raw::c_int;
10754}
10755extern "C" {
10756    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_print_params"]
10757    pub fn EVP_PKEY_print_params(
10758        out: *mut BIO,
10759        pkey: *const EVP_PKEY,
10760        indent: ::std::os::raw::c_int,
10761        pctx: *mut ASN1_PCTX,
10762    ) -> ::std::os::raw::c_int;
10763}
10764extern "C" {
10765    #[link_name = "\u{1}aws_lc_0_41_0_PKCS5_PBKDF2_HMAC"]
10766    pub fn PKCS5_PBKDF2_HMAC(
10767        password: *const ::std::os::raw::c_char,
10768        password_len: usize,
10769        salt: *const u8,
10770        salt_len: usize,
10771        iterations: u32,
10772        digest: *const EVP_MD,
10773        key_len: usize,
10774        out_key: *mut u8,
10775    ) -> ::std::os::raw::c_int;
10776}
10777extern "C" {
10778    #[link_name = "\u{1}aws_lc_0_41_0_PKCS5_PBKDF2_HMAC_SHA1"]
10779    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10780        password: *const ::std::os::raw::c_char,
10781        password_len: usize,
10782        salt: *const u8,
10783        salt_len: usize,
10784        iterations: u32,
10785        key_len: usize,
10786        out_key: *mut u8,
10787    ) -> ::std::os::raw::c_int;
10788}
10789extern "C" {
10790    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PBE_scrypt"]
10791    pub fn EVP_PBE_scrypt(
10792        password: *const ::std::os::raw::c_char,
10793        password_len: usize,
10794        salt: *const u8,
10795        salt_len: usize,
10796        N: u64,
10797        r: u64,
10798        p: u64,
10799        max_mem: usize,
10800        out_key: *mut u8,
10801        key_len: usize,
10802    ) -> ::std::os::raw::c_int;
10803}
10804extern "C" {
10805    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_new"]
10806    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10807}
10808extern "C" {
10809    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_new_id"]
10810    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10811}
10812extern "C" {
10813    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_free"]
10814    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
10815}
10816extern "C" {
10817    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_dup"]
10818    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
10819}
10820extern "C" {
10821    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get0_pkey"]
10822    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
10823}
10824extern "C" {
10825    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_sign_init"]
10826    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10827}
10828extern "C" {
10829    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_sign"]
10830    pub fn EVP_PKEY_sign(
10831        ctx: *mut EVP_PKEY_CTX,
10832        sig: *mut u8,
10833        sig_len: *mut usize,
10834        digest: *const u8,
10835        digest_len: usize,
10836    ) -> ::std::os::raw::c_int;
10837}
10838extern "C" {
10839    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_verify_init"]
10840    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10841}
10842extern "C" {
10843    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_verify"]
10844    pub fn EVP_PKEY_verify(
10845        ctx: *mut EVP_PKEY_CTX,
10846        sig: *const u8,
10847        sig_len: usize,
10848        digest: *const u8,
10849        digest_len: usize,
10850    ) -> ::std::os::raw::c_int;
10851}
10852extern "C" {
10853    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_encrypt_init"]
10854    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10855}
10856extern "C" {
10857    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_encrypt"]
10858    pub fn EVP_PKEY_encrypt(
10859        ctx: *mut EVP_PKEY_CTX,
10860        out: *mut u8,
10861        out_len: *mut usize,
10862        in_: *const u8,
10863        in_len: usize,
10864    ) -> ::std::os::raw::c_int;
10865}
10866extern "C" {
10867    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_decrypt_init"]
10868    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10869}
10870extern "C" {
10871    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_decrypt"]
10872    pub fn EVP_PKEY_decrypt(
10873        ctx: *mut EVP_PKEY_CTX,
10874        out: *mut u8,
10875        out_len: *mut usize,
10876        in_: *const u8,
10877        in_len: usize,
10878    ) -> ::std::os::raw::c_int;
10879}
10880extern "C" {
10881    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_verify_recover_init"]
10882    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10883}
10884extern "C" {
10885    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_verify_recover"]
10886    pub fn EVP_PKEY_verify_recover(
10887        ctx: *mut EVP_PKEY_CTX,
10888        out: *mut u8,
10889        out_len: *mut usize,
10890        sig: *const u8,
10891        siglen: usize,
10892    ) -> ::std::os::raw::c_int;
10893}
10894extern "C" {
10895    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_derive_init"]
10896    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10897}
10898extern "C" {
10899    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_derive_set_peer"]
10900    pub fn EVP_PKEY_derive_set_peer(
10901        ctx: *mut EVP_PKEY_CTX,
10902        peer: *mut EVP_PKEY,
10903    ) -> ::std::os::raw::c_int;
10904}
10905extern "C" {
10906    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_derive"]
10907    pub fn EVP_PKEY_derive(
10908        ctx: *mut EVP_PKEY_CTX,
10909        key: *mut u8,
10910        out_key_len: *mut usize,
10911    ) -> ::std::os::raw::c_int;
10912}
10913extern "C" {
10914    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_check"]
10915    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10916}
10917extern "C" {
10918    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_public_check"]
10919    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10920}
10921extern "C" {
10922    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_param_check"]
10923    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10924}
10925extern "C" {
10926    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_keygen_init"]
10927    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10928}
10929extern "C" {
10930    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_keygen"]
10931    pub fn EVP_PKEY_keygen(
10932        ctx: *mut EVP_PKEY_CTX,
10933        out_pkey: *mut *mut EVP_PKEY,
10934    ) -> ::std::os::raw::c_int;
10935}
10936extern "C" {
10937    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_encapsulate"]
10938    pub fn EVP_PKEY_encapsulate(
10939        ctx: *mut EVP_PKEY_CTX,
10940        ciphertext: *mut u8,
10941        ciphertext_len: *mut usize,
10942        shared_secret: *mut u8,
10943        shared_secret_len: *mut usize,
10944    ) -> ::std::os::raw::c_int;
10945}
10946extern "C" {
10947    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_decapsulate"]
10948    pub fn EVP_PKEY_decapsulate(
10949        ctx: *mut EVP_PKEY_CTX,
10950        shared_secret: *mut u8,
10951        shared_secret_len: *mut usize,
10952        ciphertext: *const u8,
10953        ciphertext_len: usize,
10954    ) -> ::std::os::raw::c_int;
10955}
10956extern "C" {
10957    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_paramgen_init"]
10958    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10959}
10960extern "C" {
10961    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_paramgen"]
10962    pub fn EVP_PKEY_paramgen(
10963        ctx: *mut EVP_PKEY_CTX,
10964        out_pkey: *mut *mut EVP_PKEY,
10965    ) -> ::std::os::raw::c_int;
10966}
10967extern "C" {
10968    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_signature_md"]
10969    pub fn EVP_PKEY_CTX_set_signature_md(
10970        ctx: *mut EVP_PKEY_CTX,
10971        md: *const EVP_MD,
10972    ) -> ::std::os::raw::c_int;
10973}
10974extern "C" {
10975    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get_signature_md"]
10976    pub fn EVP_PKEY_CTX_get_signature_md(
10977        ctx: *mut EVP_PKEY_CTX,
10978        out_md: *mut *const EVP_MD,
10979    ) -> ::std::os::raw::c_int;
10980}
10981extern "C" {
10982    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set1_signature_context_string"]
10983    pub fn EVP_PKEY_CTX_set1_signature_context_string(
10984        ctx: *mut EVP_PKEY_CTX,
10985        context: *const u8,
10986        context_len: usize,
10987    ) -> ::std::os::raw::c_int;
10988}
10989extern "C" {
10990    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_signature_context"]
10991    pub fn EVP_PKEY_CTX_set_signature_context(
10992        ctx: *mut EVP_PKEY_CTX,
10993        context: *const u8,
10994        context_len: usize,
10995    ) -> ::std::os::raw::c_int;
10996}
10997extern "C" {
10998    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get0_signature_context"]
10999    pub fn EVP_PKEY_CTX_get0_signature_context(
11000        ctx: *mut EVP_PKEY_CTX,
11001        context: *mut *const u8,
11002        context_len: *mut usize,
11003    ) -> ::std::os::raw::c_int;
11004}
11005extern "C" {
11006    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_padding"]
11007    pub fn EVP_PKEY_CTX_set_rsa_padding(
11008        ctx: *mut EVP_PKEY_CTX,
11009        padding: ::std::os::raw::c_int,
11010    ) -> ::std::os::raw::c_int;
11011}
11012extern "C" {
11013    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get_rsa_padding"]
11014    pub fn EVP_PKEY_CTX_get_rsa_padding(
11015        ctx: *mut EVP_PKEY_CTX,
11016        out_padding: *mut ::std::os::raw::c_int,
11017    ) -> ::std::os::raw::c_int;
11018}
11019extern "C" {
11020    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
11021    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
11022        ctx: *mut EVP_PKEY_CTX,
11023        salt_len: ::std::os::raw::c_int,
11024    ) -> ::std::os::raw::c_int;
11025}
11026extern "C" {
11027    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
11028    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
11029        ctx: *mut EVP_PKEY_CTX,
11030        out_salt_len: *mut ::std::os::raw::c_int,
11031    ) -> ::std::os::raw::c_int;
11032}
11033extern "C" {
11034    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
11035    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
11036        ctx: *mut EVP_PKEY_CTX,
11037        bits: ::std::os::raw::c_int,
11038    ) -> ::std::os::raw::c_int;
11039}
11040extern "C" {
11041    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11042    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11043        ctx: *mut EVP_PKEY_CTX,
11044        e: *mut BIGNUM,
11045    ) -> ::std::os::raw::c_int;
11046}
11047extern "C" {
11048    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
11049    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11050        ctx: *mut EVP_PKEY_CTX,
11051        md: *const EVP_MD,
11052    ) -> ::std::os::raw::c_int;
11053}
11054extern "C" {
11055    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
11056    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11057        ctx: *mut EVP_PKEY_CTX,
11058        out_md: *mut *const EVP_MD,
11059    ) -> ::std::os::raw::c_int;
11060}
11061extern "C" {
11062    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11063    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11064        ctx: *mut EVP_PKEY_CTX,
11065        md: *const EVP_MD,
11066    ) -> ::std::os::raw::c_int;
11067}
11068extern "C" {
11069    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11070    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11071        ctx: *mut EVP_PKEY_CTX,
11072        out_md: *mut *const EVP_MD,
11073    ) -> ::std::os::raw::c_int;
11074}
11075extern "C" {
11076    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11077    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11078        ctx: *mut EVP_PKEY_CTX,
11079        label: *mut u8,
11080        label_len: usize,
11081    ) -> ::std::os::raw::c_int;
11082}
11083extern "C" {
11084    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11085    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11086        ctx: *mut EVP_PKEY_CTX,
11087        out_label: *mut *const u8,
11088    ) -> ::std::os::raw::c_int;
11089}
11090extern "C" {
11091    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11092    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11093        ctx: *mut EVP_PKEY_CTX,
11094        nid: ::std::os::raw::c_int,
11095    ) -> ::std::os::raw::c_int;
11096}
11097extern "C" {
11098    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_kem_set_params"]
11099    pub fn EVP_PKEY_CTX_kem_set_params(
11100        ctx: *mut EVP_PKEY_CTX,
11101        nid: ::std::os::raw::c_int,
11102    ) -> ::std::os::raw::c_int;
11103}
11104extern "C" {
11105    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_kem_new_raw_public_key"]
11106    pub fn EVP_PKEY_kem_new_raw_public_key(
11107        nid: ::std::os::raw::c_int,
11108        in_: *const u8,
11109        len: usize,
11110    ) -> *mut EVP_PKEY;
11111}
11112extern "C" {
11113    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_kem_new_raw_secret_key"]
11114    pub fn EVP_PKEY_kem_new_raw_secret_key(
11115        nid: ::std::os::raw::c_int,
11116        in_: *const u8,
11117        len: usize,
11118    ) -> *mut EVP_PKEY;
11119}
11120extern "C" {
11121    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_kem_new_raw_key"]
11122    pub fn EVP_PKEY_kem_new_raw_key(
11123        nid: ::std::os::raw::c_int,
11124        in_public: *const u8,
11125        len_public: usize,
11126        in_secret: *const u8,
11127        len_secret: usize,
11128    ) -> *mut EVP_PKEY;
11129}
11130extern "C" {
11131    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_kem_check_key"]
11132    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11133}
11134extern "C" {
11135    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_kem_get_type"]
11136    pub fn EVP_PKEY_kem_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11137}
11138extern "C" {
11139    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_pqdsa_set_params"]
11140    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11141        ctx: *mut EVP_PKEY_CTX,
11142        nid: ::std::os::raw::c_int,
11143    ) -> ::std::os::raw::c_int;
11144}
11145extern "C" {
11146    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_pqdsa_new_raw_public_key"]
11147    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11148        nid: ::std::os::raw::c_int,
11149        in_: *const u8,
11150        len: usize,
11151    ) -> *mut EVP_PKEY;
11152}
11153extern "C" {
11154    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_pqdsa_new_raw_private_key"]
11155    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11156        nid: ::std::os::raw::c_int,
11157        in_: *const u8,
11158        len: usize,
11159    ) -> *mut EVP_PKEY;
11160}
11161extern "C" {
11162    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_dh_pad"]
11163    pub fn EVP_PKEY_CTX_set_dh_pad(
11164        ctx: *mut EVP_PKEY_CTX,
11165        pad: ::std::os::raw::c_int,
11166    ) -> ::std::os::raw::c_int;
11167}
11168extern "C" {
11169    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_asn1_get_count"]
11170    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11171}
11172extern "C" {
11173    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_asn1_get0"]
11174    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11175}
11176extern "C" {
11177    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_asn1_find"]
11178    pub fn EVP_PKEY_asn1_find(
11179        _pe: *mut *mut ENGINE,
11180        type_: ::std::os::raw::c_int,
11181    ) -> *const EVP_PKEY_ASN1_METHOD;
11182}
11183extern "C" {
11184    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_asn1_find_str"]
11185    pub fn EVP_PKEY_asn1_find_str(
11186        _pe: *mut *mut ENGINE,
11187        name: *const ::std::os::raw::c_char,
11188        len: ::std::os::raw::c_int,
11189    ) -> *const EVP_PKEY_ASN1_METHOD;
11190}
11191extern "C" {
11192    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_asn1_get0_info"]
11193    pub fn EVP_PKEY_asn1_get0_info(
11194        ppkey_id: *mut ::std::os::raw::c_int,
11195        pkey_base_id: *mut ::std::os::raw::c_int,
11196        ppkey_flags: *mut ::std::os::raw::c_int,
11197        pinfo: *mut *const ::std::os::raw::c_char,
11198        ppem_str: *mut *const ::std::os::raw::c_char,
11199        ameth: *const EVP_PKEY_ASN1_METHOD,
11200    ) -> ::std::os::raw::c_int;
11201}
11202extern "C" {
11203    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get_private_seed"]
11204    pub fn EVP_PKEY_get_private_seed(
11205        key: *const EVP_PKEY,
11206        out: *mut u8,
11207        out_len: *mut usize,
11208    ) -> ::std::os::raw::c_int;
11209}
11210pub type EVP_PKEY_gen_cb =
11211    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11212extern "C" {
11213    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_cb"]
11214    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11215}
11216extern "C" {
11217    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get_keygen_info"]
11218    pub fn EVP_PKEY_CTX_get_keygen_info(
11219        ctx: *mut EVP_PKEY_CTX,
11220        idx: ::std::os::raw::c_int,
11221    ) -> ::std::os::raw::c_int;
11222}
11223extern "C" {
11224    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_app_data"]
11225    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11226}
11227extern "C" {
11228    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_get_app_data"]
11229    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11230}
11231extern "C" {
11232    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_get_pkey_type"]
11233    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11234}
11235extern "C" {
11236    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_pkey_type"]
11237    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11238}
11239extern "C" {
11240    #[link_name = "\u{1}aws_lc_0_41_0_EVP_CIPHER_do_all_sorted"]
11241    pub fn EVP_CIPHER_do_all_sorted(
11242        callback: ::std::option::Option<
11243            unsafe extern "C" fn(
11244                cipher: *const EVP_CIPHER,
11245                name: *const ::std::os::raw::c_char,
11246                unused: *const ::std::os::raw::c_char,
11247                arg: *mut ::std::os::raw::c_void,
11248            ),
11249        >,
11250        arg: *mut ::std::os::raw::c_void,
11251    );
11252}
11253extern "C" {
11254    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_do_all_sorted"]
11255    pub fn EVP_MD_do_all_sorted(
11256        callback: ::std::option::Option<
11257            unsafe extern "C" fn(
11258                cipher: *const EVP_MD,
11259                name: *const ::std::os::raw::c_char,
11260                unused: *const ::std::os::raw::c_char,
11261                arg: *mut ::std::os::raw::c_void,
11262            ),
11263        >,
11264        arg: *mut ::std::os::raw::c_void,
11265    );
11266}
11267extern "C" {
11268    #[link_name = "\u{1}aws_lc_0_41_0_EVP_MD_do_all"]
11269    pub fn EVP_MD_do_all(
11270        callback: ::std::option::Option<
11271            unsafe extern "C" fn(
11272                cipher: *const EVP_MD,
11273                name: *const ::std::os::raw::c_char,
11274                unused: *const ::std::os::raw::c_char,
11275                arg: *mut ::std::os::raw::c_void,
11276            ),
11277        >,
11278        arg: *mut ::std::os::raw::c_void,
11279    );
11280}
11281extern "C" {
11282    #[link_name = "\u{1}aws_lc_0_41_0_i2d_PrivateKey"]
11283    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11284}
11285extern "C" {
11286    #[link_name = "\u{1}aws_lc_0_41_0_i2d_PublicKey"]
11287    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11288}
11289extern "C" {
11290    #[link_name = "\u{1}aws_lc_0_41_0_d2i_PrivateKey"]
11291    pub fn d2i_PrivateKey(
11292        type_: ::std::os::raw::c_int,
11293        out: *mut *mut EVP_PKEY,
11294        inp: *mut *const u8,
11295        len: ::std::os::raw::c_long,
11296    ) -> *mut EVP_PKEY;
11297}
11298extern "C" {
11299    #[link_name = "\u{1}aws_lc_0_41_0_d2i_AutoPrivateKey"]
11300    pub fn d2i_AutoPrivateKey(
11301        out: *mut *mut EVP_PKEY,
11302        inp: *mut *const u8,
11303        len: ::std::os::raw::c_long,
11304    ) -> *mut EVP_PKEY;
11305}
11306extern "C" {
11307    #[link_name = "\u{1}aws_lc_0_41_0_d2i_PublicKey"]
11308    pub fn d2i_PublicKey(
11309        type_: ::std::os::raw::c_int,
11310        out: *mut *mut EVP_PKEY,
11311        inp: *mut *const u8,
11312        len: ::std::os::raw::c_long,
11313    ) -> *mut EVP_PKEY;
11314}
11315extern "C" {
11316    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_ec_param_enc"]
11317    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11318        ctx: *mut EVP_PKEY_CTX,
11319        encoding: ::std::os::raw::c_int,
11320    ) -> ::std::os::raw::c_int;
11321}
11322extern "C" {
11323    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_set1_tls_encodedpoint"]
11324    pub fn EVP_PKEY_set1_tls_encodedpoint(
11325        pkey: *mut EVP_PKEY,
11326        in_: *const u8,
11327        len: usize,
11328    ) -> ::std::os::raw::c_int;
11329}
11330extern "C" {
11331    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get1_tls_encodedpoint"]
11332    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11333}
11334extern "C" {
11335    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_base_id"]
11336    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11337}
11338extern "C" {
11339    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11340    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11341        ctx: *mut EVP_PKEY_CTX,
11342        md: *const EVP_MD,
11343    ) -> ::std::os::raw::c_int;
11344}
11345extern "C" {
11346    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11347    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11348        ctx: *mut EVP_PKEY_CTX,
11349        salt_len: ::std::os::raw::c_int,
11350    ) -> ::std::os::raw::c_int;
11351}
11352extern "C" {
11353    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11354    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11355        ctx: *mut EVP_PKEY_CTX,
11356        md: *const EVP_MD,
11357    ) -> ::std::os::raw::c_int;
11358}
11359extern "C" {
11360    #[link_name = "\u{1}aws_lc_0_41_0_i2d_PUBKEY"]
11361    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11362}
11363extern "C" {
11364    #[link_name = "\u{1}aws_lc_0_41_0_d2i_PUBKEY"]
11365    pub fn d2i_PUBKEY(
11366        out: *mut *mut EVP_PKEY,
11367        inp: *mut *const u8,
11368        len: ::std::os::raw::c_long,
11369    ) -> *mut EVP_PKEY;
11370}
11371extern "C" {
11372    #[link_name = "\u{1}aws_lc_0_41_0_i2d_RSA_PUBKEY"]
11373    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11374}
11375extern "C" {
11376    #[link_name = "\u{1}aws_lc_0_41_0_d2i_RSA_PUBKEY"]
11377    pub fn d2i_RSA_PUBKEY(
11378        out: *mut *mut RSA,
11379        inp: *mut *const u8,
11380        len: ::std::os::raw::c_long,
11381    ) -> *mut RSA;
11382}
11383extern "C" {
11384    #[link_name = "\u{1}aws_lc_0_41_0_i2d_DSA_PUBKEY"]
11385    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11386}
11387extern "C" {
11388    #[link_name = "\u{1}aws_lc_0_41_0_d2i_DSA_PUBKEY"]
11389    pub fn d2i_DSA_PUBKEY(
11390        out: *mut *mut DSA,
11391        inp: *mut *const u8,
11392        len: ::std::os::raw::c_long,
11393    ) -> *mut DSA;
11394}
11395extern "C" {
11396    #[link_name = "\u{1}aws_lc_0_41_0_i2d_EC_PUBKEY"]
11397    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11398}
11399extern "C" {
11400    #[link_name = "\u{1}aws_lc_0_41_0_d2i_EC_PUBKEY"]
11401    pub fn d2i_EC_PUBKEY(
11402        out: *mut *mut EC_KEY,
11403        inp: *mut *const u8,
11404        len: ::std::os::raw::c_long,
11405    ) -> *mut EC_KEY;
11406}
11407extern "C" {
11408    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_assign"]
11409    pub fn EVP_PKEY_assign(
11410        pkey: *mut EVP_PKEY,
11411        type_: ::std::os::raw::c_int,
11412        key: *mut ::std::os::raw::c_void,
11413    ) -> ::std::os::raw::c_int;
11414}
11415extern "C" {
11416    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_type"]
11417    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11418}
11419extern "C" {
11420    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_new_mac_key"]
11421    pub fn EVP_PKEY_new_mac_key(
11422        type_: ::std::os::raw::c_int,
11423        engine: *mut ENGINE,
11424        mac_key: *const u8,
11425        mac_key_len: usize,
11426    ) -> *mut EVP_PKEY;
11427}
11428extern "C" {
11429    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_get0"]
11430    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11431}
11432extern "C" {
11433    #[link_name = "\u{1}aws_lc_0_41_0_OpenSSL_add_all_algorithms"]
11434    pub fn OpenSSL_add_all_algorithms();
11435}
11436extern "C" {
11437    #[link_name = "\u{1}aws_lc_0_41_0_OPENSSL_add_all_algorithms_conf"]
11438    pub fn OPENSSL_add_all_algorithms_conf();
11439}
11440extern "C" {
11441    #[link_name = "\u{1}aws_lc_0_41_0_OpenSSL_add_all_ciphers"]
11442    pub fn OpenSSL_add_all_ciphers();
11443}
11444extern "C" {
11445    #[link_name = "\u{1}aws_lc_0_41_0_OpenSSL_add_all_digests"]
11446    pub fn OpenSSL_add_all_digests();
11447}
11448extern "C" {
11449    #[link_name = "\u{1}aws_lc_0_41_0_EVP_cleanup"]
11450    pub fn EVP_cleanup();
11451}
11452extern "C" {
11453    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11454    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11455        ctx: *mut EVP_PKEY_CTX,
11456        nbits: ::std::os::raw::c_int,
11457    ) -> ::std::os::raw::c_int;
11458}
11459extern "C" {
11460    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11461    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11462        ctx: *mut EVP_PKEY_CTX,
11463        md: *const EVP_MD,
11464    ) -> ::std::os::raw::c_int;
11465}
11466extern "C" {
11467    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11468    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11469        ctx: *mut EVP_PKEY_CTX,
11470        qbits: ::std::os::raw::c_int,
11471    ) -> ::std::os::raw::c_int;
11472}
11473extern "C" {
11474    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_ctrl_str"]
11475    pub fn EVP_PKEY_CTX_ctrl_str(
11476        ctx: *mut EVP_PKEY_CTX,
11477        type_: *const ::std::os::raw::c_char,
11478        value: *const ::std::os::raw::c_char,
11479    ) -> ::std::os::raw::c_int;
11480}
11481extern "C" {
11482    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_tls1_prf"]
11483    pub fn CRYPTO_tls1_prf(
11484        digest: *const EVP_MD,
11485        out: *mut u8,
11486        out_len: usize,
11487        secret: *const u8,
11488        secret_len: usize,
11489        label: *const ::std::os::raw::c_char,
11490        label_len: usize,
11491        seed1: *const u8,
11492        seed1_len: usize,
11493        seed2: *const u8,
11494        seed2_len: usize,
11495    ) -> ::std::os::raw::c_int;
11496}
11497extern "C" {
11498    #[link_name = "\u{1}aws_lc_0_41_0_SSKDF_digest"]
11499    pub fn SSKDF_digest(
11500        out_key: *mut u8,
11501        out_len: usize,
11502        digest: *const EVP_MD,
11503        secret: *const u8,
11504        secret_len: usize,
11505        info: *const u8,
11506        info_len: usize,
11507    ) -> ::std::os::raw::c_int;
11508}
11509extern "C" {
11510    #[link_name = "\u{1}aws_lc_0_41_0_SSKDF_hmac"]
11511    pub fn SSKDF_hmac(
11512        out_key: *mut u8,
11513        out_len: usize,
11514        digest: *const EVP_MD,
11515        secret: *const u8,
11516        secret_len: usize,
11517        info: *const u8,
11518        info_len: usize,
11519        salt: *const u8,
11520        salt_len: usize,
11521    ) -> ::std::os::raw::c_int;
11522}
11523extern "C" {
11524    #[link_name = "\u{1}aws_lc_0_41_0_KBKDF_ctr_hmac"]
11525    pub fn KBKDF_ctr_hmac(
11526        out_key: *mut u8,
11527        out_len: usize,
11528        digest: *const EVP_MD,
11529        secret: *const u8,
11530        secret_len: usize,
11531        info: *const u8,
11532        info_len: usize,
11533    ) -> ::std::os::raw::c_int;
11534}
11535extern "C" {
11536    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_hkdf_mode"]
11537    pub fn EVP_PKEY_CTX_hkdf_mode(
11538        ctx: *mut EVP_PKEY_CTX,
11539        mode: ::std::os::raw::c_int,
11540    ) -> ::std::os::raw::c_int;
11541}
11542extern "C" {
11543    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set_hkdf_md"]
11544    pub fn EVP_PKEY_CTX_set_hkdf_md(
11545        ctx: *mut EVP_PKEY_CTX,
11546        md: *const EVP_MD,
11547    ) -> ::std::os::raw::c_int;
11548}
11549extern "C" {
11550    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set1_hkdf_key"]
11551    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11552        ctx: *mut EVP_PKEY_CTX,
11553        key: *const u8,
11554        key_len: usize,
11555    ) -> ::std::os::raw::c_int;
11556}
11557extern "C" {
11558    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_set1_hkdf_salt"]
11559    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11560        ctx: *mut EVP_PKEY_CTX,
11561        salt: *const u8,
11562        salt_len: usize,
11563    ) -> ::std::os::raw::c_int;
11564}
11565extern "C" {
11566    #[link_name = "\u{1}aws_lc_0_41_0_EVP_PKEY_CTX_add1_hkdf_info"]
11567    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11568        ctx: *mut EVP_PKEY_CTX,
11569        info: *const u8,
11570        info_len: usize,
11571    ) -> ::std::os::raw::c_int;
11572}
11573extern "C" {
11574    #[link_name = "\u{1}aws_lc_0_41_0_HKDF"]
11575    pub fn HKDF(
11576        out_key: *mut u8,
11577        out_len: usize,
11578        digest: *const EVP_MD,
11579        secret: *const u8,
11580        secret_len: usize,
11581        salt: *const u8,
11582        salt_len: usize,
11583        info: *const u8,
11584        info_len: usize,
11585    ) -> ::std::os::raw::c_int;
11586}
11587extern "C" {
11588    #[link_name = "\u{1}aws_lc_0_41_0_HKDF_extract"]
11589    pub fn HKDF_extract(
11590        out_key: *mut u8,
11591        out_len: *mut usize,
11592        digest: *const EVP_MD,
11593        secret: *const u8,
11594        secret_len: usize,
11595        salt: *const u8,
11596        salt_len: usize,
11597    ) -> ::std::os::raw::c_int;
11598}
11599extern "C" {
11600    #[link_name = "\u{1}aws_lc_0_41_0_HKDF_expand"]
11601    pub fn HKDF_expand(
11602        out_key: *mut u8,
11603        out_len: usize,
11604        digest: *const EVP_MD,
11605        prk: *const u8,
11606        prk_len: usize,
11607        info: *const u8,
11608        info_len: usize,
11609    ) -> ::std::os::raw::c_int;
11610}
11611#[repr(C)]
11612#[derive(Copy, Clone)]
11613pub struct evp_hpke_ctx_st {
11614    pub kem: *const EVP_HPKE_KEM,
11615    pub aead: *const EVP_HPKE_AEAD,
11616    pub kdf: *const EVP_HPKE_KDF,
11617    pub aead_ctx: EVP_AEAD_CTX,
11618    pub base_nonce: [u8; 24usize],
11619    pub exporter_secret: [u8; 64usize],
11620    pub seq: u64,
11621    pub is_sender: ::std::os::raw::c_int,
11622}
11623#[test]
11624fn bindgen_test_layout_evp_hpke_ctx_st() {
11625    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11626    let ptr = UNINIT.as_ptr();
11627    assert_eq!(
11628        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11629        712usize,
11630        "Size of evp_hpke_ctx_st"
11631    );
11632    assert_eq!(
11633        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11634        8usize,
11635        "Alignment of evp_hpke_ctx_st"
11636    );
11637    assert_eq!(
11638        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11639        0usize,
11640        "Offset of field: evp_hpke_ctx_st::kem"
11641    );
11642    assert_eq!(
11643        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11644        8usize,
11645        "Offset of field: evp_hpke_ctx_st::aead"
11646    );
11647    assert_eq!(
11648        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11649        16usize,
11650        "Offset of field: evp_hpke_ctx_st::kdf"
11651    );
11652    assert_eq!(
11653        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11654        24usize,
11655        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11656    );
11657    assert_eq!(
11658        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11659        608usize,
11660        "Offset of field: evp_hpke_ctx_st::base_nonce"
11661    );
11662    assert_eq!(
11663        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11664        632usize,
11665        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11666    );
11667    assert_eq!(
11668        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11669        696usize,
11670        "Offset of field: evp_hpke_ctx_st::seq"
11671    );
11672    assert_eq!(
11673        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11674        704usize,
11675        "Offset of field: evp_hpke_ctx_st::is_sender"
11676    );
11677}
11678impl Default for evp_hpke_ctx_st {
11679    fn default() -> Self {
11680        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11681        unsafe {
11682            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11683            s.assume_init()
11684        }
11685    }
11686}
11687#[repr(C)]
11688#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11689pub struct evp_hpke_key_st {
11690    pub kem: *const EVP_HPKE_KEM,
11691    pub private_key: [u8; 32usize],
11692    pub public_key: [u8; 32usize],
11693}
11694#[test]
11695fn bindgen_test_layout_evp_hpke_key_st() {
11696    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11697    let ptr = UNINIT.as_ptr();
11698    assert_eq!(
11699        ::std::mem::size_of::<evp_hpke_key_st>(),
11700        72usize,
11701        "Size of evp_hpke_key_st"
11702    );
11703    assert_eq!(
11704        ::std::mem::align_of::<evp_hpke_key_st>(),
11705        8usize,
11706        "Alignment of evp_hpke_key_st"
11707    );
11708    assert_eq!(
11709        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11710        0usize,
11711        "Offset of field: evp_hpke_key_st::kem"
11712    );
11713    assert_eq!(
11714        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11715        8usize,
11716        "Offset of field: evp_hpke_key_st::private_key"
11717    );
11718    assert_eq!(
11719        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11720        40usize,
11721        "Offset of field: evp_hpke_key_st::public_key"
11722    );
11723}
11724impl Default for evp_hpke_key_st {
11725    fn default() -> Self {
11726        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11727        unsafe {
11728            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11729            s.assume_init()
11730        }
11731    }
11732}
11733#[repr(C)]
11734#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11735pub struct md4_state_st {
11736    pub h: [u32; 4usize],
11737    pub Nl: u32,
11738    pub Nh: u32,
11739    pub data: [u8; 64usize],
11740    pub num: ::std::os::raw::c_uint,
11741}
11742#[test]
11743fn bindgen_test_layout_md4_state_st() {
11744    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11745    let ptr = UNINIT.as_ptr();
11746    assert_eq!(
11747        ::std::mem::size_of::<md4_state_st>(),
11748        92usize,
11749        "Size of md4_state_st"
11750    );
11751    assert_eq!(
11752        ::std::mem::align_of::<md4_state_st>(),
11753        4usize,
11754        "Alignment of md4_state_st"
11755    );
11756    assert_eq!(
11757        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11758        0usize,
11759        "Offset of field: md4_state_st::h"
11760    );
11761    assert_eq!(
11762        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11763        16usize,
11764        "Offset of field: md4_state_st::Nl"
11765    );
11766    assert_eq!(
11767        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11768        20usize,
11769        "Offset of field: md4_state_st::Nh"
11770    );
11771    assert_eq!(
11772        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11773        24usize,
11774        "Offset of field: md4_state_st::data"
11775    );
11776    assert_eq!(
11777        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11778        88usize,
11779        "Offset of field: md4_state_st::num"
11780    );
11781}
11782impl Default for md4_state_st {
11783    fn default() -> Self {
11784        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11785        unsafe {
11786            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11787            s.assume_init()
11788        }
11789    }
11790}
11791#[repr(C)]
11792#[derive(Debug, Copy, Clone)]
11793pub struct stack_st_X509 {
11794    _unused: [u8; 0],
11795}
11796#[repr(C)]
11797#[derive(Debug, Copy, Clone)]
11798pub struct stack_st_X509_CRL {
11799    _unused: [u8; 0],
11800}
11801#[repr(C)]
11802#[derive(Copy, Clone)]
11803pub struct pkcs7_st {
11804    pub type_: *mut ASN1_OBJECT,
11805    pub d: pkcs7_st__bindgen_ty_1,
11806}
11807#[repr(C)]
11808#[derive(Copy, Clone)]
11809pub union pkcs7_st__bindgen_ty_1 {
11810    pub ptr: *mut ::std::os::raw::c_char,
11811    pub data: *mut ASN1_OCTET_STRING,
11812    pub sign: *mut PKCS7_SIGNED,
11813    pub enveloped: *mut PKCS7_ENVELOPE,
11814    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
11815    pub digest: *mut PKCS7_DIGEST,
11816    pub encrypted: *mut PKCS7_ENCRYPT,
11817    pub other: *mut ASN1_TYPE,
11818}
11819#[test]
11820fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
11821    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
11822        ::std::mem::MaybeUninit::uninit();
11823    let ptr = UNINIT.as_ptr();
11824    assert_eq!(
11825        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
11826        8usize,
11827        "Size of pkcs7_st__bindgen_ty_1"
11828    );
11829    assert_eq!(
11830        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
11831        8usize,
11832        "Alignment of pkcs7_st__bindgen_ty_1"
11833    );
11834    assert_eq!(
11835        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
11836        0usize,
11837        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
11838    );
11839    assert_eq!(
11840        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11841        0usize,
11842        "Offset of field: pkcs7_st__bindgen_ty_1::data"
11843    );
11844    assert_eq!(
11845        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
11846        0usize,
11847        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
11848    );
11849    assert_eq!(
11850        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
11851        0usize,
11852        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
11853    );
11854    assert_eq!(
11855        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
11856        0usize,
11857        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
11858    );
11859    assert_eq!(
11860        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
11861        0usize,
11862        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
11863    );
11864    assert_eq!(
11865        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
11866        0usize,
11867        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
11868    );
11869    assert_eq!(
11870        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
11871        0usize,
11872        "Offset of field: pkcs7_st__bindgen_ty_1::other"
11873    );
11874}
11875impl Default for pkcs7_st__bindgen_ty_1 {
11876    fn default() -> Self {
11877        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11878        unsafe {
11879            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11880            s.assume_init()
11881        }
11882    }
11883}
11884#[test]
11885fn bindgen_test_layout_pkcs7_st() {
11886    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
11887    let ptr = UNINIT.as_ptr();
11888    assert_eq!(
11889        ::std::mem::size_of::<pkcs7_st>(),
11890        16usize,
11891        "Size of pkcs7_st"
11892    );
11893    assert_eq!(
11894        ::std::mem::align_of::<pkcs7_st>(),
11895        8usize,
11896        "Alignment of pkcs7_st"
11897    );
11898    assert_eq!(
11899        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
11900        0usize,
11901        "Offset of field: pkcs7_st::type_"
11902    );
11903    assert_eq!(
11904        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
11905        8usize,
11906        "Offset of field: pkcs7_st::d"
11907    );
11908}
11909impl Default for pkcs7_st {
11910    fn default() -> Self {
11911        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11912        unsafe {
11913            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11914            s.assume_init()
11915        }
11916    }
11917}
11918#[repr(C)]
11919#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11920pub struct pkcs7_signed_st {
11921    pub version: *mut ASN1_INTEGER,
11922    pub md_algs: *mut stack_st_X509_ALGOR,
11923    pub contents: *mut PKCS7,
11924    pub cert: *mut stack_st_X509,
11925    pub crl: *mut stack_st_X509_CRL,
11926    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
11927}
11928#[test]
11929fn bindgen_test_layout_pkcs7_signed_st() {
11930    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
11931    let ptr = UNINIT.as_ptr();
11932    assert_eq!(
11933        ::std::mem::size_of::<pkcs7_signed_st>(),
11934        48usize,
11935        "Size of pkcs7_signed_st"
11936    );
11937    assert_eq!(
11938        ::std::mem::align_of::<pkcs7_signed_st>(),
11939        8usize,
11940        "Alignment of pkcs7_signed_st"
11941    );
11942    assert_eq!(
11943        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11944        0usize,
11945        "Offset of field: pkcs7_signed_st::version"
11946    );
11947    assert_eq!(
11948        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
11949        8usize,
11950        "Offset of field: pkcs7_signed_st::md_algs"
11951    );
11952    assert_eq!(
11953        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
11954        16usize,
11955        "Offset of field: pkcs7_signed_st::contents"
11956    );
11957    assert_eq!(
11958        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
11959        24usize,
11960        "Offset of field: pkcs7_signed_st::cert"
11961    );
11962    assert_eq!(
11963        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
11964        32usize,
11965        "Offset of field: pkcs7_signed_st::crl"
11966    );
11967    assert_eq!(
11968        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
11969        40usize,
11970        "Offset of field: pkcs7_signed_st::signer_info"
11971    );
11972}
11973impl Default for pkcs7_signed_st {
11974    fn default() -> Self {
11975        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11976        unsafe {
11977            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11978            s.assume_init()
11979        }
11980    }
11981}
11982#[repr(C)]
11983#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11984pub struct pkcs7_signer_info_st {
11985    pub version: *mut ASN1_INTEGER,
11986    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
11987    pub digest_alg: *mut X509_ALGOR,
11988    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
11989    pub digest_enc_alg: *mut X509_ALGOR,
11990    pub enc_digest: *mut ASN1_OCTET_STRING,
11991    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
11992    pub pkey: *mut EVP_PKEY,
11993}
11994#[test]
11995fn bindgen_test_layout_pkcs7_signer_info_st() {
11996    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
11997    let ptr = UNINIT.as_ptr();
11998    assert_eq!(
11999        ::std::mem::size_of::<pkcs7_signer_info_st>(),
12000        64usize,
12001        "Size of pkcs7_signer_info_st"
12002    );
12003    assert_eq!(
12004        ::std::mem::align_of::<pkcs7_signer_info_st>(),
12005        8usize,
12006        "Alignment of pkcs7_signer_info_st"
12007    );
12008    assert_eq!(
12009        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12010        0usize,
12011        "Offset of field: pkcs7_signer_info_st::version"
12012    );
12013    assert_eq!(
12014        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12015        8usize,
12016        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
12017    );
12018    assert_eq!(
12019        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
12020        16usize,
12021        "Offset of field: pkcs7_signer_info_st::digest_alg"
12022    );
12023    assert_eq!(
12024        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
12025        24usize,
12026        "Offset of field: pkcs7_signer_info_st::auth_attr"
12027    );
12028    assert_eq!(
12029        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
12030        32usize,
12031        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
12032    );
12033    assert_eq!(
12034        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
12035        40usize,
12036        "Offset of field: pkcs7_signer_info_st::enc_digest"
12037    );
12038    assert_eq!(
12039        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
12040        48usize,
12041        "Offset of field: pkcs7_signer_info_st::unauth_attr"
12042    );
12043    assert_eq!(
12044        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
12045        56usize,
12046        "Offset of field: pkcs7_signer_info_st::pkey"
12047    );
12048}
12049impl Default for pkcs7_signer_info_st {
12050    fn default() -> Self {
12051        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12052        unsafe {
12053            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12054            s.assume_init()
12055        }
12056    }
12057}
12058#[repr(C)]
12059#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12060pub struct pkcs7_sign_envelope_st {
12061    pub version: *mut ASN1_INTEGER,
12062    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12063    pub md_algs: *mut stack_st_X509_ALGOR,
12064    pub enc_data: *mut PKCS7_ENC_CONTENT,
12065    pub cert: *mut stack_st_X509,
12066    pub crl: *mut stack_st_X509_CRL,
12067    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12068}
12069#[test]
12070fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12071    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12072        ::std::mem::MaybeUninit::uninit();
12073    let ptr = UNINIT.as_ptr();
12074    assert_eq!(
12075        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12076        56usize,
12077        "Size of pkcs7_sign_envelope_st"
12078    );
12079    assert_eq!(
12080        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12081        8usize,
12082        "Alignment of pkcs7_sign_envelope_st"
12083    );
12084    assert_eq!(
12085        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12086        0usize,
12087        "Offset of field: pkcs7_sign_envelope_st::version"
12088    );
12089    assert_eq!(
12090        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12091        8usize,
12092        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12093    );
12094    assert_eq!(
12095        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12096        16usize,
12097        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12098    );
12099    assert_eq!(
12100        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12101        24usize,
12102        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12103    );
12104    assert_eq!(
12105        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12106        32usize,
12107        "Offset of field: pkcs7_sign_envelope_st::cert"
12108    );
12109    assert_eq!(
12110        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12111        40usize,
12112        "Offset of field: pkcs7_sign_envelope_st::crl"
12113    );
12114    assert_eq!(
12115        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12116        48usize,
12117        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12118    );
12119}
12120impl Default for pkcs7_sign_envelope_st {
12121    fn default() -> Self {
12122        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12123        unsafe {
12124            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12125            s.assume_init()
12126        }
12127    }
12128}
12129#[repr(C)]
12130#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12131pub struct pkcs7_envelope_st {
12132    pub version: *mut ASN1_INTEGER,
12133    pub enc_data: *mut PKCS7_ENC_CONTENT,
12134    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12135}
12136#[test]
12137fn bindgen_test_layout_pkcs7_envelope_st() {
12138    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12139    let ptr = UNINIT.as_ptr();
12140    assert_eq!(
12141        ::std::mem::size_of::<pkcs7_envelope_st>(),
12142        24usize,
12143        "Size of pkcs7_envelope_st"
12144    );
12145    assert_eq!(
12146        ::std::mem::align_of::<pkcs7_envelope_st>(),
12147        8usize,
12148        "Alignment of pkcs7_envelope_st"
12149    );
12150    assert_eq!(
12151        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12152        0usize,
12153        "Offset of field: pkcs7_envelope_st::version"
12154    );
12155    assert_eq!(
12156        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12157        8usize,
12158        "Offset of field: pkcs7_envelope_st::enc_data"
12159    );
12160    assert_eq!(
12161        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12162        16usize,
12163        "Offset of field: pkcs7_envelope_st::recipientinfo"
12164    );
12165}
12166impl Default for pkcs7_envelope_st {
12167    fn default() -> Self {
12168        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12169        unsafe {
12170            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12171            s.assume_init()
12172        }
12173    }
12174}
12175#[repr(C)]
12176#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12177pub struct pkcs7_recip_info_st {
12178    pub version: *mut ASN1_INTEGER,
12179    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12180    pub key_enc_algor: *mut X509_ALGOR,
12181    pub enc_key: *mut ASN1_OCTET_STRING,
12182    pub cert: *mut X509,
12183}
12184#[test]
12185fn bindgen_test_layout_pkcs7_recip_info_st() {
12186    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12187    let ptr = UNINIT.as_ptr();
12188    assert_eq!(
12189        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12190        40usize,
12191        "Size of pkcs7_recip_info_st"
12192    );
12193    assert_eq!(
12194        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12195        8usize,
12196        "Alignment of pkcs7_recip_info_st"
12197    );
12198    assert_eq!(
12199        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12200        0usize,
12201        "Offset of field: pkcs7_recip_info_st::version"
12202    );
12203    assert_eq!(
12204        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12205        8usize,
12206        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12207    );
12208    assert_eq!(
12209        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12210        16usize,
12211        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12212    );
12213    assert_eq!(
12214        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12215        24usize,
12216        "Offset of field: pkcs7_recip_info_st::enc_key"
12217    );
12218    assert_eq!(
12219        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12220        32usize,
12221        "Offset of field: pkcs7_recip_info_st::cert"
12222    );
12223}
12224impl Default for pkcs7_recip_info_st {
12225    fn default() -> Self {
12226        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12227        unsafe {
12228            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12229            s.assume_init()
12230        }
12231    }
12232}
12233#[repr(C)]
12234#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12235pub struct pkcs7_issuer_and_serial_st {
12236    pub issuer: *mut X509_NAME,
12237    pub serial: *mut ASN1_INTEGER,
12238}
12239#[test]
12240fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12241    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12242        ::std::mem::MaybeUninit::uninit();
12243    let ptr = UNINIT.as_ptr();
12244    assert_eq!(
12245        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12246        16usize,
12247        "Size of pkcs7_issuer_and_serial_st"
12248    );
12249    assert_eq!(
12250        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12251        8usize,
12252        "Alignment of pkcs7_issuer_and_serial_st"
12253    );
12254    assert_eq!(
12255        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12256        0usize,
12257        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12258    );
12259    assert_eq!(
12260        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12261        8usize,
12262        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12263    );
12264}
12265impl Default for pkcs7_issuer_and_serial_st {
12266    fn default() -> Self {
12267        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12268        unsafe {
12269            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12270            s.assume_init()
12271        }
12272    }
12273}
12274#[repr(C)]
12275#[derive(Debug, Copy, Clone)]
12276pub struct stack_st_PKCS7_RECIP_INFO {
12277    _unused: [u8; 0],
12278}
12279#[repr(C)]
12280#[derive(Debug, Copy, Clone)]
12281pub struct stack_st_PKCS7_SIGNER_INFO {
12282    _unused: [u8; 0],
12283}
12284extern "C" {
12285    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new_public_key"]
12286    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12287}
12288extern "C" {
12289    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new_private_key"]
12290    pub fn RSA_new_private_key(
12291        n: *const BIGNUM,
12292        e: *const BIGNUM,
12293        d: *const BIGNUM,
12294        p: *const BIGNUM,
12295        q: *const BIGNUM,
12296        dmp1: *const BIGNUM,
12297        dmq1: *const BIGNUM,
12298        iqmp: *const BIGNUM,
12299    ) -> *mut RSA;
12300}
12301extern "C" {
12302    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new"]
12303    pub fn RSA_new() -> *mut RSA;
12304}
12305extern "C" {
12306    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new_method"]
12307    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12308}
12309extern "C" {
12310    #[link_name = "\u{1}aws_lc_0_41_0_RSA_free"]
12311    pub fn RSA_free(rsa: *mut RSA);
12312}
12313extern "C" {
12314    #[link_name = "\u{1}aws_lc_0_41_0_RSA_up_ref"]
12315    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12316}
12317extern "C" {
12318    #[link_name = "\u{1}aws_lc_0_41_0_RSA_bits"]
12319    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12320}
12321extern "C" {
12322    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_n"]
12323    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12324}
12325extern "C" {
12326    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_e"]
12327    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12328}
12329extern "C" {
12330    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_d"]
12331    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12332}
12333extern "C" {
12334    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_p"]
12335    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12336}
12337extern "C" {
12338    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_q"]
12339    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12340}
12341extern "C" {
12342    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_dmp1"]
12343    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12344}
12345extern "C" {
12346    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_dmq1"]
12347    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12348}
12349extern "C" {
12350    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_iqmp"]
12351    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12352}
12353extern "C" {
12354    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_key"]
12355    pub fn RSA_get0_key(
12356        rsa: *const RSA,
12357        out_n: *mut *const BIGNUM,
12358        out_e: *mut *const BIGNUM,
12359        out_d: *mut *const BIGNUM,
12360    );
12361}
12362extern "C" {
12363    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_factors"]
12364    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12365}
12366extern "C" {
12367    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_crt_params"]
12368    pub fn RSA_get0_crt_params(
12369        rsa: *const RSA,
12370        out_dmp1: *mut *const BIGNUM,
12371        out_dmq1: *mut *const BIGNUM,
12372        out_iqmp: *mut *const BIGNUM,
12373    );
12374}
12375extern "C" {
12376    #[link_name = "\u{1}aws_lc_0_41_0_RSA_set0_key"]
12377    pub fn RSA_set0_key(
12378        rsa: *mut RSA,
12379        n: *mut BIGNUM,
12380        e: *mut BIGNUM,
12381        d: *mut BIGNUM,
12382    ) -> ::std::os::raw::c_int;
12383}
12384extern "C" {
12385    #[link_name = "\u{1}aws_lc_0_41_0_RSA_set0_factors"]
12386    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12387        -> ::std::os::raw::c_int;
12388}
12389extern "C" {
12390    #[link_name = "\u{1}aws_lc_0_41_0_RSA_set0_crt_params"]
12391    pub fn RSA_set0_crt_params(
12392        rsa: *mut RSA,
12393        dmp1: *mut BIGNUM,
12394        dmq1: *mut BIGNUM,
12395        iqmp: *mut BIGNUM,
12396    ) -> ::std::os::raw::c_int;
12397}
12398extern "C" {
12399    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get_default_method"]
12400    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12401}
12402extern "C" {
12403    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_new"]
12404    pub fn RSA_meth_new(
12405        name: *const ::std::os::raw::c_char,
12406        flags: ::std::os::raw::c_int,
12407    ) -> *mut RSA_METHOD;
12408}
12409extern "C" {
12410    #[link_name = "\u{1}aws_lc_0_41_0_RSA_set_method"]
12411    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12412}
12413extern "C" {
12414    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get_method"]
12415    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12416}
12417extern "C" {
12418    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_free"]
12419    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12420}
12421extern "C" {
12422    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set_init"]
12423    pub fn RSA_meth_set_init(
12424        meth: *mut RSA_METHOD,
12425        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12426    ) -> ::std::os::raw::c_int;
12427}
12428extern "C" {
12429    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set_finish"]
12430    pub fn RSA_meth_set_finish(
12431        meth: *mut RSA_METHOD,
12432        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12433    ) -> ::std::os::raw::c_int;
12434}
12435extern "C" {
12436    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set_priv_dec"]
12437    pub fn RSA_meth_set_priv_dec(
12438        meth: *mut RSA_METHOD,
12439        priv_dec: ::std::option::Option<
12440            unsafe extern "C" fn(
12441                max_out: ::std::os::raw::c_int,
12442                from: *const u8,
12443                to: *mut u8,
12444                rsa: *mut RSA,
12445                padding: ::std::os::raw::c_int,
12446            ) -> ::std::os::raw::c_int,
12447        >,
12448    ) -> ::std::os::raw::c_int;
12449}
12450extern "C" {
12451    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set_priv_enc"]
12452    pub fn RSA_meth_set_priv_enc(
12453        meth: *mut RSA_METHOD,
12454        priv_enc: ::std::option::Option<
12455            unsafe extern "C" fn(
12456                max_out: ::std::os::raw::c_int,
12457                from: *const u8,
12458                to: *mut u8,
12459                rsa: *mut RSA,
12460                padding: ::std::os::raw::c_int,
12461            ) -> ::std::os::raw::c_int,
12462        >,
12463    ) -> ::std::os::raw::c_int;
12464}
12465extern "C" {
12466    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set_pub_dec"]
12467    pub fn RSA_meth_set_pub_dec(
12468        meth: *mut RSA_METHOD,
12469        pub_dec: ::std::option::Option<
12470            unsafe extern "C" fn(
12471                max_out: ::std::os::raw::c_int,
12472                from: *const u8,
12473                to: *mut u8,
12474                rsa: *mut RSA,
12475                padding: ::std::os::raw::c_int,
12476            ) -> ::std::os::raw::c_int,
12477        >,
12478    ) -> ::std::os::raw::c_int;
12479}
12480extern "C" {
12481    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set_pub_enc"]
12482    pub fn RSA_meth_set_pub_enc(
12483        meth: *mut RSA_METHOD,
12484        pub_enc: ::std::option::Option<
12485            unsafe extern "C" fn(
12486                max_out: ::std::os::raw::c_int,
12487                from: *const u8,
12488                to: *mut u8,
12489                rsa: *mut RSA,
12490                padding: ::std::os::raw::c_int,
12491            ) -> ::std::os::raw::c_int,
12492        >,
12493    ) -> ::std::os::raw::c_int;
12494}
12495extern "C" {
12496    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set0_app_data"]
12497    pub fn RSA_meth_set0_app_data(
12498        meth: *mut RSA_METHOD,
12499        app_data: *mut ::std::os::raw::c_void,
12500    ) -> ::std::os::raw::c_int;
12501}
12502extern "C" {
12503    #[link_name = "\u{1}aws_lc_0_41_0_RSA_meth_set_sign"]
12504    pub fn RSA_meth_set_sign(
12505        meth: *mut RSA_METHOD,
12506        sign: ::std::option::Option<
12507            unsafe extern "C" fn(
12508                type_: ::std::os::raw::c_int,
12509                m: *const ::std::os::raw::c_uchar,
12510                m_length: ::std::os::raw::c_uint,
12511                sigret: *mut ::std::os::raw::c_uchar,
12512                siglen: *mut ::std::os::raw::c_uint,
12513                rsa: *const RSA,
12514            ) -> ::std::os::raw::c_int,
12515        >,
12516    ) -> ::std::os::raw::c_int;
12517}
12518extern "C" {
12519    #[link_name = "\u{1}aws_lc_0_41_0_RSA_generate_key_ex"]
12520    pub fn RSA_generate_key_ex(
12521        rsa: *mut RSA,
12522        bits: ::std::os::raw::c_int,
12523        e: *const BIGNUM,
12524        cb: *mut BN_GENCB,
12525    ) -> ::std::os::raw::c_int;
12526}
12527extern "C" {
12528    #[link_name = "\u{1}aws_lc_0_41_0_RSA_generate_key_fips"]
12529    pub fn RSA_generate_key_fips(
12530        rsa: *mut RSA,
12531        bits: ::std::os::raw::c_int,
12532        cb: *mut BN_GENCB,
12533    ) -> ::std::os::raw::c_int;
12534}
12535extern "C" {
12536    #[link_name = "\u{1}aws_lc_0_41_0_RSA_encrypt"]
12537    pub fn RSA_encrypt(
12538        rsa: *mut RSA,
12539        out_len: *mut usize,
12540        out: *mut u8,
12541        max_out: usize,
12542        in_: *const u8,
12543        in_len: usize,
12544        padding: ::std::os::raw::c_int,
12545    ) -> ::std::os::raw::c_int;
12546}
12547extern "C" {
12548    #[link_name = "\u{1}aws_lc_0_41_0_RSA_decrypt"]
12549    pub fn RSA_decrypt(
12550        rsa: *mut RSA,
12551        out_len: *mut usize,
12552        out: *mut u8,
12553        max_out: usize,
12554        in_: *const u8,
12555        in_len: usize,
12556        padding: ::std::os::raw::c_int,
12557    ) -> ::std::os::raw::c_int;
12558}
12559extern "C" {
12560    #[link_name = "\u{1}aws_lc_0_41_0_RSA_public_encrypt"]
12561    pub fn RSA_public_encrypt(
12562        flen: usize,
12563        from: *const u8,
12564        to: *mut u8,
12565        rsa: *mut RSA,
12566        padding: ::std::os::raw::c_int,
12567    ) -> ::std::os::raw::c_int;
12568}
12569extern "C" {
12570    #[link_name = "\u{1}aws_lc_0_41_0_RSA_private_decrypt"]
12571    pub fn RSA_private_decrypt(
12572        flen: usize,
12573        from: *const u8,
12574        to: *mut u8,
12575        rsa: *mut RSA,
12576        padding: ::std::os::raw::c_int,
12577    ) -> ::std::os::raw::c_int;
12578}
12579extern "C" {
12580    #[link_name = "\u{1}aws_lc_0_41_0_RSA_sign"]
12581    pub fn RSA_sign(
12582        hash_nid: ::std::os::raw::c_int,
12583        digest: *const u8,
12584        digest_len: usize,
12585        out: *mut u8,
12586        out_len: *mut ::std::os::raw::c_uint,
12587        rsa: *mut RSA,
12588    ) -> ::std::os::raw::c_int;
12589}
12590extern "C" {
12591    #[link_name = "\u{1}aws_lc_0_41_0_RSA_sign_pss_mgf1"]
12592    pub fn RSA_sign_pss_mgf1(
12593        rsa: *mut RSA,
12594        out_len: *mut usize,
12595        out: *mut u8,
12596        max_out: usize,
12597        digest: *const u8,
12598        digest_len: usize,
12599        md: *const EVP_MD,
12600        mgf1_md: *const EVP_MD,
12601        salt_len: ::std::os::raw::c_int,
12602    ) -> ::std::os::raw::c_int;
12603}
12604extern "C" {
12605    #[link_name = "\u{1}aws_lc_0_41_0_RSA_sign_raw"]
12606    pub fn RSA_sign_raw(
12607        rsa: *mut RSA,
12608        out_len: *mut usize,
12609        out: *mut u8,
12610        max_out: usize,
12611        in_: *const u8,
12612        in_len: usize,
12613        padding: ::std::os::raw::c_int,
12614    ) -> ::std::os::raw::c_int;
12615}
12616extern "C" {
12617    #[link_name = "\u{1}aws_lc_0_41_0_RSA_verify"]
12618    pub fn RSA_verify(
12619        hash_nid: ::std::os::raw::c_int,
12620        digest: *const u8,
12621        digest_len: usize,
12622        sig: *const u8,
12623        sig_len: usize,
12624        rsa: *mut RSA,
12625    ) -> ::std::os::raw::c_int;
12626}
12627extern "C" {
12628    #[link_name = "\u{1}aws_lc_0_41_0_RSA_verify_pss_mgf1"]
12629    pub fn RSA_verify_pss_mgf1(
12630        rsa: *mut RSA,
12631        digest: *const u8,
12632        digest_len: usize,
12633        md: *const EVP_MD,
12634        mgf1_md: *const EVP_MD,
12635        salt_len: ::std::os::raw::c_int,
12636        sig: *const u8,
12637        sig_len: usize,
12638    ) -> ::std::os::raw::c_int;
12639}
12640extern "C" {
12641    #[link_name = "\u{1}aws_lc_0_41_0_RSA_verify_raw"]
12642    pub fn RSA_verify_raw(
12643        rsa: *mut RSA,
12644        out_len: *mut usize,
12645        out: *mut u8,
12646        max_out: usize,
12647        in_: *const u8,
12648        in_len: usize,
12649        padding: ::std::os::raw::c_int,
12650    ) -> ::std::os::raw::c_int;
12651}
12652extern "C" {
12653    #[link_name = "\u{1}aws_lc_0_41_0_RSA_private_encrypt"]
12654    pub fn RSA_private_encrypt(
12655        flen: usize,
12656        from: *const u8,
12657        to: *mut u8,
12658        rsa: *mut RSA,
12659        padding: ::std::os::raw::c_int,
12660    ) -> ::std::os::raw::c_int;
12661}
12662extern "C" {
12663    #[link_name = "\u{1}aws_lc_0_41_0_RSA_public_decrypt"]
12664    pub fn RSA_public_decrypt(
12665        flen: usize,
12666        from: *const u8,
12667        to: *mut u8,
12668        rsa: *mut RSA,
12669        padding: ::std::os::raw::c_int,
12670    ) -> ::std::os::raw::c_int;
12671}
12672extern "C" {
12673    #[link_name = "\u{1}aws_lc_0_41_0_RSA_size"]
12674    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12675}
12676extern "C" {
12677    #[link_name = "\u{1}aws_lc_0_41_0_RSA_is_opaque"]
12678    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12679}
12680extern "C" {
12681    #[link_name = "\u{1}aws_lc_0_41_0_RSAPublicKey_dup"]
12682    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12683}
12684extern "C" {
12685    #[link_name = "\u{1}aws_lc_0_41_0_RSAPrivateKey_dup"]
12686    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12687}
12688extern "C" {
12689    #[link_name = "\u{1}aws_lc_0_41_0_RSA_check_key"]
12690    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12691}
12692extern "C" {
12693    #[link_name = "\u{1}aws_lc_0_41_0_RSA_check_fips"]
12694    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12695}
12696extern "C" {
12697    #[link_name = "\u{1}aws_lc_0_41_0_RSA_verify_PKCS1_PSS_mgf1"]
12698    pub fn RSA_verify_PKCS1_PSS_mgf1(
12699        rsa: *const RSA,
12700        mHash: *const u8,
12701        Hash: *const EVP_MD,
12702        mgf1Hash: *const EVP_MD,
12703        EM: *const u8,
12704        sLen: ::std::os::raw::c_int,
12705    ) -> ::std::os::raw::c_int;
12706}
12707extern "C" {
12708    #[link_name = "\u{1}aws_lc_0_41_0_RSA_padding_add_PKCS1_PSS_mgf1"]
12709    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12710        rsa: *const RSA,
12711        EM: *mut u8,
12712        mHash: *const u8,
12713        Hash: *const EVP_MD,
12714        mgf1Hash: *const EVP_MD,
12715        sLen: ::std::os::raw::c_int,
12716    ) -> ::std::os::raw::c_int;
12717}
12718extern "C" {
12719    #[link_name = "\u{1}aws_lc_0_41_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
12720    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12721        to: *mut u8,
12722        to_len: usize,
12723        from: *const u8,
12724        from_len: usize,
12725        param: *const u8,
12726        param_len: usize,
12727        md: *const EVP_MD,
12728        mgf1md: *const EVP_MD,
12729    ) -> ::std::os::raw::c_int;
12730}
12731extern "C" {
12732    #[link_name = "\u{1}aws_lc_0_41_0_PKCS1_MGF1"]
12733    pub fn PKCS1_MGF1(
12734        out: *mut u8,
12735        len: usize,
12736        seed: *const u8,
12737        seed_len: usize,
12738        md: *const EVP_MD,
12739    ) -> ::std::os::raw::c_int;
12740}
12741extern "C" {
12742    #[link_name = "\u{1}aws_lc_0_41_0_RSA_add_pkcs1_prefix"]
12743    pub fn RSA_add_pkcs1_prefix(
12744        out_msg: *mut *mut u8,
12745        out_msg_len: *mut usize,
12746        is_alloced: *mut ::std::os::raw::c_int,
12747        hash_nid: ::std::os::raw::c_int,
12748        digest: *const u8,
12749        digest_len: usize,
12750    ) -> ::std::os::raw::c_int;
12751}
12752extern "C" {
12753    #[link_name = "\u{1}aws_lc_0_41_0_RSA_parse_public_key"]
12754    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12755}
12756extern "C" {
12757    #[link_name = "\u{1}aws_lc_0_41_0_RSA_public_key_from_bytes"]
12758    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12759}
12760extern "C" {
12761    #[link_name = "\u{1}aws_lc_0_41_0_RSA_marshal_public_key"]
12762    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12763}
12764extern "C" {
12765    #[link_name = "\u{1}aws_lc_0_41_0_RSA_public_key_to_bytes"]
12766    pub fn RSA_public_key_to_bytes(
12767        out_bytes: *mut *mut u8,
12768        out_len: *mut usize,
12769        rsa: *const RSA,
12770    ) -> ::std::os::raw::c_int;
12771}
12772extern "C" {
12773    #[link_name = "\u{1}aws_lc_0_41_0_RSA_parse_private_key"]
12774    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12775}
12776extern "C" {
12777    #[link_name = "\u{1}aws_lc_0_41_0_RSA_private_key_from_bytes"]
12778    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12779}
12780extern "C" {
12781    #[link_name = "\u{1}aws_lc_0_41_0_RSA_marshal_private_key"]
12782    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12783}
12784extern "C" {
12785    #[link_name = "\u{1}aws_lc_0_41_0_RSA_private_key_to_bytes"]
12786    pub fn RSA_private_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_41_0_RSA_new_private_key_no_crt"]
12794    pub fn RSA_new_private_key_no_crt(
12795        n: *const BIGNUM,
12796        e: *const BIGNUM,
12797        d: *const BIGNUM,
12798    ) -> *mut RSA;
12799}
12800extern "C" {
12801    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new_private_key_no_e"]
12802    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
12803}
12804extern "C" {
12805    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new_public_key_large_e"]
12806    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12807}
12808extern "C" {
12809    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new_private_key_large_e"]
12810    pub fn RSA_new_private_key_large_e(
12811        n: *const BIGNUM,
12812        e: *const BIGNUM,
12813        d: *const BIGNUM,
12814        p: *const BIGNUM,
12815        q: *const BIGNUM,
12816        dmp1: *const BIGNUM,
12817        dmq1: *const BIGNUM,
12818        iqmp: *const BIGNUM,
12819    ) -> *mut RSA;
12820}
12821extern "C" {
12822    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get_ex_new_index"]
12823    pub fn RSA_get_ex_new_index(
12824        argl: ::std::os::raw::c_long,
12825        argp: *mut ::std::os::raw::c_void,
12826        unused: *mut CRYPTO_EX_unused,
12827        dup_unused: CRYPTO_EX_dup,
12828        free_func: CRYPTO_EX_free,
12829    ) -> ::std::os::raw::c_int;
12830}
12831extern "C" {
12832    #[link_name = "\u{1}aws_lc_0_41_0_RSA_set_ex_data"]
12833    pub fn RSA_set_ex_data(
12834        rsa: *mut RSA,
12835        idx: ::std::os::raw::c_int,
12836        arg: *mut ::std::os::raw::c_void,
12837    ) -> ::std::os::raw::c_int;
12838}
12839extern "C" {
12840    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get_ex_data"]
12841    pub fn RSA_get_ex_data(
12842        rsa: *const RSA,
12843        idx: ::std::os::raw::c_int,
12844    ) -> *mut ::std::os::raw::c_void;
12845}
12846extern "C" {
12847    #[link_name = "\u{1}aws_lc_0_41_0_RSA_flags"]
12848    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
12849}
12850extern "C" {
12851    #[link_name = "\u{1}aws_lc_0_41_0_RSA_set_flags"]
12852    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
12853}
12854extern "C" {
12855    #[link_name = "\u{1}aws_lc_0_41_0_RSA_test_flags"]
12856    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12857}
12858extern "C" {
12859    #[link_name = "\u{1}aws_lc_0_41_0_RSA_blinding_on"]
12860    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
12861}
12862extern "C" {
12863    #[link_name = "\u{1}aws_lc_0_41_0_RSA_blinding_off_temp_for_accp_compatibility"]
12864    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
12865}
12866extern "C" {
12867    #[link_name = "\u{1}aws_lc_0_41_0_RSA_pkey_ctx_ctrl"]
12868    pub fn RSA_pkey_ctx_ctrl(
12869        ctx: *mut EVP_PKEY_CTX,
12870        optype: ::std::os::raw::c_int,
12871        cmd: ::std::os::raw::c_int,
12872        p1: ::std::os::raw::c_int,
12873        p2: *mut ::std::os::raw::c_void,
12874    ) -> ::std::os::raw::c_int;
12875}
12876extern "C" {
12877    #[link_name = "\u{1}aws_lc_0_41_0_RSA_generate_key"]
12878    pub fn RSA_generate_key(
12879        bits: ::std::os::raw::c_int,
12880        e: u64,
12881        callback: *mut ::std::os::raw::c_void,
12882        cb_arg: *mut ::std::os::raw::c_void,
12883    ) -> *mut RSA;
12884}
12885extern "C" {
12886    #[link_name = "\u{1}aws_lc_0_41_0_d2i_RSAPublicKey"]
12887    pub fn d2i_RSAPublicKey(
12888        out: *mut *mut RSA,
12889        inp: *mut *const u8,
12890        len: ::std::os::raw::c_long,
12891    ) -> *mut RSA;
12892}
12893extern "C" {
12894    #[link_name = "\u{1}aws_lc_0_41_0_i2d_RSAPublicKey"]
12895    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12896}
12897extern "C" {
12898    #[link_name = "\u{1}aws_lc_0_41_0_d2i_RSAPrivateKey"]
12899    pub fn d2i_RSAPrivateKey(
12900        out: *mut *mut RSA,
12901        inp: *mut *const u8,
12902        len: ::std::os::raw::c_long,
12903    ) -> *mut RSA;
12904}
12905extern "C" {
12906    #[link_name = "\u{1}aws_lc_0_41_0_i2d_RSAPrivateKey"]
12907    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12908}
12909extern "C" {
12910    #[link_name = "\u{1}aws_lc_0_41_0_RSA_padding_add_PKCS1_PSS"]
12911    pub fn RSA_padding_add_PKCS1_PSS(
12912        rsa: *const RSA,
12913        EM: *mut u8,
12914        mHash: *const u8,
12915        Hash: *const EVP_MD,
12916        sLen: ::std::os::raw::c_int,
12917    ) -> ::std::os::raw::c_int;
12918}
12919extern "C" {
12920    #[link_name = "\u{1}aws_lc_0_41_0_RSA_verify_PKCS1_PSS"]
12921    pub fn RSA_verify_PKCS1_PSS(
12922        rsa: *const RSA,
12923        mHash: *const u8,
12924        Hash: *const EVP_MD,
12925        EM: *const u8,
12926        sLen: ::std::os::raw::c_int,
12927    ) -> ::std::os::raw::c_int;
12928}
12929extern "C" {
12930    #[link_name = "\u{1}aws_lc_0_41_0_RSA_padding_add_PKCS1_OAEP"]
12931    pub fn RSA_padding_add_PKCS1_OAEP(
12932        to: *mut u8,
12933        to_len: usize,
12934        from: *const u8,
12935        from_len: usize,
12936        param: *const u8,
12937        param_len: usize,
12938    ) -> ::std::os::raw::c_int;
12939}
12940extern "C" {
12941    #[link_name = "\u{1}aws_lc_0_41_0_RSA_print"]
12942    pub fn RSA_print(
12943        bio: *mut BIO,
12944        rsa: *const RSA,
12945        indent: ::std::os::raw::c_int,
12946    ) -> ::std::os::raw::c_int;
12947}
12948extern "C" {
12949    #[link_name = "\u{1}aws_lc_0_41_0_RSA_get0_pss_params"]
12950    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
12951}
12952extern "C" {
12953    #[link_name = "\u{1}aws_lc_0_41_0_RSA_new_method_no_e"]
12954    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
12955}
12956#[repr(C)]
12957#[derive(Debug, Copy, Clone)]
12958pub struct stack_st_GENERAL_NAME {
12959    _unused: [u8; 0],
12960}
12961pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
12962#[repr(C)]
12963#[derive(Debug, Copy, Clone)]
12964pub struct stack_st_X509_NAME_ENTRY {
12965    _unused: [u8; 0],
12966}
12967#[repr(C)]
12968#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12969pub struct otherName_st {
12970    pub type_id: *mut ASN1_OBJECT,
12971    pub value: *mut ASN1_TYPE,
12972}
12973#[test]
12974fn bindgen_test_layout_otherName_st() {
12975    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
12976    let ptr = UNINIT.as_ptr();
12977    assert_eq!(
12978        ::std::mem::size_of::<otherName_st>(),
12979        16usize,
12980        "Size of otherName_st"
12981    );
12982    assert_eq!(
12983        ::std::mem::align_of::<otherName_st>(),
12984        8usize,
12985        "Alignment of otherName_st"
12986    );
12987    assert_eq!(
12988        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
12989        0usize,
12990        "Offset of field: otherName_st::type_id"
12991    );
12992    assert_eq!(
12993        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
12994        8usize,
12995        "Offset of field: otherName_st::value"
12996    );
12997}
12998impl Default for otherName_st {
12999    fn default() -> Self {
13000        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13001        unsafe {
13002            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13003            s.assume_init()
13004        }
13005    }
13006}
13007pub type OTHERNAME = otherName_st;
13008#[repr(C)]
13009#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13010pub struct EDIPartyName_st {
13011    pub nameAssigner: *mut ASN1_STRING,
13012    pub partyName: *mut ASN1_STRING,
13013}
13014#[test]
13015fn bindgen_test_layout_EDIPartyName_st() {
13016    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
13017    let ptr = UNINIT.as_ptr();
13018    assert_eq!(
13019        ::std::mem::size_of::<EDIPartyName_st>(),
13020        16usize,
13021        "Size of EDIPartyName_st"
13022    );
13023    assert_eq!(
13024        ::std::mem::align_of::<EDIPartyName_st>(),
13025        8usize,
13026        "Alignment of EDIPartyName_st"
13027    );
13028    assert_eq!(
13029        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
13030        0usize,
13031        "Offset of field: EDIPartyName_st::nameAssigner"
13032    );
13033    assert_eq!(
13034        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
13035        8usize,
13036        "Offset of field: EDIPartyName_st::partyName"
13037    );
13038}
13039impl Default for EDIPartyName_st {
13040    fn default() -> Self {
13041        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13042        unsafe {
13043            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13044            s.assume_init()
13045        }
13046    }
13047}
13048pub type EDIPARTYNAME = EDIPartyName_st;
13049#[repr(C)]
13050#[derive(Copy, Clone)]
13051pub struct GENERAL_NAME_st {
13052    pub type_: ::std::os::raw::c_int,
13053    pub d: GENERAL_NAME_st__bindgen_ty_1,
13054}
13055#[repr(C)]
13056#[derive(Copy, Clone)]
13057pub union GENERAL_NAME_st__bindgen_ty_1 {
13058    pub ptr: *mut ::std::os::raw::c_char,
13059    pub otherName: *mut OTHERNAME,
13060    pub rfc822Name: *mut ASN1_IA5STRING,
13061    pub dNSName: *mut ASN1_IA5STRING,
13062    pub x400Address: *mut ASN1_STRING,
13063    pub directoryName: *mut X509_NAME,
13064    pub ediPartyName: *mut EDIPARTYNAME,
13065    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13066    pub iPAddress: *mut ASN1_OCTET_STRING,
13067    pub registeredID: *mut ASN1_OBJECT,
13068    pub ip: *mut ASN1_OCTET_STRING,
13069    pub dirn: *mut X509_NAME,
13070    pub ia5: *mut ASN1_IA5STRING,
13071    pub rid: *mut ASN1_OBJECT,
13072}
13073#[test]
13074fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13075    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13076        ::std::mem::MaybeUninit::uninit();
13077    let ptr = UNINIT.as_ptr();
13078    assert_eq!(
13079        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13080        8usize,
13081        "Size of GENERAL_NAME_st__bindgen_ty_1"
13082    );
13083    assert_eq!(
13084        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13085        8usize,
13086        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13087    );
13088    assert_eq!(
13089        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13090        0usize,
13091        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13092    );
13093    assert_eq!(
13094        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13095        0usize,
13096        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13097    );
13098    assert_eq!(
13099        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13100        0usize,
13101        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13102    );
13103    assert_eq!(
13104        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13105        0usize,
13106        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13107    );
13108    assert_eq!(
13109        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13110        0usize,
13111        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13112    );
13113    assert_eq!(
13114        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13115        0usize,
13116        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13117    );
13118    assert_eq!(
13119        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13120        0usize,
13121        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13122    );
13123    assert_eq!(
13124        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13125        0usize,
13126        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13127    );
13128    assert_eq!(
13129        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13130        0usize,
13131        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13132    );
13133    assert_eq!(
13134        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13135        0usize,
13136        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13137    );
13138    assert_eq!(
13139        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13140        0usize,
13141        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13142    );
13143    assert_eq!(
13144        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13145        0usize,
13146        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13147    );
13148    assert_eq!(
13149        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13150        0usize,
13151        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13152    );
13153    assert_eq!(
13154        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13155        0usize,
13156        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13157    );
13158}
13159impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13160    fn default() -> Self {
13161        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13162        unsafe {
13163            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13164            s.assume_init()
13165        }
13166    }
13167}
13168#[test]
13169fn bindgen_test_layout_GENERAL_NAME_st() {
13170    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13171    let ptr = UNINIT.as_ptr();
13172    assert_eq!(
13173        ::std::mem::size_of::<GENERAL_NAME_st>(),
13174        16usize,
13175        "Size of GENERAL_NAME_st"
13176    );
13177    assert_eq!(
13178        ::std::mem::align_of::<GENERAL_NAME_st>(),
13179        8usize,
13180        "Alignment of GENERAL_NAME_st"
13181    );
13182    assert_eq!(
13183        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13184        0usize,
13185        "Offset of field: GENERAL_NAME_st::type_"
13186    );
13187    assert_eq!(
13188        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13189        8usize,
13190        "Offset of field: GENERAL_NAME_st::d"
13191    );
13192}
13193impl Default for GENERAL_NAME_st {
13194    fn default() -> Self {
13195        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13196        unsafe {
13197            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13198            s.assume_init()
13199        }
13200    }
13201}
13202#[repr(C)]
13203#[derive(Debug, Copy, Clone)]
13204pub struct stack_st_X509_ALGOR {
13205    _unused: [u8; 0],
13206}
13207#[repr(C)]
13208#[derive(Debug, Copy, Clone)]
13209pub struct stack_st_X509_ATTRIBUTE {
13210    _unused: [u8; 0],
13211}
13212#[repr(C)]
13213#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13214pub struct Netscape_spki_st {
13215    pub spkac: *mut NETSCAPE_SPKAC,
13216    pub sig_algor: *mut X509_ALGOR,
13217    pub signature: *mut ASN1_BIT_STRING,
13218}
13219#[test]
13220fn bindgen_test_layout_Netscape_spki_st() {
13221    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13222    let ptr = UNINIT.as_ptr();
13223    assert_eq!(
13224        ::std::mem::size_of::<Netscape_spki_st>(),
13225        24usize,
13226        "Size of Netscape_spki_st"
13227    );
13228    assert_eq!(
13229        ::std::mem::align_of::<Netscape_spki_st>(),
13230        8usize,
13231        "Alignment of Netscape_spki_st"
13232    );
13233    assert_eq!(
13234        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13235        0usize,
13236        "Offset of field: Netscape_spki_st::spkac"
13237    );
13238    assert_eq!(
13239        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13240        8usize,
13241        "Offset of field: Netscape_spki_st::sig_algor"
13242    );
13243    assert_eq!(
13244        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13245        16usize,
13246        "Offset of field: Netscape_spki_st::signature"
13247    );
13248}
13249impl Default for Netscape_spki_st {
13250    fn default() -> Self {
13251        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13252        unsafe {
13253            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13254            s.assume_init()
13255        }
13256    }
13257}
13258#[repr(C)]
13259#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13260pub struct Netscape_spkac_st {
13261    pub pubkey: *mut X509_PUBKEY,
13262    pub challenge: *mut ASN1_IA5STRING,
13263}
13264#[test]
13265fn bindgen_test_layout_Netscape_spkac_st() {
13266    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13267    let ptr = UNINIT.as_ptr();
13268    assert_eq!(
13269        ::std::mem::size_of::<Netscape_spkac_st>(),
13270        16usize,
13271        "Size of Netscape_spkac_st"
13272    );
13273    assert_eq!(
13274        ::std::mem::align_of::<Netscape_spkac_st>(),
13275        8usize,
13276        "Alignment of Netscape_spkac_st"
13277    );
13278    assert_eq!(
13279        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13280        0usize,
13281        "Offset of field: Netscape_spkac_st::pubkey"
13282    );
13283    assert_eq!(
13284        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13285        8usize,
13286        "Offset of field: Netscape_spkac_st::challenge"
13287    );
13288}
13289impl Default for Netscape_spkac_st {
13290    fn default() -> Self {
13291        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13292        unsafe {
13293            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13294            s.assume_init()
13295        }
13296    }
13297}
13298#[repr(C)]
13299#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13300pub struct rsa_pss_params_st {
13301    pub hashAlgorithm: *mut X509_ALGOR,
13302    pub maskGenAlgorithm: *mut X509_ALGOR,
13303    pub saltLength: *mut ASN1_INTEGER,
13304    pub trailerField: *mut ASN1_INTEGER,
13305    pub maskHash: *mut X509_ALGOR,
13306}
13307#[test]
13308fn bindgen_test_layout_rsa_pss_params_st() {
13309    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13310    let ptr = UNINIT.as_ptr();
13311    assert_eq!(
13312        ::std::mem::size_of::<rsa_pss_params_st>(),
13313        40usize,
13314        "Size of rsa_pss_params_st"
13315    );
13316    assert_eq!(
13317        ::std::mem::align_of::<rsa_pss_params_st>(),
13318        8usize,
13319        "Alignment of rsa_pss_params_st"
13320    );
13321    assert_eq!(
13322        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13323        0usize,
13324        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13325    );
13326    assert_eq!(
13327        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13328        8usize,
13329        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13330    );
13331    assert_eq!(
13332        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13333        16usize,
13334        "Offset of field: rsa_pss_params_st::saltLength"
13335    );
13336    assert_eq!(
13337        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13338        24usize,
13339        "Offset of field: rsa_pss_params_st::trailerField"
13340    );
13341    assert_eq!(
13342        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13343        32usize,
13344        "Offset of field: rsa_pss_params_st::maskHash"
13345    );
13346}
13347impl Default for rsa_pss_params_st {
13348    fn default() -> Self {
13349        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13350        unsafe {
13351            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13352            s.assume_init()
13353        }
13354    }
13355}
13356#[repr(C)]
13357#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13358pub struct private_key_st {
13359    pub dec_pkey: *mut EVP_PKEY,
13360}
13361#[test]
13362fn bindgen_test_layout_private_key_st() {
13363    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13364    let ptr = UNINIT.as_ptr();
13365    assert_eq!(
13366        ::std::mem::size_of::<private_key_st>(),
13367        8usize,
13368        "Size of private_key_st"
13369    );
13370    assert_eq!(
13371        ::std::mem::align_of::<private_key_st>(),
13372        8usize,
13373        "Alignment of private_key_st"
13374    );
13375    assert_eq!(
13376        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13377        0usize,
13378        "Offset of field: private_key_st::dec_pkey"
13379    );
13380}
13381impl Default for private_key_st {
13382    fn default() -> Self {
13383        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13384        unsafe {
13385            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13386            s.assume_init()
13387        }
13388    }
13389}
13390#[repr(C)]
13391#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13392pub struct X509_info_st {
13393    pub x509: *mut X509,
13394    pub crl: *mut X509_CRL,
13395    pub x_pkey: *mut X509_PKEY,
13396    pub enc_cipher: EVP_CIPHER_INFO,
13397    pub enc_len: ::std::os::raw::c_int,
13398    pub enc_data: *mut ::std::os::raw::c_char,
13399}
13400#[test]
13401fn bindgen_test_layout_X509_info_st() {
13402    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13403    let ptr = UNINIT.as_ptr();
13404    assert_eq!(
13405        ::std::mem::size_of::<X509_info_st>(),
13406        64usize,
13407        "Size of X509_info_st"
13408    );
13409    assert_eq!(
13410        ::std::mem::align_of::<X509_info_st>(),
13411        8usize,
13412        "Alignment of X509_info_st"
13413    );
13414    assert_eq!(
13415        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13416        0usize,
13417        "Offset of field: X509_info_st::x509"
13418    );
13419    assert_eq!(
13420        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13421        8usize,
13422        "Offset of field: X509_info_st::crl"
13423    );
13424    assert_eq!(
13425        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13426        16usize,
13427        "Offset of field: X509_info_st::x_pkey"
13428    );
13429    assert_eq!(
13430        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13431        24usize,
13432        "Offset of field: X509_info_st::enc_cipher"
13433    );
13434    assert_eq!(
13435        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13436        48usize,
13437        "Offset of field: X509_info_st::enc_len"
13438    );
13439    assert_eq!(
13440        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13441        56usize,
13442        "Offset of field: X509_info_st::enc_data"
13443    );
13444}
13445impl Default for X509_info_st {
13446    fn default() -> Self {
13447        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13448        unsafe {
13449            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13450            s.assume_init()
13451        }
13452    }
13453}
13454pub type X509V3_EXT_NEW =
13455    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13456pub type X509V3_EXT_FREE =
13457    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13458pub type X509V3_EXT_D2I = ::std::option::Option<
13459    unsafe extern "C" fn(
13460        ext: *mut ::std::os::raw::c_void,
13461        inp: *mut *const u8,
13462        len: ::std::os::raw::c_long,
13463    ) -> *mut ::std::os::raw::c_void,
13464>;
13465pub type X509V3_EXT_I2D = ::std::option::Option<
13466    unsafe extern "C" fn(
13467        ext: *mut ::std::os::raw::c_void,
13468        outp: *mut *mut u8,
13469    ) -> ::std::os::raw::c_int,
13470>;
13471pub type X509V3_EXT_I2V = ::std::option::Option<
13472    unsafe extern "C" fn(
13473        method: *const X509V3_EXT_METHOD,
13474        ext: *mut ::std::os::raw::c_void,
13475        extlist: *mut stack_st_CONF_VALUE,
13476    ) -> *mut stack_st_CONF_VALUE,
13477>;
13478pub type X509V3_EXT_V2I = ::std::option::Option<
13479    unsafe extern "C" fn(
13480        method: *const X509V3_EXT_METHOD,
13481        ctx: *const X509V3_CTX,
13482        values: *const stack_st_CONF_VALUE,
13483    ) -> *mut ::std::os::raw::c_void,
13484>;
13485pub type X509V3_EXT_I2S = ::std::option::Option<
13486    unsafe extern "C" fn(
13487        method: *const X509V3_EXT_METHOD,
13488        ext: *mut ::std::os::raw::c_void,
13489    ) -> *mut ::std::os::raw::c_char,
13490>;
13491pub type X509V3_EXT_S2I = ::std::option::Option<
13492    unsafe extern "C" fn(
13493        method: *const X509V3_EXT_METHOD,
13494        ctx: *const X509V3_CTX,
13495        str_: *const ::std::os::raw::c_char,
13496    ) -> *mut ::std::os::raw::c_void,
13497>;
13498pub type X509V3_EXT_I2R = ::std::option::Option<
13499    unsafe extern "C" fn(
13500        method: *const X509V3_EXT_METHOD,
13501        ext: *mut ::std::os::raw::c_void,
13502        out: *mut BIO,
13503        indent: ::std::os::raw::c_int,
13504    ) -> ::std::os::raw::c_int,
13505>;
13506pub type X509V3_EXT_R2I = ::std::option::Option<
13507    unsafe extern "C" fn(
13508        method: *const X509V3_EXT_METHOD,
13509        ctx: *const X509V3_CTX,
13510        str_: *const ::std::os::raw::c_char,
13511    ) -> *mut ::std::os::raw::c_void,
13512>;
13513#[repr(C)]
13514#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13515pub struct v3_ext_method {
13516    pub ext_nid: ::std::os::raw::c_int,
13517    pub ext_flags: ::std::os::raw::c_int,
13518    pub it: *const ASN1_ITEM_st,
13519    pub ext_new: X509V3_EXT_NEW,
13520    pub ext_free: X509V3_EXT_FREE,
13521    pub d2i: X509V3_EXT_D2I,
13522    pub i2d: X509V3_EXT_I2D,
13523    pub i2s: X509V3_EXT_I2S,
13524    pub s2i: X509V3_EXT_S2I,
13525    pub i2v: X509V3_EXT_I2V,
13526    pub v2i: X509V3_EXT_V2I,
13527    pub i2r: X509V3_EXT_I2R,
13528    pub r2i: X509V3_EXT_R2I,
13529    pub usr_data: *mut ::std::os::raw::c_void,
13530}
13531#[test]
13532fn bindgen_test_layout_v3_ext_method() {
13533    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13534    let ptr = UNINIT.as_ptr();
13535    assert_eq!(
13536        ::std::mem::size_of::<v3_ext_method>(),
13537        104usize,
13538        "Size of v3_ext_method"
13539    );
13540    assert_eq!(
13541        ::std::mem::align_of::<v3_ext_method>(),
13542        8usize,
13543        "Alignment of v3_ext_method"
13544    );
13545    assert_eq!(
13546        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13547        0usize,
13548        "Offset of field: v3_ext_method::ext_nid"
13549    );
13550    assert_eq!(
13551        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13552        4usize,
13553        "Offset of field: v3_ext_method::ext_flags"
13554    );
13555    assert_eq!(
13556        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13557        8usize,
13558        "Offset of field: v3_ext_method::it"
13559    );
13560    assert_eq!(
13561        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13562        16usize,
13563        "Offset of field: v3_ext_method::ext_new"
13564    );
13565    assert_eq!(
13566        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13567        24usize,
13568        "Offset of field: v3_ext_method::ext_free"
13569    );
13570    assert_eq!(
13571        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13572        32usize,
13573        "Offset of field: v3_ext_method::d2i"
13574    );
13575    assert_eq!(
13576        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13577        40usize,
13578        "Offset of field: v3_ext_method::i2d"
13579    );
13580    assert_eq!(
13581        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13582        48usize,
13583        "Offset of field: v3_ext_method::i2s"
13584    );
13585    assert_eq!(
13586        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13587        56usize,
13588        "Offset of field: v3_ext_method::s2i"
13589    );
13590    assert_eq!(
13591        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13592        64usize,
13593        "Offset of field: v3_ext_method::i2v"
13594    );
13595    assert_eq!(
13596        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13597        72usize,
13598        "Offset of field: v3_ext_method::v2i"
13599    );
13600    assert_eq!(
13601        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13602        80usize,
13603        "Offset of field: v3_ext_method::i2r"
13604    );
13605    assert_eq!(
13606        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13607        88usize,
13608        "Offset of field: v3_ext_method::r2i"
13609    );
13610    assert_eq!(
13611        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13612        96usize,
13613        "Offset of field: v3_ext_method::usr_data"
13614    );
13615}
13616impl Default for v3_ext_method {
13617    fn default() -> Self {
13618        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13619        unsafe {
13620            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13621            s.assume_init()
13622        }
13623    }
13624}
13625#[repr(C)]
13626#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13627pub struct v3_ext_ctx {
13628    pub flags: ::std::os::raw::c_int,
13629    pub issuer_cert: *const X509,
13630    pub subject_cert: *const X509,
13631    pub subject_req: *const X509_REQ,
13632    pub crl: *const X509_CRL,
13633    pub db: *const CONF,
13634}
13635#[test]
13636fn bindgen_test_layout_v3_ext_ctx() {
13637    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13638    let ptr = UNINIT.as_ptr();
13639    assert_eq!(
13640        ::std::mem::size_of::<v3_ext_ctx>(),
13641        48usize,
13642        "Size of v3_ext_ctx"
13643    );
13644    assert_eq!(
13645        ::std::mem::align_of::<v3_ext_ctx>(),
13646        8usize,
13647        "Alignment of v3_ext_ctx"
13648    );
13649    assert_eq!(
13650        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13651        0usize,
13652        "Offset of field: v3_ext_ctx::flags"
13653    );
13654    assert_eq!(
13655        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13656        8usize,
13657        "Offset of field: v3_ext_ctx::issuer_cert"
13658    );
13659    assert_eq!(
13660        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13661        16usize,
13662        "Offset of field: v3_ext_ctx::subject_cert"
13663    );
13664    assert_eq!(
13665        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13666        24usize,
13667        "Offset of field: v3_ext_ctx::subject_req"
13668    );
13669    assert_eq!(
13670        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13671        32usize,
13672        "Offset of field: v3_ext_ctx::crl"
13673    );
13674    assert_eq!(
13675        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13676        40usize,
13677        "Offset of field: v3_ext_ctx::db"
13678    );
13679}
13680impl Default for v3_ext_ctx {
13681    fn default() -> Self {
13682        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13683        unsafe {
13684            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13685            s.assume_init()
13686        }
13687    }
13688}
13689#[repr(C)]
13690#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13691pub struct X509_algor_st {
13692    pub algorithm: *mut ASN1_OBJECT,
13693    pub parameter: *mut ASN1_TYPE,
13694}
13695#[test]
13696fn bindgen_test_layout_X509_algor_st() {
13697    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13698    let ptr = UNINIT.as_ptr();
13699    assert_eq!(
13700        ::std::mem::size_of::<X509_algor_st>(),
13701        16usize,
13702        "Size of X509_algor_st"
13703    );
13704    assert_eq!(
13705        ::std::mem::align_of::<X509_algor_st>(),
13706        8usize,
13707        "Alignment of X509_algor_st"
13708    );
13709    assert_eq!(
13710        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13711        0usize,
13712        "Offset of field: X509_algor_st::algorithm"
13713    );
13714    assert_eq!(
13715        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13716        8usize,
13717        "Offset of field: X509_algor_st::parameter"
13718    );
13719}
13720impl Default for X509_algor_st {
13721    fn default() -> Self {
13722        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13723        unsafe {
13724            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13725            s.assume_init()
13726        }
13727    }
13728}
13729#[repr(C)]
13730#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13731pub struct x509_trust_st {
13732    pub trust: ::std::os::raw::c_int,
13733    pub flags: ::std::os::raw::c_int,
13734    pub check_trust: ::std::option::Option<
13735        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13736    >,
13737    pub name: *mut ::std::os::raw::c_char,
13738    pub arg1: ::std::os::raw::c_int,
13739    pub arg2: *mut ::std::os::raw::c_void,
13740}
13741#[test]
13742fn bindgen_test_layout_x509_trust_st() {
13743    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13744    let ptr = UNINIT.as_ptr();
13745    assert_eq!(
13746        ::std::mem::size_of::<x509_trust_st>(),
13747        40usize,
13748        "Size of x509_trust_st"
13749    );
13750    assert_eq!(
13751        ::std::mem::align_of::<x509_trust_st>(),
13752        8usize,
13753        "Alignment of x509_trust_st"
13754    );
13755    assert_eq!(
13756        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13757        0usize,
13758        "Offset of field: x509_trust_st::trust"
13759    );
13760    assert_eq!(
13761        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13762        4usize,
13763        "Offset of field: x509_trust_st::flags"
13764    );
13765    assert_eq!(
13766        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13767        8usize,
13768        "Offset of field: x509_trust_st::check_trust"
13769    );
13770    assert_eq!(
13771        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13772        16usize,
13773        "Offset of field: x509_trust_st::name"
13774    );
13775    assert_eq!(
13776        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13777        24usize,
13778        "Offset of field: x509_trust_st::arg1"
13779    );
13780    assert_eq!(
13781        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13782        32usize,
13783        "Offset of field: x509_trust_st::arg2"
13784    );
13785}
13786impl Default for x509_trust_st {
13787    fn default() -> Self {
13788        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13789        unsafe {
13790            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13791            s.assume_init()
13792        }
13793    }
13794}
13795#[repr(C)]
13796#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13797pub struct BASIC_CONSTRAINTS_st {
13798    pub ca: ASN1_BOOLEAN,
13799    pub pathlen: *mut ASN1_INTEGER,
13800}
13801#[test]
13802fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
13803    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13804    let ptr = UNINIT.as_ptr();
13805    assert_eq!(
13806        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
13807        16usize,
13808        "Size of BASIC_CONSTRAINTS_st"
13809    );
13810    assert_eq!(
13811        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
13812        8usize,
13813        "Alignment of BASIC_CONSTRAINTS_st"
13814    );
13815    assert_eq!(
13816        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
13817        0usize,
13818        "Offset of field: BASIC_CONSTRAINTS_st::ca"
13819    );
13820    assert_eq!(
13821        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
13822        8usize,
13823        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
13824    );
13825}
13826impl Default for BASIC_CONSTRAINTS_st {
13827    fn default() -> Self {
13828        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13829        unsafe {
13830            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13831            s.assume_init()
13832        }
13833    }
13834}
13835#[repr(C)]
13836#[derive(Copy, Clone)]
13837pub struct DIST_POINT_NAME_st {
13838    pub type_: ::std::os::raw::c_int,
13839    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
13840    pub dpname: *mut X509_NAME,
13841}
13842#[repr(C)]
13843#[derive(Copy, Clone)]
13844pub union DIST_POINT_NAME_st__bindgen_ty_1 {
13845    pub fullname: *mut GENERAL_NAMES,
13846    pub relativename: *mut stack_st_X509_NAME_ENTRY,
13847}
13848#[test]
13849fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
13850    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
13851        ::std::mem::MaybeUninit::uninit();
13852    let ptr = UNINIT.as_ptr();
13853    assert_eq!(
13854        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13855        8usize,
13856        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
13857    );
13858    assert_eq!(
13859        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13860        8usize,
13861        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
13862    );
13863    assert_eq!(
13864        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
13865        0usize,
13866        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
13867    );
13868    assert_eq!(
13869        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
13870        0usize,
13871        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
13872    );
13873}
13874impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
13875    fn default() -> Self {
13876        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13877        unsafe {
13878            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13879            s.assume_init()
13880        }
13881    }
13882}
13883#[test]
13884fn bindgen_test_layout_DIST_POINT_NAME_st() {
13885    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
13886    let ptr = UNINIT.as_ptr();
13887    assert_eq!(
13888        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
13889        24usize,
13890        "Size of DIST_POINT_NAME_st"
13891    );
13892    assert_eq!(
13893        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
13894        8usize,
13895        "Alignment of DIST_POINT_NAME_st"
13896    );
13897    assert_eq!(
13898        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13899        0usize,
13900        "Offset of field: DIST_POINT_NAME_st::type_"
13901    );
13902    assert_eq!(
13903        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13904        8usize,
13905        "Offset of field: DIST_POINT_NAME_st::name"
13906    );
13907    assert_eq!(
13908        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
13909        16usize,
13910        "Offset of field: DIST_POINT_NAME_st::dpname"
13911    );
13912}
13913impl Default for DIST_POINT_NAME_st {
13914    fn default() -> Self {
13915        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13916        unsafe {
13917            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13918            s.assume_init()
13919        }
13920    }
13921}
13922pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
13923#[repr(C)]
13924#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13925pub struct DIST_POINT_st {
13926    pub distpoint: *mut DIST_POINT_NAME,
13927    pub reasons: *mut ASN1_BIT_STRING,
13928    pub CRLissuer: *mut GENERAL_NAMES,
13929}
13930#[test]
13931fn bindgen_test_layout_DIST_POINT_st() {
13932    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
13933    let ptr = UNINIT.as_ptr();
13934    assert_eq!(
13935        ::std::mem::size_of::<DIST_POINT_st>(),
13936        24usize,
13937        "Size of DIST_POINT_st"
13938    );
13939    assert_eq!(
13940        ::std::mem::align_of::<DIST_POINT_st>(),
13941        8usize,
13942        "Alignment of DIST_POINT_st"
13943    );
13944    assert_eq!(
13945        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
13946        0usize,
13947        "Offset of field: DIST_POINT_st::distpoint"
13948    );
13949    assert_eq!(
13950        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
13951        8usize,
13952        "Offset of field: DIST_POINT_st::reasons"
13953    );
13954    assert_eq!(
13955        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
13956        16usize,
13957        "Offset of field: DIST_POINT_st::CRLissuer"
13958    );
13959}
13960impl Default for DIST_POINT_st {
13961    fn default() -> Self {
13962        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13963        unsafe {
13964            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13965            s.assume_init()
13966        }
13967    }
13968}
13969#[repr(C)]
13970#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13971pub struct AUTHORITY_KEYID_st {
13972    pub keyid: *mut ASN1_OCTET_STRING,
13973    pub issuer: *mut GENERAL_NAMES,
13974    pub serial: *mut ASN1_INTEGER,
13975}
13976#[test]
13977fn bindgen_test_layout_AUTHORITY_KEYID_st() {
13978    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
13979    let ptr = UNINIT.as_ptr();
13980    assert_eq!(
13981        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
13982        24usize,
13983        "Size of AUTHORITY_KEYID_st"
13984    );
13985    assert_eq!(
13986        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
13987        8usize,
13988        "Alignment of AUTHORITY_KEYID_st"
13989    );
13990    assert_eq!(
13991        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
13992        0usize,
13993        "Offset of field: AUTHORITY_KEYID_st::keyid"
13994    );
13995    assert_eq!(
13996        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
13997        8usize,
13998        "Offset of field: AUTHORITY_KEYID_st::issuer"
13999    );
14000    assert_eq!(
14001        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14002        16usize,
14003        "Offset of field: AUTHORITY_KEYID_st::serial"
14004    );
14005}
14006impl Default for AUTHORITY_KEYID_st {
14007    fn default() -> Self {
14008        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14009        unsafe {
14010            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14011            s.assume_init()
14012        }
14013    }
14014}
14015#[repr(C)]
14016#[derive(Debug, Copy, Clone)]
14017pub struct stack_st_GENERAL_SUBTREE {
14018    _unused: [u8; 0],
14019}
14020#[repr(C)]
14021#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14022pub struct NAME_CONSTRAINTS_st {
14023    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14024    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14025}
14026#[test]
14027fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
14028    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14029    let ptr = UNINIT.as_ptr();
14030    assert_eq!(
14031        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
14032        16usize,
14033        "Size of NAME_CONSTRAINTS_st"
14034    );
14035    assert_eq!(
14036        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
14037        8usize,
14038        "Alignment of NAME_CONSTRAINTS_st"
14039    );
14040    assert_eq!(
14041        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
14042        0usize,
14043        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
14044    );
14045    assert_eq!(
14046        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
14047        8usize,
14048        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
14049    );
14050}
14051impl Default for NAME_CONSTRAINTS_st {
14052    fn default() -> Self {
14053        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14054        unsafe {
14055            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14056            s.assume_init()
14057        }
14058    }
14059}
14060#[repr(C)]
14061#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14062pub struct ISSUING_DIST_POINT_st {
14063    pub distpoint: *mut DIST_POINT_NAME,
14064    pub onlyuser: ASN1_BOOLEAN,
14065    pub onlyCA: ASN1_BOOLEAN,
14066    pub onlysomereasons: *mut ASN1_BIT_STRING,
14067    pub indirectCRL: ASN1_BOOLEAN,
14068    pub onlyattr: ASN1_BOOLEAN,
14069}
14070#[test]
14071fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14072    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14073        ::std::mem::MaybeUninit::uninit();
14074    let ptr = UNINIT.as_ptr();
14075    assert_eq!(
14076        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14077        32usize,
14078        "Size of ISSUING_DIST_POINT_st"
14079    );
14080    assert_eq!(
14081        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14082        8usize,
14083        "Alignment of ISSUING_DIST_POINT_st"
14084    );
14085    assert_eq!(
14086        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14087        0usize,
14088        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14089    );
14090    assert_eq!(
14091        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14092        8usize,
14093        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14094    );
14095    assert_eq!(
14096        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14097        12usize,
14098        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14099    );
14100    assert_eq!(
14101        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14102        16usize,
14103        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14104    );
14105    assert_eq!(
14106        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14107        24usize,
14108        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14109    );
14110    assert_eq!(
14111        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14112        28usize,
14113        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14114    );
14115}
14116impl Default for ISSUING_DIST_POINT_st {
14117    fn default() -> Self {
14118        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14119        unsafe {
14120            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14121            s.assume_init()
14122        }
14123    }
14124}
14125pub type poly1305_state = [u8; 512usize];
14126extern "C" {
14127    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_poly1305_init"]
14128    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14129}
14130extern "C" {
14131    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_poly1305_update"]
14132    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14133}
14134extern "C" {
14135    #[link_name = "\u{1}aws_lc_0_41_0_CRYPTO_poly1305_finish"]
14136    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14137}
14138extern "C" {
14139    #[link_name = "\u{1}aws_lc_0_41_0_RAND_bytes"]
14140    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14141}
14142extern "C" {
14143    #[link_name = "\u{1}aws_lc_0_41_0_RAND_priv_bytes"]
14144    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14145}
14146extern "C" {
14147    #[link_name = "\u{1}aws_lc_0_41_0_RAND_public_bytes"]
14148    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
14149}
14150extern "C" {
14151    #[link_name = "\u{1}aws_lc_0_41_0_RAND_bytes_with_user_prediction_resistance"]
14152    pub fn RAND_bytes_with_user_prediction_resistance(
14153        out: *mut u8,
14154        out_len: usize,
14155        user_pred_resistance: *const u8,
14156    ) -> ::std::os::raw::c_int;
14157}
14158extern "C" {
14159    #[link_name = "\u{1}aws_lc_0_41_0_RAND_pseudo_bytes"]
14160    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14161}
14162extern "C" {
14163    #[link_name = "\u{1}aws_lc_0_41_0_RAND_seed"]
14164    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14165}
14166extern "C" {
14167    #[link_name = "\u{1}aws_lc_0_41_0_RAND_load_file"]
14168    pub fn RAND_load_file(
14169        path: *const ::std::os::raw::c_char,
14170        num: ::std::os::raw::c_long,
14171    ) -> ::std::os::raw::c_int;
14172}
14173extern "C" {
14174    #[link_name = "\u{1}aws_lc_0_41_0_RAND_write_file"]
14175    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14176}
14177extern "C" {
14178    #[link_name = "\u{1}aws_lc_0_41_0_RAND_file_name"]
14179    pub fn RAND_file_name(
14180        buf: *mut ::std::os::raw::c_char,
14181        num: usize,
14182    ) -> *const ::std::os::raw::c_char;
14183}
14184extern "C" {
14185    #[link_name = "\u{1}aws_lc_0_41_0_RAND_add"]
14186    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14187}
14188extern "C" {
14189    #[link_name = "\u{1}aws_lc_0_41_0_RAND_egd"]
14190    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14191}
14192extern "C" {
14193    #[link_name = "\u{1}aws_lc_0_41_0_RAND_egd_bytes"]
14194    pub fn RAND_egd_bytes(
14195        arg1: *const ::std::os::raw::c_char,
14196        bytes: ::std::os::raw::c_int,
14197    ) -> ::std::os::raw::c_int;
14198}
14199extern "C" {
14200    #[link_name = "\u{1}aws_lc_0_41_0_RAND_poll"]
14201    pub fn RAND_poll() -> ::std::os::raw::c_int;
14202}
14203extern "C" {
14204    #[link_name = "\u{1}aws_lc_0_41_0_RAND_status"]
14205    pub fn RAND_status() -> ::std::os::raw::c_int;
14206}
14207extern "C" {
14208    #[link_name = "\u{1}aws_lc_0_41_0_RAND_cleanup"]
14209    pub fn RAND_cleanup();
14210}
14211#[repr(C)]
14212#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14213pub struct rand_meth_st {
14214    pub seed: ::std::option::Option<
14215        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14216    >,
14217    pub bytes: ::std::option::Option<
14218        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14219    >,
14220    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14221    pub add: ::std::option::Option<
14222        unsafe extern "C" fn(
14223            buf: *const ::std::os::raw::c_void,
14224            num: ::std::os::raw::c_int,
14225            entropy: f64,
14226        ),
14227    >,
14228    pub pseudorand: ::std::option::Option<
14229        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14230    >,
14231    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14232}
14233#[test]
14234fn bindgen_test_layout_rand_meth_st() {
14235    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14236    let ptr = UNINIT.as_ptr();
14237    assert_eq!(
14238        ::std::mem::size_of::<rand_meth_st>(),
14239        48usize,
14240        "Size of rand_meth_st"
14241    );
14242    assert_eq!(
14243        ::std::mem::align_of::<rand_meth_st>(),
14244        8usize,
14245        "Alignment of rand_meth_st"
14246    );
14247    assert_eq!(
14248        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14249        0usize,
14250        "Offset of field: rand_meth_st::seed"
14251    );
14252    assert_eq!(
14253        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14254        8usize,
14255        "Offset of field: rand_meth_st::bytes"
14256    );
14257    assert_eq!(
14258        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14259        16usize,
14260        "Offset of field: rand_meth_st::cleanup"
14261    );
14262    assert_eq!(
14263        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14264        24usize,
14265        "Offset of field: rand_meth_st::add"
14266    );
14267    assert_eq!(
14268        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14269        32usize,
14270        "Offset of field: rand_meth_st::pseudorand"
14271    );
14272    assert_eq!(
14273        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14274        40usize,
14275        "Offset of field: rand_meth_st::status"
14276    );
14277}
14278extern "C" {
14279    #[link_name = "\u{1}aws_lc_0_41_0_RAND_SSLeay"]
14280    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14281}
14282extern "C" {
14283    #[link_name = "\u{1}aws_lc_0_41_0_RAND_OpenSSL"]
14284    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14285}
14286extern "C" {
14287    #[link_name = "\u{1}aws_lc_0_41_0_RAND_get_rand_method"]
14288    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14289}
14290extern "C" {
14291    #[link_name = "\u{1}aws_lc_0_41_0_RAND_set_rand_method"]
14292    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14293}
14294extern "C" {
14295    #[link_name = "\u{1}aws_lc_0_41_0_RAND_keep_random_devices_open"]
14296    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14297}
14298#[repr(C)]
14299#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14300pub struct rc4_key_st {
14301    pub x: u32,
14302    pub y: u32,
14303    pub data: [u32; 256usize],
14304}
14305#[test]
14306fn bindgen_test_layout_rc4_key_st() {
14307    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14308    let ptr = UNINIT.as_ptr();
14309    assert_eq!(
14310        ::std::mem::size_of::<rc4_key_st>(),
14311        1032usize,
14312        "Size of rc4_key_st"
14313    );
14314    assert_eq!(
14315        ::std::mem::align_of::<rc4_key_st>(),
14316        4usize,
14317        "Alignment of rc4_key_st"
14318    );
14319    assert_eq!(
14320        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14321        0usize,
14322        "Offset of field: rc4_key_st::x"
14323    );
14324    assert_eq!(
14325        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14326        4usize,
14327        "Offset of field: rc4_key_st::y"
14328    );
14329    assert_eq!(
14330        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14331        8usize,
14332        "Offset of field: rc4_key_st::data"
14333    );
14334}
14335impl Default for rc4_key_st {
14336    fn default() -> Self {
14337        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14338        unsafe {
14339            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14340            s.assume_init()
14341        }
14342    }
14343}
14344#[repr(C)]
14345#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14346pub struct RIPEMD160state_st {
14347    pub h: [u32; 5usize],
14348    pub Nl: u32,
14349    pub Nh: u32,
14350    pub data: [u8; 64usize],
14351    pub num: ::std::os::raw::c_uint,
14352}
14353#[test]
14354fn bindgen_test_layout_RIPEMD160state_st() {
14355    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14356    let ptr = UNINIT.as_ptr();
14357    assert_eq!(
14358        ::std::mem::size_of::<RIPEMD160state_st>(),
14359        96usize,
14360        "Size of RIPEMD160state_st"
14361    );
14362    assert_eq!(
14363        ::std::mem::align_of::<RIPEMD160state_st>(),
14364        4usize,
14365        "Alignment of RIPEMD160state_st"
14366    );
14367    assert_eq!(
14368        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14369        0usize,
14370        "Offset of field: RIPEMD160state_st::h"
14371    );
14372    assert_eq!(
14373        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14374        20usize,
14375        "Offset of field: RIPEMD160state_st::Nl"
14376    );
14377    assert_eq!(
14378        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14379        24usize,
14380        "Offset of field: RIPEMD160state_st::Nh"
14381    );
14382    assert_eq!(
14383        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14384        28usize,
14385        "Offset of field: RIPEMD160state_st::data"
14386    );
14387    assert_eq!(
14388        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14389        92usize,
14390        "Offset of field: RIPEMD160state_st::num"
14391    );
14392}
14393impl Default for RIPEMD160state_st {
14394    fn default() -> Self {
14395        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14396        unsafe {
14397            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14398            s.assume_init()
14399        }
14400    }
14401}
14402#[repr(C)]
14403#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14404pub struct trust_token_st {
14405    pub data: *mut u8,
14406    pub len: usize,
14407}
14408#[test]
14409fn bindgen_test_layout_trust_token_st() {
14410    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14411    let ptr = UNINIT.as_ptr();
14412    assert_eq!(
14413        ::std::mem::size_of::<trust_token_st>(),
14414        16usize,
14415        "Size of trust_token_st"
14416    );
14417    assert_eq!(
14418        ::std::mem::align_of::<trust_token_st>(),
14419        8usize,
14420        "Alignment of trust_token_st"
14421    );
14422    assert_eq!(
14423        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14424        0usize,
14425        "Offset of field: trust_token_st::data"
14426    );
14427    assert_eq!(
14428        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14429        8usize,
14430        "Offset of field: trust_token_st::len"
14431    );
14432}
14433impl Default for trust_token_st {
14434    fn default() -> Self {
14435        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14436        unsafe {
14437            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14438            s.assume_init()
14439        }
14440    }
14441}
14442extern "C" {
14443    #[link_name = "\u{1}aws_lc_0_41_0_ERR_GET_LIB_RUST"]
14444    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14445}
14446extern "C" {
14447    #[link_name = "\u{1}aws_lc_0_41_0_ERR_GET_REASON_RUST"]
14448    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14449}
14450extern "C" {
14451    #[link_name = "\u{1}aws_lc_0_41_0_ERR_GET_FUNC_RUST"]
14452    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14453}
14454pub type __builtin_va_list = [__va_list_tag; 1usize];
14455#[repr(C)]
14456#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14457pub struct __va_list_tag {
14458    pub gp_offset: ::std::os::raw::c_uint,
14459    pub fp_offset: ::std::os::raw::c_uint,
14460    pub overflow_arg_area: *mut ::std::os::raw::c_void,
14461    pub reg_save_area: *mut ::std::os::raw::c_void,
14462}
14463#[test]
14464fn bindgen_test_layout___va_list_tag() {
14465    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
14466    let ptr = UNINIT.as_ptr();
14467    assert_eq!(
14468        ::std::mem::size_of::<__va_list_tag>(),
14469        24usize,
14470        "Size of __va_list_tag"
14471    );
14472    assert_eq!(
14473        ::std::mem::align_of::<__va_list_tag>(),
14474        8usize,
14475        "Alignment of __va_list_tag"
14476    );
14477    assert_eq!(
14478        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
14479        0usize,
14480        "Offset of field: __va_list_tag::gp_offset"
14481    );
14482    assert_eq!(
14483        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
14484        4usize,
14485        "Offset of field: __va_list_tag::fp_offset"
14486    );
14487    assert_eq!(
14488        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
14489        8usize,
14490        "Offset of field: __va_list_tag::overflow_arg_area"
14491    );
14492    assert_eq!(
14493        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
14494        16usize,
14495        "Offset of field: __va_list_tag::reg_save_area"
14496    );
14497}
14498impl Default for __va_list_tag {
14499    fn default() -> Self {
14500        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14501        unsafe {
14502            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14503            s.assume_init()
14504        }
14505    }
14506}