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 = 36;
179pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 6] = b"5.7.0\0";
180pub const AWSLC_FIPS_VERSION_NUMBER: i32 = 5;
181pub const AES_ENCRYPT: i32 = 1;
182pub const AES_DECRYPT: i32 = 0;
183pub const AES_MAXNR: i32 = 14;
184pub const AES_BLOCK_SIZE: i32 = 16;
185pub const SHA_CBLOCK: i32 = 64;
186pub const SHA_DIGEST_LENGTH: i32 = 20;
187pub const SHA224_CBLOCK: i32 = 64;
188pub const SHA224_DIGEST_LENGTH: i32 = 28;
189pub const SHA256_CBLOCK: i32 = 64;
190pub const SHA256_DIGEST_LENGTH: i32 = 32;
191pub const SHA384_CBLOCK: i32 = 128;
192pub const SHA384_DIGEST_LENGTH: i32 = 48;
193pub const SHA512_CBLOCK: i32 = 128;
194pub const SHA512_DIGEST_LENGTH: i32 = 64;
195pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
196pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
197pub const OPENSSL_VERSION_TEXT: &[u8; 41] = b"OpenSSL 1.1.1 (compatible; AWS-LC 5.7.0)\0";
198pub const OPENSSL_VERSION: i32 = 0;
199pub const OPENSSL_CFLAGS: i32 = 1;
200pub const OPENSSL_BUILT_ON: i32 = 2;
201pub const OPENSSL_PLATFORM: i32 = 3;
202pub const OPENSSL_DIR: i32 = 4;
203pub const SSLEAY_VERSION: i32 = 0;
204pub const SSLEAY_CFLAGS: i32 = 1;
205pub const SSLEAY_BUILT_ON: i32 = 2;
206pub const SSLEAY_PLATFORM: i32 = 3;
207pub const SSLEAY_DIR: i32 = 4;
208pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
209pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
210pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
211pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
212pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
213pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
214pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
215pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
216pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
217pub const OPENSSL_INIT_ATFORK: i32 = 0;
218pub const OPENSSL_INIT_NO_ATEXIT: i32 = 0;
219pub const CRYPTO_MEM_CHECK_ON: i32 = 0;
220pub const ERR_FLAG_STRING: i32 = 1;
221pub const ERR_FLAG_MALLOCED: i32 = 2;
222pub const ERR_LIB_NONE: i32 = 1;
223pub const ERR_LIB_SYS: i32 = 2;
224pub const ERR_LIB_BN: i32 = 3;
225pub const ERR_LIB_RSA: i32 = 4;
226pub const ERR_LIB_DH: i32 = 5;
227pub const ERR_LIB_EVP: i32 = 6;
228pub const ERR_LIB_BUF: i32 = 7;
229pub const ERR_LIB_OBJ: i32 = 8;
230pub const ERR_LIB_PEM: i32 = 9;
231pub const ERR_LIB_DSA: i32 = 10;
232pub const ERR_LIB_X509: i32 = 11;
233pub const ERR_LIB_ASN1: i32 = 12;
234pub const ERR_LIB_CONF: i32 = 13;
235pub const ERR_LIB_CRYPTO: i32 = 14;
236pub const ERR_LIB_EC: i32 = 15;
237pub const ERR_LIB_SSL: i32 = 16;
238pub const ERR_LIB_BIO: i32 = 17;
239pub const ERR_LIB_PKCS7: i32 = 18;
240pub const ERR_LIB_PKCS8: i32 = 19;
241pub const ERR_LIB_X509V3: i32 = 20;
242pub const ERR_LIB_RAND: i32 = 21;
243pub const ERR_LIB_ENGINE: i32 = 22;
244pub const ERR_LIB_OCSP: i32 = 23;
245pub const ERR_LIB_UI: i32 = 24;
246pub const ERR_LIB_COMP: i32 = 25;
247pub const ERR_LIB_ECDSA: i32 = 26;
248pub const ERR_LIB_ECDH: i32 = 27;
249pub const ERR_LIB_HMAC: i32 = 28;
250pub const ERR_LIB_DIGEST: i32 = 29;
251pub const ERR_LIB_CIPHER: i32 = 30;
252pub const ERR_LIB_HKDF: i32 = 31;
253pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
254pub const ERR_LIB_USER: i32 = 33;
255pub const ERR_NUM_LIBS: i32 = 34;
256pub const ERR_LIB_PKCS12: i32 = 35;
257pub const ERR_LIB_DSO: i32 = 36;
258pub const ERR_LIB_OSSL_STORE: i32 = 37;
259pub const ERR_LIB_FIPS: i32 = 38;
260pub const ERR_LIB_CMS: i32 = 39;
261pub const ERR_LIB_TS: i32 = 40;
262pub const ERR_LIB_CT: i32 = 41;
263pub const ERR_LIB_ASYNC: i32 = 42;
264pub const ERR_LIB_KDF: i32 = 43;
265pub const ERR_LIB_SM2: i32 = 44;
266pub const ERR_R_SYS_LIB: i32 = 2;
267pub const ERR_R_BN_LIB: i32 = 3;
268pub const ERR_R_RSA_LIB: i32 = 4;
269pub const ERR_R_DH_LIB: i32 = 5;
270pub const ERR_R_EVP_LIB: i32 = 6;
271pub const ERR_R_BUF_LIB: i32 = 7;
272pub const ERR_R_OBJ_LIB: i32 = 8;
273pub const ERR_R_PEM_LIB: i32 = 9;
274pub const ERR_R_DSA_LIB: i32 = 10;
275pub const ERR_R_X509_LIB: i32 = 11;
276pub const ERR_R_ASN1_LIB: i32 = 12;
277pub const ERR_R_CONF_LIB: i32 = 13;
278pub const ERR_R_CRYPTO_LIB: i32 = 14;
279pub const ERR_R_EC_LIB: i32 = 15;
280pub const ERR_R_SSL_LIB: i32 = 16;
281pub const ERR_R_BIO_LIB: i32 = 17;
282pub const ERR_R_PKCS7_LIB: i32 = 18;
283pub const ERR_R_PKCS8_LIB: i32 = 19;
284pub const ERR_R_X509V3_LIB: i32 = 20;
285pub const ERR_R_RAND_LIB: i32 = 21;
286pub const ERR_R_DSO_LIB: i32 = 36;
287pub const ERR_R_ENGINE_LIB: i32 = 22;
288pub const ERR_R_OCSP_LIB: i32 = 23;
289pub const ERR_R_UI_LIB: i32 = 24;
290pub const ERR_R_COMP_LIB: i32 = 25;
291pub const ERR_R_ECDSA_LIB: i32 = 26;
292pub const ERR_R_ECDH_LIB: i32 = 27;
293pub const ERR_R_FIPS_LIB: i32 = 38;
294pub const ERR_R_CMS_LIB: i32 = 39;
295pub const ERR_R_TS_LIB: i32 = 40;
296pub const ERR_R_HMAC_LIB: i32 = 28;
297pub const ERR_R_USER_LIB: i32 = 33;
298pub const ERR_R_DIGEST_LIB: i32 = 29;
299pub const ERR_R_CIPHER_LIB: i32 = 30;
300pub const ERR_R_HKDF_LIB: i32 = 31;
301pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
302pub const ERR_R_FATAL: i32 = 64;
303pub const ERR_R_MALLOC_FAILURE: i32 = 65;
304pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
305pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
306pub const ERR_R_INTERNAL_ERROR: i32 = 68;
307pub const ERR_R_OVERFLOW: i32 = 69;
308pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
309pub const ERR_TXT_STRING: i32 = 1;
310pub const ERR_TXT_MALLOCED: i32 = 2;
311pub const ERR_NUM_ERRORS: i32 = 16;
312pub const BN_BITS2: i32 = 64;
313pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
314pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
315pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
316pub const BN_RAND_TOP_ANY: i32 = -1;
317pub const BN_RAND_TOP_ONE: i32 = 0;
318pub const BN_RAND_TOP_TWO: i32 = 1;
319pub const BN_RAND_BOTTOM_ANY: i32 = 0;
320pub const BN_RAND_BOTTOM_ODD: i32 = 1;
321pub const BN_GENCB_GENERATED: i32 = 0;
322pub const BN_GENCB_PRIME_TEST: i32 = 1;
323pub const BN_prime_checks_for_validation: i32 = 64;
324pub const BN_prime_checks_for_generation: i32 = 0;
325pub const BN_prime_checks: i32 = 64;
326pub const BN_FLG_MALLOCED: i32 = 1;
327pub const BN_FLG_STATIC_DATA: i32 = 2;
328pub const BN_FLG_CONSTTIME: i32 = 0;
329pub const BN_R_ARG2_LT_ARG3: i32 = 100;
330pub const BN_R_BAD_RECIPROCAL: i32 = 101;
331pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
332pub const BN_R_BITS_TOO_SMALL: i32 = 103;
333pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
334pub const BN_R_DIV_BY_ZERO: i32 = 105;
335pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
336pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
337pub const BN_R_INVALID_RANGE: i32 = 108;
338pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
339pub const BN_R_NOT_A_SQUARE: i32 = 110;
340pub const BN_R_NOT_INITIALIZED: i32 = 111;
341pub const BN_R_NO_INVERSE: i32 = 112;
342pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
343pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
344pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
345pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
346pub const BN_R_BAD_ENCODING: i32 = 117;
347pub const BN_R_ENCODE_ERROR: i32 = 118;
348pub const BN_R_INVALID_INPUT: i32 = 119;
349pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
350pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
351pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
352pub const CBS_ASN1_UNIVERSAL: i32 = 0;
353pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
354pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
355pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
356pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
357pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
358pub const CBS_ASN1_BOOLEAN: i32 = 1;
359pub const CBS_ASN1_INTEGER: i32 = 2;
360pub const CBS_ASN1_BITSTRING: i32 = 3;
361pub const CBS_ASN1_OCTETSTRING: i32 = 4;
362pub const CBS_ASN1_NULL: i32 = 5;
363pub const CBS_ASN1_OBJECT: i32 = 6;
364pub const CBS_ASN1_ENUMERATED: i32 = 10;
365pub const CBS_ASN1_UTF8STRING: i32 = 12;
366pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
367pub const CBS_ASN1_SET: i32 = 536870929;
368pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
369pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
370pub const CBS_ASN1_T61STRING: i32 = 20;
371pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
372pub const CBS_ASN1_IA5STRING: i32 = 22;
373pub const CBS_ASN1_UTCTIME: i32 = 23;
374pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
375pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
376pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
377pub const CBS_ASN1_GENERALSTRING: i32 = 27;
378pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
379pub const CBS_ASN1_BMPSTRING: i32 = 30;
380pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
381pub const EVP_CIPH_ECB_MODE: i32 = 1;
382pub const EVP_CIPH_CBC_MODE: i32 = 2;
383pub const EVP_CIPH_CFB_MODE: i32 = 3;
384pub const EVP_CIPH_OFB_MODE: i32 = 4;
385pub const EVP_CIPH_CTR_MODE: i32 = 5;
386pub const EVP_CIPH_GCM_MODE: i32 = 6;
387pub const EVP_CIPH_XTS_MODE: i32 = 7;
388pub const EVP_CIPH_CCM_MODE: i32 = 8;
389pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
390pub const EVP_CIPH_OCB_MODE: i32 = 9;
391pub const EVP_CIPH_WRAP_MODE: i32 = 10;
392pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
393pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
394pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
395pub const EVP_CIPH_CTRL_INIT: i32 = 512;
396pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
397pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
398pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
399pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
400pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
401pub const EVP_CIPH_NO_PADDING: i32 = 2048;
402pub const EVP_CTRL_INIT: i32 = 0;
403pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
404pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
405pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
406pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
407pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
408pub const EVP_CTRL_RAND_KEY: i32 = 6;
409pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
410pub const EVP_CTRL_COPY: i32 = 8;
411pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
412pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
413pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
414pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
415pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
416pub const EVP_CTRL_CCM_SET_L: i32 = 20;
417pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
418pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
419pub const EVP_CTRL_GET_IVLEN: i32 = 25;
420pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
421pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
422pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
423pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
424pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
425pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
426pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
427pub const EVP_MAX_KEY_LENGTH: i32 = 64;
428pub const EVP_MAX_IV_LENGTH: i32 = 16;
429pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
430pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
431pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
432pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
433pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
434pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
435pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
436pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
437pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
438pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
439pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
440pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
441pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
442pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
443pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
444pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
445pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
446pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
447pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
448pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
449pub const CIPHER_R_TOO_LARGE: i32 = 117;
450pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
451pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
452pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
453pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
454pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
455pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
456pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
457pub const CIPHER_R_INVALID_NONCE: i32 = 125;
458pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
459pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
460pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
461pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
462pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
463pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
464pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
465pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
466pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
467pub const X25519_SHARED_KEY_LEN: i32 = 32;
468pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
469pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
470pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
471pub const ED25519_SIGNATURE_LEN: i32 = 64;
472pub const ED25519_SEED_LEN: i32 = 32;
473pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
474pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
475pub const EVP_MAX_MD_SIZE: i32 = 64;
476pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
477pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
478pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
479pub const EVP_MD_FLAG_XOF: i32 = 4;
480pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
481pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
482pub const DIGEST_R_DECODE_ERROR: i32 = 101;
483pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
484pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
485pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
486pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
487pub const EC_PKEY_NO_PUBKEY: i32 = 2;
488pub const ECDSA_FLAG_OPAQUE: i32 = 1;
489pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
490pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
491pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
492pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
493pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
494pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
495pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
496pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
497pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
498pub const EC_R_INVALID_ENCODING: i32 = 109;
499pub const EC_R_INVALID_FIELD: i32 = 110;
500pub const EC_R_INVALID_FORM: i32 = 111;
501pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
502pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
503pub const EC_R_MISSING_PARAMETERS: i32 = 114;
504pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
505pub const EC_R_NON_NAMED_CURVE: i32 = 116;
506pub const EC_R_NOT_INITIALIZED: i32 = 117;
507pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
508pub const EC_R_POINT_AT_INFINITY: i32 = 119;
509pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
510pub const EC_R_SLOT_FULL: i32 = 121;
511pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
512pub const EC_R_UNKNOWN_GROUP: i32 = 123;
513pub const EC_R_UNKNOWN_ORDER: i32 = 124;
514pub const EC_R_WRONG_ORDER: i32 = 125;
515pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
516pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
517pub const EC_R_DECODE_ERROR: i32 = 128;
518pub const EC_R_ENCODE_ERROR: i32 = 129;
519pub const EC_R_GROUP_MISMATCH: i32 = 130;
520pub const EC_R_INVALID_COFACTOR: i32 = 131;
521pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
522pub const EC_R_INVALID_SCALAR: i32 = 133;
523pub const ECDH_R_KDF_FAILED: i32 = 100;
524pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
525pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
526pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
527pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
528pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
529pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
530pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
531pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
532pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
533pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
534pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
535pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
536pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
537pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
538pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
539pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
540pub const SN_undef: &[u8; 6] = b"UNDEF\0";
541pub const LN_undef: &[u8; 10] = b"undefined\0";
542pub const NID_undef: i32 = 0;
543pub const OBJ_undef: i32 = 0;
544pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
545pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
546pub const NID_rsadsi: i32 = 1;
547pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
548pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
549pub const NID_pkcs: i32 = 2;
550pub const SN_md2: &[u8; 4] = b"MD2\0";
551pub const LN_md2: &[u8; 4] = b"md2\0";
552pub const NID_md2: i32 = 3;
553pub const SN_md5: &[u8; 4] = b"MD5\0";
554pub const LN_md5: &[u8; 4] = b"md5\0";
555pub const NID_md5: i32 = 4;
556pub const SN_rc4: &[u8; 4] = b"RC4\0";
557pub const LN_rc4: &[u8; 4] = b"rc4\0";
558pub const NID_rc4: i32 = 5;
559pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
560pub const NID_rsaEncryption: i32 = 6;
561pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
562pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
563pub const NID_md2WithRSAEncryption: i32 = 7;
564pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
565pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
566pub const NID_md5WithRSAEncryption: i32 = 8;
567pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
568pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
569pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
570pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
571pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
572pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
573pub const SN_X500: &[u8; 5] = b"X500\0";
574pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
575pub const NID_X500: i32 = 11;
576pub const SN_X509: &[u8; 5] = b"X509\0";
577pub const NID_X509: i32 = 12;
578pub const SN_commonName: &[u8; 3] = b"CN\0";
579pub const LN_commonName: &[u8; 11] = b"commonName\0";
580pub const NID_commonName: i32 = 13;
581pub const SN_countryName: &[u8; 2] = b"C\0";
582pub const LN_countryName: &[u8; 12] = b"countryName\0";
583pub const NID_countryName: i32 = 14;
584pub const SN_localityName: &[u8; 2] = b"L\0";
585pub const LN_localityName: &[u8; 13] = b"localityName\0";
586pub const NID_localityName: i32 = 15;
587pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
588pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
589pub const NID_stateOrProvinceName: i32 = 16;
590pub const SN_organizationName: &[u8; 2] = b"O\0";
591pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
592pub const NID_organizationName: i32 = 17;
593pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
594pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
595pub const NID_organizationalUnitName: i32 = 18;
596pub const SN_rsa: &[u8; 4] = b"RSA\0";
597pub const LN_rsa: &[u8; 4] = b"rsa\0";
598pub const NID_rsa: i32 = 19;
599pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
600pub const NID_pkcs7: i32 = 20;
601pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
602pub const NID_pkcs7_data: i32 = 21;
603pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
604pub const NID_pkcs7_signed: i32 = 22;
605pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
606pub const NID_pkcs7_enveloped: i32 = 23;
607pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
608pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
609pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
610pub const NID_pkcs7_digest: i32 = 25;
611pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
612pub const NID_pkcs7_encrypted: i32 = 26;
613pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
614pub const NID_pkcs3: i32 = 27;
615pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
616pub const NID_dhKeyAgreement: i32 = 28;
617pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
618pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
619pub const NID_des_ecb: i32 = 29;
620pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
621pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
622pub const NID_des_cfb64: i32 = 30;
623pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
624pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
625pub const NID_des_cbc: i32 = 31;
626pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
627pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
628pub const NID_des_ede_ecb: i32 = 32;
629pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
630pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
631pub const NID_des_ede3_ecb: i32 = 33;
632pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
633pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
634pub const NID_idea_cbc: i32 = 34;
635pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
636pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
637pub const NID_idea_cfb64: i32 = 35;
638pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
639pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
640pub const NID_idea_ecb: i32 = 36;
641pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
642pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
643pub const NID_rc2_cbc: i32 = 37;
644pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
645pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
646pub const NID_rc2_ecb: i32 = 38;
647pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
648pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
649pub const NID_rc2_cfb64: i32 = 39;
650pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
651pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
652pub const NID_rc2_ofb64: i32 = 40;
653pub const SN_sha: &[u8; 4] = b"SHA\0";
654pub const LN_sha: &[u8; 4] = b"sha\0";
655pub const NID_sha: i32 = 41;
656pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
657pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
658pub const NID_shaWithRSAEncryption: i32 = 42;
659pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
660pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
661pub const NID_des_ede_cbc: i32 = 43;
662pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
663pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
664pub const NID_des_ede3_cbc: i32 = 44;
665pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
666pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
667pub const NID_des_ofb64: i32 = 45;
668pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
669pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
670pub const NID_idea_ofb64: i32 = 46;
671pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
672pub const NID_pkcs9: i32 = 47;
673pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
674pub const NID_pkcs9_emailAddress: i32 = 48;
675pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
676pub const NID_pkcs9_unstructuredName: i32 = 49;
677pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
678pub const NID_pkcs9_contentType: i32 = 50;
679pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
680pub const NID_pkcs9_messageDigest: i32 = 51;
681pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
682pub const NID_pkcs9_signingTime: i32 = 52;
683pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
684pub const NID_pkcs9_countersignature: i32 = 53;
685pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
686pub const NID_pkcs9_challengePassword: i32 = 54;
687pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
688pub const NID_pkcs9_unstructuredAddress: i32 = 55;
689pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
690pub const NID_pkcs9_extCertAttributes: i32 = 56;
691pub const SN_netscape: &[u8; 9] = b"Netscape\0";
692pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
693pub const NID_netscape: i32 = 57;
694pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
695pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
696pub const NID_netscape_cert_extension: i32 = 58;
697pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
698pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
699pub const NID_netscape_data_type: i32 = 59;
700pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
701pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
702pub const NID_des_ede_cfb64: i32 = 60;
703pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
704pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
705pub const NID_des_ede3_cfb64: i32 = 61;
706pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
707pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
708pub const NID_des_ede_ofb64: i32 = 62;
709pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
710pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
711pub const NID_des_ede3_ofb64: i32 = 63;
712pub const SN_sha1: &[u8; 5] = b"SHA1\0";
713pub const LN_sha1: &[u8; 5] = b"sha1\0";
714pub const NID_sha1: i32 = 64;
715pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
716pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
717pub const NID_sha1WithRSAEncryption: i32 = 65;
718pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
719pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
720pub const NID_dsaWithSHA: i32 = 66;
721pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
722pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
723pub const NID_dsa_2: i32 = 67;
724pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
725pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
726pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
727pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
728pub const NID_id_pbkdf2: i32 = 69;
729pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
730pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
731pub const NID_dsaWithSHA1_2: i32 = 70;
732pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
733pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
734pub const NID_netscape_cert_type: i32 = 71;
735pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
736pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
737pub const NID_netscape_base_url: i32 = 72;
738pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
739pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
740pub const NID_netscape_revocation_url: i32 = 73;
741pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
742pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
743pub const NID_netscape_ca_revocation_url: i32 = 74;
744pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
745pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
746pub const NID_netscape_renewal_url: i32 = 75;
747pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
748pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
749pub const NID_netscape_ca_policy_url: i32 = 76;
750pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
751pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
752pub const NID_netscape_ssl_server_name: i32 = 77;
753pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
754pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
755pub const NID_netscape_comment: i32 = 78;
756pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
757pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
758pub const NID_netscape_cert_sequence: i32 = 79;
759pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
760pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
761pub const NID_desx_cbc: i32 = 80;
762pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
763pub const NID_id_ce: i32 = 81;
764pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
765pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
766pub const NID_subject_key_identifier: i32 = 82;
767pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
768pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
769pub const NID_key_usage: i32 = 83;
770pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
771pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
772pub const NID_private_key_usage_period: i32 = 84;
773pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
774pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
775pub const NID_subject_alt_name: i32 = 85;
776pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
777pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
778pub const NID_issuer_alt_name: i32 = 86;
779pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
780pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
781pub const NID_basic_constraints: i32 = 87;
782pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
783pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
784pub const NID_crl_number: i32 = 88;
785pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
786pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
787pub const NID_certificate_policies: i32 = 89;
788pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
789pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
790pub const NID_authority_key_identifier: i32 = 90;
791pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
792pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
793pub const NID_bf_cbc: i32 = 91;
794pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
795pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
796pub const NID_bf_ecb: i32 = 92;
797pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
798pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
799pub const NID_bf_cfb64: i32 = 93;
800pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
801pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
802pub const NID_bf_ofb64: i32 = 94;
803pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
804pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
805pub const NID_mdc2: i32 = 95;
806pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
807pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
808pub const NID_mdc2WithRSA: i32 = 96;
809pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
810pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
811pub const NID_rc4_40: i32 = 97;
812pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
813pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
814pub const NID_rc2_40_cbc: i32 = 98;
815pub const SN_givenName: &[u8; 3] = b"GN\0";
816pub const LN_givenName: &[u8; 10] = b"givenName\0";
817pub const NID_givenName: i32 = 99;
818pub const SN_surname: &[u8; 3] = b"SN\0";
819pub const LN_surname: &[u8; 8] = b"surname\0";
820pub const NID_surname: i32 = 100;
821pub const SN_initials: &[u8; 9] = b"initials\0";
822pub const LN_initials: &[u8; 9] = b"initials\0";
823pub const NID_initials: i32 = 101;
824pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
825pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
826pub const NID_crl_distribution_points: i32 = 103;
827pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
828pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
829pub const NID_md5WithRSA: i32 = 104;
830pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
831pub const NID_serialNumber: i32 = 105;
832pub const SN_title: &[u8; 6] = b"title\0";
833pub const LN_title: &[u8; 6] = b"title\0";
834pub const NID_title: i32 = 106;
835pub const LN_description: &[u8; 12] = b"description\0";
836pub const NID_description: i32 = 107;
837pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
838pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
839pub const NID_cast5_cbc: i32 = 108;
840pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
841pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
842pub const NID_cast5_ecb: i32 = 109;
843pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
844pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
845pub const NID_cast5_cfb64: i32 = 110;
846pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
847pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
848pub const NID_cast5_ofb64: i32 = 111;
849pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
850pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
851pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
852pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
853pub const NID_dsaWithSHA1: i32 = 113;
854pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
855pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
856pub const NID_md5_sha1: i32 = 114;
857pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
858pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
859pub const NID_sha1WithRSA: i32 = 115;
860pub const SN_dsa: &[u8; 4] = b"DSA\0";
861pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
862pub const NID_dsa: i32 = 116;
863pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
864pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
865pub const NID_ripemd160: i32 = 117;
866pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
867pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
868pub const NID_ripemd160WithRSA: i32 = 119;
869pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
870pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
871pub const NID_rc5_cbc: i32 = 120;
872pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
873pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
874pub const NID_rc5_ecb: i32 = 121;
875pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
876pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
877pub const NID_rc5_cfb64: i32 = 122;
878pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
879pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
880pub const NID_rc5_ofb64: i32 = 123;
881pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
882pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
883pub const NID_zlib_compression: i32 = 125;
884pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
885pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
886pub const NID_ext_key_usage: i32 = 126;
887pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
888pub const NID_id_pkix: i32 = 127;
889pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
890pub const NID_id_kp: i32 = 128;
891pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
892pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
893pub const NID_server_auth: i32 = 129;
894pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
895pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
896pub const NID_client_auth: i32 = 130;
897pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
898pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
899pub const NID_code_sign: i32 = 131;
900pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
901pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
902pub const NID_email_protect: i32 = 132;
903pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
904pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
905pub const NID_time_stamp: i32 = 133;
906pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
907pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
908pub const NID_ms_code_ind: i32 = 134;
909pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
910pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
911pub const NID_ms_code_com: i32 = 135;
912pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
913pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
914pub const NID_ms_ctl_sign: i32 = 136;
915pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
916pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
917pub const NID_ms_sgc: i32 = 137;
918pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
919pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
920pub const NID_ms_efs: i32 = 138;
921pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
922pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
923pub const NID_ns_sgc: i32 = 139;
924pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
925pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
926pub const NID_delta_crl: i32 = 140;
927pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
928pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
929pub const NID_crl_reason: i32 = 141;
930pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
931pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
932pub const NID_invalidity_date: i32 = 142;
933pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
934pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
935pub const NID_sxnet: i32 = 143;
936pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
937pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
938pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
939pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
940pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
941pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
942pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
943pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
944pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
945pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
946pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
947pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
948pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
949pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
950pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
951pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
952pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
953pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
954pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
955pub const NID_keyBag: i32 = 150;
956pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
957pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
958pub const LN_certBag: &[u8; 8] = b"certBag\0";
959pub const NID_certBag: i32 = 152;
960pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
961pub const NID_crlBag: i32 = 153;
962pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
963pub const NID_secretBag: i32 = 154;
964pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
965pub const NID_safeContentsBag: i32 = 155;
966pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
967pub const NID_friendlyName: i32 = 156;
968pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
969pub const NID_localKeyID: i32 = 157;
970pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
971pub const NID_x509Certificate: i32 = 158;
972pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
973pub const NID_sdsiCertificate: i32 = 159;
974pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
975pub const NID_x509Crl: i32 = 160;
976pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
977pub const NID_pbes2: i32 = 161;
978pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
979pub const NID_pbmac1: i32 = 162;
980pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
981pub const NID_hmacWithSHA1: i32 = 163;
982pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
983pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
984pub const NID_id_qt_cps: i32 = 164;
985pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
986pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
987pub const NID_id_qt_unotice: i32 = 165;
988pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
989pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
990pub const NID_rc2_64_cbc: i32 = 166;
991pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
992pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
993pub const NID_SMIMECapabilities: i32 = 167;
994pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
995pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
996pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
997pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
998pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
999pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1000pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1001pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1002pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1003pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1004pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1005pub const NID_ms_ext_req: i32 = 171;
1006pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1007pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1008pub const NID_ext_req: i32 = 172;
1009pub const SN_name: &[u8; 5] = b"name\0";
1010pub const LN_name: &[u8; 5] = b"name\0";
1011pub const NID_name: i32 = 173;
1012pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1013pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1014pub const NID_dnQualifier: i32 = 174;
1015pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1016pub const NID_id_pe: i32 = 175;
1017pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1018pub const NID_id_ad: i32 = 176;
1019pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1020pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1021pub const NID_info_access: i32 = 177;
1022pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1023pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1024pub const NID_ad_OCSP: i32 = 178;
1025pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1026pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1027pub const NID_ad_ca_issuers: i32 = 179;
1028pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1029pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1030pub const NID_OCSP_sign: i32 = 180;
1031pub const SN_iso: &[u8; 4] = b"ISO\0";
1032pub const LN_iso: &[u8; 4] = b"iso\0";
1033pub const NID_iso: i32 = 181;
1034pub const OBJ_iso: i32 = 1;
1035pub const SN_member_body: &[u8; 12] = b"member-body\0";
1036pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1037pub const NID_member_body: i32 = 182;
1038pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1039pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1040pub const NID_ISO_US: i32 = 183;
1041pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1042pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1043pub const NID_X9_57: i32 = 184;
1044pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1045pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1046pub const NID_X9cm: i32 = 185;
1047pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1048pub const NID_pkcs1: i32 = 186;
1049pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1050pub const NID_pkcs5: i32 = 187;
1051pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1052pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1053pub const NID_SMIME: i32 = 188;
1054pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1055pub const NID_id_smime_mod: i32 = 189;
1056pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1057pub const NID_id_smime_ct: i32 = 190;
1058pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1059pub const NID_id_smime_aa: i32 = 191;
1060pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1061pub const NID_id_smime_alg: i32 = 192;
1062pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1063pub const NID_id_smime_cd: i32 = 193;
1064pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1065pub const NID_id_smime_spq: i32 = 194;
1066pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1067pub const NID_id_smime_cti: i32 = 195;
1068pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1069pub const NID_id_smime_mod_cms: i32 = 196;
1070pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1071pub const NID_id_smime_mod_ess: i32 = 197;
1072pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1073pub const NID_id_smime_mod_oid: i32 = 198;
1074pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1075pub const NID_id_smime_mod_msg_v3: i32 = 199;
1076pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1077pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1078pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1079pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1080pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1081pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1082pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1083pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1084pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1085pub const NID_id_smime_ct_receipt: i32 = 204;
1086pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1087pub const NID_id_smime_ct_authData: i32 = 205;
1088pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1089pub const NID_id_smime_ct_publishCert: i32 = 206;
1090pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1091pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1092pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1093pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1094pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1095pub const NID_id_smime_ct_contentInfo: i32 = 209;
1096pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1097pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1098pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1099pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1100pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1101pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1102pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1103pub const NID_id_smime_aa_securityLabel: i32 = 213;
1104pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1105pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1106pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1107pub const NID_id_smime_aa_contentHint: i32 = 215;
1108pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1109pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1110pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1111pub const NID_id_smime_aa_encapContentType: i32 = 217;
1112pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1113pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1114pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1115pub const NID_id_smime_aa_macValue: i32 = 219;
1116pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1117pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1118pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1119pub const NID_id_smime_aa_contentReference: i32 = 221;
1120pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1121pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1122pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1123pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1124pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1125pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1126pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1127pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1128pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1129pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1130pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1131pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1132pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1133pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1134pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1135pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1136pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1137pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1138pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1139pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1140pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1141pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1142pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1143pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1144pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1145pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1146pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1147pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1148pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1149pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1150pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1151pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1152pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1153pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1154pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1155pub const NID_id_smime_aa_signatureType: i32 = 239;
1156pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1157pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1158pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1159pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1160pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1161pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1162pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1163pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1164pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1165pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1166pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1167pub const NID_id_smime_alg_ESDH: i32 = 245;
1168pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1169pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1170pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1171pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1172pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1173pub const NID_id_smime_cd_ldap: i32 = 248;
1174pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1175pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1176pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1177pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1178pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1179pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1180pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1181pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1182pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1183pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1184pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1185pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1186pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1187pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1188pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1189pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1190pub const SN_md4: &[u8; 4] = b"MD4\0";
1191pub const LN_md4: &[u8; 4] = b"md4\0";
1192pub const NID_md4: i32 = 257;
1193pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1194pub const NID_id_pkix_mod: i32 = 258;
1195pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1196pub const NID_id_qt: i32 = 259;
1197pub const SN_id_it: &[u8; 6] = b"id-it\0";
1198pub const NID_id_it: i32 = 260;
1199pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1200pub const NID_id_pkip: i32 = 261;
1201pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1202pub const NID_id_alg: i32 = 262;
1203pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1204pub const NID_id_cmc: i32 = 263;
1205pub const SN_id_on: &[u8; 6] = b"id-on\0";
1206pub const NID_id_on: i32 = 264;
1207pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1208pub const NID_id_pda: i32 = 265;
1209pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1210pub const NID_id_aca: i32 = 266;
1211pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1212pub const NID_id_qcs: i32 = 267;
1213pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1214pub const NID_id_cct: i32 = 268;
1215pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1216pub const NID_id_pkix1_explicit_88: i32 = 269;
1217pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1218pub const NID_id_pkix1_implicit_88: i32 = 270;
1219pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1220pub const NID_id_pkix1_explicit_93: i32 = 271;
1221pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1222pub const NID_id_pkix1_implicit_93: i32 = 272;
1223pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1224pub const NID_id_mod_crmf: i32 = 273;
1225pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1226pub const NID_id_mod_cmc: i32 = 274;
1227pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1228pub const NID_id_mod_kea_profile_88: i32 = 275;
1229pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1230pub const NID_id_mod_kea_profile_93: i32 = 276;
1231pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1232pub const NID_id_mod_cmp: i32 = 277;
1233pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1234pub const NID_id_mod_qualified_cert_88: i32 = 278;
1235pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1236pub const NID_id_mod_qualified_cert_93: i32 = 279;
1237pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1238pub const NID_id_mod_attribute_cert: i32 = 280;
1239pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1240pub const NID_id_mod_timestamp_protocol: i32 = 281;
1241pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1242pub const NID_id_mod_ocsp: i32 = 282;
1243pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1244pub const NID_id_mod_dvcs: i32 = 283;
1245pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1246pub const NID_id_mod_cmp2000: i32 = 284;
1247pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1248pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1249pub const NID_biometricInfo: i32 = 285;
1250pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1251pub const NID_qcStatements: i32 = 286;
1252pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1253pub const NID_ac_auditEntity: i32 = 287;
1254pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1255pub const NID_ac_targeting: i32 = 288;
1256pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1257pub const NID_aaControls: i32 = 289;
1258pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1259pub const NID_sbgp_ipAddrBlock: i32 = 290;
1260pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1261pub const NID_sbgp_autonomousSysNum: i32 = 291;
1262pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1263pub const NID_sbgp_routerIdentifier: i32 = 292;
1264pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1265pub const NID_textNotice: i32 = 293;
1266pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1267pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1268pub const NID_ipsecEndSystem: i32 = 294;
1269pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1270pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1271pub const NID_ipsecTunnel: i32 = 295;
1272pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1273pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1274pub const NID_ipsecUser: i32 = 296;
1275pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1276pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1277pub const NID_dvcs: i32 = 297;
1278pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1279pub const NID_id_it_caProtEncCert: i32 = 298;
1280pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1281pub const NID_id_it_signKeyPairTypes: i32 = 299;
1282pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1283pub const NID_id_it_encKeyPairTypes: i32 = 300;
1284pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1285pub const NID_id_it_preferredSymmAlg: i32 = 301;
1286pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1287pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1288pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1289pub const NID_id_it_currentCRL: i32 = 303;
1290pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1291pub const NID_id_it_unsupportedOIDs: i32 = 304;
1292pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1293pub const NID_id_it_subscriptionRequest: i32 = 305;
1294pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1295pub const NID_id_it_subscriptionResponse: i32 = 306;
1296pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1297pub const NID_id_it_keyPairParamReq: i32 = 307;
1298pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1299pub const NID_id_it_keyPairParamRep: i32 = 308;
1300pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1301pub const NID_id_it_revPassphrase: i32 = 309;
1302pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1303pub const NID_id_it_implicitConfirm: i32 = 310;
1304pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1305pub const NID_id_it_confirmWaitTime: i32 = 311;
1306pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1307pub const NID_id_it_origPKIMessage: i32 = 312;
1308pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1309pub const NID_id_regCtrl: i32 = 313;
1310pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1311pub const NID_id_regInfo: i32 = 314;
1312pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1313pub const NID_id_regCtrl_regToken: i32 = 315;
1314pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1315pub const NID_id_regCtrl_authenticator: i32 = 316;
1316pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1317pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1318pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1319pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1320pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1321pub const NID_id_regCtrl_oldCertID: i32 = 319;
1322pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1323pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1324pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1325pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1326pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1327pub const NID_id_regInfo_certReq: i32 = 322;
1328pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1329pub const NID_id_alg_des40: i32 = 323;
1330pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1331pub const NID_id_alg_noSignature: i32 = 324;
1332pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1333pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1334pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1335pub const NID_id_alg_dh_pop: i32 = 326;
1336pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1337pub const NID_id_cmc_statusInfo: i32 = 327;
1338pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1339pub const NID_id_cmc_identification: i32 = 328;
1340pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1341pub const NID_id_cmc_identityProof: i32 = 329;
1342pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1343pub const NID_id_cmc_dataReturn: i32 = 330;
1344pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1345pub const NID_id_cmc_transactionId: i32 = 331;
1346pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1347pub const NID_id_cmc_senderNonce: i32 = 332;
1348pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1349pub const NID_id_cmc_recipientNonce: i32 = 333;
1350pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1351pub const NID_id_cmc_addExtensions: i32 = 334;
1352pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1353pub const NID_id_cmc_encryptedPOP: i32 = 335;
1354pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1355pub const NID_id_cmc_decryptedPOP: i32 = 336;
1356pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1357pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1358pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1359pub const NID_id_cmc_getCert: i32 = 338;
1360pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1361pub const NID_id_cmc_getCRL: i32 = 339;
1362pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1363pub const NID_id_cmc_revokeRequest: i32 = 340;
1364pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1365pub const NID_id_cmc_regInfo: i32 = 341;
1366pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1367pub const NID_id_cmc_responseInfo: i32 = 342;
1368pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1369pub const NID_id_cmc_queryPending: i32 = 343;
1370pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1371pub const NID_id_cmc_popLinkRandom: i32 = 344;
1372pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1373pub const NID_id_cmc_popLinkWitness: i32 = 345;
1374pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1375pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1376pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1377pub const NID_id_on_personalData: i32 = 347;
1378pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1379pub const NID_id_pda_dateOfBirth: i32 = 348;
1380pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1381pub const NID_id_pda_placeOfBirth: i32 = 349;
1382pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1383pub const NID_id_pda_gender: i32 = 351;
1384pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1385pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1386pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1387pub const NID_id_pda_countryOfResidence: i32 = 353;
1388pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1389pub const NID_id_aca_authenticationInfo: i32 = 354;
1390pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1391pub const NID_id_aca_accessIdentity: i32 = 355;
1392pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1393pub const NID_id_aca_chargingIdentity: i32 = 356;
1394pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1395pub const NID_id_aca_group: i32 = 357;
1396pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1397pub const NID_id_aca_role: i32 = 358;
1398pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1399pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1400pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1401pub const NID_id_cct_crs: i32 = 360;
1402pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1403pub const NID_id_cct_PKIData: i32 = 361;
1404pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1405pub const NID_id_cct_PKIResponse: i32 = 362;
1406pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1407pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1408pub const NID_ad_timeStamping: i32 = 363;
1409pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1410pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1411pub const NID_ad_dvcs: i32 = 364;
1412pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1413pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1414pub const NID_id_pkix_OCSP_basic: i32 = 365;
1415pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1416pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1417pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1418pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1419pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1420pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1421pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1422pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1423pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1424pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1425pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1426pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1427pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1428pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1429pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1430pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1431pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1432pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1433pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1434pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1435pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1436pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1437pub const NID_id_pkix_OCSP_valid: i32 = 373;
1438pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1439pub const NID_id_pkix_OCSP_path: i32 = 374;
1440pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1441pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1442pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1443pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1444pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1445pub const NID_algorithm: i32 = 376;
1446pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1447pub const NID_rsaSignature: i32 = 377;
1448pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1449pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1450pub const NID_X500algorithms: i32 = 378;
1451pub const SN_org: &[u8; 4] = b"ORG\0";
1452pub const LN_org: &[u8; 4] = b"org\0";
1453pub const NID_org: i32 = 379;
1454pub const SN_dod: &[u8; 4] = b"DOD\0";
1455pub const LN_dod: &[u8; 4] = b"dod\0";
1456pub const NID_dod: i32 = 380;
1457pub const SN_iana: &[u8; 5] = b"IANA\0";
1458pub const LN_iana: &[u8; 5] = b"iana\0";
1459pub const NID_iana: i32 = 381;
1460pub const SN_Directory: &[u8; 10] = b"directory\0";
1461pub const LN_Directory: &[u8; 10] = b"Directory\0";
1462pub const NID_Directory: i32 = 382;
1463pub const SN_Management: &[u8; 5] = b"mgmt\0";
1464pub const LN_Management: &[u8; 11] = b"Management\0";
1465pub const NID_Management: i32 = 383;
1466pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1467pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1468pub const NID_Experimental: i32 = 384;
1469pub const SN_Private: &[u8; 8] = b"private\0";
1470pub const LN_Private: &[u8; 8] = b"Private\0";
1471pub const NID_Private: i32 = 385;
1472pub const SN_Security: &[u8; 9] = b"security\0";
1473pub const LN_Security: &[u8; 9] = b"Security\0";
1474pub const NID_Security: i32 = 386;
1475pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1476pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1477pub const NID_SNMPv2: i32 = 387;
1478pub const LN_Mail: &[u8; 5] = b"Mail\0";
1479pub const NID_Mail: i32 = 388;
1480pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1481pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1482pub const NID_Enterprises: i32 = 389;
1483pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1484pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1485pub const NID_dcObject: i32 = 390;
1486pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1487pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1488pub const NID_domainComponent: i32 = 391;
1489pub const SN_Domain: &[u8; 7] = b"domain\0";
1490pub const LN_Domain: &[u8; 7] = b"Domain\0";
1491pub const NID_Domain: i32 = 392;
1492pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1493pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1494pub const NID_selected_attribute_types: i32 = 394;
1495pub const SN_clearance: &[u8; 10] = b"clearance\0";
1496pub const NID_clearance: i32 = 395;
1497pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1498pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1499pub const NID_md4WithRSAEncryption: i32 = 396;
1500pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1501pub const NID_ac_proxying: i32 = 397;
1502pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1503pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1504pub const NID_sinfo_access: i32 = 398;
1505pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1506pub const NID_id_aca_encAttrs: i32 = 399;
1507pub const SN_role: &[u8; 5] = b"role\0";
1508pub const LN_role: &[u8; 5] = b"role\0";
1509pub const NID_role: i32 = 400;
1510pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1511pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1512pub const NID_policy_constraints: i32 = 401;
1513pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1514pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1515pub const NID_target_information: i32 = 402;
1516pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1517pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1518pub const NID_no_rev_avail: i32 = 403;
1519pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1520pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1521pub const NID_ansi_X9_62: i32 = 405;
1522pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1523pub const NID_X9_62_prime_field: i32 = 406;
1524pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1525pub const NID_X9_62_characteristic_two_field: i32 = 407;
1526pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1527pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1528pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1529pub const NID_X9_62_prime192v1: i32 = 409;
1530pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1531pub const NID_X9_62_prime192v2: i32 = 410;
1532pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1533pub const NID_X9_62_prime192v3: i32 = 411;
1534pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1535pub const NID_X9_62_prime239v1: i32 = 412;
1536pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1537pub const NID_X9_62_prime239v2: i32 = 413;
1538pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1539pub const NID_X9_62_prime239v3: i32 = 414;
1540pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1541pub const NID_X9_62_prime256v1: i32 = 415;
1542pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1543pub const NID_ecdsa_with_SHA1: i32 = 416;
1544pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1545pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1546pub const NID_ms_csp_name: i32 = 417;
1547pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1548pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1549pub const NID_aes_128_ecb: i32 = 418;
1550pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1551pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1552pub const NID_aes_128_cbc: i32 = 419;
1553pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1554pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1555pub const NID_aes_128_ofb128: i32 = 420;
1556pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1557pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1558pub const NID_aes_128_cfb128: i32 = 421;
1559pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1560pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1561pub const NID_aes_192_ecb: i32 = 422;
1562pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1563pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1564pub const NID_aes_192_cbc: i32 = 423;
1565pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1566pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1567pub const NID_aes_192_ofb128: i32 = 424;
1568pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1569pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1570pub const NID_aes_192_cfb128: i32 = 425;
1571pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1572pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1573pub const NID_aes_256_ecb: i32 = 426;
1574pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1575pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1576pub const NID_aes_256_cbc: i32 = 427;
1577pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1578pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1579pub const NID_aes_256_ofb128: i32 = 428;
1580pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1581pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1582pub const NID_aes_256_cfb128: i32 = 429;
1583pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1584pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1585pub const NID_hold_instruction_code: i32 = 430;
1586pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1587pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1588pub const NID_hold_instruction_none: i32 = 431;
1589pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1590pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1591pub const NID_hold_instruction_call_issuer: i32 = 432;
1592pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1593pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1594pub const NID_hold_instruction_reject: i32 = 433;
1595pub const SN_data: &[u8; 5] = b"data\0";
1596pub const NID_data: i32 = 434;
1597pub const SN_pss: &[u8; 4] = b"pss\0";
1598pub const NID_pss: i32 = 435;
1599pub const SN_ucl: &[u8; 4] = b"ucl\0";
1600pub const NID_ucl: i32 = 436;
1601pub const SN_pilot: &[u8; 6] = b"pilot\0";
1602pub const NID_pilot: i32 = 437;
1603pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1604pub const NID_pilotAttributeType: i32 = 438;
1605pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
1606pub const NID_pilotAttributeSyntax: i32 = 439;
1607pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
1608pub const NID_pilotObjectClass: i32 = 440;
1609pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
1610pub const NID_pilotGroups: i32 = 441;
1611pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
1612pub const NID_iA5StringSyntax: i32 = 442;
1613pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
1614pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
1615pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
1616pub const NID_pilotObject: i32 = 444;
1617pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
1618pub const NID_pilotPerson: i32 = 445;
1619pub const SN_account: &[u8; 8] = b"account\0";
1620pub const NID_account: i32 = 446;
1621pub const SN_document: &[u8; 9] = b"document\0";
1622pub const NID_document: i32 = 447;
1623pub const SN_room: &[u8; 5] = b"room\0";
1624pub const NID_room: i32 = 448;
1625pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
1626pub const NID_documentSeries: i32 = 449;
1627pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
1628pub const NID_rFC822localPart: i32 = 450;
1629pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
1630pub const NID_dNSDomain: i32 = 451;
1631pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
1632pub const NID_domainRelatedObject: i32 = 452;
1633pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
1634pub const NID_friendlyCountry: i32 = 453;
1635pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
1636pub const NID_simpleSecurityObject: i32 = 454;
1637pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
1638pub const NID_pilotOrganization: i32 = 455;
1639pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
1640pub const NID_pilotDSA: i32 = 456;
1641pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
1642pub const NID_qualityLabelledData: i32 = 457;
1643pub const SN_userId: &[u8; 4] = b"UID\0";
1644pub const LN_userId: &[u8; 7] = b"userId\0";
1645pub const NID_userId: i32 = 458;
1646pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
1647pub const NID_textEncodedORAddress: i32 = 459;
1648pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
1649pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
1650pub const NID_rfc822Mailbox: i32 = 460;
1651pub const SN_info: &[u8; 5] = b"info\0";
1652pub const NID_info: i32 = 461;
1653pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
1654pub const NID_favouriteDrink: i32 = 462;
1655pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
1656pub const NID_roomNumber: i32 = 463;
1657pub const SN_photo: &[u8; 6] = b"photo\0";
1658pub const NID_photo: i32 = 464;
1659pub const LN_userClass: &[u8; 10] = b"userClass\0";
1660pub const NID_userClass: i32 = 465;
1661pub const SN_host: &[u8; 5] = b"host\0";
1662pub const NID_host: i32 = 466;
1663pub const SN_manager: &[u8; 8] = b"manager\0";
1664pub const NID_manager: i32 = 467;
1665pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
1666pub const NID_documentIdentifier: i32 = 468;
1667pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
1668pub const NID_documentTitle: i32 = 469;
1669pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
1670pub const NID_documentVersion: i32 = 470;
1671pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
1672pub const NID_documentAuthor: i32 = 471;
1673pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
1674pub const NID_documentLocation: i32 = 472;
1675pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
1676pub const NID_homeTelephoneNumber: i32 = 473;
1677pub const SN_secretary: &[u8; 10] = b"secretary\0";
1678pub const NID_secretary: i32 = 474;
1679pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
1680pub const NID_otherMailbox: i32 = 475;
1681pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
1682pub const NID_lastModifiedTime: i32 = 476;
1683pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
1684pub const NID_lastModifiedBy: i32 = 477;
1685pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
1686pub const NID_aRecord: i32 = 478;
1687pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
1688pub const NID_pilotAttributeType27: i32 = 479;
1689pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
1690pub const NID_mXRecord: i32 = 480;
1691pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
1692pub const NID_nSRecord: i32 = 481;
1693pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
1694pub const NID_sOARecord: i32 = 482;
1695pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
1696pub const NID_cNAMERecord: i32 = 483;
1697pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
1698pub const NID_associatedDomain: i32 = 484;
1699pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
1700pub const NID_associatedName: i32 = 485;
1701pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
1702pub const NID_homePostalAddress: i32 = 486;
1703pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
1704pub const NID_personalTitle: i32 = 487;
1705pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
1706pub const NID_mobileTelephoneNumber: i32 = 488;
1707pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
1708pub const NID_pagerTelephoneNumber: i32 = 489;
1709pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
1710pub const NID_friendlyCountryName: i32 = 490;
1711pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
1712pub const NID_organizationalStatus: i32 = 491;
1713pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
1714pub const NID_janetMailbox: i32 = 492;
1715pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
1716pub const NID_mailPreferenceOption: i32 = 493;
1717pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
1718pub const NID_buildingName: i32 = 494;
1719pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
1720pub const NID_dSAQuality: i32 = 495;
1721pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
1722pub const NID_singleLevelQuality: i32 = 496;
1723pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
1724pub const NID_subtreeMinimumQuality: i32 = 497;
1725pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
1726pub const NID_subtreeMaximumQuality: i32 = 498;
1727pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
1728pub const NID_personalSignature: i32 = 499;
1729pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
1730pub const NID_dITRedirect: i32 = 500;
1731pub const SN_audio: &[u8; 6] = b"audio\0";
1732pub const NID_audio: i32 = 501;
1733pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
1734pub const NID_documentPublisher: i32 = 502;
1735pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
1736pub const NID_x500UniqueIdentifier: i32 = 503;
1737pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
1738pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
1739pub const NID_mime_mhs: i32 = 504;
1740pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1741pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
1742pub const NID_mime_mhs_headings: i32 = 505;
1743pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1744pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
1745pub const NID_mime_mhs_bodies: i32 = 506;
1746pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1747pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
1748pub const NID_id_hex_partial_message: i32 = 507;
1749pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1750pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
1751pub const NID_id_hex_multipart_message: i32 = 508;
1752pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
1753pub const NID_generationQualifier: i32 = 509;
1754pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
1755pub const NID_pseudonym: i32 = 510;
1756pub const SN_id_set: &[u8; 7] = b"id-set\0";
1757pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
1758pub const NID_id_set: i32 = 512;
1759pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
1760pub const LN_set_ctype: &[u8; 14] = b"content types\0";
1761pub const NID_set_ctype: i32 = 513;
1762pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
1763pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
1764pub const NID_set_msgExt: i32 = 514;
1765pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
1766pub const NID_set_attr: i32 = 515;
1767pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
1768pub const NID_set_policy: i32 = 516;
1769pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
1770pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
1771pub const NID_set_certExt: i32 = 517;
1772pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
1773pub const NID_set_brand: i32 = 518;
1774pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
1775pub const NID_setct_PANData: i32 = 519;
1776pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
1777pub const NID_setct_PANToken: i32 = 520;
1778pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
1779pub const NID_setct_PANOnly: i32 = 521;
1780pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
1781pub const NID_setct_OIData: i32 = 522;
1782pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
1783pub const NID_setct_PI: i32 = 523;
1784pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
1785pub const NID_setct_PIData: i32 = 524;
1786pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
1787pub const NID_setct_PIDataUnsigned: i32 = 525;
1788pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
1789pub const NID_setct_HODInput: i32 = 526;
1790pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
1791pub const NID_setct_AuthResBaggage: i32 = 527;
1792pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
1793pub const NID_setct_AuthRevReqBaggage: i32 = 528;
1794pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
1795pub const NID_setct_AuthRevResBaggage: i32 = 529;
1796pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
1797pub const NID_setct_CapTokenSeq: i32 = 530;
1798pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
1799pub const NID_setct_PInitResData: i32 = 531;
1800pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
1801pub const NID_setct_PI_TBS: i32 = 532;
1802pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
1803pub const NID_setct_PResData: i32 = 533;
1804pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
1805pub const NID_setct_AuthReqTBS: i32 = 534;
1806pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
1807pub const NID_setct_AuthResTBS: i32 = 535;
1808pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
1809pub const NID_setct_AuthResTBSX: i32 = 536;
1810pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
1811pub const NID_setct_AuthTokenTBS: i32 = 537;
1812pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
1813pub const NID_setct_CapTokenData: i32 = 538;
1814pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
1815pub const NID_setct_CapTokenTBS: i32 = 539;
1816pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
1817pub const NID_setct_AcqCardCodeMsg: i32 = 540;
1818pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
1819pub const NID_setct_AuthRevReqTBS: i32 = 541;
1820pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
1821pub const NID_setct_AuthRevResData: i32 = 542;
1822pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
1823pub const NID_setct_AuthRevResTBS: i32 = 543;
1824pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
1825pub const NID_setct_CapReqTBS: i32 = 544;
1826pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
1827pub const NID_setct_CapReqTBSX: i32 = 545;
1828pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
1829pub const NID_setct_CapResData: i32 = 546;
1830pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
1831pub const NID_setct_CapRevReqTBS: i32 = 547;
1832pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
1833pub const NID_setct_CapRevReqTBSX: i32 = 548;
1834pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
1835pub const NID_setct_CapRevResData: i32 = 549;
1836pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
1837pub const NID_setct_CredReqTBS: i32 = 550;
1838pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
1839pub const NID_setct_CredReqTBSX: i32 = 551;
1840pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
1841pub const NID_setct_CredResData: i32 = 552;
1842pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
1843pub const NID_setct_CredRevReqTBS: i32 = 553;
1844pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
1845pub const NID_setct_CredRevReqTBSX: i32 = 554;
1846pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
1847pub const NID_setct_CredRevResData: i32 = 555;
1848pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
1849pub const NID_setct_PCertReqData: i32 = 556;
1850pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
1851pub const NID_setct_PCertResTBS: i32 = 557;
1852pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
1853pub const NID_setct_BatchAdminReqData: i32 = 558;
1854pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
1855pub const NID_setct_BatchAdminResData: i32 = 559;
1856pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
1857pub const NID_setct_CardCInitResTBS: i32 = 560;
1858pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
1859pub const NID_setct_MeAqCInitResTBS: i32 = 561;
1860pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
1861pub const NID_setct_RegFormResTBS: i32 = 562;
1862pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
1863pub const NID_setct_CertReqData: i32 = 563;
1864pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
1865pub const NID_setct_CertReqTBS: i32 = 564;
1866pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
1867pub const NID_setct_CertResData: i32 = 565;
1868pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
1869pub const NID_setct_CertInqReqTBS: i32 = 566;
1870pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
1871pub const NID_setct_ErrorTBS: i32 = 567;
1872pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
1873pub const NID_setct_PIDualSignedTBE: i32 = 568;
1874pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
1875pub const NID_setct_PIUnsignedTBE: i32 = 569;
1876pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
1877pub const NID_setct_AuthReqTBE: i32 = 570;
1878pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
1879pub const NID_setct_AuthResTBE: i32 = 571;
1880pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
1881pub const NID_setct_AuthResTBEX: i32 = 572;
1882pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
1883pub const NID_setct_AuthTokenTBE: i32 = 573;
1884pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
1885pub const NID_setct_CapTokenTBE: i32 = 574;
1886pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
1887pub const NID_setct_CapTokenTBEX: i32 = 575;
1888pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
1889pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
1890pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
1891pub const NID_setct_AuthRevReqTBE: i32 = 577;
1892pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
1893pub const NID_setct_AuthRevResTBE: i32 = 578;
1894pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
1895pub const NID_setct_AuthRevResTBEB: i32 = 579;
1896pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
1897pub const NID_setct_CapReqTBE: i32 = 580;
1898pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
1899pub const NID_setct_CapReqTBEX: i32 = 581;
1900pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
1901pub const NID_setct_CapResTBE: i32 = 582;
1902pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
1903pub const NID_setct_CapRevReqTBE: i32 = 583;
1904pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
1905pub const NID_setct_CapRevReqTBEX: i32 = 584;
1906pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
1907pub const NID_setct_CapRevResTBE: i32 = 585;
1908pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
1909pub const NID_setct_CredReqTBE: i32 = 586;
1910pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
1911pub const NID_setct_CredReqTBEX: i32 = 587;
1912pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
1913pub const NID_setct_CredResTBE: i32 = 588;
1914pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
1915pub const NID_setct_CredRevReqTBE: i32 = 589;
1916pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
1917pub const NID_setct_CredRevReqTBEX: i32 = 590;
1918pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
1919pub const NID_setct_CredRevResTBE: i32 = 591;
1920pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
1921pub const NID_setct_BatchAdminReqTBE: i32 = 592;
1922pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
1923pub const NID_setct_BatchAdminResTBE: i32 = 593;
1924pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
1925pub const NID_setct_RegFormReqTBE: i32 = 594;
1926pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
1927pub const NID_setct_CertReqTBE: i32 = 595;
1928pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
1929pub const NID_setct_CertReqTBEX: i32 = 596;
1930pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
1931pub const NID_setct_CertResTBE: i32 = 597;
1932pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
1933pub const NID_setct_CRLNotificationTBS: i32 = 598;
1934pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
1935pub const NID_setct_CRLNotificationResTBS: i32 = 599;
1936pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
1937pub const NID_setct_BCIDistributionTBS: i32 = 600;
1938pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
1939pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
1940pub const NID_setext_genCrypt: i32 = 601;
1941pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
1942pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
1943pub const NID_setext_miAuth: i32 = 602;
1944pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
1945pub const NID_setext_pinSecure: i32 = 603;
1946pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
1947pub const NID_setext_pinAny: i32 = 604;
1948pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
1949pub const NID_setext_track2: i32 = 605;
1950pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
1951pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
1952pub const NID_setext_cv: i32 = 606;
1953pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
1954pub const NID_set_policy_root: i32 = 607;
1955pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
1956pub const NID_setCext_hashedRoot: i32 = 608;
1957pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
1958pub const NID_setCext_certType: i32 = 609;
1959pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
1960pub const NID_setCext_merchData: i32 = 610;
1961pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
1962pub const NID_setCext_cCertRequired: i32 = 611;
1963pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
1964pub const NID_setCext_tunneling: i32 = 612;
1965pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
1966pub const NID_setCext_setExt: i32 = 613;
1967pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
1968pub const NID_setCext_setQualf: i32 = 614;
1969pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
1970pub const NID_setCext_PGWYcapabilities: i32 = 615;
1971pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
1972pub const NID_setCext_TokenIdentifier: i32 = 616;
1973pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
1974pub const NID_setCext_Track2Data: i32 = 617;
1975pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
1976pub const NID_setCext_TokenType: i32 = 618;
1977pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
1978pub const NID_setCext_IssuerCapabilities: i32 = 619;
1979pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
1980pub const NID_setAttr_Cert: i32 = 620;
1981pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
1982pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
1983pub const NID_setAttr_PGWYcap: i32 = 621;
1984pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
1985pub const NID_setAttr_TokenType: i32 = 622;
1986pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
1987pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
1988pub const NID_setAttr_IssCap: i32 = 623;
1989pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
1990pub const NID_set_rootKeyThumb: i32 = 624;
1991pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
1992pub const NID_set_addPolicy: i32 = 625;
1993pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
1994pub const NID_setAttr_Token_EMV: i32 = 626;
1995pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
1996pub const NID_setAttr_Token_B0Prime: i32 = 627;
1997pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
1998pub const NID_setAttr_IssCap_CVM: i32 = 628;
1999pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2000pub const NID_setAttr_IssCap_T2: i32 = 629;
2001pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2002pub const NID_setAttr_IssCap_Sig: i32 = 630;
2003pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2004pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2005pub const NID_setAttr_GenCryptgrm: i32 = 631;
2006pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2007pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2008pub const NID_setAttr_T2Enc: i32 = 632;
2009pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2010pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2011pub const NID_setAttr_T2cleartxt: i32 = 633;
2012pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2013pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2014pub const NID_setAttr_TokICCsig: i32 = 634;
2015pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2016pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2017pub const NID_setAttr_SecDevSig: i32 = 635;
2018pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2019pub const NID_set_brand_IATA_ATA: i32 = 636;
2020pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2021pub const NID_set_brand_Diners: i32 = 637;
2022pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2023pub const NID_set_brand_AmericanExpress: i32 = 638;
2024pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2025pub const NID_set_brand_JCB: i32 = 639;
2026pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2027pub const NID_set_brand_Visa: i32 = 640;
2028pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2029pub const NID_set_brand_MasterCard: i32 = 641;
2030pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2031pub const NID_set_brand_Novus: i32 = 642;
2032pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2033pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2034pub const NID_des_cdmf: i32 = 643;
2035pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2036pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2037pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2038pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2039pub const NID_itu_t: i32 = 645;
2040pub const OBJ_itu_t: i32 = 0;
2041pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2042pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2043pub const NID_joint_iso_itu_t: i32 = 646;
2044pub const OBJ_joint_iso_itu_t: i32 = 2;
2045pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2046pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2047pub const NID_international_organizations: i32 = 647;
2048pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2049pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2050pub const NID_ms_smartcard_login: i32 = 648;
2051pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2052pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2053pub const NID_ms_upn: i32 = 649;
2054pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2055pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2056pub const NID_aes_128_cfb1: i32 = 650;
2057pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2058pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2059pub const NID_aes_192_cfb1: i32 = 651;
2060pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2061pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2062pub const NID_aes_256_cfb1: i32 = 652;
2063pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2064pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2065pub const NID_aes_128_cfb8: i32 = 653;
2066pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2067pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2068pub const NID_aes_192_cfb8: i32 = 654;
2069pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2070pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2071pub const NID_aes_256_cfb8: i32 = 655;
2072pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2073pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2074pub const NID_des_cfb1: i32 = 656;
2075pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2076pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2077pub const NID_des_cfb8: i32 = 657;
2078pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2079pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2080pub const NID_des_ede3_cfb1: i32 = 658;
2081pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2082pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2083pub const NID_des_ede3_cfb8: i32 = 659;
2084pub const SN_streetAddress: &[u8; 7] = b"street\0";
2085pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2086pub const NID_streetAddress: i32 = 660;
2087pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2088pub const NID_postalCode: i32 = 661;
2089pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2090pub const NID_id_ppl: i32 = 662;
2091pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2092pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2093pub const NID_proxyCertInfo: i32 = 663;
2094pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2095pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2096pub const NID_id_ppl_anyLanguage: i32 = 664;
2097pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2098pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2099pub const NID_id_ppl_inheritAll: i32 = 665;
2100pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2101pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2102pub const NID_name_constraints: i32 = 666;
2103pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2104pub const LN_Independent: &[u8; 12] = b"Independent\0";
2105pub const NID_Independent: i32 = 667;
2106pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2107pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2108pub const NID_sha256WithRSAEncryption: i32 = 668;
2109pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2110pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2111pub const NID_sha384WithRSAEncryption: i32 = 669;
2112pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2113pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2114pub const NID_sha512WithRSAEncryption: i32 = 670;
2115pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2116pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2117pub const NID_sha224WithRSAEncryption: i32 = 671;
2118pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2119pub const LN_sha256: &[u8; 7] = b"sha256\0";
2120pub const NID_sha256: i32 = 672;
2121pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2122pub const LN_sha384: &[u8; 7] = b"sha384\0";
2123pub const NID_sha384: i32 = 673;
2124pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2125pub const LN_sha512: &[u8; 7] = b"sha512\0";
2126pub const NID_sha512: i32 = 674;
2127pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2128pub const LN_sha224: &[u8; 7] = b"sha224\0";
2129pub const NID_sha224: i32 = 675;
2130pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2131pub const NID_identified_organization: i32 = 676;
2132pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2133pub const NID_certicom_arc: i32 = 677;
2134pub const SN_wap: &[u8; 4] = b"wap\0";
2135pub const NID_wap: i32 = 678;
2136pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2137pub const NID_wap_wsg: i32 = 679;
2138pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2139pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2140pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2141pub const NID_X9_62_onBasis: i32 = 681;
2142pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2143pub const NID_X9_62_tpBasis: i32 = 682;
2144pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2145pub const NID_X9_62_ppBasis: i32 = 683;
2146pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2147pub const NID_X9_62_c2pnb163v1: i32 = 684;
2148pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2149pub const NID_X9_62_c2pnb163v2: i32 = 685;
2150pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2151pub const NID_X9_62_c2pnb163v3: i32 = 686;
2152pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2153pub const NID_X9_62_c2pnb176v1: i32 = 687;
2154pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2155pub const NID_X9_62_c2tnb191v1: i32 = 688;
2156pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2157pub const NID_X9_62_c2tnb191v2: i32 = 689;
2158pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2159pub const NID_X9_62_c2tnb191v3: i32 = 690;
2160pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2161pub const NID_X9_62_c2onb191v4: i32 = 691;
2162pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2163pub const NID_X9_62_c2onb191v5: i32 = 692;
2164pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2165pub const NID_X9_62_c2pnb208w1: i32 = 693;
2166pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2167pub const NID_X9_62_c2tnb239v1: i32 = 694;
2168pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2169pub const NID_X9_62_c2tnb239v2: i32 = 695;
2170pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2171pub const NID_X9_62_c2tnb239v3: i32 = 696;
2172pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2173pub const NID_X9_62_c2onb239v4: i32 = 697;
2174pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2175pub const NID_X9_62_c2onb239v5: i32 = 698;
2176pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2177pub const NID_X9_62_c2pnb272w1: i32 = 699;
2178pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2179pub const NID_X9_62_c2pnb304w1: i32 = 700;
2180pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2181pub const NID_X9_62_c2tnb359v1: i32 = 701;
2182pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2183pub const NID_X9_62_c2pnb368w1: i32 = 702;
2184pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2185pub const NID_X9_62_c2tnb431r1: i32 = 703;
2186pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2187pub const NID_secp112r1: i32 = 704;
2188pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2189pub const NID_secp112r2: i32 = 705;
2190pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2191pub const NID_secp128r1: i32 = 706;
2192pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2193pub const NID_secp128r2: i32 = 707;
2194pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2195pub const NID_secp160k1: i32 = 708;
2196pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2197pub const NID_secp160r1: i32 = 709;
2198pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2199pub const NID_secp160r2: i32 = 710;
2200pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2201pub const NID_secp192k1: i32 = 711;
2202pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2203pub const NID_secp224k1: i32 = 712;
2204pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2205pub const NID_secp224r1: i32 = 713;
2206pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2207pub const NID_secp256k1: i32 = 714;
2208pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2209pub const NID_secp384r1: i32 = 715;
2210pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2211pub const NID_secp521r1: i32 = 716;
2212pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2213pub const NID_sect113r1: i32 = 717;
2214pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2215pub const NID_sect113r2: i32 = 718;
2216pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2217pub const NID_sect131r1: i32 = 719;
2218pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2219pub const NID_sect131r2: i32 = 720;
2220pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2221pub const NID_sect163k1: i32 = 721;
2222pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2223pub const NID_sect163r1: i32 = 722;
2224pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2225pub const NID_sect163r2: i32 = 723;
2226pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2227pub const NID_sect193r1: i32 = 724;
2228pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2229pub const NID_sect193r2: i32 = 725;
2230pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2231pub const NID_sect233k1: i32 = 726;
2232pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2233pub const NID_sect233r1: i32 = 727;
2234pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2235pub const NID_sect239k1: i32 = 728;
2236pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2237pub const NID_sect283k1: i32 = 729;
2238pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2239pub const NID_sect283r1: i32 = 730;
2240pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2241pub const NID_sect409k1: i32 = 731;
2242pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2243pub const NID_sect409r1: i32 = 732;
2244pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2245pub const NID_sect571k1: i32 = 733;
2246pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2247pub const NID_sect571r1: i32 = 734;
2248pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2249pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2250pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2251pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2252pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2253pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2254pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2255pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2256pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2257pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2258pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2259pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2260pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2261pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2262pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2263pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2264pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2265pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2266pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2267pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2268pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2269pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2270pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2271pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2272pub const NID_any_policy: i32 = 746;
2273pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2274pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2275pub const NID_policy_mappings: i32 = 747;
2276pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2277pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2278pub const NID_inhibit_any_policy: i32 = 748;
2279pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2280pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2281pub const NID_ipsec3: i32 = 749;
2282pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2283pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2284pub const NID_ipsec4: i32 = 750;
2285pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2286pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2287pub const NID_camellia_128_cbc: i32 = 751;
2288pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2289pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2290pub const NID_camellia_192_cbc: i32 = 752;
2291pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2292pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2293pub const NID_camellia_256_cbc: i32 = 753;
2294pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2295pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2296pub const NID_camellia_128_ecb: i32 = 754;
2297pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2298pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2299pub const NID_camellia_192_ecb: i32 = 755;
2300pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2301pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2302pub const NID_camellia_256_ecb: i32 = 756;
2303pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2304pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2305pub const NID_camellia_128_cfb128: i32 = 757;
2306pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2307pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2308pub const NID_camellia_192_cfb128: i32 = 758;
2309pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2310pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2311pub const NID_camellia_256_cfb128: i32 = 759;
2312pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2313pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2314pub const NID_camellia_128_cfb1: i32 = 760;
2315pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2316pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2317pub const NID_camellia_192_cfb1: i32 = 761;
2318pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2319pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2320pub const NID_camellia_256_cfb1: i32 = 762;
2321pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2322pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2323pub const NID_camellia_128_cfb8: i32 = 763;
2324pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2325pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2326pub const NID_camellia_192_cfb8: i32 = 764;
2327pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2328pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2329pub const NID_camellia_256_cfb8: i32 = 765;
2330pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2331pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2332pub const NID_camellia_128_ofb128: i32 = 766;
2333pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2334pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2335pub const NID_camellia_192_ofb128: i32 = 767;
2336pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2337pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2338pub const NID_camellia_256_ofb128: i32 = 768;
2339pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2340pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2341pub const NID_subject_directory_attributes: i32 = 769;
2342pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2343pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2344pub const NID_issuing_distribution_point: i32 = 770;
2345pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2346pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2347pub const NID_certificate_issuer: i32 = 771;
2348pub const SN_kisa: &[u8; 5] = b"KISA\0";
2349pub const LN_kisa: &[u8; 5] = b"kisa\0";
2350pub const NID_kisa: i32 = 773;
2351pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2352pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2353pub const NID_seed_ecb: i32 = 776;
2354pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2355pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2356pub const NID_seed_cbc: i32 = 777;
2357pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2358pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2359pub const NID_seed_ofb128: i32 = 778;
2360pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2361pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2362pub const NID_seed_cfb128: i32 = 779;
2363pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2364pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2365pub const NID_hmac_md5: i32 = 780;
2366pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2367pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2368pub const NID_hmac_sha1: i32 = 781;
2369pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2370pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2371pub const NID_id_PasswordBasedMAC: i32 = 782;
2372pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2373pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2374pub const NID_id_DHBasedMac: i32 = 783;
2375pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2376pub const NID_id_it_suppLangTags: i32 = 784;
2377pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2378pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2379pub const NID_caRepository: i32 = 785;
2380pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2381pub const NID_id_smime_ct_compressedData: i32 = 786;
2382pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2383pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2384pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2385pub const NID_id_aes128_wrap: i32 = 788;
2386pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2387pub const NID_id_aes192_wrap: i32 = 789;
2388pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2389pub const NID_id_aes256_wrap: i32 = 790;
2390pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2391pub const NID_ecdsa_with_Recommended: i32 = 791;
2392pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2393pub const NID_ecdsa_with_Specified: i32 = 792;
2394pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2395pub const NID_ecdsa_with_SHA224: i32 = 793;
2396pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2397pub const NID_ecdsa_with_SHA256: i32 = 794;
2398pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2399pub const NID_ecdsa_with_SHA384: i32 = 795;
2400pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2401pub const NID_ecdsa_with_SHA512: i32 = 796;
2402pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2403pub const NID_hmacWithMD5: i32 = 797;
2404pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2405pub const NID_hmacWithSHA224: i32 = 798;
2406pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2407pub const NID_hmacWithSHA256: i32 = 799;
2408pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2409pub const NID_hmacWithSHA384: i32 = 800;
2410pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2411pub const NID_hmacWithSHA512: i32 = 801;
2412pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2413pub const NID_dsa_with_SHA224: i32 = 802;
2414pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2415pub const NID_dsa_with_SHA256: i32 = 803;
2416pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2417pub const NID_whirlpool: i32 = 804;
2418pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2419pub const NID_cryptopro: i32 = 805;
2420pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2421pub const NID_cryptocom: i32 = 806;
2422pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2423    b"id-GostR3411-94-with-GostR3410-2001\0";
2424pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2425    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2426pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2427pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2428pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2429    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2430pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2431pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2432pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2433pub const NID_id_GostR3411_94: i32 = 809;
2434pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2435pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2436pub const NID_id_HMACGostR3411_94: i32 = 810;
2437pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2438pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2439pub const NID_id_GostR3410_2001: i32 = 811;
2440pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2441pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2442pub const NID_id_GostR3410_94: i32 = 812;
2443pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2444pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2445pub const NID_id_Gost28147_89: i32 = 813;
2446pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2447pub const NID_gost89_cnt: i32 = 814;
2448pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2449pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2450pub const NID_id_Gost28147_89_MAC: i32 = 815;
2451pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2452pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2453pub const NID_id_GostR3411_94_prf: i32 = 816;
2454pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2455pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2456pub const NID_id_GostR3410_2001DH: i32 = 817;
2457pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2458pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2459pub const NID_id_GostR3410_94DH: i32 = 818;
2460pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2461    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2462pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2463pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2464pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2465pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2466pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2467pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2468pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2469pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2470pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2471pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2472    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2473pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2474pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2475    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2476pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2477pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2478    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2479pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2480pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2481    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2482pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2483pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2484    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2485pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2486pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2487    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2488pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2489pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2490    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2491pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2492pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2493pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2494pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2495    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2496pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2497pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2498    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2499pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2500pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2501    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2502pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2503pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2504    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2505pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2506pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2507    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2508pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2509pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2510    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2511pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2512pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2513    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2514pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2515pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2516pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2517pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2518    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2519pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2520pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2521    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2522pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2523pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2524    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2525pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2526pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2527    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2528pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2529pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2530    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2531pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2532pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2533pub const NID_id_GostR3410_94_a: i32 = 845;
2534pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2535pub const NID_id_GostR3410_94_aBis: i32 = 846;
2536pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2537pub const NID_id_GostR3410_94_b: i32 = 847;
2538pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2539pub const NID_id_GostR3410_94_bBis: i32 = 848;
2540pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2541pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2542pub const NID_id_Gost28147_89_cc: i32 = 849;
2543pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2544pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2545pub const NID_id_GostR3410_94_cc: i32 = 850;
2546pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2547pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2548pub const NID_id_GostR3410_2001_cc: i32 = 851;
2549pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2550    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2551pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2552    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2553pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2554pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2555    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2556pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2557    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2558pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2559pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2560pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2561    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2562pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2563pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2564pub const LN_hmac: &[u8; 5] = b"hmac\0";
2565pub const NID_hmac: i32 = 855;
2566pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2567pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2568pub const NID_LocalKeySet: i32 = 856;
2569pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2570pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2571pub const NID_freshest_crl: i32 = 857;
2572pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2573pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2574pub const NID_id_on_permanentIdentifier: i32 = 858;
2575pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2576pub const NID_searchGuide: i32 = 859;
2577pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2578pub const NID_businessCategory: i32 = 860;
2579pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2580pub const NID_postalAddress: i32 = 861;
2581pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2582pub const NID_postOfficeBox: i32 = 862;
2583pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2584pub const NID_physicalDeliveryOfficeName: i32 = 863;
2585pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2586pub const NID_telephoneNumber: i32 = 864;
2587pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2588pub const NID_telexNumber: i32 = 865;
2589pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2590pub const NID_teletexTerminalIdentifier: i32 = 866;
2591pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2592pub const NID_facsimileTelephoneNumber: i32 = 867;
2593pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2594pub const NID_x121Address: i32 = 868;
2595pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2596pub const NID_internationaliSDNNumber: i32 = 869;
2597pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2598pub const NID_registeredAddress: i32 = 870;
2599pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2600pub const NID_destinationIndicator: i32 = 871;
2601pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2602pub const NID_preferredDeliveryMethod: i32 = 872;
2603pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2604pub const NID_presentationAddress: i32 = 873;
2605pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
2606pub const NID_supportedApplicationContext: i32 = 874;
2607pub const SN_member: &[u8; 7] = b"member\0";
2608pub const NID_member: i32 = 875;
2609pub const SN_owner: &[u8; 6] = b"owner\0";
2610pub const NID_owner: i32 = 876;
2611pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
2612pub const NID_roleOccupant: i32 = 877;
2613pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
2614pub const NID_seeAlso: i32 = 878;
2615pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
2616pub const NID_userPassword: i32 = 879;
2617pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
2618pub const NID_userCertificate: i32 = 880;
2619pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
2620pub const NID_cACertificate: i32 = 881;
2621pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
2622pub const NID_authorityRevocationList: i32 = 882;
2623pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
2624pub const NID_certificateRevocationList: i32 = 883;
2625pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
2626pub const NID_crossCertificatePair: i32 = 884;
2627pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
2628pub const NID_enhancedSearchGuide: i32 = 885;
2629pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
2630pub const NID_protocolInformation: i32 = 886;
2631pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
2632pub const NID_distinguishedName: i32 = 887;
2633pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
2634pub const NID_uniqueMember: i32 = 888;
2635pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
2636pub const NID_houseIdentifier: i32 = 889;
2637pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
2638pub const NID_supportedAlgorithms: i32 = 890;
2639pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
2640pub const NID_deltaRevocationList: i32 = 891;
2641pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
2642pub const NID_dmdName: i32 = 892;
2643pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
2644pub const NID_id_alg_PWRI_KEK: i32 = 893;
2645pub const SN_cmac: &[u8; 5] = b"CMAC\0";
2646pub const LN_cmac: &[u8; 5] = b"cmac\0";
2647pub const NID_cmac: i32 = 894;
2648pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
2649pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
2650pub const NID_aes_128_gcm: i32 = 895;
2651pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
2652pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
2653pub const NID_aes_128_ccm: i32 = 896;
2654pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
2655pub const NID_id_aes128_wrap_pad: i32 = 897;
2656pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
2657pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
2658pub const NID_aes_192_gcm: i32 = 898;
2659pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
2660pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
2661pub const NID_aes_192_ccm: i32 = 899;
2662pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
2663pub const NID_id_aes192_wrap_pad: i32 = 900;
2664pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
2665pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
2666pub const NID_aes_256_gcm: i32 = 901;
2667pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
2668pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
2669pub const NID_aes_256_ccm: i32 = 902;
2670pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
2671pub const NID_id_aes256_wrap_pad: i32 = 903;
2672pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
2673pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
2674pub const NID_aes_128_ctr: i32 = 904;
2675pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
2676pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
2677pub const NID_aes_192_ctr: i32 = 905;
2678pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
2679pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
2680pub const NID_aes_256_ctr: i32 = 906;
2681pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
2682pub const NID_id_camellia128_wrap: i32 = 907;
2683pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
2684pub const NID_id_camellia192_wrap: i32 = 908;
2685pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
2686pub const NID_id_camellia256_wrap: i32 = 909;
2687pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
2688pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
2689pub const NID_anyExtendedKeyUsage: i32 = 910;
2690pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
2691pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
2692pub const NID_mgf1: i32 = 911;
2693pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
2694pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
2695pub const NID_rsassaPss: i32 = 912;
2696pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
2697pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
2698pub const NID_aes_128_xts: i32 = 913;
2699pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
2700pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
2701pub const NID_aes_256_xts: i32 = 914;
2702pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
2703pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
2704pub const NID_rc4_hmac_md5: i32 = 915;
2705pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
2706pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
2707pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
2708pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
2709pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
2710pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
2711pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
2712pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
2713pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
2714pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
2715pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
2716pub const NID_rsaesOaep: i32 = 919;
2717pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
2718pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
2719pub const NID_dhpublicnumber: i32 = 920;
2720pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
2721pub const NID_brainpoolP160r1: i32 = 921;
2722pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
2723pub const NID_brainpoolP160t1: i32 = 922;
2724pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
2725pub const NID_brainpoolP192r1: i32 = 923;
2726pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
2727pub const NID_brainpoolP192t1: i32 = 924;
2728pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
2729pub const NID_brainpoolP224r1: i32 = 925;
2730pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
2731pub const NID_brainpoolP224t1: i32 = 926;
2732pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
2733pub const NID_brainpoolP256r1: i32 = 927;
2734pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
2735pub const NID_brainpoolP256t1: i32 = 928;
2736pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
2737pub const NID_brainpoolP320r1: i32 = 929;
2738pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
2739pub const NID_brainpoolP320t1: i32 = 930;
2740pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
2741pub const NID_brainpoolP384r1: i32 = 931;
2742pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
2743pub const NID_brainpoolP384t1: i32 = 932;
2744pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
2745pub const NID_brainpoolP512r1: i32 = 933;
2746pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
2747pub const NID_brainpoolP512t1: i32 = 934;
2748pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
2749pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
2750pub const NID_pSpecified: i32 = 935;
2751pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
2752pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
2753pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
2754    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
2755pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
2756pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
2757    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
2758pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
2759pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
2760    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
2761pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
2762pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
2763    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
2764pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
2765pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
2766    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
2767pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
2768pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
2769    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
2770pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
2771pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
2772    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
2773pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
2774pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
2775    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
2776pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
2777pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
2778    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
2779pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
2780pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
2781pub const NID_dh_std_kdf: i32 = 946;
2782pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
2783pub const NID_dh_cofactor_kdf: i32 = 947;
2784pub const SN_X25519: &[u8; 7] = b"X25519\0";
2785pub const NID_X25519: i32 = 948;
2786pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
2787pub const NID_ED25519: i32 = 949;
2788pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
2789pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
2790pub const NID_chacha20_poly1305: i32 = 950;
2791pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
2792pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
2793pub const NID_kx_rsa: i32 = 951;
2794pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
2795pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
2796pub const NID_kx_ecdhe: i32 = 952;
2797pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
2798pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
2799pub const NID_kx_psk: i32 = 953;
2800pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
2801pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
2802pub const NID_auth_rsa: i32 = 954;
2803pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
2804pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
2805pub const NID_auth_ecdsa: i32 = 955;
2806pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
2807pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
2808pub const NID_auth_psk: i32 = 956;
2809pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
2810pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
2811pub const NID_kx_any: i32 = 957;
2812pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
2813pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
2814pub const NID_auth_any: i32 = 958;
2815pub const SN_ED448: &[u8; 6] = b"ED448\0";
2816pub const NID_ED448: i32 = 960;
2817pub const SN_X448: &[u8; 5] = b"X448\0";
2818pub const NID_X448: i32 = 961;
2819pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
2820pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
2821pub const NID_sha512_256: i32 = 962;
2822pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
2823pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
2824pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
2825pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
2826pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
2827pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
2828pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
2829pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
2830pub const NID_sha3_224: i32 = 965;
2831pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
2832pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
2833pub const NID_sha3_256: i32 = 966;
2834pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
2835pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
2836pub const NID_sha3_384: i32 = 967;
2837pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
2838pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
2839pub const NID_sha3_512: i32 = 968;
2840pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
2841pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
2842pub const NID_hkdf: i32 = 969;
2843pub const SN_kem: &[u8; 4] = b"KEM\0";
2844pub const LN_kem: &[u8; 4] = b"kem\0";
2845pub const NID_kem: i32 = 970;
2846pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
2847pub const NID_ffdhe2048: i32 = 976;
2848pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
2849pub const NID_ffdhe4096: i32 = 977;
2850pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
2851pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
2852pub const NID_sha512_224: i32 = 978;
2853pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
2854pub const LN_shake128: &[u8; 9] = b"shake128\0";
2855pub const NID_shake128: i32 = 979;
2856pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
2857pub const LN_shake256: &[u8; 9] = b"shake256\0";
2858pub const NID_shake256: i32 = 980;
2859pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
2860pub const NID_ffdhe3072: i32 = 983;
2861pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
2862pub const NID_ffdhe8192: i32 = 984;
2863pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
2864pub const NID_MLKEM512IPD: i32 = 985;
2865pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
2866pub const NID_MLKEM768IPD: i32 = 986;
2867pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
2868pub const NID_MLKEM1024IPD: i32 = 987;
2869pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
2870pub const NID_MLKEM512: i32 = 988;
2871pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
2872pub const NID_MLKEM768: i32 = 989;
2873pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
2874pub const NID_MLKEM1024: i32 = 990;
2875pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
2876pub const NID_X25519MLKEM768: i32 = 991;
2877pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
2878pub const NID_SecP256r1MLKEM768: i32 = 992;
2879pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
2880pub const NID_PQDSA: i32 = 993;
2881pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
2882pub const NID_MLDSA44: i32 = 994;
2883pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
2884pub const NID_MLDSA65: i32 = 995;
2885pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
2886pub const NID_MLDSA87: i32 = 996;
2887pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
2888pub const NID_ED25519ph: i32 = 997;
2889pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
2890pub const NID_SecP384r1MLKEM1024: i32 = 998;
2891pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
2892pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
2893pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
2894pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
2895pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
2896pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
2897pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
2898pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
2899pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
2900pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
2901pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
2902pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
2903pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
2904pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
2905pub const HMAC_R_UNSUPPORTED_DIGEST: i32 = 106;
2906pub const EVP_PKEY_NONE: i32 = 0;
2907pub const EVP_PKEY_RSA: i32 = 6;
2908pub const EVP_PKEY_RSA_PSS: i32 = 912;
2909pub const EVP_PKEY_EC: i32 = 408;
2910pub const EVP_PKEY_ED25519: i32 = 949;
2911pub const EVP_PKEY_ED25519PH: i32 = 997;
2912pub const EVP_PKEY_X25519: i32 = 948;
2913pub const EVP_PKEY_HKDF: i32 = 969;
2914pub const EVP_PKEY_HMAC: i32 = 855;
2915pub const EVP_PKEY_DH: i32 = 28;
2916pub const EVP_PKEY_PQDSA: i32 = 993;
2917pub const EVP_PKEY_KEM: i32 = 970;
2918pub const PKCS5_SALT_LEN: i32 = 8;
2919pub const EVP_PKEY_RSA2: i32 = 19;
2920pub const EVP_PKEY_X448: i32 = 961;
2921pub const EVP_PKEY_ED448: i32 = 960;
2922pub const EVP_PKEY_DSA: i32 = 116;
2923pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
2924pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
2925pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
2926pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
2927pub const HKDF_R_UNSUPPORTED_DIGEST: i32 = 101;
2928pub const RSA_PKCS1_PADDING: i32 = 1;
2929pub const RSA_NO_PADDING: i32 = 3;
2930pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
2931pub const RSA_X931_PADDING: i32 = 5;
2932pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
2933pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
2934pub const RSA_FLAG_OPAQUE: i32 = 1;
2935pub const RSA_FLAG_NO_BLINDING: i32 = 8;
2936pub const RSA_FLAG_EXT_PKEY: i32 = 32;
2937pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
2938pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
2939pub const RSA_3: i32 = 3;
2940pub const RSA_F4: i32 = 65537;
2941pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
2942pub const RSA_R_BAD_ENCODING: i32 = 100;
2943pub const RSA_R_BAD_E_VALUE: i32 = 101;
2944pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
2945pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
2946pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
2947pub const RSA_R_BAD_SIGNATURE: i32 = 105;
2948pub const RSA_R_BAD_VERSION: i32 = 106;
2949pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
2950pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
2951pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
2952pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
2953pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
2954pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
2955pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
2956pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
2957pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
2958pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
2959pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
2960pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
2961pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
2962pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
2963pub const RSA_R_ENCODE_ERROR: i32 = 121;
2964pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
2965pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
2966pub const RSA_R_INTERNAL_ERROR: i32 = 124;
2967pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
2968pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
2969pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
2970pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
2971pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
2972pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
2973pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
2974pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
2975pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
2976pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
2977pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
2978pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
2979pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
2980pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
2981pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
2982pub const RSA_R_TOO_LONG: i32 = 140;
2983pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
2984pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
2985pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
2986pub const RSA_R_VALUE_MISSING: i32 = 144;
2987pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
2988pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
2989pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
2990pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
2991pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
2992pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
2993pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
2994pub type __off_t = ::std::os::raw::c_long;
2995pub type __off64_t = ::std::os::raw::c_long;
2996#[repr(C)]
2997#[repr(align(4))]
2998#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
2999pub struct static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3000    pub _bitfield_align_1: [u8; 0],
3001    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3002    pub __bindgen_padding_0: [u8; 3usize],
3003}
3004#[test]
3005fn bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3006) {
3007    assert_eq!(
3008        ::std::mem::size_of::<
3009            static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit,
3010        >(),
3011        4usize,
3012        "Size of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit"
3013    );
3014    assert_eq ! (:: std :: mem :: align_of :: < static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit > () , 4usize , "Alignment of static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit");
3015}
3016impl static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit {
3017    #[inline]
3018    pub fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3019        &self,
3020    ) -> ::std::os::raw::c_uint {
3021        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3022    }
3023    #[inline]
3024    pub fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(
3025        &mut self,
3026        val: ::std::os::raw::c_uint,
3027    ) {
3028        unsafe {
3029            let val: u32 = ::std::mem::transmute(val);
3030            self._bitfield_1.set(0usize, 1u8, val as u64)
3031        }
3032    }
3033    #[inline]
3034    pub unsafe fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3035        this: *const Self,
3036    ) -> ::std::os::raw::c_uint {
3037        unsafe {
3038            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3039                ::std::ptr::addr_of!((*this)._bitfield_1),
3040                0usize,
3041                1u8,
3042            ) as u32)
3043        }
3044    }
3045    #[inline]
3046    pub unsafe fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(
3047        this: *mut Self,
3048        val: ::std::os::raw::c_uint,
3049    ) {
3050        unsafe {
3051            let val: u32 = ::std::mem::transmute(val);
3052            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3053                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3054                0usize,
3055                1u8,
3056                val as u64,
3057            )
3058        }
3059    }
3060    #[inline]
3061    pub fn new_bitfield_1(
3062        static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : :: std :: os :: raw :: c_uint,
3063    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3064        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3065        __bindgen_bitfield_unit . set (0usize , 1u8 , { let static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit : u32 = unsafe { :: std :: mem :: transmute (static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit) } ; static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit as u64 }) ;
3066        __bindgen_bitfield_unit
3067    }
3068}
3069pub type ossl_ssize_t = isize;
3070pub type CBS_ASN1_TAG = u32;
3071pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3072#[repr(C)]
3073#[derive(Debug, Copy, Clone)]
3074pub struct asn1_null_st {
3075    _unused: [u8; 0],
3076}
3077pub type ASN1_NULL = asn1_null_st;
3078pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3079pub type ASN1_ITEM = ASN1_ITEM_st;
3080#[repr(C)]
3081#[derive(Debug, Copy, Clone)]
3082pub struct asn1_object_st {
3083    _unused: [u8; 0],
3084}
3085pub type ASN1_OBJECT = asn1_object_st;
3086#[repr(C)]
3087#[derive(Debug, Copy, Clone)]
3088pub struct asn1_pctx_st {
3089    _unused: [u8; 0],
3090}
3091pub type ASN1_PCTX = asn1_pctx_st;
3092pub type ASN1_BIT_STRING = asn1_string_st;
3093pub type ASN1_BMPSTRING = asn1_string_st;
3094pub type ASN1_ENUMERATED = asn1_string_st;
3095pub type ASN1_GENERALIZEDTIME = asn1_string_st;
3096pub type ASN1_GENERALSTRING = asn1_string_st;
3097pub type ASN1_IA5STRING = asn1_string_st;
3098pub type ASN1_INTEGER = asn1_string_st;
3099pub type ASN1_OCTET_STRING = asn1_string_st;
3100pub type ASN1_PRINTABLESTRING = asn1_string_st;
3101pub type ASN1_STRING = asn1_string_st;
3102pub type ASN1_T61STRING = asn1_string_st;
3103pub type ASN1_TIME = asn1_string_st;
3104pub type ASN1_UNIVERSALSTRING = asn1_string_st;
3105pub type ASN1_UTCTIME = asn1_string_st;
3106pub type ASN1_UTF8STRING = asn1_string_st;
3107pub type ASN1_VISIBLESTRING = asn1_string_st;
3108pub type ASN1_TYPE = asn1_type_st;
3109pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
3110pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
3111pub type DIST_POINT = DIST_POINT_st;
3112pub type DSA_SIG = DSA_SIG_st;
3113pub type GENERAL_NAME = GENERAL_NAME_st;
3114pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
3115pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
3116pub type NETSCAPE_SPKAC = Netscape_spkac_st;
3117pub type NETSCAPE_SPKI = Netscape_spki_st;
3118pub type RIPEMD160_CTX = RIPEMD160state_st;
3119#[repr(C)]
3120#[derive(Debug, Copy, Clone)]
3121pub struct X509_VERIFY_PARAM_st {
3122    _unused: [u8; 0],
3123}
3124pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
3125pub type X509_ALGOR = X509_algor_st;
3126#[repr(C)]
3127#[derive(Debug, Copy, Clone)]
3128pub struct X509_crl_st {
3129    _unused: [u8; 0],
3130}
3131pub type X509_CRL = X509_crl_st;
3132#[repr(C)]
3133#[derive(Debug, Copy, Clone)]
3134pub struct X509_extension_st {
3135    _unused: [u8; 0],
3136}
3137pub type X509_EXTENSION = X509_extension_st;
3138pub type X509_INFO = X509_info_st;
3139#[repr(C)]
3140#[derive(Debug, Copy, Clone)]
3141pub struct X509_name_entry_st {
3142    _unused: [u8; 0],
3143}
3144pub type X509_NAME_ENTRY = X509_name_entry_st;
3145#[repr(C)]
3146#[derive(Debug, Copy, Clone)]
3147pub struct X509_name_st {
3148    _unused: [u8; 0],
3149}
3150pub type X509_NAME = X509_name_st;
3151#[repr(C)]
3152#[derive(Debug, Copy, Clone)]
3153pub struct X509_pubkey_st {
3154    _unused: [u8; 0],
3155}
3156pub type X509_PUBKEY = X509_pubkey_st;
3157#[repr(C)]
3158#[derive(Debug, Copy, Clone)]
3159pub struct X509_req_st {
3160    _unused: [u8; 0],
3161}
3162pub type X509_REQ = X509_req_st;
3163#[repr(C)]
3164#[derive(Debug, Copy, Clone)]
3165pub struct x509_sig_info_st {
3166    _unused: [u8; 0],
3167}
3168pub type X509_SIG_INFO = x509_sig_info_st;
3169#[repr(C)]
3170#[derive(Debug, Copy, Clone)]
3171pub struct X509_sig_st {
3172    _unused: [u8; 0],
3173}
3174pub type X509_SIG = X509_sig_st;
3175#[repr(C)]
3176#[derive(Debug, Copy, Clone)]
3177pub struct bignum_ctx {
3178    _unused: [u8; 0],
3179}
3180pub type BN_CTX = bignum_ctx;
3181pub type BIGNUM = bignum_st;
3182pub type BIO_METHOD = bio_method_st;
3183pub type BIO = bio_st;
3184pub type BLAKE2B_CTX = blake2b_state_st;
3185pub type BN_GENCB = bn_gencb_st;
3186pub type BN_MONT_CTX = bn_mont_ctx_st;
3187pub type BUF_MEM = buf_mem_st;
3188#[repr(C)]
3189#[derive(Debug, Copy, Clone)]
3190pub struct cast_key_st {
3191    _unused: [u8; 0],
3192}
3193pub type CAST_KEY = cast_key_st;
3194pub type CBB = cbb_st;
3195pub type CBS = cbs_st;
3196#[repr(C)]
3197#[derive(Debug, Copy, Clone)]
3198pub struct cmac_ctx_st {
3199    _unused: [u8; 0],
3200}
3201pub type CMAC_CTX = cmac_ctx_st;
3202pub type CONF = conf_st;
3203pub type CONF_VALUE = conf_value_st;
3204#[repr(C)]
3205#[derive(Debug, Copy, Clone)]
3206pub struct crypto_buffer_pool_st {
3207    _unused: [u8; 0],
3208}
3209pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
3210#[repr(C)]
3211#[derive(Debug, Copy, Clone)]
3212pub struct crypto_buffer_st {
3213    _unused: [u8; 0],
3214}
3215pub type CRYPTO_BUFFER = crypto_buffer_st;
3216#[repr(C)]
3217#[derive(Debug, Copy, Clone)]
3218pub struct ctr_drbg_state_st {
3219    _unused: [u8; 0],
3220}
3221pub type CTR_DRBG_STATE = ctr_drbg_state_st;
3222#[repr(C)]
3223#[derive(Debug, Copy, Clone)]
3224pub struct dh_st {
3225    _unused: [u8; 0],
3226}
3227pub type DH = dh_st;
3228#[repr(C)]
3229#[derive(Debug, Copy, Clone)]
3230pub struct dsa_st {
3231    _unused: [u8; 0],
3232}
3233pub type DSA = dsa_st;
3234#[repr(C)]
3235#[derive(Debug, Copy, Clone)]
3236pub struct ec_group_st {
3237    _unused: [u8; 0],
3238}
3239pub type EC_GROUP = ec_group_st;
3240#[repr(C)]
3241#[derive(Debug, Copy, Clone)]
3242pub struct ec_key_st {
3243    _unused: [u8; 0],
3244}
3245pub type EC_KEY = ec_key_st;
3246#[repr(C)]
3247#[derive(Debug, Copy, Clone)]
3248pub struct ec_point_st {
3249    _unused: [u8; 0],
3250}
3251pub type EC_POINT = ec_point_st;
3252#[repr(C)]
3253#[derive(Debug, Copy, Clone)]
3254pub struct ec_key_method_st {
3255    _unused: [u8; 0],
3256}
3257pub type EC_KEY_METHOD = ec_key_method_st;
3258pub type ECDSA_SIG = ecdsa_sig_st;
3259#[repr(C)]
3260#[derive(Debug, Copy, Clone)]
3261pub struct engine_st {
3262    _unused: [u8; 0],
3263}
3264pub type ENGINE = engine_st;
3265pub type EVP_MD_CTX = env_md_ctx_st;
3266#[repr(C)]
3267#[derive(Debug, Copy, Clone)]
3268pub struct env_md_st {
3269    _unused: [u8; 0],
3270}
3271pub type EVP_MD = env_md_st;
3272#[repr(C)]
3273#[derive(Debug, Copy, Clone)]
3274pub struct evp_aead_st {
3275    _unused: [u8; 0],
3276}
3277pub type EVP_AEAD = evp_aead_st;
3278pub type EVP_AEAD_CTX = evp_aead_ctx_st;
3279pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
3280#[repr(C)]
3281#[derive(Debug, Copy, Clone)]
3282pub struct evp_cipher_st {
3283    _unused: [u8; 0],
3284}
3285pub type EVP_CIPHER = evp_cipher_st;
3286#[doc = " @typedef EVP_ENCODE_CTX\n @copydoc evp_encode_ctx_st\n @see evp_encode_ctx_st"]
3287pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
3288#[repr(C)]
3289#[derive(Debug, Copy, Clone)]
3290pub struct evp_hpke_aead_st {
3291    _unused: [u8; 0],
3292}
3293pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
3294pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
3295#[repr(C)]
3296#[derive(Debug, Copy, Clone)]
3297pub struct evp_hpke_kdf_st {
3298    _unused: [u8; 0],
3299}
3300pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
3301#[repr(C)]
3302#[derive(Debug, Copy, Clone)]
3303pub struct evp_hpke_kem_st {
3304    _unused: [u8; 0],
3305}
3306pub type EVP_HPKE_KEM = evp_hpke_kem_st;
3307pub type EVP_HPKE_KEY = evp_hpke_key_st;
3308#[repr(C)]
3309#[derive(Debug, Copy, Clone)]
3310pub struct evp_kem_st {
3311    _unused: [u8; 0],
3312}
3313pub type EVP_KEM = evp_kem_st;
3314#[repr(C)]
3315#[derive(Debug, Copy, Clone)]
3316pub struct kem_key_st {
3317    _unused: [u8; 0],
3318}
3319pub type KEM_KEY = kem_key_st;
3320#[repr(C)]
3321#[derive(Debug, Copy, Clone)]
3322pub struct evp_pkey_ctx_st {
3323    _unused: [u8; 0],
3324}
3325pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
3326#[repr(C)]
3327#[derive(Debug, Copy, Clone)]
3328pub struct evp_pkey_asn1_method_st {
3329    _unused: [u8; 0],
3330}
3331pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
3332#[repr(C)]
3333#[derive(Debug, Copy, Clone)]
3334pub struct evp_pkey_st {
3335    _unused: [u8; 0],
3336}
3337pub type EVP_PKEY = evp_pkey_st;
3338#[repr(C)]
3339#[derive(Debug, Copy, Clone)]
3340pub struct evp_pkey_ctx_signature_context_params_st {
3341    _unused: [u8; 0],
3342}
3343pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
3344pub type HMAC_CTX = hmac_ctx_st;
3345pub type MD4_CTX = md4_state_st;
3346pub type MD5_CTX = md5_state_st;
3347#[repr(C)]
3348#[derive(Debug, Copy, Clone)]
3349pub struct pqdsa_key_st {
3350    _unused: [u8; 0],
3351}
3352pub type PQDSA_KEY = pqdsa_key_st;
3353#[repr(C)]
3354#[derive(Debug, Copy, Clone)]
3355pub struct ocsp_req_ctx_st {
3356    _unused: [u8; 0],
3357}
3358pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
3359#[repr(C)]
3360#[derive(Debug, Copy, Clone)]
3361pub struct ossl_init_settings_st {
3362    _unused: [u8; 0],
3363}
3364pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
3365#[repr(C)]
3366#[derive(Debug, Copy, Clone)]
3367pub struct pkcs7_digest_st {
3368    _unused: [u8; 0],
3369}
3370pub type PKCS7_DIGEST = pkcs7_digest_st;
3371#[repr(C)]
3372#[derive(Debug, Copy, Clone)]
3373pub struct pkcs7_enc_content_st {
3374    _unused: [u8; 0],
3375}
3376pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
3377#[repr(C)]
3378#[derive(Debug, Copy, Clone)]
3379pub struct pkcs7_encrypt_st {
3380    _unused: [u8; 0],
3381}
3382pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
3383pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
3384pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
3385pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
3386pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
3387pub type PKCS7_SIGNED = pkcs7_signed_st;
3388pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
3389pub type PKCS7 = pkcs7_st;
3390#[repr(C)]
3391#[derive(Debug, Copy, Clone)]
3392pub struct pkcs12_st {
3393    _unused: [u8; 0],
3394}
3395pub type PKCS12 = pkcs12_st;
3396#[repr(C)]
3397#[derive(Debug, Copy, Clone)]
3398pub struct pkcs8_priv_key_info_st {
3399    _unused: [u8; 0],
3400}
3401pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
3402pub type X509_PKEY = private_key_st;
3403pub type RAND_METHOD = rand_meth_st;
3404pub type RC4_KEY = rc4_key_st;
3405#[repr(C)]
3406#[derive(Debug, Copy, Clone)]
3407pub struct rsa_meth_st {
3408    _unused: [u8; 0],
3409}
3410pub type RSA_METHOD = rsa_meth_st;
3411#[repr(C)]
3412#[derive(Debug, Copy, Clone)]
3413pub struct rsassa_pss_params_st {
3414    _unused: [u8; 0],
3415}
3416pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
3417pub type RSA_PSS_PARAMS = rsa_pss_params_st;
3418#[repr(C)]
3419#[derive(Debug, Copy, Clone)]
3420pub struct rsa_st {
3421    _unused: [u8; 0],
3422}
3423pub type RSA = rsa_st;
3424pub type SHA256_CTX = sha256_state_st;
3425pub type SHA512_CTX = sha512_state_st;
3426pub type SHA_CTX = sha_state_st;
3427#[repr(C)]
3428#[derive(Debug, Copy, Clone)]
3429pub struct spake2_ctx_st {
3430    _unused: [u8; 0],
3431}
3432pub type SPAKE2_CTX = spake2_ctx_st;
3433#[repr(C)]
3434#[derive(Debug, Copy, Clone)]
3435pub struct srtp_protection_profile_st {
3436    _unused: [u8; 0],
3437}
3438pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
3439#[repr(C)]
3440#[derive(Debug, Copy, Clone)]
3441pub struct ssl_cipher_st {
3442    _unused: [u8; 0],
3443}
3444pub type SSL_CIPHER = ssl_cipher_st;
3445#[repr(C)]
3446#[derive(Debug, Copy, Clone)]
3447pub struct ssl_ctx_st {
3448    _unused: [u8; 0],
3449}
3450pub type SSL_CTX = ssl_ctx_st;
3451#[repr(C)]
3452#[derive(Debug, Copy, Clone)]
3453pub struct ssl_early_callback_ctx {
3454    _unused: [u8; 0],
3455}
3456pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
3457#[repr(C)]
3458#[derive(Debug, Copy, Clone)]
3459pub struct ssl_ech_keys_st {
3460    _unused: [u8; 0],
3461}
3462pub type SSL_ECH_KEYS = ssl_ech_keys_st;
3463#[repr(C)]
3464#[derive(Debug, Copy, Clone)]
3465pub struct ssl_method_st {
3466    _unused: [u8; 0],
3467}
3468pub type SSL_METHOD = ssl_method_st;
3469#[repr(C)]
3470#[derive(Debug, Copy, Clone)]
3471pub struct ssl_private_key_method_st {
3472    _unused: [u8; 0],
3473}
3474pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
3475#[repr(C)]
3476#[derive(Debug, Copy, Clone)]
3477pub struct ssl_quic_method_st {
3478    _unused: [u8; 0],
3479}
3480pub type SSL_QUIC_METHOD = ssl_quic_method_st;
3481#[repr(C)]
3482#[derive(Debug, Copy, Clone)]
3483pub struct ssl_session_st {
3484    _unused: [u8; 0],
3485}
3486pub type SSL_SESSION = ssl_session_st;
3487#[repr(C)]
3488#[derive(Debug, Copy, Clone)]
3489pub struct ssl_st {
3490    _unused: [u8; 0],
3491}
3492pub type SSL = ssl_st;
3493#[repr(C)]
3494#[derive(Debug, Copy, Clone)]
3495pub struct ssl_ticket_aead_method_st {
3496    _unused: [u8; 0],
3497}
3498pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
3499#[repr(C)]
3500#[derive(Debug, Copy, Clone)]
3501pub struct st_ERR_FNS {
3502    _unused: [u8; 0],
3503}
3504pub type ERR_FNS = st_ERR_FNS;
3505pub type TRUST_TOKEN = trust_token_st;
3506#[repr(C)]
3507#[derive(Debug, Copy, Clone)]
3508pub struct trust_token_client_st {
3509    _unused: [u8; 0],
3510}
3511pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
3512#[repr(C)]
3513#[derive(Debug, Copy, Clone)]
3514pub struct trust_token_issuer_st {
3515    _unused: [u8; 0],
3516}
3517pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
3518#[repr(C)]
3519#[derive(Debug, Copy, Clone)]
3520pub struct trust_token_method_st {
3521    _unused: [u8; 0],
3522}
3523pub type TRUST_TOKEN_METHOD = trust_token_method_st;
3524pub type X509V3_CTX = v3_ext_ctx;
3525pub type X509V3_EXT_METHOD = v3_ext_method;
3526#[repr(C)]
3527#[derive(Debug, Copy, Clone)]
3528pub struct x509_attributes_st {
3529    _unused: [u8; 0],
3530}
3531pub type X509_ATTRIBUTE = x509_attributes_st;
3532#[repr(C)]
3533#[derive(Debug, Copy, Clone)]
3534pub struct x509_lookup_st {
3535    _unused: [u8; 0],
3536}
3537pub type X509_LOOKUP = x509_lookup_st;
3538#[repr(C)]
3539#[derive(Debug, Copy, Clone)]
3540pub struct x509_lookup_method_st {
3541    _unused: [u8; 0],
3542}
3543pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
3544#[repr(C)]
3545#[derive(Debug, Copy, Clone)]
3546pub struct x509_object_st {
3547    _unused: [u8; 0],
3548}
3549pub type X509_OBJECT = x509_object_st;
3550#[repr(C)]
3551#[derive(Debug, Copy, Clone)]
3552pub struct x509_revoked_st {
3553    _unused: [u8; 0],
3554}
3555pub type X509_REVOKED = x509_revoked_st;
3556#[repr(C)]
3557#[derive(Debug, Copy, Clone)]
3558pub struct x509_st {
3559    _unused: [u8; 0],
3560}
3561pub type X509 = x509_st;
3562#[repr(C)]
3563#[derive(Debug, Copy, Clone)]
3564pub struct x509_store_ctx_st {
3565    _unused: [u8; 0],
3566}
3567pub type X509_STORE_CTX = x509_store_ctx_st;
3568#[repr(C)]
3569#[derive(Debug, Copy, Clone)]
3570pub struct x509_store_st {
3571    _unused: [u8; 0],
3572}
3573pub type X509_STORE = x509_store_st;
3574pub type X509_TRUST = x509_trust_st;
3575pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
3576#[repr(C)]
3577#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3578pub struct aes_key_st {
3579    pub rd_key: [u32; 60usize],
3580    pub rounds: ::std::os::raw::c_uint,
3581}
3582#[test]
3583fn bindgen_test_layout_aes_key_st() {
3584    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
3585    let ptr = UNINIT.as_ptr();
3586    assert_eq!(
3587        ::std::mem::size_of::<aes_key_st>(),
3588        244usize,
3589        "Size of aes_key_st"
3590    );
3591    assert_eq!(
3592        ::std::mem::align_of::<aes_key_st>(),
3593        4usize,
3594        "Alignment of aes_key_st"
3595    );
3596    assert_eq!(
3597        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
3598        0usize,
3599        "Offset of field: aes_key_st::rd_key"
3600    );
3601    assert_eq!(
3602        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
3603        240usize,
3604        "Offset of field: aes_key_st::rounds"
3605    );
3606}
3607impl Default for aes_key_st {
3608    fn default() -> Self {
3609        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3610        unsafe {
3611            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3612            s.assume_init()
3613        }
3614    }
3615}
3616pub type AES_KEY = aes_key_st;
3617extern "C" {
3618    #[link_name = "\u{1}aws_lc_0_45_0_AES_set_encrypt_key"]
3619    pub fn AES_set_encrypt_key(
3620        key: *const u8,
3621        bits: ::std::os::raw::c_uint,
3622        aeskey: *mut AES_KEY,
3623    ) -> ::std::os::raw::c_int;
3624}
3625extern "C" {
3626    #[link_name = "\u{1}aws_lc_0_45_0_AES_set_decrypt_key"]
3627    pub fn AES_set_decrypt_key(
3628        key: *const u8,
3629        bits: ::std::os::raw::c_uint,
3630        aeskey: *mut AES_KEY,
3631    ) -> ::std::os::raw::c_int;
3632}
3633extern "C" {
3634    #[link_name = "\u{1}aws_lc_0_45_0_AES_encrypt"]
3635    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3636}
3637extern "C" {
3638    #[link_name = "\u{1}aws_lc_0_45_0_AES_decrypt"]
3639    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
3640}
3641extern "C" {
3642    #[link_name = "\u{1}aws_lc_0_45_0_AES_ctr128_encrypt"]
3643    pub fn AES_ctr128_encrypt(
3644        in_: *const u8,
3645        out: *mut u8,
3646        len: usize,
3647        key: *const AES_KEY,
3648        ivec: *mut u8,
3649        ecount_buf: *mut u8,
3650        num: *mut ::std::os::raw::c_uint,
3651    );
3652}
3653extern "C" {
3654    #[link_name = "\u{1}aws_lc_0_45_0_AES_ecb_encrypt"]
3655    pub fn AES_ecb_encrypt(
3656        in_: *const u8,
3657        out: *mut u8,
3658        key: *const AES_KEY,
3659        enc: ::std::os::raw::c_int,
3660    );
3661}
3662extern "C" {
3663    #[link_name = "\u{1}aws_lc_0_45_0_AES_cbc_encrypt"]
3664    pub fn AES_cbc_encrypt(
3665        in_: *const u8,
3666        out: *mut u8,
3667        len: usize,
3668        key: *const AES_KEY,
3669        ivec: *mut u8,
3670        enc: ::std::os::raw::c_int,
3671    );
3672}
3673extern "C" {
3674    #[link_name = "\u{1}aws_lc_0_45_0_AES_ofb128_encrypt"]
3675    pub fn AES_ofb128_encrypt(
3676        in_: *const u8,
3677        out: *mut u8,
3678        len: usize,
3679        key: *const AES_KEY,
3680        ivec: *mut u8,
3681        num: *mut ::std::os::raw::c_int,
3682    );
3683}
3684extern "C" {
3685    #[link_name = "\u{1}aws_lc_0_45_0_AES_cfb1_encrypt"]
3686    pub fn AES_cfb1_encrypt(
3687        in_: *const u8,
3688        out: *mut u8,
3689        bits: usize,
3690        key: *const AES_KEY,
3691        ivec: *mut u8,
3692        num: *mut ::std::os::raw::c_int,
3693        enc: ::std::os::raw::c_int,
3694    );
3695}
3696extern "C" {
3697    #[link_name = "\u{1}aws_lc_0_45_0_AES_cfb8_encrypt"]
3698    pub fn AES_cfb8_encrypt(
3699        in_: *const u8,
3700        out: *mut u8,
3701        len: usize,
3702        key: *const AES_KEY,
3703        ivec: *mut u8,
3704        num: *mut ::std::os::raw::c_int,
3705        enc: ::std::os::raw::c_int,
3706    );
3707}
3708extern "C" {
3709    #[link_name = "\u{1}aws_lc_0_45_0_AES_cfb128_encrypt"]
3710    pub fn AES_cfb128_encrypt(
3711        in_: *const u8,
3712        out: *mut u8,
3713        len: usize,
3714        key: *const AES_KEY,
3715        ivec: *mut u8,
3716        num: *mut ::std::os::raw::c_int,
3717        enc: ::std::os::raw::c_int,
3718    );
3719}
3720extern "C" {
3721    #[link_name = "\u{1}aws_lc_0_45_0_AES_wrap_key"]
3722    pub fn AES_wrap_key(
3723        key: *const AES_KEY,
3724        iv: *const u8,
3725        out: *mut u8,
3726        in_: *const u8,
3727        in_len: usize,
3728    ) -> ::std::os::raw::c_int;
3729}
3730extern "C" {
3731    #[link_name = "\u{1}aws_lc_0_45_0_AES_unwrap_key"]
3732    pub fn AES_unwrap_key(
3733        key: *const AES_KEY,
3734        iv: *const u8,
3735        out: *mut u8,
3736        in_: *const u8,
3737        in_len: usize,
3738    ) -> ::std::os::raw::c_int;
3739}
3740extern "C" {
3741    #[link_name = "\u{1}aws_lc_0_45_0_AES_wrap_key_padded"]
3742    pub fn AES_wrap_key_padded(
3743        key: *const AES_KEY,
3744        out: *mut u8,
3745        out_len: *mut usize,
3746        max_out: usize,
3747        in_: *const u8,
3748        in_len: usize,
3749    ) -> ::std::os::raw::c_int;
3750}
3751extern "C" {
3752    #[link_name = "\u{1}aws_lc_0_45_0_AES_unwrap_key_padded"]
3753    pub fn AES_unwrap_key_padded(
3754        key: *const AES_KEY,
3755        out: *mut u8,
3756        out_len: *mut usize,
3757        max_out: usize,
3758        in_: *const u8,
3759        in_len: usize,
3760    ) -> ::std::os::raw::c_int;
3761}
3762pub type __gnuc_va_list = __builtin_va_list;
3763#[repr(C)]
3764#[derive(Debug, Copy, Clone)]
3765pub struct _IO_marker {
3766    _unused: [u8; 0],
3767}
3768#[repr(C)]
3769#[derive(Debug, Copy, Clone)]
3770pub struct _IO_codecvt {
3771    _unused: [u8; 0],
3772}
3773#[repr(C)]
3774#[derive(Debug, Copy, Clone)]
3775pub struct _IO_wide_data {
3776    _unused: [u8; 0],
3777}
3778pub type _IO_lock_t = ::std::os::raw::c_void;
3779#[repr(C)]
3780#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3781pub struct _IO_FILE {
3782    pub _flags: ::std::os::raw::c_int,
3783    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
3784    pub _IO_read_end: *mut ::std::os::raw::c_char,
3785    pub _IO_read_base: *mut ::std::os::raw::c_char,
3786    pub _IO_write_base: *mut ::std::os::raw::c_char,
3787    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
3788    pub _IO_write_end: *mut ::std::os::raw::c_char,
3789    pub _IO_buf_base: *mut ::std::os::raw::c_char,
3790    pub _IO_buf_end: *mut ::std::os::raw::c_char,
3791    pub _IO_save_base: *mut ::std::os::raw::c_char,
3792    pub _IO_backup_base: *mut ::std::os::raw::c_char,
3793    pub _IO_save_end: *mut ::std::os::raw::c_char,
3794    pub _markers: *mut _IO_marker,
3795    pub _chain: *mut _IO_FILE,
3796    pub _fileno: ::std::os::raw::c_int,
3797    pub _flags2: ::std::os::raw::c_int,
3798    pub _old_offset: __off_t,
3799    pub _cur_column: ::std::os::raw::c_ushort,
3800    pub _vtable_offset: ::std::os::raw::c_schar,
3801    pub _shortbuf: [::std::os::raw::c_char; 1usize],
3802    pub _lock: *mut _IO_lock_t,
3803    pub _offset: __off64_t,
3804    pub _codecvt: *mut _IO_codecvt,
3805    pub _wide_data: *mut _IO_wide_data,
3806    pub _freeres_list: *mut _IO_FILE,
3807    pub _freeres_buf: *mut ::std::os::raw::c_void,
3808    pub __pad5: usize,
3809    pub _mode: ::std::os::raw::c_int,
3810    pub _unused2: [::std::os::raw::c_char; 20usize],
3811}
3812#[test]
3813fn bindgen_test_layout__IO_FILE() {
3814    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
3815    let ptr = UNINIT.as_ptr();
3816    assert_eq!(
3817        ::std::mem::size_of::<_IO_FILE>(),
3818        216usize,
3819        "Size of _IO_FILE"
3820    );
3821    assert_eq!(
3822        ::std::mem::align_of::<_IO_FILE>(),
3823        8usize,
3824        "Alignment of _IO_FILE"
3825    );
3826    assert_eq!(
3827        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
3828        0usize,
3829        "Offset of field: _IO_FILE::_flags"
3830    );
3831    assert_eq!(
3832        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
3833        8usize,
3834        "Offset of field: _IO_FILE::_IO_read_ptr"
3835    );
3836    assert_eq!(
3837        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
3838        16usize,
3839        "Offset of field: _IO_FILE::_IO_read_end"
3840    );
3841    assert_eq!(
3842        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
3843        24usize,
3844        "Offset of field: _IO_FILE::_IO_read_base"
3845    );
3846    assert_eq!(
3847        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
3848        32usize,
3849        "Offset of field: _IO_FILE::_IO_write_base"
3850    );
3851    assert_eq!(
3852        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
3853        40usize,
3854        "Offset of field: _IO_FILE::_IO_write_ptr"
3855    );
3856    assert_eq!(
3857        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
3858        48usize,
3859        "Offset of field: _IO_FILE::_IO_write_end"
3860    );
3861    assert_eq!(
3862        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
3863        56usize,
3864        "Offset of field: _IO_FILE::_IO_buf_base"
3865    );
3866    assert_eq!(
3867        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
3868        64usize,
3869        "Offset of field: _IO_FILE::_IO_buf_end"
3870    );
3871    assert_eq!(
3872        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
3873        72usize,
3874        "Offset of field: _IO_FILE::_IO_save_base"
3875    );
3876    assert_eq!(
3877        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
3878        80usize,
3879        "Offset of field: _IO_FILE::_IO_backup_base"
3880    );
3881    assert_eq!(
3882        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
3883        88usize,
3884        "Offset of field: _IO_FILE::_IO_save_end"
3885    );
3886    assert_eq!(
3887        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
3888        96usize,
3889        "Offset of field: _IO_FILE::_markers"
3890    );
3891    assert_eq!(
3892        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
3893        104usize,
3894        "Offset of field: _IO_FILE::_chain"
3895    );
3896    assert_eq!(
3897        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
3898        112usize,
3899        "Offset of field: _IO_FILE::_fileno"
3900    );
3901    assert_eq!(
3902        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
3903        116usize,
3904        "Offset of field: _IO_FILE::_flags2"
3905    );
3906    assert_eq!(
3907        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
3908        120usize,
3909        "Offset of field: _IO_FILE::_old_offset"
3910    );
3911    assert_eq!(
3912        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
3913        128usize,
3914        "Offset of field: _IO_FILE::_cur_column"
3915    );
3916    assert_eq!(
3917        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
3918        130usize,
3919        "Offset of field: _IO_FILE::_vtable_offset"
3920    );
3921    assert_eq!(
3922        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
3923        131usize,
3924        "Offset of field: _IO_FILE::_shortbuf"
3925    );
3926    assert_eq!(
3927        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
3928        136usize,
3929        "Offset of field: _IO_FILE::_lock"
3930    );
3931    assert_eq!(
3932        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
3933        144usize,
3934        "Offset of field: _IO_FILE::_offset"
3935    );
3936    assert_eq!(
3937        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
3938        152usize,
3939        "Offset of field: _IO_FILE::_codecvt"
3940    );
3941    assert_eq!(
3942        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
3943        160usize,
3944        "Offset of field: _IO_FILE::_wide_data"
3945    );
3946    assert_eq!(
3947        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
3948        168usize,
3949        "Offset of field: _IO_FILE::_freeres_list"
3950    );
3951    assert_eq!(
3952        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
3953        176usize,
3954        "Offset of field: _IO_FILE::_freeres_buf"
3955    );
3956    assert_eq!(
3957        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
3958        184usize,
3959        "Offset of field: _IO_FILE::__pad5"
3960    );
3961    assert_eq!(
3962        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
3963        192usize,
3964        "Offset of field: _IO_FILE::_mode"
3965    );
3966    assert_eq!(
3967        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
3968        196usize,
3969        "Offset of field: _IO_FILE::_unused2"
3970    );
3971}
3972impl Default for _IO_FILE {
3973    fn default() -> Self {
3974        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3975        unsafe {
3976            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3977            s.assume_init()
3978        }
3979    }
3980}
3981pub type va_list = __gnuc_va_list;
3982#[repr(C)]
3983#[derive(Debug, Copy, Clone, PartialEq, Eq)]
3984pub struct buf_mem_st {
3985    pub length: usize,
3986    pub data: *mut ::std::os::raw::c_char,
3987    pub max: usize,
3988}
3989#[test]
3990fn bindgen_test_layout_buf_mem_st() {
3991    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
3992    let ptr = UNINIT.as_ptr();
3993    assert_eq!(
3994        ::std::mem::size_of::<buf_mem_st>(),
3995        24usize,
3996        "Size of buf_mem_st"
3997    );
3998    assert_eq!(
3999        ::std::mem::align_of::<buf_mem_st>(),
4000        8usize,
4001        "Alignment of buf_mem_st"
4002    );
4003    assert_eq!(
4004        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
4005        0usize,
4006        "Offset of field: buf_mem_st::length"
4007    );
4008    assert_eq!(
4009        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4010        8usize,
4011        "Offset of field: buf_mem_st::data"
4012    );
4013    assert_eq!(
4014        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
4015        16usize,
4016        "Offset of field: buf_mem_st::max"
4017    );
4018}
4019impl Default for buf_mem_st {
4020    fn default() -> Self {
4021        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4022        unsafe {
4023            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4024            s.assume_init()
4025        }
4026    }
4027}
4028extern "C" {
4029    #[link_name = "\u{1}aws_lc_0_45_0_SHA1_Init"]
4030    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4031}
4032extern "C" {
4033    #[link_name = "\u{1}aws_lc_0_45_0_SHA1_Update"]
4034    pub fn SHA1_Update(
4035        sha: *mut SHA_CTX,
4036        data: *const ::std::os::raw::c_void,
4037        len: usize,
4038    ) -> ::std::os::raw::c_int;
4039}
4040extern "C" {
4041    #[link_name = "\u{1}aws_lc_0_45_0_SHA1_Final"]
4042    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
4043}
4044extern "C" {
4045    #[link_name = "\u{1}aws_lc_0_45_0_SHA1"]
4046    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4047}
4048extern "C" {
4049    #[link_name = "\u{1}aws_lc_0_45_0_SHA1_Transform"]
4050    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
4051}
4052#[repr(C)]
4053#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4054pub struct sha_state_st {
4055    pub h: [u32; 5usize],
4056    pub Nl: u32,
4057    pub Nh: u32,
4058    pub data: [u8; 64usize],
4059    pub num: ::std::os::raw::c_uint,
4060}
4061#[test]
4062fn bindgen_test_layout_sha_state_st() {
4063    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
4064    let ptr = UNINIT.as_ptr();
4065    assert_eq!(
4066        ::std::mem::size_of::<sha_state_st>(),
4067        96usize,
4068        "Size of sha_state_st"
4069    );
4070    assert_eq!(
4071        ::std::mem::align_of::<sha_state_st>(),
4072        4usize,
4073        "Alignment of sha_state_st"
4074    );
4075    assert_eq!(
4076        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4077        0usize,
4078        "Offset of field: sha_state_st::h"
4079    );
4080    assert_eq!(
4081        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4082        20usize,
4083        "Offset of field: sha_state_st::Nl"
4084    );
4085    assert_eq!(
4086        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4087        24usize,
4088        "Offset of field: sha_state_st::Nh"
4089    );
4090    assert_eq!(
4091        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4092        28usize,
4093        "Offset of field: sha_state_st::data"
4094    );
4095    assert_eq!(
4096        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4097        92usize,
4098        "Offset of field: sha_state_st::num"
4099    );
4100}
4101impl Default for sha_state_st {
4102    fn default() -> Self {
4103        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4104        unsafe {
4105            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4106            s.assume_init()
4107        }
4108    }
4109}
4110extern "C" {
4111    #[link_name = "\u{1}aws_lc_0_45_0_SHA224_Init"]
4112    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4113}
4114extern "C" {
4115    #[link_name = "\u{1}aws_lc_0_45_0_SHA224_Update"]
4116    pub fn SHA224_Update(
4117        sha: *mut SHA256_CTX,
4118        data: *const ::std::os::raw::c_void,
4119        len: usize,
4120    ) -> ::std::os::raw::c_int;
4121}
4122extern "C" {
4123    #[link_name = "\u{1}aws_lc_0_45_0_SHA224_Final"]
4124    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4125}
4126extern "C" {
4127    #[link_name = "\u{1}aws_lc_0_45_0_SHA224"]
4128    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4129}
4130extern "C" {
4131    #[link_name = "\u{1}aws_lc_0_45_0_SHA256_Init"]
4132    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4133}
4134extern "C" {
4135    #[link_name = "\u{1}aws_lc_0_45_0_SHA256_Update"]
4136    pub fn SHA256_Update(
4137        sha: *mut SHA256_CTX,
4138        data: *const ::std::os::raw::c_void,
4139        len: usize,
4140    ) -> ::std::os::raw::c_int;
4141}
4142extern "C" {
4143    #[link_name = "\u{1}aws_lc_0_45_0_SHA256_Final"]
4144    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
4145}
4146extern "C" {
4147    #[link_name = "\u{1}aws_lc_0_45_0_SHA256"]
4148    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4149}
4150extern "C" {
4151    #[link_name = "\u{1}aws_lc_0_45_0_SHA256_Transform"]
4152    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
4153}
4154extern "C" {
4155    #[link_name = "\u{1}aws_lc_0_45_0_SHA256_TransformBlocks"]
4156    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
4157}
4158#[repr(C)]
4159#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4160pub struct sha256_state_st {
4161    pub h: [u32; 8usize],
4162    pub Nl: u32,
4163    pub Nh: u32,
4164    pub data: [u8; 64usize],
4165    pub num: ::std::os::raw::c_uint,
4166    pub md_len: ::std::os::raw::c_uint,
4167}
4168#[test]
4169fn bindgen_test_layout_sha256_state_st() {
4170    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
4171    let ptr = UNINIT.as_ptr();
4172    assert_eq!(
4173        ::std::mem::size_of::<sha256_state_st>(),
4174        112usize,
4175        "Size of sha256_state_st"
4176    );
4177    assert_eq!(
4178        ::std::mem::align_of::<sha256_state_st>(),
4179        4usize,
4180        "Alignment of sha256_state_st"
4181    );
4182    assert_eq!(
4183        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4184        0usize,
4185        "Offset of field: sha256_state_st::h"
4186    );
4187    assert_eq!(
4188        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4189        32usize,
4190        "Offset of field: sha256_state_st::Nl"
4191    );
4192    assert_eq!(
4193        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4194        36usize,
4195        "Offset of field: sha256_state_st::Nh"
4196    );
4197    assert_eq!(
4198        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
4199        40usize,
4200        "Offset of field: sha256_state_st::data"
4201    );
4202    assert_eq!(
4203        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4204        104usize,
4205        "Offset of field: sha256_state_st::num"
4206    );
4207    assert_eq!(
4208        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4209        108usize,
4210        "Offset of field: sha256_state_st::md_len"
4211    );
4212}
4213impl Default for sha256_state_st {
4214    fn default() -> Self {
4215        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4216        unsafe {
4217            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4218            s.assume_init()
4219        }
4220    }
4221}
4222extern "C" {
4223    #[link_name = "\u{1}aws_lc_0_45_0_SHA384_Init"]
4224    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4225}
4226extern "C" {
4227    #[link_name = "\u{1}aws_lc_0_45_0_SHA384_Update"]
4228    pub fn SHA384_Update(
4229        sha: *mut SHA512_CTX,
4230        data: *const ::std::os::raw::c_void,
4231        len: usize,
4232    ) -> ::std::os::raw::c_int;
4233}
4234extern "C" {
4235    #[link_name = "\u{1}aws_lc_0_45_0_SHA384_Final"]
4236    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4237}
4238extern "C" {
4239    #[link_name = "\u{1}aws_lc_0_45_0_SHA384"]
4240    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4241}
4242extern "C" {
4243    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_Init"]
4244    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4245}
4246extern "C" {
4247    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_Update"]
4248    pub fn SHA512_Update(
4249        sha: *mut SHA512_CTX,
4250        data: *const ::std::os::raw::c_void,
4251        len: usize,
4252    ) -> ::std::os::raw::c_int;
4253}
4254extern "C" {
4255    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_Final"]
4256    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4257}
4258extern "C" {
4259    #[link_name = "\u{1}aws_lc_0_45_0_SHA512"]
4260    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4261}
4262extern "C" {
4263    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_Transform"]
4264    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
4265}
4266#[repr(C)]
4267#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4268pub struct sha512_state_st {
4269    pub h: [u64; 8usize],
4270    pub Nl: u64,
4271    pub Nh: u64,
4272    pub p: [u8; 128usize],
4273    pub num: ::std::os::raw::c_uint,
4274    pub md_len: ::std::os::raw::c_uint,
4275}
4276#[test]
4277fn bindgen_test_layout_sha512_state_st() {
4278    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
4279    let ptr = UNINIT.as_ptr();
4280    assert_eq!(
4281        ::std::mem::size_of::<sha512_state_st>(),
4282        216usize,
4283        "Size of sha512_state_st"
4284    );
4285    assert_eq!(
4286        ::std::mem::align_of::<sha512_state_st>(),
4287        8usize,
4288        "Alignment of sha512_state_st"
4289    );
4290    assert_eq!(
4291        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4292        0usize,
4293        "Offset of field: sha512_state_st::h"
4294    );
4295    assert_eq!(
4296        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
4297        64usize,
4298        "Offset of field: sha512_state_st::Nl"
4299    );
4300    assert_eq!(
4301        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
4302        72usize,
4303        "Offset of field: sha512_state_st::Nh"
4304    );
4305    assert_eq!(
4306        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
4307        80usize,
4308        "Offset of field: sha512_state_st::p"
4309    );
4310    assert_eq!(
4311        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
4312        208usize,
4313        "Offset of field: sha512_state_st::num"
4314    );
4315    assert_eq!(
4316        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
4317        212usize,
4318        "Offset of field: sha512_state_st::md_len"
4319    );
4320}
4321impl Default for sha512_state_st {
4322    fn default() -> Self {
4323        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4324        unsafe {
4325            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4326            s.assume_init()
4327        }
4328    }
4329}
4330extern "C" {
4331    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_224_Init"]
4332    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4333}
4334extern "C" {
4335    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_224_Update"]
4336    pub fn SHA512_224_Update(
4337        sha: *mut SHA512_CTX,
4338        data: *const ::std::os::raw::c_void,
4339        len: usize,
4340    ) -> ::std::os::raw::c_int;
4341}
4342extern "C" {
4343    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_224_Final"]
4344    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4345}
4346extern "C" {
4347    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_224"]
4348    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4349}
4350extern "C" {
4351    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_256_Init"]
4352    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4353}
4354extern "C" {
4355    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_256_Update"]
4356    pub fn SHA512_256_Update(
4357        sha: *mut SHA512_CTX,
4358        data: *const ::std::os::raw::c_void,
4359        len: usize,
4360    ) -> ::std::os::raw::c_int;
4361}
4362extern "C" {
4363    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_256_Final"]
4364    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
4365}
4366extern "C" {
4367    #[link_name = "\u{1}aws_lc_0_45_0_SHA512_256"]
4368    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
4369}
4370extern "C" {
4371    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_malloc"]
4372    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4373}
4374extern "C" {
4375    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_zalloc"]
4376    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4377}
4378extern "C" {
4379    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_calloc"]
4380    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
4381}
4382extern "C" {
4383    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_realloc"]
4384    pub fn OPENSSL_realloc(
4385        ptr: *mut ::std::os::raw::c_void,
4386        new_size: usize,
4387    ) -> *mut ::std::os::raw::c_void;
4388}
4389extern "C" {
4390    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_free"]
4391    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
4392}
4393extern "C" {
4394    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_cleanse"]
4395    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
4396}
4397extern "C" {
4398    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_memcmp"]
4399    pub fn CRYPTO_memcmp(
4400        a: *const ::std::os::raw::c_void,
4401        b: *const ::std::os::raw::c_void,
4402        len: usize,
4403    ) -> ::std::os::raw::c_int;
4404}
4405extern "C" {
4406    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_hash32"]
4407    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
4408}
4409extern "C" {
4410    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strhash"]
4411    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
4412}
4413extern "C" {
4414    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strdup"]
4415    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4416}
4417extern "C" {
4418    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strnlen"]
4419    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
4420}
4421extern "C" {
4422    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_isalpha"]
4423    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4424}
4425extern "C" {
4426    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_isdigit"]
4427    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4428}
4429extern "C" {
4430    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_isxdigit"]
4431    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4432}
4433extern "C" {
4434    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_fromxdigit"]
4435    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4436}
4437extern "C" {
4438    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_hexstr2buf"]
4439    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
4440}
4441extern "C" {
4442    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_isalnum"]
4443    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4444}
4445extern "C" {
4446    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_tolower"]
4447    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4448}
4449extern "C" {
4450    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_isspace"]
4451    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4452}
4453extern "C" {
4454    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strcasecmp"]
4455    pub fn OPENSSL_strcasecmp(
4456        a: *const ::std::os::raw::c_char,
4457        b: *const ::std::os::raw::c_char,
4458    ) -> ::std::os::raw::c_int;
4459}
4460extern "C" {
4461    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strncasecmp"]
4462    pub fn OPENSSL_strncasecmp(
4463        a: *const ::std::os::raw::c_char,
4464        b: *const ::std::os::raw::c_char,
4465        n: usize,
4466    ) -> ::std::os::raw::c_int;
4467}
4468extern "C" {
4469    #[link_name = "\u{1}aws_lc_0_45_0_BIO_snprintf"]
4470    pub fn BIO_snprintf(
4471        buf: *mut ::std::os::raw::c_char,
4472        n: usize,
4473        format: *const ::std::os::raw::c_char,
4474        ...
4475    ) -> ::std::os::raw::c_int;
4476}
4477extern "C" {
4478    #[link_name = "\u{1}aws_lc_0_45_0_BIO_vsnprintf"]
4479    pub fn BIO_vsnprintf(
4480        buf: *mut ::std::os::raw::c_char,
4481        n: usize,
4482        format: *const ::std::os::raw::c_char,
4483        args: *mut __va_list_tag,
4484    ) -> ::std::os::raw::c_int;
4485}
4486extern "C" {
4487    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_vasprintf"]
4488    pub fn OPENSSL_vasprintf(
4489        str_: *mut *mut ::std::os::raw::c_char,
4490        format: *const ::std::os::raw::c_char,
4491        args: *mut __va_list_tag,
4492    ) -> ::std::os::raw::c_int;
4493}
4494extern "C" {
4495    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_asprintf"]
4496    pub fn OPENSSL_asprintf(
4497        str_: *mut *mut ::std::os::raw::c_char,
4498        format: *const ::std::os::raw::c_char,
4499        ...
4500    ) -> ::std::os::raw::c_int;
4501}
4502extern "C" {
4503    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strndup"]
4504    pub fn OPENSSL_strndup(
4505        str_: *const ::std::os::raw::c_char,
4506        size: usize,
4507    ) -> *mut ::std::os::raw::c_char;
4508}
4509extern "C" {
4510    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_memdup"]
4511    pub fn OPENSSL_memdup(
4512        data: *const ::std::os::raw::c_void,
4513        size: usize,
4514    ) -> *mut ::std::os::raw::c_void;
4515}
4516extern "C" {
4517    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strlcpy"]
4518    pub fn OPENSSL_strlcpy(
4519        dst: *mut ::std::os::raw::c_char,
4520        src: *const ::std::os::raw::c_char,
4521        dst_size: usize,
4522    ) -> usize;
4523}
4524extern "C" {
4525    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_strlcat"]
4526    pub fn OPENSSL_strlcat(
4527        dst: *mut ::std::os::raw::c_char,
4528        src: *const ::std::os::raw::c_char,
4529        dst_size: usize,
4530    ) -> usize;
4531}
4532extern "C" {
4533    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_malloc"]
4534    pub fn CRYPTO_malloc(
4535        size: usize,
4536        file: *const ::std::os::raw::c_char,
4537        line: ::std::os::raw::c_int,
4538    ) -> *mut ::std::os::raw::c_void;
4539}
4540extern "C" {
4541    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_realloc"]
4542    pub fn CRYPTO_realloc(
4543        ptr: *mut ::std::os::raw::c_void,
4544        new_size: usize,
4545        file: *const ::std::os::raw::c_char,
4546        line: ::std::os::raw::c_int,
4547    ) -> *mut ::std::os::raw::c_void;
4548}
4549extern "C" {
4550    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_free"]
4551    pub fn CRYPTO_free(
4552        ptr: *mut ::std::os::raw::c_void,
4553        file: *const ::std::os::raw::c_char,
4554        line: ::std::os::raw::c_int,
4555    );
4556}
4557extern "C" {
4558    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_clear_free"]
4559    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4560}
4561extern "C" {
4562    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_set_mem_functions"]
4563    pub fn CRYPTO_set_mem_functions(
4564        m: ::std::option::Option<
4565            unsafe extern "C" fn(
4566                arg1: usize,
4567                arg2: *const ::std::os::raw::c_char,
4568                arg3: ::std::os::raw::c_int,
4569            ) -> *mut ::std::os::raw::c_void,
4570        >,
4571        r: ::std::option::Option<
4572            unsafe extern "C" fn(
4573                arg1: *mut ::std::os::raw::c_void,
4574                arg2: usize,
4575                arg3: *const ::std::os::raw::c_char,
4576                arg4: ::std::os::raw::c_int,
4577            ) -> *mut ::std::os::raw::c_void,
4578        >,
4579        f: ::std::option::Option<
4580            unsafe extern "C" fn(
4581                arg1: *mut ::std::os::raw::c_void,
4582                arg2: *const ::std::os::raw::c_char,
4583                arg3: ::std::os::raw::c_int,
4584            ),
4585        >,
4586    ) -> ::std::os::raw::c_int;
4587}
4588extern "C" {
4589    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_secure_malloc_init"]
4590    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
4591}
4592extern "C" {
4593    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_secure_malloc_initialized"]
4594    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
4595}
4596extern "C" {
4597    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_secure_used"]
4598    pub fn CRYPTO_secure_used() -> usize;
4599}
4600extern "C" {
4601    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_secure_malloc"]
4602    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
4603}
4604extern "C" {
4605    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_secure_zalloc"]
4606    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
4607}
4608extern "C" {
4609    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_secure_clear_free"]
4610    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
4611}
4612pub type CRYPTO_refcount_t = u32;
4613extern "C" {
4614    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_library_init"]
4615    pub fn CRYPTO_library_init();
4616}
4617extern "C" {
4618    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_is_confidential_build"]
4619    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
4620}
4621extern "C" {
4622    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_has_asm"]
4623    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
4624}
4625extern "C" {
4626    #[link_name = "\u{1}aws_lc_0_45_0_BORINGSSL_self_test"]
4627    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
4628}
4629extern "C" {
4630    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
4631}
4632extern "C" {
4633    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_pre_sandbox_init"]
4634    pub fn CRYPTO_pre_sandbox_init();
4635}
4636extern "C" {
4637    #[link_name = "\u{1}aws_lc_0_45_0_FIPS_mode"]
4638    pub fn FIPS_mode() -> ::std::os::raw::c_int;
4639}
4640extern "C" {
4641    #[link_name = "\u{1}aws_lc_0_45_0_FIPS_is_entropy_cpu_jitter"]
4642    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
4643}
4644extern "C" {
4645    #[link_name = "\u{1}aws_lc_0_45_0_FIPS_version"]
4646    pub fn FIPS_version() -> u32;
4647}
4648extern "C" {
4649    #[link_name = "\u{1}aws_lc_0_45_0_OpenSSL_version"]
4650    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4651}
4652extern "C" {
4653    #[link_name = "\u{1}aws_lc_0_45_0_SSLeay_version"]
4654    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
4655}
4656extern "C" {
4657    #[link_name = "\u{1}aws_lc_0_45_0_SSLeay"]
4658    pub fn SSLeay() -> ::std::os::raw::c_ulong;
4659}
4660extern "C" {
4661    #[link_name = "\u{1}aws_lc_0_45_0_OpenSSL_version_num"]
4662    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
4663}
4664extern "C" {
4665    #[link_name = "\u{1}aws_lc_0_45_0_awslc_api_version_num"]
4666    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
4667}
4668extern "C" {
4669    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_malloc_init"]
4670    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
4671}
4672extern "C" {
4673    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_malloc_init"]
4674    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
4675}
4676extern "C" {
4677    #[link_name = "\u{1}aws_lc_0_45_0_ENGINE_load_builtin_engines"]
4678    pub fn ENGINE_load_builtin_engines();
4679}
4680extern "C" {
4681    #[link_name = "\u{1}aws_lc_0_45_0_ENGINE_register_all_ciphers"]
4682    pub fn ENGINE_register_all_ciphers();
4683}
4684extern "C" {
4685    #[link_name = "\u{1}aws_lc_0_45_0_ENGINE_register_all_digests"]
4686    pub fn ENGINE_register_all_digests();
4687}
4688extern "C" {
4689    #[link_name = "\u{1}aws_lc_0_45_0_ENGINE_register_all_complete"]
4690    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
4691}
4692extern "C" {
4693    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_load_builtin_modules"]
4694    pub fn OPENSSL_load_builtin_modules();
4695}
4696extern "C" {
4697    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_init_crypto"]
4698    pub fn OPENSSL_init_crypto(
4699        opts: u64,
4700        settings: *const OPENSSL_INIT_SETTINGS,
4701    ) -> ::std::os::raw::c_int;
4702}
4703extern "C" {
4704    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_init"]
4705    pub fn OPENSSL_init();
4706}
4707extern "C" {
4708    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_cleanup"]
4709    pub fn OPENSSL_cleanup();
4710}
4711extern "C" {
4712    #[link_name = "\u{1}aws_lc_0_45_0_FIPS_mode_set"]
4713    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4714}
4715extern "C" {
4716    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_mem_ctrl"]
4717    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4718}
4719extern "C" {
4720    #[link_name = "\u{1}aws_lc_0_45_0_ERR_load_BIO_strings"]
4721    pub fn ERR_load_BIO_strings();
4722}
4723extern "C" {
4724    #[link_name = "\u{1}aws_lc_0_45_0_ERR_load_ERR_strings"]
4725    pub fn ERR_load_ERR_strings();
4726}
4727extern "C" {
4728    #[link_name = "\u{1}aws_lc_0_45_0_ERR_load_CRYPTO_strings"]
4729    pub fn ERR_load_CRYPTO_strings();
4730}
4731extern "C" {
4732    #[link_name = "\u{1}aws_lc_0_45_0_ERR_load_crypto_strings"]
4733    pub fn ERR_load_crypto_strings();
4734}
4735extern "C" {
4736    #[link_name = "\u{1}aws_lc_0_45_0_ERR_load_RAND_strings"]
4737    pub fn ERR_load_RAND_strings();
4738}
4739extern "C" {
4740    #[link_name = "\u{1}aws_lc_0_45_0_ERR_free_strings"]
4741    pub fn ERR_free_strings();
4742}
4743extern "C" {
4744    #[link_name = "\u{1}aws_lc_0_45_0_ERR_get_error"]
4745    pub fn ERR_get_error() -> u32;
4746}
4747extern "C" {
4748    #[link_name = "\u{1}aws_lc_0_45_0_ERR_get_error_line"]
4749    pub fn ERR_get_error_line(
4750        file: *mut *const ::std::os::raw::c_char,
4751        line: *mut ::std::os::raw::c_int,
4752    ) -> u32;
4753}
4754extern "C" {
4755    #[link_name = "\u{1}aws_lc_0_45_0_ERR_get_error_line_data"]
4756    pub fn ERR_get_error_line_data(
4757        file: *mut *const ::std::os::raw::c_char,
4758        line: *mut ::std::os::raw::c_int,
4759        data: *mut *const ::std::os::raw::c_char,
4760        flags: *mut ::std::os::raw::c_int,
4761    ) -> u32;
4762}
4763extern "C" {
4764    #[link_name = "\u{1}aws_lc_0_45_0_ERR_peek_error"]
4765    pub fn ERR_peek_error() -> u32;
4766}
4767extern "C" {
4768    #[link_name = "\u{1}aws_lc_0_45_0_ERR_peek_error_line"]
4769    pub fn ERR_peek_error_line(
4770        file: *mut *const ::std::os::raw::c_char,
4771        line: *mut ::std::os::raw::c_int,
4772    ) -> u32;
4773}
4774extern "C" {
4775    #[link_name = "\u{1}aws_lc_0_45_0_ERR_peek_error_line_data"]
4776    pub fn ERR_peek_error_line_data(
4777        file: *mut *const ::std::os::raw::c_char,
4778        line: *mut ::std::os::raw::c_int,
4779        data: *mut *const ::std::os::raw::c_char,
4780        flags: *mut ::std::os::raw::c_int,
4781    ) -> u32;
4782}
4783extern "C" {
4784    #[link_name = "\u{1}aws_lc_0_45_0_ERR_peek_last_error"]
4785    pub fn ERR_peek_last_error() -> u32;
4786}
4787extern "C" {
4788    #[link_name = "\u{1}aws_lc_0_45_0_ERR_peek_last_error_line"]
4789    pub fn ERR_peek_last_error_line(
4790        file: *mut *const ::std::os::raw::c_char,
4791        line: *mut ::std::os::raw::c_int,
4792    ) -> u32;
4793}
4794extern "C" {
4795    #[link_name = "\u{1}aws_lc_0_45_0_ERR_peek_last_error_line_data"]
4796    pub fn ERR_peek_last_error_line_data(
4797        file: *mut *const ::std::os::raw::c_char,
4798        line: *mut ::std::os::raw::c_int,
4799        data: *mut *const ::std::os::raw::c_char,
4800        flags: *mut ::std::os::raw::c_int,
4801    ) -> u32;
4802}
4803extern "C" {
4804    #[link_name = "\u{1}aws_lc_0_45_0_ERR_error_string_n"]
4805    pub fn ERR_error_string_n(
4806        packed_error: u32,
4807        buf: *mut ::std::os::raw::c_char,
4808        len: usize,
4809    ) -> *mut ::std::os::raw::c_char;
4810}
4811extern "C" {
4812    #[link_name = "\u{1}aws_lc_0_45_0_ERR_lib_error_string"]
4813    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4814}
4815extern "C" {
4816    #[link_name = "\u{1}aws_lc_0_45_0_ERR_reason_error_string"]
4817    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4818}
4819pub type ERR_print_errors_callback_t = ::std::option::Option<
4820    unsafe extern "C" fn(
4821        str_: *const ::std::os::raw::c_char,
4822        len: usize,
4823        ctx: *mut ::std::os::raw::c_void,
4824    ) -> ::std::os::raw::c_int,
4825>;
4826extern "C" {
4827    #[link_name = "\u{1}aws_lc_0_45_0_ERR_print_errors_cb"]
4828    pub fn ERR_print_errors_cb(
4829        callback: ERR_print_errors_callback_t,
4830        ctx: *mut ::std::os::raw::c_void,
4831    );
4832}
4833extern "C" {
4834    #[link_name = "\u{1}aws_lc_0_45_0_ERR_clear_error"]
4835    pub fn ERR_clear_error();
4836}
4837extern "C" {
4838    #[link_name = "\u{1}aws_lc_0_45_0_ERR_set_mark"]
4839    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
4840}
4841extern "C" {
4842    #[link_name = "\u{1}aws_lc_0_45_0_ERR_pop_to_mark"]
4843    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
4844}
4845extern "C" {
4846    #[link_name = "\u{1}aws_lc_0_45_0_ERR_get_next_error_library"]
4847    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
4848}
4849extern "C" {
4850    #[link_name = "\u{1}aws_lc_0_45_0_ERR_remove_state"]
4851    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
4852}
4853extern "C" {
4854    #[link_name = "\u{1}aws_lc_0_45_0_ERR_remove_thread_state"]
4855    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
4856}
4857extern "C" {
4858    #[link_name = "\u{1}aws_lc_0_45_0_ERR_func_error_string"]
4859    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
4860}
4861extern "C" {
4862    #[link_name = "\u{1}aws_lc_0_45_0_ERR_error_string"]
4863    pub fn ERR_error_string(
4864        packed_error: u32,
4865        buf: *mut ::std::os::raw::c_char,
4866    ) -> *mut ::std::os::raw::c_char;
4867}
4868extern "C" {
4869    #[link_name = "\u{1}aws_lc_0_45_0_ERR_clear_system_error"]
4870    pub fn ERR_clear_system_error();
4871}
4872extern "C" {
4873    #[link_name = "\u{1}aws_lc_0_45_0_ERR_put_error"]
4874    pub fn ERR_put_error(
4875        library: ::std::os::raw::c_int,
4876        unused: ::std::os::raw::c_int,
4877        reason: ::std::os::raw::c_int,
4878        file: *const ::std::os::raw::c_char,
4879        line: ::std::os::raw::c_uint,
4880    );
4881}
4882extern "C" {
4883    #[link_name = "\u{1}aws_lc_0_45_0_ERR_add_error_data"]
4884    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
4885}
4886extern "C" {
4887    #[link_name = "\u{1}aws_lc_0_45_0_ERR_add_error_dataf"]
4888    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
4889}
4890extern "C" {
4891    #[link_name = "\u{1}aws_lc_0_45_0_ERR_set_error_data"]
4892    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
4893}
4894#[repr(C)]
4895#[derive(Debug, Copy, Clone)]
4896pub struct stack_st_void {
4897    _unused: [u8; 0],
4898}
4899pub type CRYPTO_EX_DATA = crypto_ex_data_st;
4900pub type CRYPTO_EX_free = ::std::option::Option<
4901    unsafe extern "C" fn(
4902        parent: *mut ::std::os::raw::c_void,
4903        ptr: *mut ::std::os::raw::c_void,
4904        ad: *mut CRYPTO_EX_DATA,
4905        index: ::std::os::raw::c_int,
4906        argl: ::std::os::raw::c_long,
4907        argp: *mut ::std::os::raw::c_void,
4908    ),
4909>;
4910pub type CRYPTO_EX_dup = ::std::option::Option<
4911    unsafe extern "C" fn(
4912        to: *mut CRYPTO_EX_DATA,
4913        from: *const CRYPTO_EX_DATA,
4914        from_d: *mut *mut ::std::os::raw::c_void,
4915        index: ::std::os::raw::c_int,
4916        argl: ::std::os::raw::c_long,
4917        argp: *mut ::std::os::raw::c_void,
4918    ) -> ::std::os::raw::c_int,
4919>;
4920pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
4921#[repr(C)]
4922#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4923pub struct crypto_ex_data_st {
4924    pub sk: *mut stack_st_void,
4925}
4926#[test]
4927fn bindgen_test_layout_crypto_ex_data_st() {
4928    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
4929    let ptr = UNINIT.as_ptr();
4930    assert_eq!(
4931        ::std::mem::size_of::<crypto_ex_data_st>(),
4932        8usize,
4933        "Size of crypto_ex_data_st"
4934    );
4935    assert_eq!(
4936        ::std::mem::align_of::<crypto_ex_data_st>(),
4937        8usize,
4938        "Alignment of crypto_ex_data_st"
4939    );
4940    assert_eq!(
4941        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
4942        0usize,
4943        "Offset of field: crypto_ex_data_st::sk"
4944    );
4945}
4946impl Default for crypto_ex_data_st {
4947    fn default() -> Self {
4948        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4949        unsafe {
4950            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4951            s.assume_init()
4952        }
4953    }
4954}
4955pub type bio_info_cb = ::std::option::Option<
4956    unsafe extern "C" fn(
4957        b: *mut BIO,
4958        state: ::std::os::raw::c_int,
4959        res: ::std::os::raw::c_int,
4960    ) -> ::std::os::raw::c_long,
4961>;
4962pub type BIO_callback_fn_ex = ::std::option::Option<
4963    unsafe extern "C" fn(
4964        bio: *mut BIO,
4965        oper: ::std::os::raw::c_int,
4966        argp: *const ::std::os::raw::c_char,
4967        len: usize,
4968        argi: ::std::os::raw::c_int,
4969        argl: ::std::os::raw::c_long,
4970        bio_ret: ::std::os::raw::c_int,
4971        processed: *mut usize,
4972    ) -> ::std::os::raw::c_long,
4973>;
4974pub type BIO_callback_fn = ::std::option::Option<
4975    unsafe extern "C" fn(
4976        bio: *mut BIO,
4977        oper: ::std::os::raw::c_int,
4978        argp: *const ::std::os::raw::c_char,
4979        argi: ::std::os::raw::c_int,
4980        argl: ::std::os::raw::c_long,
4981        bio_ret: ::std::os::raw::c_long,
4982    ) -> ::std::os::raw::c_long,
4983>;
4984#[repr(C)]
4985#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4986pub struct bio_method_st {
4987    pub type_: ::std::os::raw::c_int,
4988    pub name: *const ::std::os::raw::c_char,
4989    pub bwrite: ::std::option::Option<
4990        unsafe extern "C" fn(
4991            arg1: *mut BIO,
4992            arg2: *const ::std::os::raw::c_char,
4993            arg3: ::std::os::raw::c_int,
4994        ) -> ::std::os::raw::c_int,
4995    >,
4996    pub bread: ::std::option::Option<
4997        unsafe extern "C" fn(
4998            arg1: *mut BIO,
4999            arg2: *mut ::std::os::raw::c_char,
5000            arg3: ::std::os::raw::c_int,
5001        ) -> ::std::os::raw::c_int,
5002    >,
5003    pub bputs: ::std::option::Option<
5004        unsafe extern "C" fn(
5005            arg1: *mut BIO,
5006            arg2: *const ::std::os::raw::c_char,
5007        ) -> ::std::os::raw::c_int,
5008    >,
5009    pub bgets: ::std::option::Option<
5010        unsafe extern "C" fn(
5011            arg1: *mut BIO,
5012            arg2: *mut ::std::os::raw::c_char,
5013            arg3: ::std::os::raw::c_int,
5014        ) -> ::std::os::raw::c_int,
5015    >,
5016    pub ctrl: ::std::option::Option<
5017        unsafe extern "C" fn(
5018            arg1: *mut BIO,
5019            arg2: ::std::os::raw::c_int,
5020            arg3: ::std::os::raw::c_long,
5021            arg4: *mut ::std::os::raw::c_void,
5022        ) -> ::std::os::raw::c_long,
5023    >,
5024    pub create:
5025        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5026    pub destroy:
5027        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
5028    pub callback_ctrl: ::std::option::Option<
5029        unsafe extern "C" fn(
5030            arg1: *mut BIO,
5031            arg2: ::std::os::raw::c_int,
5032            arg3: bio_info_cb,
5033        ) -> ::std::os::raw::c_long,
5034    >,
5035}
5036#[test]
5037fn bindgen_test_layout_bio_method_st() {
5038    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
5039    let ptr = UNINIT.as_ptr();
5040    assert_eq!(
5041        ::std::mem::size_of::<bio_method_st>(),
5042        80usize,
5043        "Size of bio_method_st"
5044    );
5045    assert_eq!(
5046        ::std::mem::align_of::<bio_method_st>(),
5047        8usize,
5048        "Alignment of bio_method_st"
5049    );
5050    assert_eq!(
5051        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5052        0usize,
5053        "Offset of field: bio_method_st::type_"
5054    );
5055    assert_eq!(
5056        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
5057        8usize,
5058        "Offset of field: bio_method_st::name"
5059    );
5060    assert_eq!(
5061        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
5062        16usize,
5063        "Offset of field: bio_method_st::bwrite"
5064    );
5065    assert_eq!(
5066        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
5067        24usize,
5068        "Offset of field: bio_method_st::bread"
5069    );
5070    assert_eq!(
5071        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
5072        32usize,
5073        "Offset of field: bio_method_st::bputs"
5074    );
5075    assert_eq!(
5076        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
5077        40usize,
5078        "Offset of field: bio_method_st::bgets"
5079    );
5080    assert_eq!(
5081        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
5082        48usize,
5083        "Offset of field: bio_method_st::ctrl"
5084    );
5085    assert_eq!(
5086        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
5087        56usize,
5088        "Offset of field: bio_method_st::create"
5089    );
5090    assert_eq!(
5091        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
5092        64usize,
5093        "Offset of field: bio_method_st::destroy"
5094    );
5095    assert_eq!(
5096        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
5097        72usize,
5098        "Offset of field: bio_method_st::callback_ctrl"
5099    );
5100}
5101impl Default for bio_method_st {
5102    fn default() -> Self {
5103        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5104        unsafe {
5105            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5106            s.assume_init()
5107        }
5108    }
5109}
5110#[repr(C)]
5111#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5112pub struct bio_st {
5113    pub method: *const BIO_METHOD,
5114    pub ex_data: CRYPTO_EX_DATA,
5115    pub callback_ex: BIO_callback_fn_ex,
5116    pub callback: BIO_callback_fn,
5117    pub cb_arg: *mut ::std::os::raw::c_char,
5118    pub init: ::std::os::raw::c_int,
5119    pub shutdown: ::std::os::raw::c_int,
5120    pub flags: ::std::os::raw::c_int,
5121    pub retry_reason: ::std::os::raw::c_int,
5122    pub num: ::std::os::raw::c_int,
5123    pub references: CRYPTO_refcount_t,
5124    pub ptr: *mut ::std::os::raw::c_void,
5125    pub next_bio: *mut BIO,
5126    pub num_read: u64,
5127    pub num_write: u64,
5128}
5129#[test]
5130fn bindgen_test_layout_bio_st() {
5131    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
5132    let ptr = UNINIT.as_ptr();
5133    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
5134    assert_eq!(
5135        ::std::mem::align_of::<bio_st>(),
5136        8usize,
5137        "Alignment of bio_st"
5138    );
5139    assert_eq!(
5140        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
5141        0usize,
5142        "Offset of field: bio_st::method"
5143    );
5144    assert_eq!(
5145        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
5146        8usize,
5147        "Offset of field: bio_st::ex_data"
5148    );
5149    assert_eq!(
5150        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
5151        16usize,
5152        "Offset of field: bio_st::callback_ex"
5153    );
5154    assert_eq!(
5155        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5156        24usize,
5157        "Offset of field: bio_st::callback"
5158    );
5159    assert_eq!(
5160        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
5161        32usize,
5162        "Offset of field: bio_st::cb_arg"
5163    );
5164    assert_eq!(
5165        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
5166        40usize,
5167        "Offset of field: bio_st::init"
5168    );
5169    assert_eq!(
5170        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
5171        44usize,
5172        "Offset of field: bio_st::shutdown"
5173    );
5174    assert_eq!(
5175        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
5176        48usize,
5177        "Offset of field: bio_st::flags"
5178    );
5179    assert_eq!(
5180        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
5181        52usize,
5182        "Offset of field: bio_st::retry_reason"
5183    );
5184    assert_eq!(
5185        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5186        56usize,
5187        "Offset of field: bio_st::num"
5188    );
5189    assert_eq!(
5190        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5191        60usize,
5192        "Offset of field: bio_st::references"
5193    );
5194    assert_eq!(
5195        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
5196        64usize,
5197        "Offset of field: bio_st::ptr"
5198    );
5199    assert_eq!(
5200        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
5201        72usize,
5202        "Offset of field: bio_st::next_bio"
5203    );
5204    assert_eq!(
5205        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
5206        80usize,
5207        "Offset of field: bio_st::num_read"
5208    );
5209    assert_eq!(
5210        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
5211        88usize,
5212        "Offset of field: bio_st::num_write"
5213    );
5214}
5215impl Default for bio_st {
5216    fn default() -> Self {
5217        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5218        unsafe {
5219            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5220            s.assume_init()
5221        }
5222    }
5223}
5224pub type BN_ULONG = u64;
5225extern "C" {
5226    #[link_name = "\u{1}aws_lc_0_45_0_BN_new"]
5227    pub fn BN_new() -> *mut BIGNUM;
5228}
5229extern "C" {
5230    #[link_name = "\u{1}aws_lc_0_45_0_BN_init"]
5231    pub fn BN_init(bn: *mut BIGNUM);
5232}
5233extern "C" {
5234    #[link_name = "\u{1}aws_lc_0_45_0_BN_free"]
5235    pub fn BN_free(bn: *mut BIGNUM);
5236}
5237extern "C" {
5238    #[link_name = "\u{1}aws_lc_0_45_0_BN_clear_free"]
5239    pub fn BN_clear_free(bn: *mut BIGNUM);
5240}
5241extern "C" {
5242    #[link_name = "\u{1}aws_lc_0_45_0_BN_dup"]
5243    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
5244}
5245extern "C" {
5246    #[link_name = "\u{1}aws_lc_0_45_0_BN_copy"]
5247    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
5248}
5249extern "C" {
5250    #[link_name = "\u{1}aws_lc_0_45_0_BN_clear"]
5251    pub fn BN_clear(bn: *mut BIGNUM);
5252}
5253extern "C" {
5254    #[link_name = "\u{1}aws_lc_0_45_0_BN_value_one"]
5255    pub fn BN_value_one() -> *const BIGNUM;
5256}
5257extern "C" {
5258    #[link_name = "\u{1}aws_lc_0_45_0_BN_num_bits"]
5259    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5260}
5261extern "C" {
5262    #[link_name = "\u{1}aws_lc_0_45_0_BN_num_bytes"]
5263    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
5264}
5265extern "C" {
5266    #[link_name = "\u{1}aws_lc_0_45_0_BN_get_minimal_width"]
5267    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5268}
5269extern "C" {
5270    #[link_name = "\u{1}aws_lc_0_45_0_BN_zero"]
5271    pub fn BN_zero(bn: *mut BIGNUM);
5272}
5273extern "C" {
5274    #[link_name = "\u{1}aws_lc_0_45_0_BN_one"]
5275    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
5276}
5277extern "C" {
5278    #[link_name = "\u{1}aws_lc_0_45_0_BN_set_word"]
5279    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
5280}
5281extern "C" {
5282    #[link_name = "\u{1}aws_lc_0_45_0_BN_set_u64"]
5283    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
5284}
5285extern "C" {
5286    #[link_name = "\u{1}aws_lc_0_45_0_BN_set_negative"]
5287    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
5288}
5289extern "C" {
5290    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_negative"]
5291    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5292}
5293extern "C" {
5294    #[link_name = "\u{1}aws_lc_0_45_0_BN_bin2bn"]
5295    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5296}
5297extern "C" {
5298    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2bin"]
5299    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
5300}
5301extern "C" {
5302    #[link_name = "\u{1}aws_lc_0_45_0_BN_le2bn"]
5303    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
5304}
5305extern "C" {
5306    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2le_padded"]
5307    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5308}
5309extern "C" {
5310    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2bin_padded"]
5311    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
5312}
5313extern "C" {
5314    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2cbb_padded"]
5315    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
5316        -> ::std::os::raw::c_int;
5317}
5318extern "C" {
5319    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2hex"]
5320    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5321}
5322extern "C" {
5323    #[link_name = "\u{1}aws_lc_0_45_0_BN_hex2bn"]
5324    pub fn BN_hex2bn(
5325        outp: *mut *mut BIGNUM,
5326        in_: *const ::std::os::raw::c_char,
5327    ) -> ::std::os::raw::c_int;
5328}
5329extern "C" {
5330    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2dec"]
5331    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
5332}
5333extern "C" {
5334    #[link_name = "\u{1}aws_lc_0_45_0_BN_dec2bn"]
5335    pub fn BN_dec2bn(
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_45_0_BN_asc2bn"]
5342    pub fn BN_asc2bn(
5343        outp: *mut *mut BIGNUM,
5344        in_: *const ::std::os::raw::c_char,
5345    ) -> ::std::os::raw::c_int;
5346}
5347extern "C" {
5348    #[link_name = "\u{1}aws_lc_0_45_0_BN_print"]
5349    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
5350}
5351extern "C" {
5352    #[link_name = "\u{1}aws_lc_0_45_0_BN_get_word"]
5353    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
5354}
5355extern "C" {
5356    #[link_name = "\u{1}aws_lc_0_45_0_BN_get_u64"]
5357    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
5358}
5359extern "C" {
5360    #[link_name = "\u{1}aws_lc_0_45_0_BN_get_flags"]
5361    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5362}
5363extern "C" {
5364    #[link_name = "\u{1}aws_lc_0_45_0_BN_parse_asn1_unsigned"]
5365    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
5366}
5367extern "C" {
5368    #[link_name = "\u{1}aws_lc_0_45_0_BN_marshal_asn1"]
5369    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
5370}
5371extern "C" {
5372    #[link_name = "\u{1}aws_lc_0_45_0_BN_CTX_new"]
5373    pub fn BN_CTX_new() -> *mut BN_CTX;
5374}
5375extern "C" {
5376    #[link_name = "\u{1}aws_lc_0_45_0_BN_CTX_free"]
5377    pub fn BN_CTX_free(ctx: *mut BN_CTX);
5378}
5379extern "C" {
5380    #[link_name = "\u{1}aws_lc_0_45_0_BN_CTX_start"]
5381    pub fn BN_CTX_start(ctx: *mut BN_CTX);
5382}
5383extern "C" {
5384    #[link_name = "\u{1}aws_lc_0_45_0_BN_CTX_get"]
5385    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
5386}
5387extern "C" {
5388    #[link_name = "\u{1}aws_lc_0_45_0_BN_CTX_end"]
5389    pub fn BN_CTX_end(ctx: *mut BN_CTX);
5390}
5391extern "C" {
5392    #[link_name = "\u{1}aws_lc_0_45_0_BN_add"]
5393    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5394}
5395extern "C" {
5396    #[link_name = "\u{1}aws_lc_0_45_0_BN_uadd"]
5397    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5398}
5399extern "C" {
5400    #[link_name = "\u{1}aws_lc_0_45_0_BN_add_word"]
5401    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5402}
5403extern "C" {
5404    #[link_name = "\u{1}aws_lc_0_45_0_BN_sub"]
5405    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5406}
5407extern "C" {
5408    #[link_name = "\u{1}aws_lc_0_45_0_BN_usub"]
5409    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5410}
5411extern "C" {
5412    #[link_name = "\u{1}aws_lc_0_45_0_BN_sub_word"]
5413    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5414}
5415extern "C" {
5416    #[link_name = "\u{1}aws_lc_0_45_0_BN_mul"]
5417    pub fn BN_mul(
5418        r: *mut BIGNUM,
5419        a: *const BIGNUM,
5420        b: *const BIGNUM,
5421        ctx: *mut BN_CTX,
5422    ) -> ::std::os::raw::c_int;
5423}
5424extern "C" {
5425    #[link_name = "\u{1}aws_lc_0_45_0_BN_mul_word"]
5426    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5427}
5428extern "C" {
5429    #[link_name = "\u{1}aws_lc_0_45_0_BN_sqr"]
5430    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
5431}
5432extern "C" {
5433    #[link_name = "\u{1}aws_lc_0_45_0_BN_div"]
5434    pub fn BN_div(
5435        quotient: *mut BIGNUM,
5436        rem: *mut BIGNUM,
5437        numerator: *const BIGNUM,
5438        divisor: *const BIGNUM,
5439        ctx: *mut BN_CTX,
5440    ) -> ::std::os::raw::c_int;
5441}
5442extern "C" {
5443    #[link_name = "\u{1}aws_lc_0_45_0_BN_div_word"]
5444    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
5445}
5446extern "C" {
5447    #[link_name = "\u{1}aws_lc_0_45_0_BN_sqrt"]
5448    pub fn BN_sqrt(
5449        out_sqrt: *mut BIGNUM,
5450        in_: *const BIGNUM,
5451        ctx: *mut BN_CTX,
5452    ) -> ::std::os::raw::c_int;
5453}
5454extern "C" {
5455    #[link_name = "\u{1}aws_lc_0_45_0_BN_cmp"]
5456    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5457}
5458extern "C" {
5459    #[link_name = "\u{1}aws_lc_0_45_0_BN_cmp_word"]
5460    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
5461}
5462extern "C" {
5463    #[link_name = "\u{1}aws_lc_0_45_0_BN_ucmp"]
5464    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5465}
5466extern "C" {
5467    #[link_name = "\u{1}aws_lc_0_45_0_BN_equal_consttime"]
5468    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
5469}
5470extern "C" {
5471    #[link_name = "\u{1}aws_lc_0_45_0_BN_abs_is_word"]
5472    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5473}
5474extern "C" {
5475    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_zero"]
5476    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5477}
5478extern "C" {
5479    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_one"]
5480    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5481}
5482extern "C" {
5483    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_word"]
5484    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
5485}
5486extern "C" {
5487    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_odd"]
5488    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5489}
5490extern "C" {
5491    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_pow2"]
5492    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
5493}
5494extern "C" {
5495    #[link_name = "\u{1}aws_lc_0_45_0_BN_lshift"]
5496    pub fn BN_lshift(
5497        r: *mut BIGNUM,
5498        a: *const BIGNUM,
5499        n: ::std::os::raw::c_int,
5500    ) -> ::std::os::raw::c_int;
5501}
5502extern "C" {
5503    #[link_name = "\u{1}aws_lc_0_45_0_BN_lshift1"]
5504    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5505}
5506extern "C" {
5507    #[link_name = "\u{1}aws_lc_0_45_0_BN_rshift"]
5508    pub fn BN_rshift(
5509        r: *mut BIGNUM,
5510        a: *const BIGNUM,
5511        n: ::std::os::raw::c_int,
5512    ) -> ::std::os::raw::c_int;
5513}
5514extern "C" {
5515    #[link_name = "\u{1}aws_lc_0_45_0_BN_rshift1"]
5516    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
5517}
5518extern "C" {
5519    #[link_name = "\u{1}aws_lc_0_45_0_BN_set_bit"]
5520    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5521}
5522extern "C" {
5523    #[link_name = "\u{1}aws_lc_0_45_0_BN_clear_bit"]
5524    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5525}
5526extern "C" {
5527    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_bit_set"]
5528    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5529}
5530extern "C" {
5531    #[link_name = "\u{1}aws_lc_0_45_0_BN_mask_bits"]
5532    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5533}
5534extern "C" {
5535    #[link_name = "\u{1}aws_lc_0_45_0_BN_count_low_zero_bits"]
5536    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
5537}
5538extern "C" {
5539    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_word"]
5540    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
5541}
5542extern "C" {
5543    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_pow2"]
5544    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5545}
5546extern "C" {
5547    #[link_name = "\u{1}aws_lc_0_45_0_BN_nnmod_pow2"]
5548    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
5549}
5550extern "C" {
5551    #[link_name = "\u{1}aws_lc_0_45_0_BN_nnmod"]
5552    pub fn BN_nnmod(
5553        rem: *mut BIGNUM,
5554        numerator: *const BIGNUM,
5555        divisor: *const BIGNUM,
5556        ctx: *mut BN_CTX,
5557    ) -> ::std::os::raw::c_int;
5558}
5559extern "C" {
5560    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_add"]
5561    pub fn BN_mod_add(
5562        r: *mut BIGNUM,
5563        a: *const BIGNUM,
5564        b: *const BIGNUM,
5565        m: *const BIGNUM,
5566        ctx: *mut BN_CTX,
5567    ) -> ::std::os::raw::c_int;
5568}
5569extern "C" {
5570    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_add_quick"]
5571    pub fn BN_mod_add_quick(
5572        r: *mut BIGNUM,
5573        a: *const BIGNUM,
5574        b: *const BIGNUM,
5575        m: *const BIGNUM,
5576    ) -> ::std::os::raw::c_int;
5577}
5578extern "C" {
5579    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_sub"]
5580    pub fn BN_mod_sub(
5581        r: *mut BIGNUM,
5582        a: *const BIGNUM,
5583        b: *const BIGNUM,
5584        m: *const BIGNUM,
5585        ctx: *mut BN_CTX,
5586    ) -> ::std::os::raw::c_int;
5587}
5588extern "C" {
5589    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_sub_quick"]
5590    pub fn BN_mod_sub_quick(
5591        r: *mut BIGNUM,
5592        a: *const BIGNUM,
5593        b: *const BIGNUM,
5594        m: *const BIGNUM,
5595    ) -> ::std::os::raw::c_int;
5596}
5597extern "C" {
5598    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_mul"]
5599    pub fn BN_mod_mul(
5600        r: *mut BIGNUM,
5601        a: *const BIGNUM,
5602        b: *const BIGNUM,
5603        m: *const BIGNUM,
5604        ctx: *mut BN_CTX,
5605    ) -> ::std::os::raw::c_int;
5606}
5607extern "C" {
5608    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_sqr"]
5609    pub fn BN_mod_sqr(
5610        r: *mut BIGNUM,
5611        a: *const BIGNUM,
5612        m: *const BIGNUM,
5613        ctx: *mut BN_CTX,
5614    ) -> ::std::os::raw::c_int;
5615}
5616extern "C" {
5617    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_lshift"]
5618    pub fn BN_mod_lshift(
5619        r: *mut BIGNUM,
5620        a: *const BIGNUM,
5621        n: ::std::os::raw::c_int,
5622        m: *const BIGNUM,
5623        ctx: *mut BN_CTX,
5624    ) -> ::std::os::raw::c_int;
5625}
5626extern "C" {
5627    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_lshift_quick"]
5628    pub fn BN_mod_lshift_quick(
5629        r: *mut BIGNUM,
5630        a: *const BIGNUM,
5631        n: ::std::os::raw::c_int,
5632        m: *const BIGNUM,
5633    ) -> ::std::os::raw::c_int;
5634}
5635extern "C" {
5636    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_lshift1"]
5637    pub fn BN_mod_lshift1(
5638        r: *mut BIGNUM,
5639        a: *const BIGNUM,
5640        m: *const BIGNUM,
5641        ctx: *mut BN_CTX,
5642    ) -> ::std::os::raw::c_int;
5643}
5644extern "C" {
5645    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_lshift1_quick"]
5646    pub fn BN_mod_lshift1_quick(
5647        r: *mut BIGNUM,
5648        a: *const BIGNUM,
5649        m: *const BIGNUM,
5650    ) -> ::std::os::raw::c_int;
5651}
5652extern "C" {
5653    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_sqrt"]
5654    pub fn BN_mod_sqrt(
5655        in_: *mut BIGNUM,
5656        a: *const BIGNUM,
5657        p: *const BIGNUM,
5658        ctx: *mut BN_CTX,
5659    ) -> *mut BIGNUM;
5660}
5661extern "C" {
5662    #[link_name = "\u{1}aws_lc_0_45_0_BN_rand"]
5663    pub fn BN_rand(
5664        rnd: *mut BIGNUM,
5665        bits: ::std::os::raw::c_int,
5666        top: ::std::os::raw::c_int,
5667        bottom: ::std::os::raw::c_int,
5668    ) -> ::std::os::raw::c_int;
5669}
5670extern "C" {
5671    #[link_name = "\u{1}aws_lc_0_45_0_BN_pseudo_rand"]
5672    pub fn BN_pseudo_rand(
5673        rnd: *mut BIGNUM,
5674        bits: ::std::os::raw::c_int,
5675        top: ::std::os::raw::c_int,
5676        bottom: ::std::os::raw::c_int,
5677    ) -> ::std::os::raw::c_int;
5678}
5679extern "C" {
5680    #[link_name = "\u{1}aws_lc_0_45_0_BN_rand_range"]
5681    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5682}
5683extern "C" {
5684    #[link_name = "\u{1}aws_lc_0_45_0_BN_rand_range_ex"]
5685    pub fn BN_rand_range_ex(
5686        r: *mut BIGNUM,
5687        min_inclusive: BN_ULONG,
5688        max_exclusive: *const BIGNUM,
5689    ) -> ::std::os::raw::c_int;
5690}
5691extern "C" {
5692    #[link_name = "\u{1}aws_lc_0_45_0_BN_pseudo_rand_range"]
5693    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
5694}
5695#[repr(C)]
5696#[derive(Copy, Clone)]
5697pub struct bn_gencb_st {
5698    pub type_: u8,
5699    pub arg: *mut ::std::os::raw::c_void,
5700    pub callback: bn_gencb_st__bindgen_ty_1,
5701}
5702#[repr(C)]
5703#[derive(Copy, Clone)]
5704pub union bn_gencb_st__bindgen_ty_1 {
5705    pub new_style: ::std::option::Option<
5706        unsafe extern "C" fn(
5707            event: ::std::os::raw::c_int,
5708            n: ::std::os::raw::c_int,
5709            arg1: *mut bn_gencb_st,
5710        ) -> ::std::os::raw::c_int,
5711    >,
5712    pub old_style: ::std::option::Option<
5713        unsafe extern "C" fn(
5714            arg1: ::std::os::raw::c_int,
5715            arg2: ::std::os::raw::c_int,
5716            arg3: *mut ::std::os::raw::c_void,
5717        ),
5718    >,
5719}
5720#[test]
5721fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
5722    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
5723        ::std::mem::MaybeUninit::uninit();
5724    let ptr = UNINIT.as_ptr();
5725    assert_eq!(
5726        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
5727        8usize,
5728        "Size of bn_gencb_st__bindgen_ty_1"
5729    );
5730    assert_eq!(
5731        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
5732        8usize,
5733        "Alignment of bn_gencb_st__bindgen_ty_1"
5734    );
5735    assert_eq!(
5736        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
5737        0usize,
5738        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
5739    );
5740    assert_eq!(
5741        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
5742        0usize,
5743        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
5744    );
5745}
5746impl Default for bn_gencb_st__bindgen_ty_1 {
5747    fn default() -> Self {
5748        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5749        unsafe {
5750            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5751            s.assume_init()
5752        }
5753    }
5754}
5755#[test]
5756fn bindgen_test_layout_bn_gencb_st() {
5757    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
5758    let ptr = UNINIT.as_ptr();
5759    assert_eq!(
5760        ::std::mem::size_of::<bn_gencb_st>(),
5761        24usize,
5762        "Size of bn_gencb_st"
5763    );
5764    assert_eq!(
5765        ::std::mem::align_of::<bn_gencb_st>(),
5766        8usize,
5767        "Alignment of bn_gencb_st"
5768    );
5769    assert_eq!(
5770        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5771        0usize,
5772        "Offset of field: bn_gencb_st::type_"
5773    );
5774    assert_eq!(
5775        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
5776        8usize,
5777        "Offset of field: bn_gencb_st::arg"
5778    );
5779    assert_eq!(
5780        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
5781        16usize,
5782        "Offset of field: bn_gencb_st::callback"
5783    );
5784}
5785impl Default for bn_gencb_st {
5786    fn default() -> Self {
5787        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5788        unsafe {
5789            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5790            s.assume_init()
5791        }
5792    }
5793}
5794extern "C" {
5795    #[link_name = "\u{1}aws_lc_0_45_0_BN_GENCB_new"]
5796    pub fn BN_GENCB_new() -> *mut BN_GENCB;
5797}
5798extern "C" {
5799    #[link_name = "\u{1}aws_lc_0_45_0_BN_GENCB_free"]
5800    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
5801}
5802extern "C" {
5803    #[link_name = "\u{1}aws_lc_0_45_0_BN_GENCB_set"]
5804    pub fn BN_GENCB_set(
5805        callback: *mut BN_GENCB,
5806        f: ::std::option::Option<
5807            unsafe extern "C" fn(
5808                event: ::std::os::raw::c_int,
5809                n: ::std::os::raw::c_int,
5810                arg1: *mut BN_GENCB,
5811            ) -> ::std::os::raw::c_int,
5812        >,
5813        arg: *mut ::std::os::raw::c_void,
5814    );
5815}
5816extern "C" {
5817    #[link_name = "\u{1}aws_lc_0_45_0_BN_GENCB_call"]
5818    pub fn BN_GENCB_call(
5819        callback: *mut BN_GENCB,
5820        event: ::std::os::raw::c_int,
5821        n: ::std::os::raw::c_int,
5822    ) -> ::std::os::raw::c_int;
5823}
5824extern "C" {
5825    #[link_name = "\u{1}aws_lc_0_45_0_BN_GENCB_get_arg"]
5826    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
5827}
5828extern "C" {
5829    #[link_name = "\u{1}aws_lc_0_45_0_BN_generate_prime_ex"]
5830    pub fn BN_generate_prime_ex(
5831        ret: *mut BIGNUM,
5832        bits: ::std::os::raw::c_int,
5833        safe: ::std::os::raw::c_int,
5834        add: *const BIGNUM,
5835        rem: *const BIGNUM,
5836        cb: *mut BN_GENCB,
5837    ) -> ::std::os::raw::c_int;
5838}
5839pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
5840pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
5841pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
5842pub type bn_primality_result_t = ::std::os::raw::c_uint;
5843extern "C" {
5844    #[link_name = "\u{1}aws_lc_0_45_0_BN_enhanced_miller_rabin_primality_test"]
5845    pub fn BN_enhanced_miller_rabin_primality_test(
5846        out_result: *mut bn_primality_result_t,
5847        w: *const BIGNUM,
5848        checks: ::std::os::raw::c_int,
5849        ctx: *mut BN_CTX,
5850        cb: *mut BN_GENCB,
5851    ) -> ::std::os::raw::c_int;
5852}
5853extern "C" {
5854    #[link_name = "\u{1}aws_lc_0_45_0_BN_primality_test"]
5855    pub fn BN_primality_test(
5856        is_probably_prime: *mut ::std::os::raw::c_int,
5857        candidate: *const BIGNUM,
5858        checks: ::std::os::raw::c_int,
5859        ctx: *mut BN_CTX,
5860        do_trial_division: ::std::os::raw::c_int,
5861        cb: *mut BN_GENCB,
5862    ) -> ::std::os::raw::c_int;
5863}
5864extern "C" {
5865    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_prime_fasttest_ex"]
5866    pub fn BN_is_prime_fasttest_ex(
5867        candidate: *const BIGNUM,
5868        checks: ::std::os::raw::c_int,
5869        ctx: *mut BN_CTX,
5870        do_trial_division: ::std::os::raw::c_int,
5871        cb: *mut BN_GENCB,
5872    ) -> ::std::os::raw::c_int;
5873}
5874extern "C" {
5875    #[link_name = "\u{1}aws_lc_0_45_0_BN_is_prime_ex"]
5876    pub fn BN_is_prime_ex(
5877        candidate: *const BIGNUM,
5878        checks: ::std::os::raw::c_int,
5879        ctx: *mut BN_CTX,
5880        cb: *mut BN_GENCB,
5881    ) -> ::std::os::raw::c_int;
5882}
5883extern "C" {
5884    #[link_name = "\u{1}aws_lc_0_45_0_BN_gcd"]
5885    pub fn BN_gcd(
5886        r: *mut BIGNUM,
5887        a: *const BIGNUM,
5888        b: *const BIGNUM,
5889        ctx: *mut BN_CTX,
5890    ) -> ::std::os::raw::c_int;
5891}
5892extern "C" {
5893    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_inverse"]
5894    pub fn BN_mod_inverse(
5895        out: *mut BIGNUM,
5896        a: *const BIGNUM,
5897        n: *const BIGNUM,
5898        ctx: *mut BN_CTX,
5899    ) -> *mut BIGNUM;
5900}
5901extern "C" {
5902    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_inverse_blinded"]
5903    pub fn BN_mod_inverse_blinded(
5904        out: *mut BIGNUM,
5905        out_no_inverse: *mut ::std::os::raw::c_int,
5906        a: *const BIGNUM,
5907        mont: *const BN_MONT_CTX,
5908        ctx: *mut BN_CTX,
5909    ) -> ::std::os::raw::c_int;
5910}
5911extern "C" {
5912    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_inverse_odd"]
5913    pub fn BN_mod_inverse_odd(
5914        out: *mut BIGNUM,
5915        out_no_inverse: *mut ::std::os::raw::c_int,
5916        a: *const BIGNUM,
5917        n: *const BIGNUM,
5918        ctx: *mut BN_CTX,
5919    ) -> ::std::os::raw::c_int;
5920}
5921extern "C" {
5922    #[link_name = "\u{1}aws_lc_0_45_0_BN_MONT_CTX_new_for_modulus"]
5923    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5924}
5925extern "C" {
5926    #[link_name = "\u{1}aws_lc_0_45_0_BN_MONT_CTX_new_consttime"]
5927    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
5928}
5929extern "C" {
5930    #[link_name = "\u{1}aws_lc_0_45_0_BN_MONT_CTX_free"]
5931    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
5932}
5933extern "C" {
5934    #[link_name = "\u{1}aws_lc_0_45_0_BN_MONT_CTX_copy"]
5935    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
5936}
5937extern "C" {
5938    #[link_name = "\u{1}aws_lc_0_45_0_BN_to_montgomery"]
5939    pub fn BN_to_montgomery(
5940        ret: *mut BIGNUM,
5941        a: *const BIGNUM,
5942        mont: *const BN_MONT_CTX,
5943        ctx: *mut BN_CTX,
5944    ) -> ::std::os::raw::c_int;
5945}
5946extern "C" {
5947    #[link_name = "\u{1}aws_lc_0_45_0_BN_from_montgomery"]
5948    pub fn BN_from_montgomery(
5949        ret: *mut BIGNUM,
5950        a: *const BIGNUM,
5951        mont: *const BN_MONT_CTX,
5952        ctx: *mut BN_CTX,
5953    ) -> ::std::os::raw::c_int;
5954}
5955extern "C" {
5956    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_mul_montgomery"]
5957    pub fn BN_mod_mul_montgomery(
5958        r: *mut BIGNUM,
5959        a: *const BIGNUM,
5960        b: *const BIGNUM,
5961        mont: *const BN_MONT_CTX,
5962        ctx: *mut BN_CTX,
5963    ) -> ::std::os::raw::c_int;
5964}
5965extern "C" {
5966    #[link_name = "\u{1}aws_lc_0_45_0_BN_exp"]
5967    pub fn BN_exp(
5968        r: *mut BIGNUM,
5969        a: *const BIGNUM,
5970        p: *const BIGNUM,
5971        ctx: *mut BN_CTX,
5972    ) -> ::std::os::raw::c_int;
5973}
5974extern "C" {
5975    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_exp"]
5976    pub fn BN_mod_exp(
5977        r: *mut BIGNUM,
5978        a: *const BIGNUM,
5979        p: *const BIGNUM,
5980        m: *const BIGNUM,
5981        ctx: *mut BN_CTX,
5982    ) -> ::std::os::raw::c_int;
5983}
5984extern "C" {
5985    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_exp_mont"]
5986    pub fn BN_mod_exp_mont(
5987        r: *mut BIGNUM,
5988        a: *const BIGNUM,
5989        p: *const BIGNUM,
5990        m: *const BIGNUM,
5991        ctx: *mut BN_CTX,
5992        mont: *const BN_MONT_CTX,
5993    ) -> ::std::os::raw::c_int;
5994}
5995extern "C" {
5996    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_exp_mont_consttime"]
5997    pub fn BN_mod_exp_mont_consttime(
5998        rr: *mut BIGNUM,
5999        a: *const BIGNUM,
6000        p: *const BIGNUM,
6001        m: *const BIGNUM,
6002        ctx: *mut BN_CTX,
6003        mont: *const BN_MONT_CTX,
6004    ) -> ::std::os::raw::c_int;
6005}
6006extern "C" {
6007    #[link_name = "\u{1}aws_lc_0_45_0_BN_GENCB_set_old"]
6008    pub fn BN_GENCB_set_old(
6009        callback: *mut BN_GENCB,
6010        f: ::std::option::Option<
6011            unsafe extern "C" fn(
6012                arg1: ::std::os::raw::c_int,
6013                arg2: ::std::os::raw::c_int,
6014                arg3: *mut ::std::os::raw::c_void,
6015            ),
6016        >,
6017        cb_arg: *mut ::std::os::raw::c_void,
6018    );
6019}
6020extern "C" {
6021    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2mpi"]
6022    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
6023}
6024extern "C" {
6025    #[link_name = "\u{1}aws_lc_0_45_0_BN_mpi2bn"]
6026    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
6027}
6028extern "C" {
6029    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_exp_mont_word"]
6030    pub fn BN_mod_exp_mont_word(
6031        r: *mut BIGNUM,
6032        a: BN_ULONG,
6033        p: *const BIGNUM,
6034        m: *const BIGNUM,
6035        ctx: *mut BN_CTX,
6036        mont: *const BN_MONT_CTX,
6037    ) -> ::std::os::raw::c_int;
6038}
6039extern "C" {
6040    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_exp2_mont"]
6041    pub fn BN_mod_exp2_mont(
6042        r: *mut BIGNUM,
6043        a1: *const BIGNUM,
6044        p1: *const BIGNUM,
6045        a2: *const BIGNUM,
6046        p2: *const BIGNUM,
6047        m: *const BIGNUM,
6048        ctx: *mut BN_CTX,
6049        mont: *const BN_MONT_CTX,
6050    ) -> ::std::os::raw::c_int;
6051}
6052extern "C" {
6053    #[link_name = "\u{1}aws_lc_0_45_0_BN_MONT_CTX_new"]
6054    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
6055}
6056extern "C" {
6057    #[link_name = "\u{1}aws_lc_0_45_0_BN_MONT_CTX_set"]
6058    pub fn BN_MONT_CTX_set(
6059        mont: *mut BN_MONT_CTX,
6060        mod_: *const BIGNUM,
6061        ctx: *mut BN_CTX,
6062    ) -> ::std::os::raw::c_int;
6063}
6064extern "C" {
6065    #[link_name = "\u{1}aws_lc_0_45_0_BN_bn2binpad"]
6066    pub fn BN_bn2binpad(
6067        in_: *const BIGNUM,
6068        out: *mut u8,
6069        len: ::std::os::raw::c_int,
6070    ) -> ::std::os::raw::c_int;
6071}
6072extern "C" {
6073    #[link_name = "\u{1}aws_lc_0_45_0_BN_secure_new"]
6074    pub fn BN_secure_new() -> *mut BIGNUM;
6075}
6076extern "C" {
6077    #[link_name = "\u{1}aws_lc_0_45_0_BN_CTX_secure_new"]
6078    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
6079}
6080extern "C" {
6081    #[link_name = "\u{1}aws_lc_0_45_0_BN_mod_exp_mont_consttime_x2"]
6082    pub fn BN_mod_exp_mont_consttime_x2(
6083        rr1: *mut BIGNUM,
6084        a1: *const BIGNUM,
6085        p1: *const BIGNUM,
6086        m1: *const BIGNUM,
6087        in_mont1: *const BN_MONT_CTX,
6088        rr2: *mut BIGNUM,
6089        a2: *const BIGNUM,
6090        p2: *const BIGNUM,
6091        m2: *const BIGNUM,
6092        in_mont2: *const BN_MONT_CTX,
6093        ctx: *mut BN_CTX,
6094    ) -> ::std::os::raw::c_int;
6095}
6096extern "C" {
6097    #[link_name = "\u{1}aws_lc_0_45_0_BN_set_flags"]
6098    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
6099}
6100#[repr(C)]
6101#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6102pub struct bignum_st {
6103    pub d: *mut BN_ULONG,
6104    pub width: ::std::os::raw::c_int,
6105    pub dmax: ::std::os::raw::c_int,
6106    pub neg: ::std::os::raw::c_int,
6107    pub flags: ::std::os::raw::c_int,
6108}
6109#[test]
6110fn bindgen_test_layout_bignum_st() {
6111    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
6112    let ptr = UNINIT.as_ptr();
6113    assert_eq!(
6114        ::std::mem::size_of::<bignum_st>(),
6115        24usize,
6116        "Size of bignum_st"
6117    );
6118    assert_eq!(
6119        ::std::mem::align_of::<bignum_st>(),
6120        8usize,
6121        "Alignment of bignum_st"
6122    );
6123    assert_eq!(
6124        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
6125        0usize,
6126        "Offset of field: bignum_st::d"
6127    );
6128    assert_eq!(
6129        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
6130        8usize,
6131        "Offset of field: bignum_st::width"
6132    );
6133    assert_eq!(
6134        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
6135        12usize,
6136        "Offset of field: bignum_st::dmax"
6137    );
6138    assert_eq!(
6139        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
6140        16usize,
6141        "Offset of field: bignum_st::neg"
6142    );
6143    assert_eq!(
6144        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6145        20usize,
6146        "Offset of field: bignum_st::flags"
6147    );
6148}
6149impl Default for bignum_st {
6150    fn default() -> Self {
6151        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6152        unsafe {
6153            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6154            s.assume_init()
6155        }
6156    }
6157}
6158#[repr(C)]
6159#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6160pub struct bn_mont_ctx_st {
6161    pub RR: BIGNUM,
6162    pub N: BIGNUM,
6163    pub n0: [BN_ULONG; 2usize],
6164}
6165#[test]
6166fn bindgen_test_layout_bn_mont_ctx_st() {
6167    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
6168    let ptr = UNINIT.as_ptr();
6169    assert_eq!(
6170        ::std::mem::size_of::<bn_mont_ctx_st>(),
6171        64usize,
6172        "Size of bn_mont_ctx_st"
6173    );
6174    assert_eq!(
6175        ::std::mem::align_of::<bn_mont_ctx_st>(),
6176        8usize,
6177        "Alignment of bn_mont_ctx_st"
6178    );
6179    assert_eq!(
6180        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
6181        0usize,
6182        "Offset of field: bn_mont_ctx_st::RR"
6183    );
6184    assert_eq!(
6185        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
6186        24usize,
6187        "Offset of field: bn_mont_ctx_st::N"
6188    );
6189    assert_eq!(
6190        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
6191        48usize,
6192        "Offset of field: bn_mont_ctx_st::n0"
6193    );
6194}
6195impl Default for bn_mont_ctx_st {
6196    fn default() -> Self {
6197        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6198        unsafe {
6199            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6200            s.assume_init()
6201        }
6202    }
6203}
6204extern "C" {
6205    #[link_name = "\u{1}aws_lc_0_45_0_BN_num_bits_word"]
6206    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
6207}
6208#[repr(C)]
6209#[derive(Debug, Copy, Clone)]
6210pub struct ASN1_VALUE_st {
6211    _unused: [u8; 0],
6212}
6213pub type ASN1_VALUE = ASN1_VALUE_st;
6214#[repr(C)]
6215#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6216pub struct asn1_string_st {
6217    pub length: ::std::os::raw::c_int,
6218    pub type_: ::std::os::raw::c_int,
6219    pub data: *mut ::std::os::raw::c_uchar,
6220    pub flags: ::std::os::raw::c_long,
6221}
6222#[test]
6223fn bindgen_test_layout_asn1_string_st() {
6224    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
6225    let ptr = UNINIT.as_ptr();
6226    assert_eq!(
6227        ::std::mem::size_of::<asn1_string_st>(),
6228        24usize,
6229        "Size of asn1_string_st"
6230    );
6231    assert_eq!(
6232        ::std::mem::align_of::<asn1_string_st>(),
6233        8usize,
6234        "Alignment of asn1_string_st"
6235    );
6236    assert_eq!(
6237        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
6238        0usize,
6239        "Offset of field: asn1_string_st::length"
6240    );
6241    assert_eq!(
6242        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6243        4usize,
6244        "Offset of field: asn1_string_st::type_"
6245    );
6246    assert_eq!(
6247        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6248        8usize,
6249        "Offset of field: asn1_string_st::data"
6250    );
6251    assert_eq!(
6252        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6253        16usize,
6254        "Offset of field: asn1_string_st::flags"
6255    );
6256}
6257impl Default for asn1_string_st {
6258    fn default() -> Self {
6259        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6260        unsafe {
6261            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6262            s.assume_init()
6263        }
6264    }
6265}
6266#[repr(C)]
6267#[derive(Copy, Clone)]
6268pub struct asn1_type_st {
6269    pub type_: ::std::os::raw::c_int,
6270    pub value: asn1_type_st__bindgen_ty_1,
6271}
6272#[repr(C)]
6273#[derive(Copy, Clone)]
6274pub union asn1_type_st__bindgen_ty_1 {
6275    pub ptr: *mut ::std::os::raw::c_char,
6276    pub boolean: ASN1_BOOLEAN,
6277    pub asn1_string: *mut ASN1_STRING,
6278    pub object: *mut ASN1_OBJECT,
6279    pub integer: *mut ASN1_INTEGER,
6280    pub enumerated: *mut ASN1_ENUMERATED,
6281    pub bit_string: *mut ASN1_BIT_STRING,
6282    pub octet_string: *mut ASN1_OCTET_STRING,
6283    pub printablestring: *mut ASN1_PRINTABLESTRING,
6284    pub t61string: *mut ASN1_T61STRING,
6285    pub ia5string: *mut ASN1_IA5STRING,
6286    pub generalstring: *mut ASN1_GENERALSTRING,
6287    pub bmpstring: *mut ASN1_BMPSTRING,
6288    pub universalstring: *mut ASN1_UNIVERSALSTRING,
6289    pub utctime: *mut ASN1_UTCTIME,
6290    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
6291    pub visiblestring: *mut ASN1_VISIBLESTRING,
6292    pub utf8string: *mut ASN1_UTF8STRING,
6293    pub set: *mut ASN1_STRING,
6294    pub sequence: *mut ASN1_STRING,
6295    pub asn1_value: *mut ASN1_VALUE,
6296}
6297#[test]
6298fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
6299    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
6300        ::std::mem::MaybeUninit::uninit();
6301    let ptr = UNINIT.as_ptr();
6302    assert_eq!(
6303        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
6304        8usize,
6305        "Size of asn1_type_st__bindgen_ty_1"
6306    );
6307    assert_eq!(
6308        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
6309        8usize,
6310        "Alignment of asn1_type_st__bindgen_ty_1"
6311    );
6312    assert_eq!(
6313        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
6314        0usize,
6315        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
6316    );
6317    assert_eq!(
6318        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
6319        0usize,
6320        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
6321    );
6322    assert_eq!(
6323        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
6324        0usize,
6325        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
6326    );
6327    assert_eq!(
6328        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
6329        0usize,
6330        "Offset of field: asn1_type_st__bindgen_ty_1::object"
6331    );
6332    assert_eq!(
6333        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
6334        0usize,
6335        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
6336    );
6337    assert_eq!(
6338        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
6339        0usize,
6340        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
6341    );
6342    assert_eq!(
6343        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
6344        0usize,
6345        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
6346    );
6347    assert_eq!(
6348        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
6349        0usize,
6350        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
6351    );
6352    assert_eq!(
6353        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
6354        0usize,
6355        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
6356    );
6357    assert_eq!(
6358        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
6359        0usize,
6360        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
6361    );
6362    assert_eq!(
6363        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
6364        0usize,
6365        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
6366    );
6367    assert_eq!(
6368        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
6369        0usize,
6370        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
6371    );
6372    assert_eq!(
6373        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
6374        0usize,
6375        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
6376    );
6377    assert_eq!(
6378        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
6379        0usize,
6380        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
6381    );
6382    assert_eq!(
6383        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
6384        0usize,
6385        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
6386    );
6387    assert_eq!(
6388        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
6389        0usize,
6390        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
6391    );
6392    assert_eq!(
6393        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
6394        0usize,
6395        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
6396    );
6397    assert_eq!(
6398        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
6399        0usize,
6400        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
6401    );
6402    assert_eq!(
6403        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
6404        0usize,
6405        "Offset of field: asn1_type_st__bindgen_ty_1::set"
6406    );
6407    assert_eq!(
6408        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
6409        0usize,
6410        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
6411    );
6412    assert_eq!(
6413        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
6414        0usize,
6415        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
6416    );
6417}
6418impl Default for asn1_type_st__bindgen_ty_1 {
6419    fn default() -> Self {
6420        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6421        unsafe {
6422            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6423            s.assume_init()
6424        }
6425    }
6426}
6427#[test]
6428fn bindgen_test_layout_asn1_type_st() {
6429    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
6430    let ptr = UNINIT.as_ptr();
6431    assert_eq!(
6432        ::std::mem::size_of::<asn1_type_st>(),
6433        16usize,
6434        "Size of asn1_type_st"
6435    );
6436    assert_eq!(
6437        ::std::mem::align_of::<asn1_type_st>(),
6438        8usize,
6439        "Alignment of asn1_type_st"
6440    );
6441    assert_eq!(
6442        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6443        0usize,
6444        "Offset of field: asn1_type_st::type_"
6445    );
6446    assert_eq!(
6447        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
6448        8usize,
6449        "Offset of field: asn1_type_st::value"
6450    );
6451}
6452impl Default for asn1_type_st {
6453    fn default() -> Self {
6454        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6455        unsafe {
6456            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6457            s.assume_init()
6458        }
6459    }
6460}
6461pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
6462#[repr(C)]
6463#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6464pub struct ASN1_TEMPLATE_st {
6465    pub flags: u32,
6466    pub tag: ::std::os::raw::c_int,
6467    pub offset: ::std::os::raw::c_ulong,
6468    pub field_name: *const ::std::os::raw::c_char,
6469    pub item: *const ASN1_ITEM_st,
6470}
6471#[test]
6472fn bindgen_test_layout_ASN1_TEMPLATE_st() {
6473    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
6474    let ptr = UNINIT.as_ptr();
6475    assert_eq!(
6476        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
6477        32usize,
6478        "Size of ASN1_TEMPLATE_st"
6479    );
6480    assert_eq!(
6481        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
6482        8usize,
6483        "Alignment of ASN1_TEMPLATE_st"
6484    );
6485    assert_eq!(
6486        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6487        0usize,
6488        "Offset of field: ASN1_TEMPLATE_st::flags"
6489    );
6490    assert_eq!(
6491        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
6492        4usize,
6493        "Offset of field: ASN1_TEMPLATE_st::tag"
6494    );
6495    assert_eq!(
6496        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6497        8usize,
6498        "Offset of field: ASN1_TEMPLATE_st::offset"
6499    );
6500    assert_eq!(
6501        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
6502        16usize,
6503        "Offset of field: ASN1_TEMPLATE_st::field_name"
6504    );
6505    assert_eq!(
6506        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
6507        24usize,
6508        "Offset of field: ASN1_TEMPLATE_st::item"
6509    );
6510}
6511impl Default for ASN1_TEMPLATE_st {
6512    fn default() -> Self {
6513        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6514        unsafe {
6515            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6516            s.assume_init()
6517        }
6518    }
6519}
6520#[repr(C)]
6521#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6522pub struct ASN1_ITEM_st {
6523    pub itype: ::std::os::raw::c_char,
6524    pub utype: ::std::os::raw::c_int,
6525    pub templates: *const ASN1_TEMPLATE,
6526    pub tcount: ::std::os::raw::c_long,
6527    pub funcs: *const ::std::os::raw::c_void,
6528    pub size: ::std::os::raw::c_long,
6529    pub sname: *const ::std::os::raw::c_char,
6530}
6531#[test]
6532fn bindgen_test_layout_ASN1_ITEM_st() {
6533    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
6534    let ptr = UNINIT.as_ptr();
6535    assert_eq!(
6536        ::std::mem::size_of::<ASN1_ITEM_st>(),
6537        48usize,
6538        "Size of ASN1_ITEM_st"
6539    );
6540    assert_eq!(
6541        ::std::mem::align_of::<ASN1_ITEM_st>(),
6542        8usize,
6543        "Alignment of ASN1_ITEM_st"
6544    );
6545    assert_eq!(
6546        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
6547        0usize,
6548        "Offset of field: ASN1_ITEM_st::itype"
6549    );
6550    assert_eq!(
6551        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
6552        4usize,
6553        "Offset of field: ASN1_ITEM_st::utype"
6554    );
6555    assert_eq!(
6556        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
6557        8usize,
6558        "Offset of field: ASN1_ITEM_st::templates"
6559    );
6560    assert_eq!(
6561        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
6562        16usize,
6563        "Offset of field: ASN1_ITEM_st::tcount"
6564    );
6565    assert_eq!(
6566        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
6567        24usize,
6568        "Offset of field: ASN1_ITEM_st::funcs"
6569    );
6570    assert_eq!(
6571        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6572        32usize,
6573        "Offset of field: ASN1_ITEM_st::size"
6574    );
6575    assert_eq!(
6576        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
6577        40usize,
6578        "Offset of field: ASN1_ITEM_st::sname"
6579    );
6580}
6581impl Default for ASN1_ITEM_st {
6582    fn default() -> Self {
6583        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6584        unsafe {
6585            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6586            s.assume_init()
6587        }
6588    }
6589}
6590#[repr(C)]
6591#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6592pub struct evp_encode_ctx_st {
6593    pub data_used: ::std::os::raw::c_uint,
6594    pub data: [u8; 48usize],
6595    pub eof_seen: ::std::os::raw::c_char,
6596    pub error_encountered: ::std::os::raw::c_char,
6597}
6598#[test]
6599fn bindgen_test_layout_evp_encode_ctx_st() {
6600    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
6601    let ptr = UNINIT.as_ptr();
6602    assert_eq!(
6603        ::std::mem::size_of::<evp_encode_ctx_st>(),
6604        56usize,
6605        "Size of evp_encode_ctx_st"
6606    );
6607    assert_eq!(
6608        ::std::mem::align_of::<evp_encode_ctx_st>(),
6609        4usize,
6610        "Alignment of evp_encode_ctx_st"
6611    );
6612    assert_eq!(
6613        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
6614        0usize,
6615        "Offset of field: evp_encode_ctx_st::data_used"
6616    );
6617    assert_eq!(
6618        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6619        4usize,
6620        "Offset of field: evp_encode_ctx_st::data"
6621    );
6622    assert_eq!(
6623        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
6624        52usize,
6625        "Offset of field: evp_encode_ctx_st::eof_seen"
6626    );
6627    assert_eq!(
6628        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
6629        53usize,
6630        "Offset of field: evp_encode_ctx_st::error_encountered"
6631    );
6632}
6633impl Default for evp_encode_ctx_st {
6634    fn default() -> Self {
6635        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6636        unsafe {
6637            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6638            s.assume_init()
6639        }
6640    }
6641}
6642#[repr(C)]
6643#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6644pub struct blake2b_state_st {
6645    pub h: [u64; 8usize],
6646    pub t_low: u64,
6647    pub t_high: u64,
6648    pub block: [u8; 128usize],
6649    pub block_used: usize,
6650}
6651#[test]
6652fn bindgen_test_layout_blake2b_state_st() {
6653    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
6654    let ptr = UNINIT.as_ptr();
6655    assert_eq!(
6656        ::std::mem::size_of::<blake2b_state_st>(),
6657        216usize,
6658        "Size of blake2b_state_st"
6659    );
6660    assert_eq!(
6661        ::std::mem::align_of::<blake2b_state_st>(),
6662        8usize,
6663        "Alignment of blake2b_state_st"
6664    );
6665    assert_eq!(
6666        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6667        0usize,
6668        "Offset of field: blake2b_state_st::h"
6669    );
6670    assert_eq!(
6671        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
6672        64usize,
6673        "Offset of field: blake2b_state_st::t_low"
6674    );
6675    assert_eq!(
6676        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
6677        72usize,
6678        "Offset of field: blake2b_state_st::t_high"
6679    );
6680    assert_eq!(
6681        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
6682        80usize,
6683        "Offset of field: blake2b_state_st::block"
6684    );
6685    assert_eq!(
6686        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
6687        208usize,
6688        "Offset of field: blake2b_state_st::block_used"
6689    );
6690}
6691impl Default for blake2b_state_st {
6692    fn default() -> Self {
6693        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6694        unsafe {
6695            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6696            s.assume_init()
6697        }
6698    }
6699}
6700#[repr(C)]
6701#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6702pub struct cbs_st {
6703    pub data: *const u8,
6704    pub len: usize,
6705}
6706#[test]
6707fn bindgen_test_layout_cbs_st() {
6708    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
6709    let ptr = UNINIT.as_ptr();
6710    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
6711    assert_eq!(
6712        ::std::mem::align_of::<cbs_st>(),
6713        8usize,
6714        "Alignment of cbs_st"
6715    );
6716    assert_eq!(
6717        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6718        0usize,
6719        "Offset of field: cbs_st::data"
6720    );
6721    assert_eq!(
6722        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
6723        8usize,
6724        "Offset of field: cbs_st::len"
6725    );
6726}
6727impl Default for cbs_st {
6728    fn default() -> Self {
6729        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6730        unsafe {
6731            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6732            s.assume_init()
6733        }
6734    }
6735}
6736extern "C" {
6737    #[link_name = "\u{1}aws_lc_0_45_0_CBS_init"]
6738    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
6739}
6740extern "C" {
6741    #[link_name = "\u{1}aws_lc_0_45_0_CBS_skip"]
6742    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6743}
6744extern "C" {
6745    #[link_name = "\u{1}aws_lc_0_45_0_CBS_data"]
6746    pub fn CBS_data(cbs: *const CBS) -> *const u8;
6747}
6748extern "C" {
6749    #[link_name = "\u{1}aws_lc_0_45_0_CBS_len"]
6750    pub fn CBS_len(cbs: *const CBS) -> usize;
6751}
6752extern "C" {
6753    #[link_name = "\u{1}aws_lc_0_45_0_CBS_stow"]
6754    pub fn CBS_stow(
6755        cbs: *const CBS,
6756        out_ptr: *mut *mut u8,
6757        out_len: *mut usize,
6758    ) -> ::std::os::raw::c_int;
6759}
6760extern "C" {
6761    #[link_name = "\u{1}aws_lc_0_45_0_CBS_strdup"]
6762    pub fn CBS_strdup(
6763        cbs: *const CBS,
6764        out_ptr: *mut *mut ::std::os::raw::c_char,
6765    ) -> ::std::os::raw::c_int;
6766}
6767extern "C" {
6768    #[link_name = "\u{1}aws_lc_0_45_0_CBS_contains_zero_byte"]
6769    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
6770}
6771extern "C" {
6772    #[link_name = "\u{1}aws_lc_0_45_0_CBS_mem_equal"]
6773    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
6774}
6775extern "C" {
6776    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u8"]
6777    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6778}
6779extern "C" {
6780    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u16"]
6781    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6782}
6783extern "C" {
6784    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u16le"]
6785    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
6786}
6787extern "C" {
6788    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u24"]
6789    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6790}
6791extern "C" {
6792    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u32"]
6793    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6794}
6795extern "C" {
6796    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u32le"]
6797    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
6798}
6799extern "C" {
6800    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u64"]
6801    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6802}
6803extern "C" {
6804    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u64le"]
6805    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6806}
6807extern "C" {
6808    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_last_u8"]
6809    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
6810}
6811extern "C" {
6812    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_bytes"]
6813    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
6814}
6815extern "C" {
6816    #[link_name = "\u{1}aws_lc_0_45_0_CBS_copy_bytes"]
6817    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
6818}
6819extern "C" {
6820    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u8_length_prefixed"]
6821    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6822}
6823extern "C" {
6824    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u16_length_prefixed"]
6825    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6826}
6827extern "C" {
6828    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u24_length_prefixed"]
6829    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
6830}
6831extern "C" {
6832    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_until_first"]
6833    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
6834}
6835extern "C" {
6836    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_u64_decimal"]
6837    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6838}
6839extern "C" {
6840    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_asn1"]
6841    pub fn CBS_get_asn1(
6842        cbs: *mut CBS,
6843        out: *mut CBS,
6844        tag_value: CBS_ASN1_TAG,
6845    ) -> ::std::os::raw::c_int;
6846}
6847extern "C" {
6848    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_asn1_element"]
6849    pub fn CBS_get_asn1_element(
6850        cbs: *mut CBS,
6851        out: *mut CBS,
6852        tag_value: CBS_ASN1_TAG,
6853    ) -> ::std::os::raw::c_int;
6854}
6855extern "C" {
6856    #[link_name = "\u{1}aws_lc_0_45_0_CBS_peek_asn1_tag"]
6857    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
6858}
6859extern "C" {
6860    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_any_asn1"]
6861    pub fn CBS_get_any_asn1(
6862        cbs: *mut CBS,
6863        out: *mut CBS,
6864        out_tag: *mut CBS_ASN1_TAG,
6865    ) -> ::std::os::raw::c_int;
6866}
6867extern "C" {
6868    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_any_asn1_element"]
6869    pub fn CBS_get_any_asn1_element(
6870        cbs: *mut CBS,
6871        out: *mut CBS,
6872        out_tag: *mut CBS_ASN1_TAG,
6873        out_header_len: *mut usize,
6874    ) -> ::std::os::raw::c_int;
6875}
6876extern "C" {
6877    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_any_ber_asn1_element"]
6878    pub fn CBS_get_any_ber_asn1_element(
6879        cbs: *mut CBS,
6880        out: *mut CBS,
6881        out_tag: *mut CBS_ASN1_TAG,
6882        out_header_len: *mut usize,
6883        out_ber_found: *mut ::std::os::raw::c_int,
6884        out_indefinite: *mut ::std::os::raw::c_int,
6885    ) -> ::std::os::raw::c_int;
6886}
6887extern "C" {
6888    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_asn1_uint64"]
6889    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
6890}
6891extern "C" {
6892    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_asn1_int64"]
6893    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
6894}
6895extern "C" {
6896    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_asn1_bool"]
6897    pub fn CBS_get_asn1_bool(
6898        cbs: *mut CBS,
6899        out: *mut ::std::os::raw::c_int,
6900    ) -> ::std::os::raw::c_int;
6901}
6902extern "C" {
6903    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_optional_asn1"]
6904    pub fn CBS_get_optional_asn1(
6905        cbs: *mut CBS,
6906        out: *mut CBS,
6907        out_present: *mut ::std::os::raw::c_int,
6908        tag: CBS_ASN1_TAG,
6909    ) -> ::std::os::raw::c_int;
6910}
6911extern "C" {
6912    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_optional_asn1_octet_string"]
6913    pub fn CBS_get_optional_asn1_octet_string(
6914        cbs: *mut CBS,
6915        out: *mut CBS,
6916        out_present: *mut ::std::os::raw::c_int,
6917        tag: CBS_ASN1_TAG,
6918    ) -> ::std::os::raw::c_int;
6919}
6920extern "C" {
6921    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_optional_asn1_uint64"]
6922    pub fn CBS_get_optional_asn1_uint64(
6923        cbs: *mut CBS,
6924        out: *mut u64,
6925        tag: CBS_ASN1_TAG,
6926        default_value: u64,
6927    ) -> ::std::os::raw::c_int;
6928}
6929extern "C" {
6930    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_optional_asn1_bool"]
6931    pub fn CBS_get_optional_asn1_bool(
6932        cbs: *mut CBS,
6933        out: *mut ::std::os::raw::c_int,
6934        tag: CBS_ASN1_TAG,
6935        default_value: ::std::os::raw::c_int,
6936    ) -> ::std::os::raw::c_int;
6937}
6938extern "C" {
6939    #[link_name = "\u{1}aws_lc_0_45_0_CBS_is_valid_asn1_bitstring"]
6940    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
6941}
6942extern "C" {
6943    #[link_name = "\u{1}aws_lc_0_45_0_CBS_asn1_bitstring_has_bit"]
6944    pub fn CBS_asn1_bitstring_has_bit(
6945        cbs: *const CBS,
6946        bit: ::std::os::raw::c_uint,
6947    ) -> ::std::os::raw::c_int;
6948}
6949extern "C" {
6950    #[link_name = "\u{1}aws_lc_0_45_0_CBS_is_valid_asn1_integer"]
6951    pub fn CBS_is_valid_asn1_integer(
6952        cbs: *const CBS,
6953        out_is_negative: *mut ::std::os::raw::c_int,
6954    ) -> ::std::os::raw::c_int;
6955}
6956extern "C" {
6957    #[link_name = "\u{1}aws_lc_0_45_0_CBS_is_unsigned_asn1_integer"]
6958    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
6959}
6960extern "C" {
6961    #[link_name = "\u{1}aws_lc_0_45_0_CBS_is_valid_asn1_oid"]
6962    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
6963}
6964extern "C" {
6965    #[link_name = "\u{1}aws_lc_0_45_0_CBS_asn1_oid_to_text"]
6966    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
6967}
6968extern "C" {
6969    #[link_name = "\u{1}aws_lc_0_45_0_CBS_get_optional_asn1_int64"]
6970    pub fn CBS_get_optional_asn1_int64(
6971        cbs: *mut CBS,
6972        out: *mut i64,
6973        tag: CBS_ASN1_TAG,
6974        default_value: i64,
6975    ) -> ::std::os::raw::c_int;
6976}
6977#[repr(C)]
6978#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6979pub struct cbb_buffer_st {
6980    pub buf: *mut u8,
6981    pub len: usize,
6982    pub cap: usize,
6983    pub _bitfield_align_1: [u8; 0],
6984    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6985    pub __bindgen_padding_0: [u8; 7usize],
6986}
6987#[test]
6988fn bindgen_test_layout_cbb_buffer_st() {
6989    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
6990    let ptr = UNINIT.as_ptr();
6991    assert_eq!(
6992        ::std::mem::size_of::<cbb_buffer_st>(),
6993        32usize,
6994        "Size of cbb_buffer_st"
6995    );
6996    assert_eq!(
6997        ::std::mem::align_of::<cbb_buffer_st>(),
6998        8usize,
6999        "Alignment of cbb_buffer_st"
7000    );
7001    assert_eq!(
7002        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
7003        0usize,
7004        "Offset of field: cbb_buffer_st::buf"
7005    );
7006    assert_eq!(
7007        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
7008        8usize,
7009        "Offset of field: cbb_buffer_st::len"
7010    );
7011    assert_eq!(
7012        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
7013        16usize,
7014        "Offset of field: cbb_buffer_st::cap"
7015    );
7016}
7017impl Default for cbb_buffer_st {
7018    fn default() -> Self {
7019        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7020        unsafe {
7021            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7022            s.assume_init()
7023        }
7024    }
7025}
7026impl cbb_buffer_st {
7027    #[inline]
7028    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
7029        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7030    }
7031    #[inline]
7032    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
7033        unsafe {
7034            let val: u32 = ::std::mem::transmute(val);
7035            self._bitfield_1.set(0usize, 1u8, val as u64)
7036        }
7037    }
7038    #[inline]
7039    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
7040        unsafe {
7041            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7042                ::std::ptr::addr_of!((*this)._bitfield_1),
7043                0usize,
7044                1u8,
7045            ) as u32)
7046        }
7047    }
7048    #[inline]
7049    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7050        unsafe {
7051            let val: u32 = ::std::mem::transmute(val);
7052            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7053                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7054                0usize,
7055                1u8,
7056                val as u64,
7057            )
7058        }
7059    }
7060    #[inline]
7061    pub fn error(&self) -> ::std::os::raw::c_uint {
7062        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
7063    }
7064    #[inline]
7065    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
7066        unsafe {
7067            let val: u32 = ::std::mem::transmute(val);
7068            self._bitfield_1.set(1usize, 1u8, val as u64)
7069        }
7070    }
7071    #[inline]
7072    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
7073        unsafe {
7074            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7075                ::std::ptr::addr_of!((*this)._bitfield_1),
7076                1usize,
7077                1u8,
7078            ) as u32)
7079        }
7080    }
7081    #[inline]
7082    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7083        unsafe {
7084            let val: u32 = ::std::mem::transmute(val);
7085            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7086                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7087                1usize,
7088                1u8,
7089                val as u64,
7090            )
7091        }
7092    }
7093    #[inline]
7094    pub fn new_bitfield_1(
7095        can_resize: ::std::os::raw::c_uint,
7096        error: ::std::os::raw::c_uint,
7097    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7098        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7099        __bindgen_bitfield_unit.set(0usize, 1u8, {
7100            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
7101            can_resize as u64
7102        });
7103        __bindgen_bitfield_unit.set(1usize, 1u8, {
7104            let error: u32 = unsafe { ::std::mem::transmute(error) };
7105            error as u64
7106        });
7107        __bindgen_bitfield_unit
7108    }
7109}
7110#[repr(C)]
7111#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7112pub struct cbb_child_st {
7113    pub base: *mut cbb_buffer_st,
7114    pub offset: usize,
7115    pub pending_len_len: u8,
7116    pub _bitfield_align_1: [u8; 0],
7117    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
7118    pub __bindgen_padding_0: [u16; 3usize],
7119}
7120#[test]
7121fn bindgen_test_layout_cbb_child_st() {
7122    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
7123    let ptr = UNINIT.as_ptr();
7124    assert_eq!(
7125        ::std::mem::size_of::<cbb_child_st>(),
7126        24usize,
7127        "Size of cbb_child_st"
7128    );
7129    assert_eq!(
7130        ::std::mem::align_of::<cbb_child_st>(),
7131        8usize,
7132        "Alignment of cbb_child_st"
7133    );
7134    assert_eq!(
7135        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7136        0usize,
7137        "Offset of field: cbb_child_st::base"
7138    );
7139    assert_eq!(
7140        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
7141        8usize,
7142        "Offset of field: cbb_child_st::offset"
7143    );
7144    assert_eq!(
7145        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
7146        16usize,
7147        "Offset of field: cbb_child_st::pending_len_len"
7148    );
7149}
7150impl Default for cbb_child_st {
7151    fn default() -> Self {
7152        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7153        unsafe {
7154            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7155            s.assume_init()
7156        }
7157    }
7158}
7159impl cbb_child_st {
7160    #[inline]
7161    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
7162        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
7163    }
7164    #[inline]
7165    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
7166        unsafe {
7167            let val: u32 = ::std::mem::transmute(val);
7168            self._bitfield_1.set(0usize, 1u8, val as u64)
7169        }
7170    }
7171    #[inline]
7172    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
7173        unsafe {
7174            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
7175                ::std::ptr::addr_of!((*this)._bitfield_1),
7176                0usize,
7177                1u8,
7178            ) as u32)
7179        }
7180    }
7181    #[inline]
7182    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
7183        unsafe {
7184            let val: u32 = ::std::mem::transmute(val);
7185            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
7186                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
7187                0usize,
7188                1u8,
7189                val as u64,
7190            )
7191        }
7192    }
7193    #[inline]
7194    pub fn new_bitfield_1(
7195        pending_is_asn1: ::std::os::raw::c_uint,
7196    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
7197        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
7198        __bindgen_bitfield_unit.set(0usize, 1u8, {
7199            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
7200            pending_is_asn1 as u64
7201        });
7202        __bindgen_bitfield_unit
7203    }
7204}
7205#[repr(C)]
7206#[derive(Copy, Clone)]
7207pub struct cbb_st {
7208    pub child: *mut CBB,
7209    pub is_child: ::std::os::raw::c_char,
7210    pub u: cbb_st__bindgen_ty_1,
7211}
7212#[repr(C)]
7213#[derive(Copy, Clone)]
7214pub union cbb_st__bindgen_ty_1 {
7215    pub base: cbb_buffer_st,
7216    pub child: cbb_child_st,
7217}
7218#[test]
7219fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
7220    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
7221    let ptr = UNINIT.as_ptr();
7222    assert_eq!(
7223        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
7224        32usize,
7225        "Size of cbb_st__bindgen_ty_1"
7226    );
7227    assert_eq!(
7228        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
7229        8usize,
7230        "Alignment of cbb_st__bindgen_ty_1"
7231    );
7232    assert_eq!(
7233        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
7234        0usize,
7235        "Offset of field: cbb_st__bindgen_ty_1::base"
7236    );
7237    assert_eq!(
7238        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7239        0usize,
7240        "Offset of field: cbb_st__bindgen_ty_1::child"
7241    );
7242}
7243impl Default for cbb_st__bindgen_ty_1 {
7244    fn default() -> Self {
7245        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7246        unsafe {
7247            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7248            s.assume_init()
7249        }
7250    }
7251}
7252#[test]
7253fn bindgen_test_layout_cbb_st() {
7254    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
7255    let ptr = UNINIT.as_ptr();
7256    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
7257    assert_eq!(
7258        ::std::mem::align_of::<cbb_st>(),
7259        8usize,
7260        "Alignment of cbb_st"
7261    );
7262    assert_eq!(
7263        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
7264        0usize,
7265        "Offset of field: cbb_st::child"
7266    );
7267    assert_eq!(
7268        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
7269        8usize,
7270        "Offset of field: cbb_st::is_child"
7271    );
7272    assert_eq!(
7273        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
7274        16usize,
7275        "Offset of field: cbb_st::u"
7276    );
7277}
7278impl Default for cbb_st {
7279    fn default() -> Self {
7280        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7281        unsafe {
7282            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7283            s.assume_init()
7284        }
7285    }
7286}
7287extern "C" {
7288    #[link_name = "\u{1}aws_lc_0_45_0_CBB_zero"]
7289    pub fn CBB_zero(cbb: *mut CBB);
7290}
7291extern "C" {
7292    #[link_name = "\u{1}aws_lc_0_45_0_CBB_init"]
7293    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
7294}
7295extern "C" {
7296    #[link_name = "\u{1}aws_lc_0_45_0_CBB_init_fixed"]
7297    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
7298}
7299extern "C" {
7300    #[link_name = "\u{1}aws_lc_0_45_0_CBB_cleanup"]
7301    pub fn CBB_cleanup(cbb: *mut CBB);
7302}
7303extern "C" {
7304    #[link_name = "\u{1}aws_lc_0_45_0_CBB_finish"]
7305    pub fn CBB_finish(
7306        cbb: *mut CBB,
7307        out_data: *mut *mut u8,
7308        out_len: *mut usize,
7309    ) -> ::std::os::raw::c_int;
7310}
7311extern "C" {
7312    #[link_name = "\u{1}aws_lc_0_45_0_CBB_flush"]
7313    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
7314}
7315extern "C" {
7316    #[link_name = "\u{1}aws_lc_0_45_0_CBB_data"]
7317    pub fn CBB_data(cbb: *const CBB) -> *const u8;
7318}
7319extern "C" {
7320    #[link_name = "\u{1}aws_lc_0_45_0_CBB_len"]
7321    pub fn CBB_len(cbb: *const CBB) -> usize;
7322}
7323extern "C" {
7324    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u8_length_prefixed"]
7325    pub fn CBB_add_u8_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_45_0_CBB_add_u16_length_prefixed"]
7332    pub fn CBB_add_u16_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_45_0_CBB_add_u24_length_prefixed"]
7339    pub fn CBB_add_u24_length_prefixed(
7340        cbb: *mut CBB,
7341        out_contents: *mut CBB,
7342    ) -> ::std::os::raw::c_int;
7343}
7344extern "C" {
7345    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1"]
7346    pub fn CBB_add_asn1(
7347        cbb: *mut CBB,
7348        out_contents: *mut CBB,
7349        tag: CBS_ASN1_TAG,
7350    ) -> ::std::os::raw::c_int;
7351}
7352extern "C" {
7353    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_bytes"]
7354    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
7355}
7356extern "C" {
7357    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_zeros"]
7358    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7359}
7360extern "C" {
7361    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_space"]
7362    pub fn CBB_add_space(
7363        cbb: *mut CBB,
7364        out_data: *mut *mut u8,
7365        len: usize,
7366    ) -> ::std::os::raw::c_int;
7367}
7368extern "C" {
7369    #[link_name = "\u{1}aws_lc_0_45_0_CBB_reserve"]
7370    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
7371}
7372extern "C" {
7373    #[link_name = "\u{1}aws_lc_0_45_0_CBB_did_write"]
7374    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
7375}
7376extern "C" {
7377    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u8"]
7378    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
7379}
7380extern "C" {
7381    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u16"]
7382    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7383}
7384extern "C" {
7385    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u16le"]
7386    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
7387}
7388extern "C" {
7389    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u24"]
7390    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7391}
7392extern "C" {
7393    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u32"]
7394    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7395}
7396extern "C" {
7397    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u32le"]
7398    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
7399}
7400extern "C" {
7401    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u64"]
7402    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7403}
7404extern "C" {
7405    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_u64le"]
7406    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7407}
7408extern "C" {
7409    #[link_name = "\u{1}aws_lc_0_45_0_CBB_discard_child"]
7410    pub fn CBB_discard_child(cbb: *mut CBB);
7411}
7412extern "C" {
7413    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1_uint64"]
7414    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
7415}
7416extern "C" {
7417    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1_uint64_with_tag"]
7418    pub fn CBB_add_asn1_uint64_with_tag(
7419        cbb: *mut CBB,
7420        value: u64,
7421        tag: CBS_ASN1_TAG,
7422    ) -> ::std::os::raw::c_int;
7423}
7424extern "C" {
7425    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1_int64"]
7426    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
7427}
7428extern "C" {
7429    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1_int64_with_tag"]
7430    pub fn CBB_add_asn1_int64_with_tag(
7431        cbb: *mut CBB,
7432        value: i64,
7433        tag: CBS_ASN1_TAG,
7434    ) -> ::std::os::raw::c_int;
7435}
7436extern "C" {
7437    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1_octet_string"]
7438    pub fn CBB_add_asn1_octet_string(
7439        cbb: *mut CBB,
7440        data: *const u8,
7441        data_len: usize,
7442    ) -> ::std::os::raw::c_int;
7443}
7444extern "C" {
7445    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1_bool"]
7446    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7447}
7448extern "C" {
7449    #[link_name = "\u{1}aws_lc_0_45_0_CBB_add_asn1_oid_from_text"]
7450    pub fn CBB_add_asn1_oid_from_text(
7451        cbb: *mut CBB,
7452        text: *const ::std::os::raw::c_char,
7453        len: usize,
7454    ) -> ::std::os::raw::c_int;
7455}
7456extern "C" {
7457    #[link_name = "\u{1}aws_lc_0_45_0_CBB_flush_asn1_set_of"]
7458    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
7459}
7460extern "C" {
7461    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_chacha_20"]
7462    pub fn CRYPTO_chacha_20(
7463        out: *mut u8,
7464        in_: *const u8,
7465        in_len: usize,
7466        key: *const u8,
7467        nonce: *const u8,
7468        counter: u32,
7469    );
7470}
7471extern "C" {
7472    #[link_name = "\u{1}aws_lc_0_45_0_EVP_rc4"]
7473    pub fn EVP_rc4() -> *const EVP_CIPHER;
7474}
7475extern "C" {
7476    #[link_name = "\u{1}aws_lc_0_45_0_EVP_des_cbc"]
7477    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
7478}
7479extern "C" {
7480    #[link_name = "\u{1}aws_lc_0_45_0_EVP_des_ecb"]
7481    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
7482}
7483extern "C" {
7484    #[link_name = "\u{1}aws_lc_0_45_0_EVP_des_ede"]
7485    pub fn EVP_des_ede() -> *const EVP_CIPHER;
7486}
7487extern "C" {
7488    #[link_name = "\u{1}aws_lc_0_45_0_EVP_des_ede3"]
7489    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
7490}
7491extern "C" {
7492    #[link_name = "\u{1}aws_lc_0_45_0_EVP_des_ede_cbc"]
7493    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
7494}
7495extern "C" {
7496    #[link_name = "\u{1}aws_lc_0_45_0_EVP_des_ede3_cbc"]
7497    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
7498}
7499extern "C" {
7500    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_ecb"]
7501    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
7502}
7503extern "C" {
7504    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_cbc"]
7505    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
7506}
7507extern "C" {
7508    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_ctr"]
7509    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
7510}
7511extern "C" {
7512    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_ofb"]
7513    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
7514}
7515extern "C" {
7516    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_ecb"]
7517    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
7518}
7519extern "C" {
7520    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_cbc"]
7521    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
7522}
7523extern "C" {
7524    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_ctr"]
7525    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
7526}
7527extern "C" {
7528    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_ofb"]
7529    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
7530}
7531extern "C" {
7532    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_xts"]
7533    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
7534}
7535extern "C" {
7536    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_wrap"]
7537    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
7538}
7539extern "C" {
7540    #[link_name = "\u{1}aws_lc_0_45_0_EVP_enc_null"]
7541    pub fn EVP_enc_null() -> *const EVP_CIPHER;
7542}
7543extern "C" {
7544    #[link_name = "\u{1}aws_lc_0_45_0_EVP_rc2_cbc"]
7545    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
7546}
7547extern "C" {
7548    #[link_name = "\u{1}aws_lc_0_45_0_EVP_rc2_40_cbc"]
7549    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
7550}
7551extern "C" {
7552    #[link_name = "\u{1}aws_lc_0_45_0_EVP_chacha20_poly1305"]
7553    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
7554}
7555extern "C" {
7556    #[link_name = "\u{1}aws_lc_0_45_0_EVP_get_cipherbynid"]
7557    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
7558}
7559extern "C" {
7560    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_init"]
7561    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
7562}
7563extern "C" {
7564    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_new"]
7565    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
7566}
7567extern "C" {
7568    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_cleanup"]
7569    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7570}
7571extern "C" {
7572    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_free"]
7573    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
7574}
7575extern "C" {
7576    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_copy"]
7577    pub fn EVP_CIPHER_CTX_copy(
7578        out: *mut EVP_CIPHER_CTX,
7579        in_: *const EVP_CIPHER_CTX,
7580    ) -> ::std::os::raw::c_int;
7581}
7582extern "C" {
7583    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_reset"]
7584    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7585}
7586extern "C" {
7587    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CipherInit_ex"]
7588    pub fn EVP_CipherInit_ex(
7589        ctx: *mut EVP_CIPHER_CTX,
7590        cipher: *const EVP_CIPHER,
7591        engine: *mut ENGINE,
7592        key: *const u8,
7593        iv: *const u8,
7594        enc: ::std::os::raw::c_int,
7595    ) -> ::std::os::raw::c_int;
7596}
7597extern "C" {
7598    #[link_name = "\u{1}aws_lc_0_45_0_EVP_EncryptInit_ex"]
7599    pub fn EVP_EncryptInit_ex(
7600        ctx: *mut EVP_CIPHER_CTX,
7601        cipher: *const EVP_CIPHER,
7602        impl_: *mut ENGINE,
7603        key: *const u8,
7604        iv: *const u8,
7605    ) -> ::std::os::raw::c_int;
7606}
7607extern "C" {
7608    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DecryptInit_ex"]
7609    pub fn EVP_DecryptInit_ex(
7610        ctx: *mut EVP_CIPHER_CTX,
7611        cipher: *const EVP_CIPHER,
7612        impl_: *mut ENGINE,
7613        key: *const u8,
7614        iv: *const u8,
7615    ) -> ::std::os::raw::c_int;
7616}
7617extern "C" {
7618    #[link_name = "\u{1}aws_lc_0_45_0_EVP_EncryptUpdate"]
7619    pub fn EVP_EncryptUpdate(
7620        ctx: *mut EVP_CIPHER_CTX,
7621        out: *mut u8,
7622        out_len: *mut ::std::os::raw::c_int,
7623        in_: *const u8,
7624        in_len: ::std::os::raw::c_int,
7625    ) -> ::std::os::raw::c_int;
7626}
7627extern "C" {
7628    #[link_name = "\u{1}aws_lc_0_45_0_EVP_EncryptFinal_ex"]
7629    pub fn EVP_EncryptFinal_ex(
7630        ctx: *mut EVP_CIPHER_CTX,
7631        out: *mut u8,
7632        out_len: *mut ::std::os::raw::c_int,
7633    ) -> ::std::os::raw::c_int;
7634}
7635extern "C" {
7636    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DecryptUpdate"]
7637    pub fn EVP_DecryptUpdate(
7638        ctx: *mut EVP_CIPHER_CTX,
7639        out: *mut u8,
7640        out_len: *mut ::std::os::raw::c_int,
7641        in_: *const u8,
7642        in_len: ::std::os::raw::c_int,
7643    ) -> ::std::os::raw::c_int;
7644}
7645extern "C" {
7646    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DecryptFinal_ex"]
7647    pub fn EVP_DecryptFinal_ex(
7648        ctx: *mut EVP_CIPHER_CTX,
7649        out: *mut u8,
7650        out_len: *mut ::std::os::raw::c_int,
7651    ) -> ::std::os::raw::c_int;
7652}
7653extern "C" {
7654    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CipherUpdate"]
7655    pub fn EVP_CipherUpdate(
7656        ctx: *mut EVP_CIPHER_CTX,
7657        out: *mut u8,
7658        out_len: *mut ::std::os::raw::c_int,
7659        in_: *const u8,
7660        in_len: ::std::os::raw::c_int,
7661    ) -> ::std::os::raw::c_int;
7662}
7663extern "C" {
7664    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CipherFinal_ex"]
7665    pub fn EVP_CipherFinal_ex(
7666        ctx: *mut EVP_CIPHER_CTX,
7667        out: *mut u8,
7668        out_len: *mut ::std::os::raw::c_int,
7669    ) -> ::std::os::raw::c_int;
7670}
7671extern "C" {
7672    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_cipher"]
7673    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
7674}
7675extern "C" {
7676    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_nid"]
7677    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7678}
7679extern "C" {
7680    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_encrypting"]
7681    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
7682}
7683extern "C" {
7684    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_block_size"]
7685    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7686}
7687extern "C" {
7688    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_key_length"]
7689    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7690}
7691extern "C" {
7692    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_iv_length"]
7693    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
7694}
7695extern "C" {
7696    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_get_app_data"]
7697    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
7698}
7699extern "C" {
7700    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_set_app_data"]
7701    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
7702}
7703extern "C" {
7704    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_flags"]
7705    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
7706}
7707extern "C" {
7708    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_mode"]
7709    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
7710}
7711extern "C" {
7712    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_ctrl"]
7713    pub fn EVP_CIPHER_CTX_ctrl(
7714        ctx: *mut EVP_CIPHER_CTX,
7715        command: ::std::os::raw::c_int,
7716        arg: ::std::os::raw::c_int,
7717        ptr: *mut ::std::os::raw::c_void,
7718    ) -> ::std::os::raw::c_int;
7719}
7720extern "C" {
7721    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_set_padding"]
7722    pub fn EVP_CIPHER_CTX_set_padding(
7723        ctx: *mut EVP_CIPHER_CTX,
7724        pad: ::std::os::raw::c_int,
7725    ) -> ::std::os::raw::c_int;
7726}
7727extern "C" {
7728    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_set_key_length"]
7729    pub fn EVP_CIPHER_CTX_set_key_length(
7730        ctx: *mut EVP_CIPHER_CTX,
7731        key_len: ::std::os::raw::c_uint,
7732    ) -> ::std::os::raw::c_int;
7733}
7734extern "C" {
7735    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_nid"]
7736    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
7737}
7738extern "C" {
7739    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_name"]
7740    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
7741}
7742extern "C" {
7743    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_block_size"]
7744    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7745}
7746extern "C" {
7747    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_key_length"]
7748    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7749}
7750extern "C" {
7751    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_iv_length"]
7752    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
7753}
7754extern "C" {
7755    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_flags"]
7756    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
7757}
7758extern "C" {
7759    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_mode"]
7760    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
7761}
7762extern "C" {
7763    #[link_name = "\u{1}aws_lc_0_45_0_EVP_BytesToKey"]
7764    pub fn EVP_BytesToKey(
7765        type_: *const EVP_CIPHER,
7766        md: *const EVP_MD,
7767        salt: *const u8,
7768        data: *const u8,
7769        data_len: usize,
7770        count: ::std::os::raw::c_uint,
7771        key: *mut u8,
7772        iv: *mut u8,
7773    ) -> ::std::os::raw::c_int;
7774}
7775extern "C" {
7776    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_cbc_hmac_sha1"]
7777    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
7778}
7779extern "C" {
7780    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_cbc_hmac_sha1"]
7781    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
7782}
7783extern "C" {
7784    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_cbc_hmac_sha256"]
7785    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
7786}
7787extern "C" {
7788    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_cbc_hmac_sha256"]
7789    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
7790}
7791extern "C" {
7792    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CipherInit"]
7793    pub fn EVP_CipherInit(
7794        ctx: *mut EVP_CIPHER_CTX,
7795        cipher: *const EVP_CIPHER,
7796        key: *const u8,
7797        iv: *const u8,
7798        enc: ::std::os::raw::c_int,
7799    ) -> ::std::os::raw::c_int;
7800}
7801extern "C" {
7802    #[link_name = "\u{1}aws_lc_0_45_0_EVP_EncryptInit"]
7803    pub fn EVP_EncryptInit(
7804        ctx: *mut EVP_CIPHER_CTX,
7805        cipher: *const EVP_CIPHER,
7806        key: *const u8,
7807        iv: *const u8,
7808    ) -> ::std::os::raw::c_int;
7809}
7810extern "C" {
7811    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DecryptInit"]
7812    pub fn EVP_DecryptInit(
7813        ctx: *mut EVP_CIPHER_CTX,
7814        cipher: *const EVP_CIPHER,
7815        key: *const u8,
7816        iv: *const u8,
7817    ) -> ::std::os::raw::c_int;
7818}
7819extern "C" {
7820    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CipherFinal"]
7821    pub fn EVP_CipherFinal(
7822        ctx: *mut EVP_CIPHER_CTX,
7823        out: *mut u8,
7824        out_len: *mut ::std::os::raw::c_int,
7825    ) -> ::std::os::raw::c_int;
7826}
7827extern "C" {
7828    #[link_name = "\u{1}aws_lc_0_45_0_EVP_EncryptFinal"]
7829    pub fn EVP_EncryptFinal(
7830        ctx: *mut EVP_CIPHER_CTX,
7831        out: *mut u8,
7832        out_len: *mut ::std::os::raw::c_int,
7833    ) -> ::std::os::raw::c_int;
7834}
7835extern "C" {
7836    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DecryptFinal"]
7837    pub fn EVP_DecryptFinal(
7838        ctx: *mut EVP_CIPHER_CTX,
7839        out: *mut u8,
7840        out_len: *mut ::std::os::raw::c_int,
7841    ) -> ::std::os::raw::c_int;
7842}
7843extern "C" {
7844    #[link_name = "\u{1}aws_lc_0_45_0_EVP_Cipher"]
7845    pub fn EVP_Cipher(
7846        ctx: *mut EVP_CIPHER_CTX,
7847        out: *mut u8,
7848        in_: *const u8,
7849        in_len: usize,
7850    ) -> ::std::os::raw::c_int;
7851}
7852extern "C" {
7853    #[link_name = "\u{1}aws_lc_0_45_0_EVP_get_cipherbyname"]
7854    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
7855}
7856extern "C" {
7857    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_gcm"]
7858    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
7859}
7860extern "C" {
7861    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_gcm"]
7862    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
7863}
7864extern "C" {
7865    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_ccm"]
7866    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
7867}
7868extern "C" {
7869    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_ccm"]
7870    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
7871}
7872extern "C" {
7873    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_ccm"]
7874    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
7875}
7876extern "C" {
7877    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_ecb"]
7878    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
7879}
7880extern "C" {
7881    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_cbc"]
7882    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
7883}
7884extern "C" {
7885    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_ctr"]
7886    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
7887}
7888extern "C" {
7889    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_gcm"]
7890    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
7891}
7892extern "C" {
7893    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_ofb"]
7894    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
7895}
7896extern "C" {
7897    #[link_name = "\u{1}aws_lc_0_45_0_EVP_des_ede3_ecb"]
7898    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
7899}
7900extern "C" {
7901    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_cfb128"]
7902    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
7903}
7904extern "C" {
7905    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_cfb"]
7906    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
7907}
7908extern "C" {
7909    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_cfb1"]
7910    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
7911}
7912extern "C" {
7913    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_128_cfb8"]
7914    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
7915}
7916extern "C" {
7917    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_cfb128"]
7918    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
7919}
7920extern "C" {
7921    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_cfb"]
7922    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
7923}
7924extern "C" {
7925    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_cfb1"]
7926    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
7927}
7928extern "C" {
7929    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_192_cfb8"]
7930    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
7931}
7932extern "C" {
7933    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_cfb128"]
7934    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
7935}
7936extern "C" {
7937    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_cfb"]
7938    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
7939}
7940extern "C" {
7941    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_cfb1"]
7942    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
7943}
7944extern "C" {
7945    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aes_256_cfb8"]
7946    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
7947}
7948extern "C" {
7949    #[link_name = "\u{1}aws_lc_0_45_0_EVP_bf_ecb"]
7950    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
7951}
7952extern "C" {
7953    #[link_name = "\u{1}aws_lc_0_45_0_EVP_bf_cbc"]
7954    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
7955}
7956extern "C" {
7957    #[link_name = "\u{1}aws_lc_0_45_0_EVP_bf_cfb"]
7958    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
7959}
7960extern "C" {
7961    #[link_name = "\u{1}aws_lc_0_45_0_EVP_bf_cfb64"]
7962    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
7963}
7964extern "C" {
7965    #[link_name = "\u{1}aws_lc_0_45_0_EVP_bf_ofb"]
7966    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
7967}
7968extern "C" {
7969    #[link_name = "\u{1}aws_lc_0_45_0_EVP_cast5_ecb"]
7970    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
7971}
7972extern "C" {
7973    #[link_name = "\u{1}aws_lc_0_45_0_EVP_cast5_cbc"]
7974    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
7975}
7976extern "C" {
7977    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_CTX_set_flags"]
7978    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
7979}
7980extern "C" {
7981    #[link_name = "\u{1}aws_lc_0_45_0_EVP_add_cipher_alias"]
7982    pub fn EVP_add_cipher_alias(
7983        a: *const ::std::os::raw::c_char,
7984        b: *const ::std::os::raw::c_char,
7985    ) -> ::std::os::raw::c_int;
7986}
7987#[repr(C)]
7988#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7989pub struct evp_cipher_ctx_st {
7990    pub cipher: *const EVP_CIPHER,
7991    pub app_data: *mut ::std::os::raw::c_void,
7992    pub cipher_data: *mut ::std::os::raw::c_void,
7993    pub key_len: ::std::os::raw::c_uint,
7994    pub encrypt: ::std::os::raw::c_int,
7995    pub flags: u32,
7996    pub oiv: [u8; 16usize],
7997    pub iv: [u8; 16usize],
7998    pub buf: [u8; 32usize],
7999    pub buf_len: ::std::os::raw::c_int,
8000    pub num: ::std::os::raw::c_uint,
8001    pub final_used: ::std::os::raw::c_int,
8002    pub final_: [u8; 32usize],
8003    pub poisoned: ::std::os::raw::c_int,
8004}
8005#[test]
8006fn bindgen_test_layout_evp_cipher_ctx_st() {
8007    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
8008    let ptr = UNINIT.as_ptr();
8009    assert_eq!(
8010        ::std::mem::size_of::<evp_cipher_ctx_st>(),
8011        152usize,
8012        "Size of evp_cipher_ctx_st"
8013    );
8014    assert_eq!(
8015        ::std::mem::align_of::<evp_cipher_ctx_st>(),
8016        8usize,
8017        "Alignment of evp_cipher_ctx_st"
8018    );
8019    assert_eq!(
8020        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8021        0usize,
8022        "Offset of field: evp_cipher_ctx_st::cipher"
8023    );
8024    assert_eq!(
8025        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
8026        8usize,
8027        "Offset of field: evp_cipher_ctx_st::app_data"
8028    );
8029    assert_eq!(
8030        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
8031        16usize,
8032        "Offset of field: evp_cipher_ctx_st::cipher_data"
8033    );
8034    assert_eq!(
8035        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
8036        24usize,
8037        "Offset of field: evp_cipher_ctx_st::key_len"
8038    );
8039    assert_eq!(
8040        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
8041        28usize,
8042        "Offset of field: evp_cipher_ctx_st::encrypt"
8043    );
8044    assert_eq!(
8045        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8046        32usize,
8047        "Offset of field: evp_cipher_ctx_st::flags"
8048    );
8049    assert_eq!(
8050        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
8051        36usize,
8052        "Offset of field: evp_cipher_ctx_st::oiv"
8053    );
8054    assert_eq!(
8055        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8056        52usize,
8057        "Offset of field: evp_cipher_ctx_st::iv"
8058    );
8059    assert_eq!(
8060        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
8061        68usize,
8062        "Offset of field: evp_cipher_ctx_st::buf"
8063    );
8064    assert_eq!(
8065        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
8066        100usize,
8067        "Offset of field: evp_cipher_ctx_st::buf_len"
8068    );
8069    assert_eq!(
8070        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
8071        104usize,
8072        "Offset of field: evp_cipher_ctx_st::num"
8073    );
8074    assert_eq!(
8075        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
8076        108usize,
8077        "Offset of field: evp_cipher_ctx_st::final_used"
8078    );
8079    assert_eq!(
8080        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
8081        112usize,
8082        "Offset of field: evp_cipher_ctx_st::final_"
8083    );
8084    assert_eq!(
8085        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
8086        144usize,
8087        "Offset of field: evp_cipher_ctx_st::poisoned"
8088    );
8089}
8090impl Default for evp_cipher_ctx_st {
8091    fn default() -> Self {
8092        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8093        unsafe {
8094            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8095            s.assume_init()
8096        }
8097    }
8098}
8099#[repr(C)]
8100#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8101pub struct evp_cipher_info_st {
8102    pub cipher: *const EVP_CIPHER,
8103    pub iv: [::std::os::raw::c_uchar; 16usize],
8104}
8105#[test]
8106fn bindgen_test_layout_evp_cipher_info_st() {
8107    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
8108    let ptr = UNINIT.as_ptr();
8109    assert_eq!(
8110        ::std::mem::size_of::<evp_cipher_info_st>(),
8111        24usize,
8112        "Size of evp_cipher_info_st"
8113    );
8114    assert_eq!(
8115        ::std::mem::align_of::<evp_cipher_info_st>(),
8116        8usize,
8117        "Alignment of evp_cipher_info_st"
8118    );
8119    assert_eq!(
8120        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
8121        0usize,
8122        "Offset of field: evp_cipher_info_st::cipher"
8123    );
8124    assert_eq!(
8125        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
8126        8usize,
8127        "Offset of field: evp_cipher_info_st::iv"
8128    );
8129}
8130impl Default for evp_cipher_info_st {
8131    fn default() -> Self {
8132        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8133        unsafe {
8134            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8135            s.assume_init()
8136        }
8137    }
8138}
8139pub type EVP_CIPHER_INFO = evp_cipher_info_st;
8140extern "C" {
8141    #[link_name = "\u{1}aws_lc_0_45_0_AES_CMAC"]
8142    pub fn AES_CMAC(
8143        out: *mut u8,
8144        key: *const u8,
8145        key_len: usize,
8146        in_: *const u8,
8147        in_len: usize,
8148    ) -> ::std::os::raw::c_int;
8149}
8150extern "C" {
8151    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_CTX_new"]
8152    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
8153}
8154extern "C" {
8155    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_CTX_free"]
8156    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
8157}
8158extern "C" {
8159    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_CTX_copy"]
8160    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
8161}
8162extern "C" {
8163    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_Init"]
8164    pub fn CMAC_Init(
8165        ctx: *mut CMAC_CTX,
8166        key: *const ::std::os::raw::c_void,
8167        key_len: usize,
8168        cipher: *const EVP_CIPHER,
8169        engine: *mut ENGINE,
8170    ) -> ::std::os::raw::c_int;
8171}
8172extern "C" {
8173    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_Reset"]
8174    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
8175}
8176extern "C" {
8177    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_Update"]
8178    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
8179}
8180extern "C" {
8181    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_Final"]
8182    pub fn CMAC_Final(
8183        ctx: *mut CMAC_CTX,
8184        out: *mut u8,
8185        out_len: *mut usize,
8186    ) -> ::std::os::raw::c_int;
8187}
8188extern "C" {
8189    #[link_name = "\u{1}aws_lc_0_45_0_CMAC_CTX_get0_cipher_ctx"]
8190    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
8191}
8192#[repr(C)]
8193#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8194pub struct conf_value_st {
8195    pub section: *mut ::std::os::raw::c_char,
8196    pub name: *mut ::std::os::raw::c_char,
8197    pub value: *mut ::std::os::raw::c_char,
8198}
8199#[test]
8200fn bindgen_test_layout_conf_value_st() {
8201    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
8202    let ptr = UNINIT.as_ptr();
8203    assert_eq!(
8204        ::std::mem::size_of::<conf_value_st>(),
8205        24usize,
8206        "Size of conf_value_st"
8207    );
8208    assert_eq!(
8209        ::std::mem::align_of::<conf_value_st>(),
8210        8usize,
8211        "Alignment of conf_value_st"
8212    );
8213    assert_eq!(
8214        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
8215        0usize,
8216        "Offset of field: conf_value_st::section"
8217    );
8218    assert_eq!(
8219        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
8220        8usize,
8221        "Offset of field: conf_value_st::name"
8222    );
8223    assert_eq!(
8224        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
8225        16usize,
8226        "Offset of field: conf_value_st::value"
8227    );
8228}
8229impl Default for conf_value_st {
8230    fn default() -> Self {
8231        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8232        unsafe {
8233            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8234            s.assume_init()
8235        }
8236    }
8237}
8238#[repr(C)]
8239#[derive(Debug, Copy, Clone)]
8240pub struct stack_st_CONF_VALUE {
8241    _unused: [u8; 0],
8242}
8243#[repr(C)]
8244#[derive(Debug, Copy, Clone)]
8245pub struct lhash_st_CONF_VALUE {
8246    _unused: [u8; 0],
8247}
8248#[repr(C)]
8249#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8250pub struct conf_st {
8251    pub data: *mut lhash_st_CONF_VALUE,
8252}
8253#[test]
8254fn bindgen_test_layout_conf_st() {
8255    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
8256    let ptr = UNINIT.as_ptr();
8257    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
8258    assert_eq!(
8259        ::std::mem::align_of::<conf_st>(),
8260        8usize,
8261        "Alignment of conf_st"
8262    );
8263    assert_eq!(
8264        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8265        0usize,
8266        "Offset of field: conf_st::data"
8267    );
8268}
8269impl Default for conf_st {
8270    fn default() -> Self {
8271        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8272        unsafe {
8273            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8274            s.assume_init()
8275        }
8276    }
8277}
8278extern "C" {
8279    #[link_name = "\u{1}aws_lc_0_45_0_X25519_keypair"]
8280    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
8281}
8282extern "C" {
8283    #[link_name = "\u{1}aws_lc_0_45_0_X25519"]
8284    pub fn X25519(
8285        out_shared_key: *mut u8,
8286        private_key: *const u8,
8287        peer_public_value: *const u8,
8288    ) -> ::std::os::raw::c_int;
8289}
8290extern "C" {
8291    #[link_name = "\u{1}aws_lc_0_45_0_X25519_public_from_private"]
8292    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
8293}
8294extern "C" {
8295    #[link_name = "\u{1}aws_lc_0_45_0_ED25519_keypair"]
8296    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
8297}
8298extern "C" {
8299    #[link_name = "\u{1}aws_lc_0_45_0_ED25519_sign"]
8300    pub fn ED25519_sign(
8301        out_sig: *mut u8,
8302        message: *const u8,
8303        message_len: usize,
8304        private_key: *const u8,
8305    ) -> ::std::os::raw::c_int;
8306}
8307extern "C" {
8308    #[link_name = "\u{1}aws_lc_0_45_0_ED25519_verify"]
8309    pub fn ED25519_verify(
8310        message: *const u8,
8311        message_len: usize,
8312        signature: *const u8,
8313        public_key: *const u8,
8314    ) -> ::std::os::raw::c_int;
8315}
8316extern "C" {
8317    #[link_name = "\u{1}aws_lc_0_45_0_ED25519ctx_sign"]
8318    pub fn ED25519ctx_sign(
8319        out_sig: *mut u8,
8320        message: *const u8,
8321        message_len: usize,
8322        private_key: *const u8,
8323        context: *const u8,
8324        context_len: usize,
8325    ) -> ::std::os::raw::c_int;
8326}
8327extern "C" {
8328    #[link_name = "\u{1}aws_lc_0_45_0_ED25519ctx_verify"]
8329    pub fn ED25519ctx_verify(
8330        message: *const u8,
8331        message_len: usize,
8332        signature: *const u8,
8333        public_key: *const u8,
8334        context: *const u8,
8335        context_len: usize,
8336    ) -> ::std::os::raw::c_int;
8337}
8338extern "C" {
8339    #[link_name = "\u{1}aws_lc_0_45_0_ED25519ph_sign"]
8340    pub fn ED25519ph_sign(
8341        out_sig: *mut u8,
8342        message: *const u8,
8343        message_len: usize,
8344        private_key: *const u8,
8345        context: *const u8,
8346        context_len: usize,
8347    ) -> ::std::os::raw::c_int;
8348}
8349extern "C" {
8350    #[link_name = "\u{1}aws_lc_0_45_0_ED25519ph_verify"]
8351    pub fn ED25519ph_verify(
8352        message: *const u8,
8353        message_len: usize,
8354        signature: *const u8,
8355        public_key: *const u8,
8356        context: *const u8,
8357        context_len: usize,
8358    ) -> ::std::os::raw::c_int;
8359}
8360extern "C" {
8361    #[link_name = "\u{1}aws_lc_0_45_0_ED25519ph_sign_digest"]
8362    pub fn ED25519ph_sign_digest(
8363        out_sig: *mut u8,
8364        digest: *const u8,
8365        private_key: *const u8,
8366        context: *const u8,
8367        context_len: usize,
8368    ) -> ::std::os::raw::c_int;
8369}
8370extern "C" {
8371    #[link_name = "\u{1}aws_lc_0_45_0_ED25519ph_verify_digest"]
8372    pub fn ED25519ph_verify_digest(
8373        digest: *const u8,
8374        signature: *const u8,
8375        public_key: *const u8,
8376        context: *const u8,
8377        context_len: usize,
8378    ) -> ::std::os::raw::c_int;
8379}
8380extern "C" {
8381    #[link_name = "\u{1}aws_lc_0_45_0_ED25519_keypair_from_seed"]
8382    pub fn ED25519_keypair_from_seed(
8383        out_public_key: *mut u8,
8384        out_private_key: *mut u8,
8385        seed: *const u8,
8386    );
8387}
8388pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
8389pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
8390pub type spake2_role_t = ::std::os::raw::c_uint;
8391extern "C" {
8392    #[link_name = "\u{1}aws_lc_0_45_0_SPAKE2_CTX_new"]
8393    pub fn SPAKE2_CTX_new(
8394        my_role: spake2_role_t,
8395        my_name: *const u8,
8396        my_name_len: usize,
8397        their_name: *const u8,
8398        their_name_len: usize,
8399    ) -> *mut SPAKE2_CTX;
8400}
8401extern "C" {
8402    #[link_name = "\u{1}aws_lc_0_45_0_SPAKE2_CTX_free"]
8403    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
8404}
8405extern "C" {
8406    #[link_name = "\u{1}aws_lc_0_45_0_SPAKE2_generate_msg"]
8407    pub fn SPAKE2_generate_msg(
8408        ctx: *mut SPAKE2_CTX,
8409        out: *mut u8,
8410        out_len: *mut usize,
8411        max_out_len: usize,
8412        password: *const u8,
8413        password_len: usize,
8414    ) -> ::std::os::raw::c_int;
8415}
8416extern "C" {
8417    #[link_name = "\u{1}aws_lc_0_45_0_SPAKE2_process_msg"]
8418    pub fn SPAKE2_process_msg(
8419        ctx: *mut SPAKE2_CTX,
8420        out_key: *mut u8,
8421        out_key_len: *mut usize,
8422        max_out_key_len: usize,
8423        their_msg: *const u8,
8424        their_msg_len: usize,
8425    ) -> ::std::os::raw::c_int;
8426}
8427extern "C" {
8428    #[link_name = "\u{1}aws_lc_0_45_0_EVP_md4"]
8429    pub fn EVP_md4() -> *const EVP_MD;
8430}
8431extern "C" {
8432    #[link_name = "\u{1}aws_lc_0_45_0_EVP_md5"]
8433    pub fn EVP_md5() -> *const EVP_MD;
8434}
8435extern "C" {
8436    #[link_name = "\u{1}aws_lc_0_45_0_EVP_ripemd160"]
8437    pub fn EVP_ripemd160() -> *const EVP_MD;
8438}
8439extern "C" {
8440    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha1"]
8441    pub fn EVP_sha1() -> *const EVP_MD;
8442}
8443extern "C" {
8444    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha224"]
8445    pub fn EVP_sha224() -> *const EVP_MD;
8446}
8447extern "C" {
8448    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha256"]
8449    pub fn EVP_sha256() -> *const EVP_MD;
8450}
8451extern "C" {
8452    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha384"]
8453    pub fn EVP_sha384() -> *const EVP_MD;
8454}
8455extern "C" {
8456    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha512"]
8457    pub fn EVP_sha512() -> *const EVP_MD;
8458}
8459extern "C" {
8460    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha512_224"]
8461    pub fn EVP_sha512_224() -> *const EVP_MD;
8462}
8463extern "C" {
8464    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha512_256"]
8465    pub fn EVP_sha512_256() -> *const EVP_MD;
8466}
8467extern "C" {
8468    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha3_224"]
8469    pub fn EVP_sha3_224() -> *const EVP_MD;
8470}
8471extern "C" {
8472    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha3_256"]
8473    pub fn EVP_sha3_256() -> *const EVP_MD;
8474}
8475extern "C" {
8476    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha3_384"]
8477    pub fn EVP_sha3_384() -> *const EVP_MD;
8478}
8479extern "C" {
8480    #[link_name = "\u{1}aws_lc_0_45_0_EVP_sha3_512"]
8481    pub fn EVP_sha3_512() -> *const EVP_MD;
8482}
8483extern "C" {
8484    #[link_name = "\u{1}aws_lc_0_45_0_EVP_shake128"]
8485    pub fn EVP_shake128() -> *const EVP_MD;
8486}
8487extern "C" {
8488    #[link_name = "\u{1}aws_lc_0_45_0_EVP_shake256"]
8489    pub fn EVP_shake256() -> *const EVP_MD;
8490}
8491extern "C" {
8492    #[link_name = "\u{1}aws_lc_0_45_0_EVP_blake2b256"]
8493    pub fn EVP_blake2b256() -> *const EVP_MD;
8494}
8495extern "C" {
8496    #[link_name = "\u{1}aws_lc_0_45_0_EVP_keccak256"]
8497    pub fn EVP_keccak256() -> *const EVP_MD;
8498}
8499extern "C" {
8500    #[link_name = "\u{1}aws_lc_0_45_0_EVP_md5_sha1"]
8501    pub fn EVP_md5_sha1() -> *const EVP_MD;
8502}
8503extern "C" {
8504    #[link_name = "\u{1}aws_lc_0_45_0_EVP_get_digestbynid"]
8505    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
8506}
8507extern "C" {
8508    #[link_name = "\u{1}aws_lc_0_45_0_EVP_get_digestbyobj"]
8509    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
8510}
8511extern "C" {
8512    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_init"]
8513    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
8514}
8515extern "C" {
8516    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_new"]
8517    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
8518}
8519extern "C" {
8520    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_cleanup"]
8521    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8522}
8523extern "C" {
8524    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_cleanse"]
8525    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
8526}
8527extern "C" {
8528    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_free"]
8529    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
8530}
8531extern "C" {
8532    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_copy_ex"]
8533    pub fn EVP_MD_CTX_copy_ex(
8534        out: *mut EVP_MD_CTX,
8535        in_: *const EVP_MD_CTX,
8536    ) -> ::std::os::raw::c_int;
8537}
8538extern "C" {
8539    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_move"]
8540    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
8541}
8542extern "C" {
8543    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_reset"]
8544    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
8545}
8546extern "C" {
8547    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestInit_ex"]
8548    pub fn EVP_DigestInit_ex(
8549        ctx: *mut EVP_MD_CTX,
8550        type_: *const EVP_MD,
8551        engine: *mut ENGINE,
8552    ) -> ::std::os::raw::c_int;
8553}
8554extern "C" {
8555    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestInit"]
8556    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
8557}
8558extern "C" {
8559    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestUpdate"]
8560    pub fn EVP_DigestUpdate(
8561        ctx: *mut EVP_MD_CTX,
8562        data: *const ::std::os::raw::c_void,
8563        len: usize,
8564    ) -> ::std::os::raw::c_int;
8565}
8566extern "C" {
8567    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestFinal_ex"]
8568    pub fn EVP_DigestFinal_ex(
8569        ctx: *mut EVP_MD_CTX,
8570        md_out: *mut u8,
8571        out_size: *mut ::std::os::raw::c_uint,
8572    ) -> ::std::os::raw::c_int;
8573}
8574extern "C" {
8575    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestFinal"]
8576    pub fn EVP_DigestFinal(
8577        ctx: *mut EVP_MD_CTX,
8578        md_out: *mut u8,
8579        out_size: *mut ::std::os::raw::c_uint,
8580    ) -> ::std::os::raw::c_int;
8581}
8582extern "C" {
8583    #[link_name = "\u{1}aws_lc_0_45_0_EVP_Digest"]
8584    pub fn EVP_Digest(
8585        data: *const ::std::os::raw::c_void,
8586        len: usize,
8587        md_out: *mut u8,
8588        out_size: *mut ::std::os::raw::c_uint,
8589        type_: *const EVP_MD,
8590        impl_: *mut ENGINE,
8591    ) -> ::std::os::raw::c_int;
8592}
8593extern "C" {
8594    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_type"]
8595    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
8596}
8597extern "C" {
8598    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_flags"]
8599    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
8600}
8601extern "C" {
8602    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_size"]
8603    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
8604}
8605extern "C" {
8606    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_block_size"]
8607    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
8608}
8609extern "C" {
8610    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_md"]
8611    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
8612}
8613extern "C" {
8614    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_size"]
8615    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
8616}
8617extern "C" {
8618    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_block_size"]
8619    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
8620}
8621extern "C" {
8622    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_type"]
8623    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8624}
8625extern "C" {
8626    #[link_name = "\u{1}aws_lc_0_45_0_EVP_parse_digest_algorithm"]
8627    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
8628}
8629extern "C" {
8630    #[link_name = "\u{1}aws_lc_0_45_0_EVP_marshal_digest_algorithm"]
8631    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
8632}
8633extern "C" {
8634    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_copy"]
8635    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
8636}
8637extern "C" {
8638    #[link_name = "\u{1}aws_lc_0_45_0_EVP_get_digestbyname"]
8639    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
8640}
8641extern "C" {
8642    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_create"]
8643    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
8644}
8645extern "C" {
8646    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_destroy"]
8647    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
8648}
8649extern "C" {
8650    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestFinalXOF"]
8651    pub fn EVP_DigestFinalXOF(
8652        ctx: *mut EVP_MD_CTX,
8653        out: *mut u8,
8654        len: usize,
8655    ) -> ::std::os::raw::c_int;
8656}
8657extern "C" {
8658    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestSqueeze"]
8659    pub fn EVP_DigestSqueeze(
8660        ctx: *mut EVP_MD_CTX,
8661        out: *mut u8,
8662        len: usize,
8663    ) -> ::std::os::raw::c_int;
8664}
8665extern "C" {
8666    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_meth_get_flags"]
8667    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
8668}
8669extern "C" {
8670    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_nid"]
8671    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
8672}
8673extern "C" {
8674    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_set_pkey_ctx"]
8675    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
8676}
8677extern "C" {
8678    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_get_pkey_ctx"]
8679    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8680}
8681extern "C" {
8682    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_pkey_ctx"]
8683    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
8684}
8685#[repr(C)]
8686#[derive(Debug, Copy, Clone)]
8687pub struct evp_md_pctx_ops {
8688    _unused: [u8; 0],
8689}
8690#[repr(C)]
8691#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8692pub struct env_md_ctx_st {
8693    pub digest: *const EVP_MD,
8694    pub md_data: *mut ::std::os::raw::c_void,
8695    pub update: ::std::option::Option<
8696        unsafe extern "C" fn(
8697            ctx: *mut EVP_MD_CTX,
8698            data: *const ::std::os::raw::c_void,
8699            count: usize,
8700        ) -> ::std::os::raw::c_int,
8701    >,
8702    pub pctx: *mut EVP_PKEY_CTX,
8703    pub pctx_ops: *const evp_md_pctx_ops,
8704    pub flags: ::std::os::raw::c_ulong,
8705}
8706#[test]
8707fn bindgen_test_layout_env_md_ctx_st() {
8708    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
8709    let ptr = UNINIT.as_ptr();
8710    assert_eq!(
8711        ::std::mem::size_of::<env_md_ctx_st>(),
8712        48usize,
8713        "Size of env_md_ctx_st"
8714    );
8715    assert_eq!(
8716        ::std::mem::align_of::<env_md_ctx_st>(),
8717        8usize,
8718        "Alignment of env_md_ctx_st"
8719    );
8720    assert_eq!(
8721        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
8722        0usize,
8723        "Offset of field: env_md_ctx_st::digest"
8724    );
8725    assert_eq!(
8726        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
8727        8usize,
8728        "Offset of field: env_md_ctx_st::md_data"
8729    );
8730    assert_eq!(
8731        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
8732        16usize,
8733        "Offset of field: env_md_ctx_st::update"
8734    );
8735    assert_eq!(
8736        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
8737        24usize,
8738        "Offset of field: env_md_ctx_st::pctx"
8739    );
8740    assert_eq!(
8741        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
8742        32usize,
8743        "Offset of field: env_md_ctx_st::pctx_ops"
8744    );
8745    assert_eq!(
8746        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8747        40usize,
8748        "Offset of field: env_md_ctx_st::flags"
8749    );
8750}
8751impl Default for env_md_ctx_st {
8752    fn default() -> Self {
8753        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8754        unsafe {
8755            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8756            s.assume_init()
8757        }
8758    }
8759}
8760extern "C" {
8761    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_unstable_sha3_enable"]
8762    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
8763}
8764extern "C" {
8765    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_unstable_sha3_is_enabled"]
8766    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
8767}
8768extern "C" {
8769    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_CTX_set_flags"]
8770    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
8771}
8772extern "C" {
8773    #[link_name = "\u{1}aws_lc_0_45_0_EVP_add_digest"]
8774    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
8775}
8776extern "C" {
8777    #[link_name = "\u{1}aws_lc_0_45_0_EVP_md_null"]
8778    pub fn EVP_md_null() -> *const EVP_MD;
8779}
8780#[repr(C)]
8781#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8782pub struct DSA_SIG_st {
8783    pub r: *mut BIGNUM,
8784    pub s: *mut BIGNUM,
8785}
8786#[test]
8787fn bindgen_test_layout_DSA_SIG_st() {
8788    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
8789    let ptr = UNINIT.as_ptr();
8790    assert_eq!(
8791        ::std::mem::size_of::<DSA_SIG_st>(),
8792        16usize,
8793        "Size of DSA_SIG_st"
8794    );
8795    assert_eq!(
8796        ::std::mem::align_of::<DSA_SIG_st>(),
8797        8usize,
8798        "Alignment of DSA_SIG_st"
8799    );
8800    assert_eq!(
8801        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
8802        0usize,
8803        "Offset of field: DSA_SIG_st::r"
8804    );
8805    assert_eq!(
8806        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
8807        8usize,
8808        "Offset of field: DSA_SIG_st::s"
8809    );
8810}
8811impl Default for DSA_SIG_st {
8812    fn default() -> Self {
8813        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8814        unsafe {
8815            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8816            s.assume_init()
8817        }
8818    }
8819}
8820#[repr(u32)]
8821#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8822pub enum point_conversion_form_t {
8823    POINT_CONVERSION_COMPRESSED = 2,
8824    POINT_CONVERSION_UNCOMPRESSED = 4,
8825    POINT_CONVERSION_HYBRID = 6,
8826}
8827extern "C" {
8828    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_p224"]
8829    pub fn EC_group_p224() -> *const EC_GROUP;
8830}
8831extern "C" {
8832    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_p256"]
8833    pub fn EC_group_p256() -> *const EC_GROUP;
8834}
8835extern "C" {
8836    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_p384"]
8837    pub fn EC_group_p384() -> *const EC_GROUP;
8838}
8839extern "C" {
8840    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_p521"]
8841    pub fn EC_group_p521() -> *const EC_GROUP;
8842}
8843extern "C" {
8844    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_secp256k1"]
8845    pub fn EC_group_secp256k1() -> *const EC_GROUP;
8846}
8847extern "C" {
8848    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_brainpoolP224r1"]
8849    pub fn EC_group_brainpoolP224r1() -> *const EC_GROUP;
8850}
8851extern "C" {
8852    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_brainpoolP256r1"]
8853    pub fn EC_group_brainpoolP256r1() -> *const EC_GROUP;
8854}
8855extern "C" {
8856    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_brainpoolP320r1"]
8857    pub fn EC_group_brainpoolP320r1() -> *const EC_GROUP;
8858}
8859extern "C" {
8860    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_brainpoolP384r1"]
8861    pub fn EC_group_brainpoolP384r1() -> *const EC_GROUP;
8862}
8863extern "C" {
8864    #[link_name = "\u{1}aws_lc_0_45_0_EC_group_brainpoolP512r1"]
8865    pub fn EC_group_brainpoolP512r1() -> *const EC_GROUP;
8866}
8867extern "C" {
8868    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_new_by_curve_name"]
8869    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8870}
8871extern "C" {
8872    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_new_by_curve_name_mutable"]
8873    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
8874}
8875extern "C" {
8876    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_cmp"]
8877    pub fn EC_GROUP_cmp(
8878        a: *const EC_GROUP,
8879        b: *const EC_GROUP,
8880        ignored: *mut BN_CTX,
8881    ) -> ::std::os::raw::c_int;
8882}
8883extern "C" {
8884    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get0_generator"]
8885    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
8886}
8887extern "C" {
8888    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get0_order"]
8889    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
8890}
8891extern "C" {
8892    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_order_bits"]
8893    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8894}
8895extern "C" {
8896    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_cofactor"]
8897    pub fn EC_GROUP_get_cofactor(
8898        group: *const EC_GROUP,
8899        cofactor: *mut BIGNUM,
8900        ctx: *mut BN_CTX,
8901    ) -> ::std::os::raw::c_int;
8902}
8903extern "C" {
8904    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_curve_GFp"]
8905    pub fn EC_GROUP_get_curve_GFp(
8906        group: *const EC_GROUP,
8907        out_p: *mut BIGNUM,
8908        out_a: *mut BIGNUM,
8909        out_b: *mut BIGNUM,
8910        ctx: *mut BN_CTX,
8911    ) -> ::std::os::raw::c_int;
8912}
8913extern "C" {
8914    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_curve_name"]
8915    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
8916}
8917extern "C" {
8918    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_degree"]
8919    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
8920}
8921extern "C" {
8922    #[link_name = "\u{1}aws_lc_0_45_0_EC_curve_nid2nist"]
8923    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8924}
8925extern "C" {
8926    #[link_name = "\u{1}aws_lc_0_45_0_EC_curve_nist2nid"]
8927    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
8928}
8929extern "C" {
8930    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_new"]
8931    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
8932}
8933extern "C" {
8934    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_free"]
8935    pub fn EC_POINT_free(point: *mut EC_POINT);
8936}
8937extern "C" {
8938    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_copy"]
8939    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
8940}
8941extern "C" {
8942    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_dup"]
8943    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
8944}
8945extern "C" {
8946    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_set_to_infinity"]
8947    pub fn EC_POINT_set_to_infinity(
8948        group: *const EC_GROUP,
8949        point: *mut EC_POINT,
8950    ) -> ::std::os::raw::c_int;
8951}
8952extern "C" {
8953    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_is_at_infinity"]
8954    pub fn EC_POINT_is_at_infinity(
8955        group: *const EC_GROUP,
8956        point: *const EC_POINT,
8957    ) -> ::std::os::raw::c_int;
8958}
8959extern "C" {
8960    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_is_on_curve"]
8961    pub fn EC_POINT_is_on_curve(
8962        group: *const EC_GROUP,
8963        point: *const EC_POINT,
8964        ctx: *mut BN_CTX,
8965    ) -> ::std::os::raw::c_int;
8966}
8967extern "C" {
8968    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_cmp"]
8969    pub fn EC_POINT_cmp(
8970        group: *const EC_GROUP,
8971        a: *const EC_POINT,
8972        b: *const EC_POINT,
8973        ctx: *mut BN_CTX,
8974    ) -> ::std::os::raw::c_int;
8975}
8976extern "C" {
8977    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_get_affine_coordinates_GFp"]
8978    pub fn EC_POINT_get_affine_coordinates_GFp(
8979        group: *const EC_GROUP,
8980        point: *const EC_POINT,
8981        x: *mut BIGNUM,
8982        y: *mut BIGNUM,
8983        ctx: *mut BN_CTX,
8984    ) -> ::std::os::raw::c_int;
8985}
8986extern "C" {
8987    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_get_affine_coordinates"]
8988    pub fn EC_POINT_get_affine_coordinates(
8989        group: *const EC_GROUP,
8990        point: *const EC_POINT,
8991        x: *mut BIGNUM,
8992        y: *mut BIGNUM,
8993        ctx: *mut BN_CTX,
8994    ) -> ::std::os::raw::c_int;
8995}
8996extern "C" {
8997    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_set_affine_coordinates_GFp"]
8998    pub fn EC_POINT_set_affine_coordinates_GFp(
8999        group: *const EC_GROUP,
9000        point: *mut EC_POINT,
9001        x: *const BIGNUM,
9002        y: *const BIGNUM,
9003        ctx: *mut BN_CTX,
9004    ) -> ::std::os::raw::c_int;
9005}
9006extern "C" {
9007    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_set_affine_coordinates"]
9008    pub fn EC_POINT_set_affine_coordinates(
9009        group: *const EC_GROUP,
9010        point: *mut EC_POINT,
9011        x: *const BIGNUM,
9012        y: *const BIGNUM,
9013        ctx: *mut BN_CTX,
9014    ) -> ::std::os::raw::c_int;
9015}
9016extern "C" {
9017    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_point2oct"]
9018    pub fn EC_POINT_point2oct(
9019        group: *const EC_GROUP,
9020        point: *const EC_POINT,
9021        form: point_conversion_form_t,
9022        buf: *mut u8,
9023        len: usize,
9024        ctx: *mut BN_CTX,
9025    ) -> usize;
9026}
9027extern "C" {
9028    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_point2cbb"]
9029    pub fn EC_POINT_point2cbb(
9030        out: *mut CBB,
9031        group: *const EC_GROUP,
9032        point: *const EC_POINT,
9033        form: point_conversion_form_t,
9034        ctx: *mut BN_CTX,
9035    ) -> ::std::os::raw::c_int;
9036}
9037extern "C" {
9038    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_oct2point"]
9039    pub fn EC_POINT_oct2point(
9040        group: *const EC_GROUP,
9041        point: *mut EC_POINT,
9042        buf: *const u8,
9043        len: usize,
9044        ctx: *mut BN_CTX,
9045    ) -> ::std::os::raw::c_int;
9046}
9047extern "C" {
9048    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_set_compressed_coordinates_GFp"]
9049    pub fn EC_POINT_set_compressed_coordinates_GFp(
9050        group: *const EC_GROUP,
9051        point: *mut EC_POINT,
9052        x: *const BIGNUM,
9053        y_bit: ::std::os::raw::c_int,
9054        ctx: *mut BN_CTX,
9055    ) -> ::std::os::raw::c_int;
9056}
9057extern "C" {
9058    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_add"]
9059    pub fn EC_POINT_add(
9060        group: *const EC_GROUP,
9061        r: *mut EC_POINT,
9062        a: *const EC_POINT,
9063        b: *const EC_POINT,
9064        ctx: *mut BN_CTX,
9065    ) -> ::std::os::raw::c_int;
9066}
9067extern "C" {
9068    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_dbl"]
9069    pub fn EC_POINT_dbl(
9070        group: *const EC_GROUP,
9071        r: *mut EC_POINT,
9072        a: *const EC_POINT,
9073        ctx: *mut BN_CTX,
9074    ) -> ::std::os::raw::c_int;
9075}
9076extern "C" {
9077    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_invert"]
9078    pub fn EC_POINT_invert(
9079        group: *const EC_GROUP,
9080        a: *mut EC_POINT,
9081        ctx: *mut BN_CTX,
9082    ) -> ::std::os::raw::c_int;
9083}
9084extern "C" {
9085    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_mul"]
9086    pub fn EC_POINT_mul(
9087        group: *const EC_GROUP,
9088        r: *mut EC_POINT,
9089        n: *const BIGNUM,
9090        q: *const EC_POINT,
9091        m: *const BIGNUM,
9092        ctx: *mut BN_CTX,
9093    ) -> ::std::os::raw::c_int;
9094}
9095extern "C" {
9096    #[link_name = "\u{1}aws_lc_0_45_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
9097    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
9098        group: *const EC_GROUP,
9099        out: *mut EC_POINT,
9100        dst: *const u8,
9101        dst_len: usize,
9102        msg: *const u8,
9103        msg_len: usize,
9104    ) -> ::std::os::raw::c_int;
9105}
9106extern "C" {
9107    #[link_name = "\u{1}aws_lc_0_45_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
9108    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
9109        group: *const EC_GROUP,
9110        out: *mut EC_POINT,
9111        dst: *const u8,
9112        dst_len: usize,
9113        msg: *const u8,
9114        msg_len: usize,
9115    ) -> ::std::os::raw::c_int;
9116}
9117extern "C" {
9118    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_free"]
9119    pub fn EC_GROUP_free(group: *mut EC_GROUP);
9120}
9121extern "C" {
9122    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_dup"]
9123    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
9124}
9125extern "C" {
9126    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_new_curve_GFp"]
9127    pub fn EC_GROUP_new_curve_GFp(
9128        p: *const BIGNUM,
9129        a: *const BIGNUM,
9130        b: *const BIGNUM,
9131        ctx: *mut BN_CTX,
9132    ) -> *mut EC_GROUP;
9133}
9134extern "C" {
9135    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_set_generator"]
9136    pub fn EC_GROUP_set_generator(
9137        group: *mut EC_GROUP,
9138        generator: *const EC_POINT,
9139        order: *const BIGNUM,
9140        cofactor: *const BIGNUM,
9141    ) -> ::std::os::raw::c_int;
9142}
9143extern "C" {
9144    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_point2bn"]
9145    pub fn EC_POINT_point2bn(
9146        group: *const EC_GROUP,
9147        point: *const EC_POINT,
9148        form: point_conversion_form_t,
9149        ret: *mut BIGNUM,
9150        ctx: *mut BN_CTX,
9151    ) -> *mut BIGNUM;
9152}
9153extern "C" {
9154    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_bn2point"]
9155    pub fn EC_POINT_bn2point(
9156        group: *const EC_GROUP,
9157        bn: *const BIGNUM,
9158        point: *mut EC_POINT,
9159        ctx: *mut BN_CTX,
9160    ) -> *mut EC_POINT;
9161}
9162extern "C" {
9163    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_order"]
9164    pub fn EC_GROUP_get_order(
9165        group: *const EC_GROUP,
9166        order: *mut BIGNUM,
9167        ctx: *mut BN_CTX,
9168    ) -> ::std::os::raw::c_int;
9169}
9170#[repr(C)]
9171#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9172pub struct EC_builtin_curve {
9173    pub nid: ::std::os::raw::c_int,
9174    pub comment: *const ::std::os::raw::c_char,
9175}
9176#[test]
9177fn bindgen_test_layout_EC_builtin_curve() {
9178    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
9179    let ptr = UNINIT.as_ptr();
9180    assert_eq!(
9181        ::std::mem::size_of::<EC_builtin_curve>(),
9182        16usize,
9183        "Size of EC_builtin_curve"
9184    );
9185    assert_eq!(
9186        ::std::mem::align_of::<EC_builtin_curve>(),
9187        8usize,
9188        "Alignment of EC_builtin_curve"
9189    );
9190    assert_eq!(
9191        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
9192        0usize,
9193        "Offset of field: EC_builtin_curve::nid"
9194    );
9195    assert_eq!(
9196        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
9197        8usize,
9198        "Offset of field: EC_builtin_curve::comment"
9199    );
9200}
9201impl Default for EC_builtin_curve {
9202    fn default() -> Self {
9203        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9204        unsafe {
9205            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9206            s.assume_init()
9207        }
9208    }
9209}
9210extern "C" {
9211    #[link_name = "\u{1}aws_lc_0_45_0_EC_get_builtin_curves"]
9212    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
9213        -> usize;
9214}
9215extern "C" {
9216    #[link_name = "\u{1}aws_lc_0_45_0_EC_POINT_clear_free"]
9217    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
9218}
9219extern "C" {
9220    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_set_seed"]
9221    pub fn EC_GROUP_set_seed(
9222        group: *mut EC_GROUP,
9223        p: *const ::std::os::raw::c_uchar,
9224        len: usize,
9225    ) -> usize;
9226}
9227extern "C" {
9228    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get0_seed"]
9229    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
9230}
9231extern "C" {
9232    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_seed_len"]
9233    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
9234}
9235extern "C" {
9236    #[link_name = "\u{1}aws_lc_0_45_0_ECPKParameters_print"]
9237    pub fn ECPKParameters_print(
9238        bio: *mut BIO,
9239        group: *const EC_GROUP,
9240        offset: ::std::os::raw::c_int,
9241    ) -> ::std::os::raw::c_int;
9242}
9243extern "C" {
9244    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_set_asn1_flag"]
9245    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
9246}
9247extern "C" {
9248    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_asn1_flag"]
9249    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
9250}
9251extern "C" {
9252    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_set_point_conversion_form"]
9253    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
9254}
9255extern "C" {
9256    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_get_point_conversion_form"]
9257    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
9258}
9259extern "C" {
9260    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_decoded_from_explicit_params"]
9261    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
9262}
9263#[repr(C)]
9264#[derive(Debug, Copy, Clone)]
9265pub struct ec_method_st {
9266    _unused: [u8; 0],
9267}
9268pub type EC_METHOD = ec_method_st;
9269extern "C" {
9270    #[link_name = "\u{1}aws_lc_0_45_0_EC_GROUP_method_of"]
9271    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
9272}
9273extern "C" {
9274    #[link_name = "\u{1}aws_lc_0_45_0_EC_METHOD_get_field_type"]
9275    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
9276}
9277extern "C" {
9278    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_new"]
9279    pub fn EC_KEY_new() -> *mut EC_KEY;
9280}
9281extern "C" {
9282    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_new_method"]
9283    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
9284}
9285extern "C" {
9286    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_new_by_curve_name"]
9287    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
9288}
9289extern "C" {
9290    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_free"]
9291    pub fn EC_KEY_free(key: *mut EC_KEY);
9292}
9293extern "C" {
9294    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_dup"]
9295    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
9296}
9297extern "C" {
9298    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_up_ref"]
9299    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9300}
9301extern "C" {
9302    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_is_opaque"]
9303    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
9304}
9305extern "C" {
9306    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get0_group"]
9307    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
9308}
9309extern "C" {
9310    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_group"]
9311    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9312}
9313extern "C" {
9314    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get0_private_key"]
9315    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
9316}
9317extern "C" {
9318    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_private_key"]
9319    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
9320}
9321extern "C" {
9322    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get0_public_key"]
9323    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
9324}
9325extern "C" {
9326    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_public_key"]
9327    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
9328}
9329extern "C" {
9330    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get_enc_flags"]
9331    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
9332}
9333extern "C" {
9334    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_enc_flags"]
9335    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
9336}
9337extern "C" {
9338    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get_conv_form"]
9339    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
9340}
9341extern "C" {
9342    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_conv_form"]
9343    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
9344}
9345extern "C" {
9346    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_check_key"]
9347    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
9348}
9349extern "C" {
9350    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_check_fips"]
9351    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
9352}
9353extern "C" {
9354    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_public_key_affine_coordinates"]
9355    pub fn EC_KEY_set_public_key_affine_coordinates(
9356        key: *mut EC_KEY,
9357        x: *const BIGNUM,
9358        y: *const BIGNUM,
9359    ) -> ::std::os::raw::c_int;
9360}
9361extern "C" {
9362    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_key2buf"]
9363    pub fn EC_KEY_key2buf(
9364        key: *const EC_KEY,
9365        form: point_conversion_form_t,
9366        out_buf: *mut *mut ::std::os::raw::c_uchar,
9367        ctx: *mut BN_CTX,
9368    ) -> usize;
9369}
9370extern "C" {
9371    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_generate_key"]
9372    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9373}
9374extern "C" {
9375    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_generate_key_fips"]
9376    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
9377}
9378extern "C" {
9379    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_derive_from_secret"]
9380    pub fn EC_KEY_derive_from_secret(
9381        group: *const EC_GROUP,
9382        secret: *const u8,
9383        secret_len: usize,
9384    ) -> *mut EC_KEY;
9385}
9386extern "C" {
9387    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_parse_private_key"]
9388    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
9389}
9390extern "C" {
9391    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_marshal_private_key"]
9392    pub fn EC_KEY_marshal_private_key(
9393        cbb: *mut CBB,
9394        key: *const EC_KEY,
9395        enc_flags: ::std::os::raw::c_uint,
9396    ) -> ::std::os::raw::c_int;
9397}
9398extern "C" {
9399    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_parse_curve_name"]
9400    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
9401}
9402extern "C" {
9403    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_marshal_curve_name"]
9404    pub fn EC_KEY_marshal_curve_name(
9405        cbb: *mut CBB,
9406        group: *const EC_GROUP,
9407    ) -> ::std::os::raw::c_int;
9408}
9409extern "C" {
9410    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_parse_parameters"]
9411    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
9412}
9413extern "C" {
9414    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get_ex_new_index"]
9415    pub fn EC_KEY_get_ex_new_index(
9416        argl: ::std::os::raw::c_long,
9417        argp: *mut ::std::os::raw::c_void,
9418        unused: *mut CRYPTO_EX_unused,
9419        dup_unused: CRYPTO_EX_dup,
9420        free_func: CRYPTO_EX_free,
9421    ) -> ::std::os::raw::c_int;
9422}
9423extern "C" {
9424    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_ex_data"]
9425    pub fn EC_KEY_set_ex_data(
9426        r: *mut EC_KEY,
9427        idx: ::std::os::raw::c_int,
9428        arg: *mut ::std::os::raw::c_void,
9429    ) -> ::std::os::raw::c_int;
9430}
9431extern "C" {
9432    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get_ex_data"]
9433    pub fn EC_KEY_get_ex_data(
9434        r: *const EC_KEY,
9435        idx: ::std::os::raw::c_int,
9436    ) -> *mut ::std::os::raw::c_void;
9437}
9438extern "C" {
9439    #[link_name = "\u{1}aws_lc_0_45_0_d2i_ECPrivateKey"]
9440    pub fn d2i_ECPrivateKey(
9441        out_key: *mut *mut EC_KEY,
9442        inp: *mut *const u8,
9443        len: ::std::os::raw::c_long,
9444    ) -> *mut EC_KEY;
9445}
9446extern "C" {
9447    #[link_name = "\u{1}aws_lc_0_45_0_i2d_ECPrivateKey"]
9448    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9449}
9450extern "C" {
9451    #[link_name = "\u{1}aws_lc_0_45_0_d2i_ECParameters"]
9452    pub fn d2i_ECParameters(
9453        out_key: *mut *mut EC_KEY,
9454        inp: *mut *const u8,
9455        len: ::std::os::raw::c_long,
9456    ) -> *mut EC_KEY;
9457}
9458extern "C" {
9459    #[link_name = "\u{1}aws_lc_0_45_0_i2d_ECParameters"]
9460    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9461}
9462extern "C" {
9463    #[link_name = "\u{1}aws_lc_0_45_0_d2i_ECPKParameters_bio"]
9464    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
9465}
9466extern "C" {
9467    #[link_name = "\u{1}aws_lc_0_45_0_i2d_ECPKParameters_bio"]
9468    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
9469}
9470extern "C" {
9471    #[link_name = "\u{1}aws_lc_0_45_0_o2i_ECPublicKey"]
9472    pub fn o2i_ECPublicKey(
9473        out_key: *mut *mut EC_KEY,
9474        inp: *mut *const u8,
9475        len: ::std::os::raw::c_long,
9476    ) -> *mut EC_KEY;
9477}
9478extern "C" {
9479    #[link_name = "\u{1}aws_lc_0_45_0_i2o_ECPublicKey"]
9480    pub fn i2o_ECPublicKey(
9481        key: *const EC_KEY,
9482        outp: *mut *mut ::std::os::raw::c_uchar,
9483    ) -> ::std::os::raw::c_int;
9484}
9485extern "C" {
9486    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get_default_method"]
9487    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
9488}
9489extern "C" {
9490    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_OpenSSL"]
9491    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
9492}
9493extern "C" {
9494    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_METHOD_new"]
9495    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
9496}
9497extern "C" {
9498    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_METHOD_free"]
9499    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
9500}
9501extern "C" {
9502    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_method"]
9503    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
9504}
9505extern "C" {
9506    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_get_method"]
9507    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
9508}
9509extern "C" {
9510    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_METHOD_set_sign_awslc"]
9511    pub fn EC_KEY_METHOD_set_sign_awslc(
9512        meth: *mut EC_KEY_METHOD,
9513        sign: ::std::option::Option<
9514            unsafe extern "C" fn(
9515                type_: ::std::os::raw::c_int,
9516                digest: *const u8,
9517                digest_len: ::std::os::raw::c_int,
9518                sig: *mut u8,
9519                siglen: *mut ::std::os::raw::c_uint,
9520                k_inv: *const BIGNUM,
9521                r: *const BIGNUM,
9522                eckey: *mut EC_KEY,
9523            ) -> ::std::os::raw::c_int,
9524        >,
9525        sign_sig: ::std::option::Option<
9526            unsafe extern "C" fn(
9527                digest: *const u8,
9528                digest_len: ::std::os::raw::c_int,
9529                in_kinv: *const BIGNUM,
9530                in_r: *const BIGNUM,
9531                eckey: *mut EC_KEY,
9532            ) -> *mut ECDSA_SIG,
9533        >,
9534    );
9535}
9536extern "C" {
9537    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_METHOD_set_init_awslc"]
9538    pub fn EC_KEY_METHOD_set_init_awslc(
9539        meth: *mut EC_KEY_METHOD,
9540        init: ::std::option::Option<
9541            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
9542        >,
9543        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
9544    );
9545}
9546extern "C" {
9547    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_METHOD_set_flags"]
9548    pub fn EC_KEY_METHOD_set_flags(
9549        meth: *mut EC_KEY_METHOD,
9550        flags: ::std::os::raw::c_int,
9551    ) -> ::std::os::raw::c_int;
9552}
9553extern "C" {
9554    #[link_name = "\u{1}aws_lc_0_45_0_EC_KEY_set_asn1_flag"]
9555    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
9556}
9557extern "C" {
9558    #[link_name = "\u{1}aws_lc_0_45_0_ECDH_compute_key"]
9559    pub fn ECDH_compute_key(
9560        out: *mut ::std::os::raw::c_void,
9561        outlen: usize,
9562        pub_key: *const EC_POINT,
9563        priv_key: *const EC_KEY,
9564        kdf: ::std::option::Option<
9565            unsafe extern "C" fn(
9566                in_: *const ::std::os::raw::c_void,
9567                inlen: usize,
9568                out: *mut ::std::os::raw::c_void,
9569                outlen: *mut usize,
9570            ) -> *mut ::std::os::raw::c_void,
9571        >,
9572    ) -> ::std::os::raw::c_int;
9573}
9574extern "C" {
9575    #[link_name = "\u{1}aws_lc_0_45_0_ECDH_compute_key_fips"]
9576    pub fn ECDH_compute_key_fips(
9577        out: *mut u8,
9578        out_len: usize,
9579        pub_key: *const EC_POINT,
9580        priv_key: *const EC_KEY,
9581    ) -> ::std::os::raw::c_int;
9582}
9583extern "C" {
9584    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_sign"]
9585    pub fn ECDSA_sign(
9586        type_: ::std::os::raw::c_int,
9587        digest: *const u8,
9588        digest_len: usize,
9589        sig: *mut u8,
9590        sig_len: *mut ::std::os::raw::c_uint,
9591        key: *const EC_KEY,
9592    ) -> ::std::os::raw::c_int;
9593}
9594extern "C" {
9595    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_verify"]
9596    pub fn ECDSA_verify(
9597        type_: ::std::os::raw::c_int,
9598        digest: *const u8,
9599        digest_len: usize,
9600        sig: *const u8,
9601        sig_len: usize,
9602        key: *const EC_KEY,
9603    ) -> ::std::os::raw::c_int;
9604}
9605extern "C" {
9606    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_size"]
9607    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
9608}
9609#[repr(C)]
9610#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9611pub struct ecdsa_sig_st {
9612    pub r: *mut BIGNUM,
9613    pub s: *mut BIGNUM,
9614}
9615#[test]
9616fn bindgen_test_layout_ecdsa_sig_st() {
9617    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
9618    let ptr = UNINIT.as_ptr();
9619    assert_eq!(
9620        ::std::mem::size_of::<ecdsa_sig_st>(),
9621        16usize,
9622        "Size of ecdsa_sig_st"
9623    );
9624    assert_eq!(
9625        ::std::mem::align_of::<ecdsa_sig_st>(),
9626        8usize,
9627        "Alignment of ecdsa_sig_st"
9628    );
9629    assert_eq!(
9630        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
9631        0usize,
9632        "Offset of field: ecdsa_sig_st::r"
9633    );
9634    assert_eq!(
9635        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
9636        8usize,
9637        "Offset of field: ecdsa_sig_st::s"
9638    );
9639}
9640impl Default for ecdsa_sig_st {
9641    fn default() -> Self {
9642        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9643        unsafe {
9644            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9645            s.assume_init()
9646        }
9647    }
9648}
9649extern "C" {
9650    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_new"]
9651    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
9652}
9653extern "C" {
9654    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_free"]
9655    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
9656}
9657extern "C" {
9658    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_get0_r"]
9659    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
9660}
9661extern "C" {
9662    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_get0_s"]
9663    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
9664}
9665extern "C" {
9666    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_get0"]
9667    pub fn ECDSA_SIG_get0(
9668        sig: *const ECDSA_SIG,
9669        out_r: *mut *const BIGNUM,
9670        out_s: *mut *const BIGNUM,
9671    );
9672}
9673extern "C" {
9674    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_set0"]
9675    pub fn ECDSA_SIG_set0(
9676        sig: *mut ECDSA_SIG,
9677        r: *mut BIGNUM,
9678        s: *mut BIGNUM,
9679    ) -> ::std::os::raw::c_int;
9680}
9681extern "C" {
9682    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_do_sign"]
9683    pub fn ECDSA_do_sign(
9684        digest: *const u8,
9685        digest_len: usize,
9686        key: *const EC_KEY,
9687    ) -> *mut ECDSA_SIG;
9688}
9689extern "C" {
9690    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_do_verify"]
9691    pub fn ECDSA_do_verify(
9692        digest: *const u8,
9693        digest_len: usize,
9694        sig: *const ECDSA_SIG,
9695        key: *const EC_KEY,
9696    ) -> ::std::os::raw::c_int;
9697}
9698extern "C" {
9699    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_parse"]
9700    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
9701}
9702extern "C" {
9703    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_from_bytes"]
9704    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
9705}
9706extern "C" {
9707    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_marshal"]
9708    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
9709}
9710extern "C" {
9711    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_to_bytes"]
9712    pub fn ECDSA_SIG_to_bytes(
9713        out_bytes: *mut *mut u8,
9714        out_len: *mut usize,
9715        sig: *const ECDSA_SIG,
9716    ) -> ::std::os::raw::c_int;
9717}
9718extern "C" {
9719    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_SIG_max_len"]
9720    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
9721}
9722extern "C" {
9723    #[link_name = "\u{1}aws_lc_0_45_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
9724    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
9725        digest: *const u8,
9726        digest_len: usize,
9727        eckey: *const EC_KEY,
9728        nonce: *const u8,
9729        nonce_len: usize,
9730    ) -> *mut ECDSA_SIG;
9731}
9732extern "C" {
9733    #[link_name = "\u{1}aws_lc_0_45_0_d2i_ECDSA_SIG"]
9734    pub fn d2i_ECDSA_SIG(
9735        out: *mut *mut ECDSA_SIG,
9736        inp: *mut *const u8,
9737        len: ::std::os::raw::c_long,
9738    ) -> *mut ECDSA_SIG;
9739}
9740extern "C" {
9741    #[link_name = "\u{1}aws_lc_0_45_0_i2d_ECDSA_SIG"]
9742    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9743}
9744extern "C" {
9745    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_gcm"]
9746    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
9747}
9748extern "C" {
9749    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_192_gcm"]
9750    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
9751}
9752extern "C" {
9753    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_gcm"]
9754    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
9755}
9756extern "C" {
9757    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_chacha20_poly1305"]
9758    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
9759}
9760extern "C" {
9761    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_xchacha20_poly1305"]
9762    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
9763}
9764extern "C" {
9765    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_ctr_hmac_sha256"]
9766    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
9767}
9768extern "C" {
9769    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_ctr_hmac_sha256"]
9770    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
9771}
9772extern "C" {
9773    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_gcm_siv"]
9774    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
9775}
9776extern "C" {
9777    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_gcm_siv"]
9778    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
9779}
9780extern "C" {
9781    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_gcm_randnonce"]
9782    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
9783}
9784extern "C" {
9785    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_gcm_randnonce"]
9786    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
9787}
9788extern "C" {
9789    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_ccm_bluetooth"]
9790    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
9791}
9792extern "C" {
9793    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_ccm_bluetooth_8"]
9794    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
9795}
9796extern "C" {
9797    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_ccm_matter"]
9798    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
9799}
9800extern "C" {
9801    #[link_name = "\u{1}aws_lc_0_45_0_EVP_has_aes_hardware"]
9802    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
9803}
9804extern "C" {
9805    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_key_length"]
9806    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
9807}
9808extern "C" {
9809    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_nonce_length"]
9810    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
9811}
9812extern "C" {
9813    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_max_overhead"]
9814    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
9815}
9816extern "C" {
9817    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_max_tag_len"]
9818    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
9819}
9820#[repr(C)]
9821#[derive(Copy, Clone)]
9822pub union evp_aead_ctx_st_state {
9823    pub opaque: [u8; 564usize],
9824    pub alignment: u64,
9825    pub ptr: *mut ::std::os::raw::c_void,
9826}
9827#[test]
9828fn bindgen_test_layout_evp_aead_ctx_st_state() {
9829    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
9830        ::std::mem::MaybeUninit::uninit();
9831    let ptr = UNINIT.as_ptr();
9832    assert_eq!(
9833        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
9834        568usize,
9835        "Size of evp_aead_ctx_st_state"
9836    );
9837    assert_eq!(
9838        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
9839        8usize,
9840        "Alignment of evp_aead_ctx_st_state"
9841    );
9842    assert_eq!(
9843        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
9844        0usize,
9845        "Offset of field: evp_aead_ctx_st_state::opaque"
9846    );
9847    assert_eq!(
9848        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
9849        0usize,
9850        "Offset of field: evp_aead_ctx_st_state::alignment"
9851    );
9852    assert_eq!(
9853        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9854        0usize,
9855        "Offset of field: evp_aead_ctx_st_state::ptr"
9856    );
9857}
9858impl Default for evp_aead_ctx_st_state {
9859    fn default() -> Self {
9860        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9861        unsafe {
9862            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9863            s.assume_init()
9864        }
9865    }
9866}
9867#[repr(C)]
9868#[derive(Copy, Clone)]
9869pub struct evp_aead_ctx_st {
9870    pub aead: *const EVP_AEAD,
9871    pub state: evp_aead_ctx_st_state,
9872    pub state_offset: u8,
9873    pub tag_len: u8,
9874}
9875#[test]
9876fn bindgen_test_layout_evp_aead_ctx_st() {
9877    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
9878    let ptr = UNINIT.as_ptr();
9879    assert_eq!(
9880        ::std::mem::size_of::<evp_aead_ctx_st>(),
9881        584usize,
9882        "Size of evp_aead_ctx_st"
9883    );
9884    assert_eq!(
9885        ::std::mem::align_of::<evp_aead_ctx_st>(),
9886        8usize,
9887        "Alignment of evp_aead_ctx_st"
9888    );
9889    assert_eq!(
9890        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
9891        0usize,
9892        "Offset of field: evp_aead_ctx_st::aead"
9893    );
9894    assert_eq!(
9895        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
9896        8usize,
9897        "Offset of field: evp_aead_ctx_st::state"
9898    );
9899    assert_eq!(
9900        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
9901        576usize,
9902        "Offset of field: evp_aead_ctx_st::state_offset"
9903    );
9904    assert_eq!(
9905        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
9906        577usize,
9907        "Offset of field: evp_aead_ctx_st::tag_len"
9908    );
9909}
9910impl Default for evp_aead_ctx_st {
9911    fn default() -> Self {
9912        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9913        unsafe {
9914            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9915            s.assume_init()
9916        }
9917    }
9918}
9919extern "C" {
9920    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_zero"]
9921    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
9922}
9923extern "C" {
9924    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_new"]
9925    pub fn EVP_AEAD_CTX_new(
9926        aead: *const EVP_AEAD,
9927        key: *const u8,
9928        key_len: usize,
9929        tag_len: usize,
9930    ) -> *mut EVP_AEAD_CTX;
9931}
9932extern "C" {
9933    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_free"]
9934    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
9935}
9936extern "C" {
9937    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_init"]
9938    pub fn EVP_AEAD_CTX_init(
9939        ctx: *mut EVP_AEAD_CTX,
9940        aead: *const EVP_AEAD,
9941        key: *const u8,
9942        key_len: usize,
9943        tag_len: usize,
9944        impl_: *mut ENGINE,
9945    ) -> ::std::os::raw::c_int;
9946}
9947extern "C" {
9948    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_cleanup"]
9949    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
9950}
9951extern "C" {
9952    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_copy"]
9953    pub fn EVP_AEAD_CTX_copy(
9954        out: *mut EVP_AEAD_CTX,
9955        in_: *const EVP_AEAD_CTX,
9956    ) -> ::std::os::raw::c_int;
9957}
9958extern "C" {
9959    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_seal"]
9960    pub fn EVP_AEAD_CTX_seal(
9961        ctx: *const EVP_AEAD_CTX,
9962        out: *mut u8,
9963        out_len: *mut usize,
9964        max_out_len: usize,
9965        nonce: *const u8,
9966        nonce_len: usize,
9967        in_: *const u8,
9968        in_len: usize,
9969        ad: *const u8,
9970        ad_len: usize,
9971    ) -> ::std::os::raw::c_int;
9972}
9973extern "C" {
9974    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_open"]
9975    pub fn EVP_AEAD_CTX_open(
9976        ctx: *const EVP_AEAD_CTX,
9977        out: *mut u8,
9978        out_len: *mut usize,
9979        max_out_len: usize,
9980        nonce: *const u8,
9981        nonce_len: usize,
9982        in_: *const u8,
9983        in_len: usize,
9984        ad: *const u8,
9985        ad_len: usize,
9986    ) -> ::std::os::raw::c_int;
9987}
9988extern "C" {
9989    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_seal_scatter"]
9990    pub fn EVP_AEAD_CTX_seal_scatter(
9991        ctx: *const EVP_AEAD_CTX,
9992        out: *mut u8,
9993        out_tag: *mut u8,
9994        out_tag_len: *mut usize,
9995        max_out_tag_len: usize,
9996        nonce: *const u8,
9997        nonce_len: usize,
9998        in_: *const u8,
9999        in_len: usize,
10000        extra_in: *const u8,
10001        extra_in_len: usize,
10002        ad: *const u8,
10003        ad_len: usize,
10004    ) -> ::std::os::raw::c_int;
10005}
10006extern "C" {
10007    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_open_gather"]
10008    pub fn EVP_AEAD_CTX_open_gather(
10009        ctx: *const EVP_AEAD_CTX,
10010        out: *mut u8,
10011        nonce: *const u8,
10012        nonce_len: usize,
10013        in_: *const u8,
10014        in_len: usize,
10015        in_tag: *const u8,
10016        in_tag_len: usize,
10017        ad: *const u8,
10018        ad_len: usize,
10019    ) -> ::std::os::raw::c_int;
10020}
10021extern "C" {
10022    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_aead"]
10023    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
10024}
10025extern "C" {
10026    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_cbc_sha1_tls"]
10027    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
10028}
10029extern "C" {
10030    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
10031    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10032}
10033extern "C" {
10034    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_cbc_sha1_tls"]
10035    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
10036}
10037extern "C" {
10038    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
10039    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10040}
10041extern "C" {
10042    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_cbc_sha256_tls"]
10043    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
10044}
10045extern "C" {
10046    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
10047    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
10048}
10049extern "C" {
10050    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_cbc_sha384_tls"]
10051    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
10052}
10053extern "C" {
10054    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_des_ede3_cbc_sha1_tls"]
10055    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
10056}
10057extern "C" {
10058    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
10059    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
10060}
10061extern "C" {
10062    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_null_sha1_tls"]
10063    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
10064}
10065extern "C" {
10066    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_gcm_tls12"]
10067    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
10068}
10069extern "C" {
10070    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_gcm_tls12"]
10071    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
10072}
10073extern "C" {
10074    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_128_gcm_tls13"]
10075    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
10076}
10077extern "C" {
10078    #[link_name = "\u{1}aws_lc_0_45_0_EVP_aead_aes_256_gcm_tls13"]
10079    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
10080}
10081pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
10082pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
10083pub type evp_aead_direction_t = ::std::os::raw::c_uint;
10084extern "C" {
10085    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_init_with_direction"]
10086    pub fn EVP_AEAD_CTX_init_with_direction(
10087        ctx: *mut EVP_AEAD_CTX,
10088        aead: *const EVP_AEAD,
10089        key: *const u8,
10090        key_len: usize,
10091        tag_len: usize,
10092        dir: evp_aead_direction_t,
10093    ) -> ::std::os::raw::c_int;
10094}
10095extern "C" {
10096    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_get_iv"]
10097    pub fn EVP_AEAD_CTX_get_iv(
10098        ctx: *const EVP_AEAD_CTX,
10099        out_iv: *mut *const u8,
10100        out_len: *mut usize,
10101    ) -> ::std::os::raw::c_int;
10102}
10103extern "C" {
10104    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_CTX_tag_len"]
10105    pub fn EVP_AEAD_CTX_tag_len(
10106        ctx: *const EVP_AEAD_CTX,
10107        out_tag_len: *mut usize,
10108        in_len: usize,
10109        extra_in_len: usize,
10110    ) -> ::std::os::raw::c_int;
10111}
10112extern "C" {
10113    #[link_name = "\u{1}aws_lc_0_45_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
10114    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
10115        ipv4_address: u32,
10116        nanosecs: u64,
10117        out_iv: *mut u8,
10118    ) -> ::std::os::raw::c_int;
10119}
10120#[repr(C)]
10121#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10122pub struct md5_state_st {
10123    pub h: [u32; 4usize],
10124    pub Nl: u32,
10125    pub Nh: u32,
10126    pub data: [u8; 64usize],
10127    pub num: ::std::os::raw::c_uint,
10128}
10129#[test]
10130fn bindgen_test_layout_md5_state_st() {
10131    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
10132    let ptr = UNINIT.as_ptr();
10133    assert_eq!(
10134        ::std::mem::size_of::<md5_state_st>(),
10135        92usize,
10136        "Size of md5_state_st"
10137    );
10138    assert_eq!(
10139        ::std::mem::align_of::<md5_state_st>(),
10140        4usize,
10141        "Alignment of md5_state_st"
10142    );
10143    assert_eq!(
10144        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10145        0usize,
10146        "Offset of field: md5_state_st::h"
10147    );
10148    assert_eq!(
10149        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
10150        16usize,
10151        "Offset of field: md5_state_st::Nl"
10152    );
10153    assert_eq!(
10154        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
10155        20usize,
10156        "Offset of field: md5_state_st::Nh"
10157    );
10158    assert_eq!(
10159        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10160        24usize,
10161        "Offset of field: md5_state_st::data"
10162    );
10163    assert_eq!(
10164        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
10165        88usize,
10166        "Offset of field: md5_state_st::num"
10167    );
10168}
10169impl Default for md5_state_st {
10170    fn default() -> Self {
10171        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10172        unsafe {
10173            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10174            s.assume_init()
10175        }
10176    }
10177}
10178extern "C" {
10179    #[link_name = "\u{1}aws_lc_0_45_0_HMAC"]
10180    pub fn HMAC(
10181        evp_md: *const EVP_MD,
10182        key: *const ::std::os::raw::c_void,
10183        key_len: usize,
10184        data: *const u8,
10185        data_len: usize,
10186        out: *mut u8,
10187        out_len: *mut ::std::os::raw::c_uint,
10188    ) -> *mut u8;
10189}
10190extern "C" {
10191    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_init"]
10192    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
10193}
10194extern "C" {
10195    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_new"]
10196    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
10197}
10198extern "C" {
10199    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_cleanup"]
10200    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
10201}
10202extern "C" {
10203    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_cleanse"]
10204    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
10205}
10206extern "C" {
10207    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_free"]
10208    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
10209}
10210extern "C" {
10211    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_Init_ex"]
10212    pub fn HMAC_Init_ex(
10213        ctx: *mut HMAC_CTX,
10214        key: *const ::std::os::raw::c_void,
10215        key_len: usize,
10216        md: *const EVP_MD,
10217        impl_: *mut ENGINE,
10218    ) -> ::std::os::raw::c_int;
10219}
10220extern "C" {
10221    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_Update"]
10222    pub fn HMAC_Update(
10223        ctx: *mut HMAC_CTX,
10224        data: *const u8,
10225        data_len: usize,
10226    ) -> ::std::os::raw::c_int;
10227}
10228extern "C" {
10229    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_Final"]
10230    pub fn HMAC_Final(
10231        ctx: *mut HMAC_CTX,
10232        out: *mut u8,
10233        out_len: *mut ::std::os::raw::c_uint,
10234    ) -> ::std::os::raw::c_int;
10235}
10236extern "C" {
10237    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_size"]
10238    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
10239}
10240extern "C" {
10241    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_get_md"]
10242    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
10243}
10244extern "C" {
10245    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_copy_ex"]
10246    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10247}
10248extern "C" {
10249    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_reset"]
10250    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
10251}
10252extern "C" {
10253    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_set_precomputed_key_export"]
10254    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
10255}
10256extern "C" {
10257    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_get_precomputed_key"]
10258    pub fn HMAC_get_precomputed_key(
10259        ctx: *mut HMAC_CTX,
10260        out: *mut u8,
10261        out_len: *mut usize,
10262    ) -> ::std::os::raw::c_int;
10263}
10264extern "C" {
10265    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_Init_from_precomputed_key"]
10266    pub fn HMAC_Init_from_precomputed_key(
10267        ctx: *mut HMAC_CTX,
10268        precomputed_key: *const u8,
10269        precompute_key_len: usize,
10270        md: *const EVP_MD,
10271    ) -> ::std::os::raw::c_int;
10272}
10273extern "C" {
10274    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_Init"]
10275    pub fn HMAC_Init(
10276        ctx: *mut HMAC_CTX,
10277        key: *const ::std::os::raw::c_void,
10278        key_len: ::std::os::raw::c_int,
10279        md: *const EVP_MD,
10280    ) -> ::std::os::raw::c_int;
10281}
10282extern "C" {
10283    #[link_name = "\u{1}aws_lc_0_45_0_HMAC_CTX_copy"]
10284    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
10285}
10286#[repr(C)]
10287#[derive(Debug, Copy, Clone)]
10288pub struct hmac_methods_st {
10289    _unused: [u8; 0],
10290}
10291pub type HmacMethods = hmac_methods_st;
10292#[repr(C)]
10293#[derive(Copy, Clone)]
10294pub union md_ctx_union {
10295    pub md5: MD5_CTX,
10296    pub sha1: SHA_CTX,
10297    pub sha256: SHA256_CTX,
10298    pub sha512: SHA512_CTX,
10299    pub sha3: [u8; 400usize],
10300}
10301#[test]
10302fn bindgen_test_layout_md_ctx_union() {
10303    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
10304    let ptr = UNINIT.as_ptr();
10305    assert_eq!(
10306        ::std::mem::size_of::<md_ctx_union>(),
10307        400usize,
10308        "Size of md_ctx_union"
10309    );
10310    assert_eq!(
10311        ::std::mem::align_of::<md_ctx_union>(),
10312        8usize,
10313        "Alignment of md_ctx_union"
10314    );
10315    assert_eq!(
10316        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
10317        0usize,
10318        "Offset of field: md_ctx_union::md5"
10319    );
10320    assert_eq!(
10321        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
10322        0usize,
10323        "Offset of field: md_ctx_union::sha1"
10324    );
10325    assert_eq!(
10326        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
10327        0usize,
10328        "Offset of field: md_ctx_union::sha256"
10329    );
10330    assert_eq!(
10331        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
10332        0usize,
10333        "Offset of field: md_ctx_union::sha512"
10334    );
10335    assert_eq!(
10336        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
10337        0usize,
10338        "Offset of field: md_ctx_union::sha3"
10339    );
10340}
10341impl Default for md_ctx_union {
10342    fn default() -> Self {
10343        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10344        unsafe {
10345            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10346            s.assume_init()
10347        }
10348    }
10349}
10350#[repr(C)]
10351#[derive(Copy, Clone)]
10352pub struct hmac_ctx_st {
10353    pub md: *const EVP_MD,
10354    pub methods: *const HmacMethods,
10355    pub md_ctx: md_ctx_union,
10356    pub i_ctx: md_ctx_union,
10357    pub o_ctx: md_ctx_union,
10358    pub state: i8,
10359}
10360#[test]
10361fn bindgen_test_layout_hmac_ctx_st() {
10362    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
10363    let ptr = UNINIT.as_ptr();
10364    assert_eq!(
10365        ::std::mem::size_of::<hmac_ctx_st>(),
10366        1224usize,
10367        "Size of hmac_ctx_st"
10368    );
10369    assert_eq!(
10370        ::std::mem::align_of::<hmac_ctx_st>(),
10371        8usize,
10372        "Alignment of hmac_ctx_st"
10373    );
10374    assert_eq!(
10375        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
10376        0usize,
10377        "Offset of field: hmac_ctx_st::md"
10378    );
10379    assert_eq!(
10380        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
10381        8usize,
10382        "Offset of field: hmac_ctx_st::methods"
10383    );
10384    assert_eq!(
10385        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
10386        16usize,
10387        "Offset of field: hmac_ctx_st::md_ctx"
10388    );
10389    assert_eq!(
10390        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
10391        416usize,
10392        "Offset of field: hmac_ctx_st::i_ctx"
10393    );
10394    assert_eq!(
10395        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
10396        816usize,
10397        "Offset of field: hmac_ctx_st::o_ctx"
10398    );
10399    assert_eq!(
10400        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
10401        1216usize,
10402        "Offset of field: hmac_ctx_st::state"
10403    );
10404}
10405impl Default for hmac_ctx_st {
10406    fn default() -> Self {
10407        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10408        unsafe {
10409            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10410            s.assume_init()
10411        }
10412    }
10413}
10414extern "C" {
10415    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_new"]
10416    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
10417}
10418extern "C" {
10419    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_free"]
10420    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
10421}
10422extern "C" {
10423    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_up_ref"]
10424    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
10425}
10426extern "C" {
10427    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_is_opaque"]
10428    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10429}
10430extern "C" {
10431    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_cmp"]
10432    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
10433}
10434extern "C" {
10435    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_copy_parameters"]
10436    pub fn EVP_PKEY_copy_parameters(
10437        to: *mut EVP_PKEY,
10438        from: *const EVP_PKEY,
10439    ) -> ::std::os::raw::c_int;
10440}
10441extern "C" {
10442    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_missing_parameters"]
10443    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10444}
10445extern "C" {
10446    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_size"]
10447    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10448}
10449extern "C" {
10450    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_bits"]
10451    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10452}
10453extern "C" {
10454    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_id"]
10455    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10456}
10457extern "C" {
10458    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_pqdsa_get_type"]
10459    pub fn EVP_PKEY_pqdsa_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
10460}
10461extern "C" {
10462    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_get0_name"]
10463    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10464}
10465extern "C" {
10466    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_name"]
10467    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
10468}
10469extern "C" {
10470    #[link_name = "\u{1}aws_lc_0_45_0_EVP_get_pw_prompt"]
10471    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
10472}
10473extern "C" {
10474    #[link_name = "\u{1}aws_lc_0_45_0_EVP_read_pw_string"]
10475    pub fn EVP_read_pw_string(
10476        buf: *mut ::std::os::raw::c_char,
10477        length: ::std::os::raw::c_int,
10478        prompt: *const ::std::os::raw::c_char,
10479        verify: ::std::os::raw::c_int,
10480    ) -> ::std::os::raw::c_int;
10481}
10482extern "C" {
10483    #[link_name = "\u{1}aws_lc_0_45_0_EVP_read_pw_string_min"]
10484    pub fn EVP_read_pw_string_min(
10485        buf: *mut ::std::os::raw::c_char,
10486        min_length: ::std::os::raw::c_int,
10487        length: ::std::os::raw::c_int,
10488        prompt: *const ::std::os::raw::c_char,
10489        verify: ::std::os::raw::c_int,
10490    ) -> ::std::os::raw::c_int;
10491}
10492extern "C" {
10493    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_set1_RSA"]
10494    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10495}
10496extern "C" {
10497    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_assign_RSA"]
10498    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
10499}
10500extern "C" {
10501    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get0_RSA"]
10502    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10503}
10504extern "C" {
10505    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get1_RSA"]
10506    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
10507}
10508extern "C" {
10509    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_set1_DSA"]
10510    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10511}
10512extern "C" {
10513    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_assign_DSA"]
10514    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
10515}
10516extern "C" {
10517    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get0_DSA"]
10518    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10519}
10520extern "C" {
10521    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get1_DSA"]
10522    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
10523}
10524extern "C" {
10525    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_set1_EC_KEY"]
10526    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10527}
10528extern "C" {
10529    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_assign_EC_KEY"]
10530    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
10531}
10532extern "C" {
10533    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get0_EC_KEY"]
10534    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10535}
10536extern "C" {
10537    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get1_EC_KEY"]
10538    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
10539}
10540extern "C" {
10541    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_set1_DH"]
10542    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10543}
10544extern "C" {
10545    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_assign_DH"]
10546    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
10547}
10548extern "C" {
10549    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get0_DH"]
10550    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
10551}
10552extern "C" {
10553    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get1_DH"]
10554    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
10555}
10556extern "C" {
10557    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
10558    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
10559        ctx: *mut EVP_PKEY_CTX,
10560        pbits: ::std::os::raw::c_int,
10561    ) -> ::std::os::raw::c_int;
10562}
10563extern "C" {
10564    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
10565    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
10566        ctx: *mut EVP_PKEY_CTX,
10567        gen_: ::std::os::raw::c_int,
10568    ) -> ::std::os::raw::c_int;
10569}
10570extern "C" {
10571    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_set_type"]
10572    pub fn EVP_PKEY_set_type(
10573        pkey: *mut EVP_PKEY,
10574        type_: ::std::os::raw::c_int,
10575    ) -> ::std::os::raw::c_int;
10576}
10577extern "C" {
10578    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_set_type_str"]
10579    pub fn EVP_PKEY_set_type_str(
10580        pkey: *mut EVP_PKEY,
10581        str_: *const ::std::os::raw::c_char,
10582        len: ::std::os::raw::c_int,
10583    ) -> ::std::os::raw::c_int;
10584}
10585extern "C" {
10586    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_cmp_parameters"]
10587    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
10588        -> ::std::os::raw::c_int;
10589}
10590extern "C" {
10591    #[link_name = "\u{1}aws_lc_0_45_0_EVP_parse_public_key"]
10592    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10593}
10594extern "C" {
10595    #[link_name = "\u{1}aws_lc_0_45_0_EVP_marshal_public_key"]
10596    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10597}
10598extern "C" {
10599    #[link_name = "\u{1}aws_lc_0_45_0_EVP_parse_private_key"]
10600    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
10601}
10602extern "C" {
10603    #[link_name = "\u{1}aws_lc_0_45_0_EVP_marshal_private_key"]
10604    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
10605}
10606extern "C" {
10607    #[link_name = "\u{1}aws_lc_0_45_0_EVP_marshal_private_key_v2"]
10608    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
10609        -> ::std::os::raw::c_int;
10610}
10611extern "C" {
10612    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_new_raw_private_key"]
10613    pub fn EVP_PKEY_new_raw_private_key(
10614        type_: ::std::os::raw::c_int,
10615        unused: *mut ENGINE,
10616        in_: *const u8,
10617        len: usize,
10618    ) -> *mut EVP_PKEY;
10619}
10620extern "C" {
10621    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_new_raw_public_key"]
10622    pub fn EVP_PKEY_new_raw_public_key(
10623        type_: ::std::os::raw::c_int,
10624        unused: *mut ENGINE,
10625        in_: *const u8,
10626        len: usize,
10627    ) -> *mut EVP_PKEY;
10628}
10629extern "C" {
10630    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get_raw_private_key"]
10631    pub fn EVP_PKEY_get_raw_private_key(
10632        pkey: *const EVP_PKEY,
10633        out: *mut u8,
10634        out_len: *mut usize,
10635    ) -> ::std::os::raw::c_int;
10636}
10637extern "C" {
10638    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get_raw_public_key"]
10639    pub fn EVP_PKEY_get_raw_public_key(
10640        pkey: *const EVP_PKEY,
10641        out: *mut u8,
10642        out_len: *mut usize,
10643    ) -> ::std::os::raw::c_int;
10644}
10645extern "C" {
10646    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestSignInit"]
10647    pub fn EVP_DigestSignInit(
10648        ctx: *mut EVP_MD_CTX,
10649        pctx: *mut *mut EVP_PKEY_CTX,
10650        type_: *const EVP_MD,
10651        e: *mut ENGINE,
10652        pkey: *mut EVP_PKEY,
10653    ) -> ::std::os::raw::c_int;
10654}
10655extern "C" {
10656    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestSignUpdate"]
10657    pub fn EVP_DigestSignUpdate(
10658        ctx: *mut EVP_MD_CTX,
10659        data: *const ::std::os::raw::c_void,
10660        len: usize,
10661    ) -> ::std::os::raw::c_int;
10662}
10663extern "C" {
10664    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestSignFinal"]
10665    pub fn EVP_DigestSignFinal(
10666        ctx: *mut EVP_MD_CTX,
10667        out_sig: *mut u8,
10668        out_sig_len: *mut usize,
10669    ) -> ::std::os::raw::c_int;
10670}
10671extern "C" {
10672    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestSign"]
10673    pub fn EVP_DigestSign(
10674        ctx: *mut EVP_MD_CTX,
10675        out_sig: *mut u8,
10676        out_sig_len: *mut usize,
10677        data: *const u8,
10678        data_len: usize,
10679    ) -> ::std::os::raw::c_int;
10680}
10681extern "C" {
10682    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestVerifyInit"]
10683    pub fn EVP_DigestVerifyInit(
10684        ctx: *mut EVP_MD_CTX,
10685        pctx: *mut *mut EVP_PKEY_CTX,
10686        type_: *const EVP_MD,
10687        e: *mut ENGINE,
10688        pkey: *mut EVP_PKEY,
10689    ) -> ::std::os::raw::c_int;
10690}
10691extern "C" {
10692    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestVerifyUpdate"]
10693    pub fn EVP_DigestVerifyUpdate(
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_45_0_EVP_DigestVerifyFinal"]
10701    pub fn EVP_DigestVerifyFinal(
10702        ctx: *mut EVP_MD_CTX,
10703        sig: *const u8,
10704        sig_len: usize,
10705    ) -> ::std::os::raw::c_int;
10706}
10707extern "C" {
10708    #[link_name = "\u{1}aws_lc_0_45_0_EVP_DigestVerify"]
10709    pub fn EVP_DigestVerify(
10710        ctx: *mut EVP_MD_CTX,
10711        sig: *const u8,
10712        sig_len: usize,
10713        data: *const u8,
10714        len: usize,
10715    ) -> ::std::os::raw::c_int;
10716}
10717extern "C" {
10718    #[link_name = "\u{1}aws_lc_0_45_0_EVP_SignInit_ex"]
10719    pub fn EVP_SignInit_ex(
10720        ctx: *mut EVP_MD_CTX,
10721        type_: *const EVP_MD,
10722        impl_: *mut ENGINE,
10723    ) -> ::std::os::raw::c_int;
10724}
10725extern "C" {
10726    #[link_name = "\u{1}aws_lc_0_45_0_EVP_SignInit"]
10727    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10728}
10729extern "C" {
10730    #[link_name = "\u{1}aws_lc_0_45_0_EVP_SignUpdate"]
10731    pub fn EVP_SignUpdate(
10732        ctx: *mut EVP_MD_CTX,
10733        data: *const ::std::os::raw::c_void,
10734        len: usize,
10735    ) -> ::std::os::raw::c_int;
10736}
10737extern "C" {
10738    #[link_name = "\u{1}aws_lc_0_45_0_EVP_SignFinal"]
10739    pub fn EVP_SignFinal(
10740        ctx: *const EVP_MD_CTX,
10741        sig: *mut u8,
10742        out_sig_len: *mut ::std::os::raw::c_uint,
10743        pkey: *mut EVP_PKEY,
10744    ) -> ::std::os::raw::c_int;
10745}
10746extern "C" {
10747    #[link_name = "\u{1}aws_lc_0_45_0_EVP_VerifyInit_ex"]
10748    pub fn EVP_VerifyInit_ex(
10749        ctx: *mut EVP_MD_CTX,
10750        type_: *const EVP_MD,
10751        impl_: *mut ENGINE,
10752    ) -> ::std::os::raw::c_int;
10753}
10754extern "C" {
10755    #[link_name = "\u{1}aws_lc_0_45_0_EVP_VerifyInit"]
10756    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
10757}
10758extern "C" {
10759    #[link_name = "\u{1}aws_lc_0_45_0_EVP_VerifyUpdate"]
10760    pub fn EVP_VerifyUpdate(
10761        ctx: *mut EVP_MD_CTX,
10762        data: *const ::std::os::raw::c_void,
10763        len: usize,
10764    ) -> ::std::os::raw::c_int;
10765}
10766extern "C" {
10767    #[link_name = "\u{1}aws_lc_0_45_0_EVP_VerifyFinal"]
10768    pub fn EVP_VerifyFinal(
10769        ctx: *mut EVP_MD_CTX,
10770        sig: *const u8,
10771        sig_len: usize,
10772        pkey: *mut EVP_PKEY,
10773    ) -> ::std::os::raw::c_int;
10774}
10775extern "C" {
10776    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_print_public"]
10777    pub fn EVP_PKEY_print_public(
10778        out: *mut BIO,
10779        pkey: *const EVP_PKEY,
10780        indent: ::std::os::raw::c_int,
10781        pctx: *mut ASN1_PCTX,
10782    ) -> ::std::os::raw::c_int;
10783}
10784extern "C" {
10785    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_print_private"]
10786    pub fn EVP_PKEY_print_private(
10787        out: *mut BIO,
10788        pkey: *const EVP_PKEY,
10789        indent: ::std::os::raw::c_int,
10790        pctx: *mut ASN1_PCTX,
10791    ) -> ::std::os::raw::c_int;
10792}
10793extern "C" {
10794    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_print_params"]
10795    pub fn EVP_PKEY_print_params(
10796        out: *mut BIO,
10797        pkey: *const EVP_PKEY,
10798        indent: ::std::os::raw::c_int,
10799        pctx: *mut ASN1_PCTX,
10800    ) -> ::std::os::raw::c_int;
10801}
10802extern "C" {
10803    #[link_name = "\u{1}aws_lc_0_45_0_PKCS5_PBKDF2_HMAC"]
10804    pub fn PKCS5_PBKDF2_HMAC(
10805        password: *const ::std::os::raw::c_char,
10806        password_len: usize,
10807        salt: *const u8,
10808        salt_len: usize,
10809        iterations: u32,
10810        digest: *const EVP_MD,
10811        key_len: usize,
10812        out_key: *mut u8,
10813    ) -> ::std::os::raw::c_int;
10814}
10815extern "C" {
10816    #[link_name = "\u{1}aws_lc_0_45_0_PKCS5_PBKDF2_HMAC_SHA1"]
10817    pub fn PKCS5_PBKDF2_HMAC_SHA1(
10818        password: *const ::std::os::raw::c_char,
10819        password_len: usize,
10820        salt: *const u8,
10821        salt_len: usize,
10822        iterations: u32,
10823        key_len: usize,
10824        out_key: *mut u8,
10825    ) -> ::std::os::raw::c_int;
10826}
10827extern "C" {
10828    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PBE_scrypt"]
10829    pub fn EVP_PBE_scrypt(
10830        password: *const ::std::os::raw::c_char,
10831        password_len: usize,
10832        salt: *const u8,
10833        salt_len: usize,
10834        N: u64,
10835        r: u64,
10836        p: u64,
10837        max_mem: usize,
10838        out_key: *mut u8,
10839        key_len: usize,
10840    ) -> ::std::os::raw::c_int;
10841}
10842extern "C" {
10843    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_new"]
10844    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10845}
10846extern "C" {
10847    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_new_id"]
10848    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
10849}
10850extern "C" {
10851    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_free"]
10852    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
10853}
10854extern "C" {
10855    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_dup"]
10856    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
10857}
10858extern "C" {
10859    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get0_pkey"]
10860    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
10861}
10862extern "C" {
10863    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_sign_init"]
10864    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10865}
10866extern "C" {
10867    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_sign"]
10868    pub fn EVP_PKEY_sign(
10869        ctx: *mut EVP_PKEY_CTX,
10870        sig: *mut u8,
10871        sig_len: *mut usize,
10872        digest: *const u8,
10873        digest_len: usize,
10874    ) -> ::std::os::raw::c_int;
10875}
10876extern "C" {
10877    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_verify_init"]
10878    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10879}
10880extern "C" {
10881    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_verify"]
10882    pub fn EVP_PKEY_verify(
10883        ctx: *mut EVP_PKEY_CTX,
10884        sig: *const u8,
10885        sig_len: usize,
10886        digest: *const u8,
10887        digest_len: usize,
10888    ) -> ::std::os::raw::c_int;
10889}
10890extern "C" {
10891    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_encrypt_init"]
10892    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10893}
10894extern "C" {
10895    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_encrypt"]
10896    pub fn EVP_PKEY_encrypt(
10897        ctx: *mut EVP_PKEY_CTX,
10898        out: *mut u8,
10899        out_len: *mut usize,
10900        in_: *const u8,
10901        in_len: usize,
10902    ) -> ::std::os::raw::c_int;
10903}
10904extern "C" {
10905    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_decrypt_init"]
10906    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10907}
10908extern "C" {
10909    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_decrypt"]
10910    pub fn EVP_PKEY_decrypt(
10911        ctx: *mut EVP_PKEY_CTX,
10912        out: *mut u8,
10913        out_len: *mut usize,
10914        in_: *const u8,
10915        in_len: usize,
10916    ) -> ::std::os::raw::c_int;
10917}
10918extern "C" {
10919    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_verify_recover_init"]
10920    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10921}
10922extern "C" {
10923    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_verify_recover"]
10924    pub fn EVP_PKEY_verify_recover(
10925        ctx: *mut EVP_PKEY_CTX,
10926        out: *mut u8,
10927        out_len: *mut usize,
10928        sig: *const u8,
10929        siglen: usize,
10930    ) -> ::std::os::raw::c_int;
10931}
10932extern "C" {
10933    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_derive_init"]
10934    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10935}
10936extern "C" {
10937    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_derive_set_peer"]
10938    pub fn EVP_PKEY_derive_set_peer(
10939        ctx: *mut EVP_PKEY_CTX,
10940        peer: *mut EVP_PKEY,
10941    ) -> ::std::os::raw::c_int;
10942}
10943extern "C" {
10944    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_derive"]
10945    pub fn EVP_PKEY_derive(
10946        ctx: *mut EVP_PKEY_CTX,
10947        key: *mut u8,
10948        out_key_len: *mut usize,
10949    ) -> ::std::os::raw::c_int;
10950}
10951extern "C" {
10952    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_check"]
10953    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10954}
10955extern "C" {
10956    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_public_check"]
10957    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10958}
10959extern "C" {
10960    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_param_check"]
10961    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10962}
10963extern "C" {
10964    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_keygen_init"]
10965    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10966}
10967extern "C" {
10968    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_keygen"]
10969    pub fn EVP_PKEY_keygen(
10970        ctx: *mut EVP_PKEY_CTX,
10971        out_pkey: *mut *mut EVP_PKEY,
10972    ) -> ::std::os::raw::c_int;
10973}
10974extern "C" {
10975    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_encapsulate"]
10976    pub fn EVP_PKEY_encapsulate(
10977        ctx: *mut EVP_PKEY_CTX,
10978        ciphertext: *mut u8,
10979        ciphertext_len: *mut usize,
10980        shared_secret: *mut u8,
10981        shared_secret_len: *mut usize,
10982    ) -> ::std::os::raw::c_int;
10983}
10984extern "C" {
10985    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_decapsulate"]
10986    pub fn EVP_PKEY_decapsulate(
10987        ctx: *mut EVP_PKEY_CTX,
10988        shared_secret: *mut u8,
10989        shared_secret_len: *mut usize,
10990        ciphertext: *const u8,
10991        ciphertext_len: usize,
10992    ) -> ::std::os::raw::c_int;
10993}
10994extern "C" {
10995    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_paramgen_init"]
10996    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
10997}
10998extern "C" {
10999    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_paramgen"]
11000    pub fn EVP_PKEY_paramgen(
11001        ctx: *mut EVP_PKEY_CTX,
11002        out_pkey: *mut *mut EVP_PKEY,
11003    ) -> ::std::os::raw::c_int;
11004}
11005extern "C" {
11006    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_signature_md"]
11007    pub fn EVP_PKEY_CTX_set_signature_md(
11008        ctx: *mut EVP_PKEY_CTX,
11009        md: *const EVP_MD,
11010    ) -> ::std::os::raw::c_int;
11011}
11012extern "C" {
11013    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get_signature_md"]
11014    pub fn EVP_PKEY_CTX_get_signature_md(
11015        ctx: *mut EVP_PKEY_CTX,
11016        out_md: *mut *const EVP_MD,
11017    ) -> ::std::os::raw::c_int;
11018}
11019extern "C" {
11020    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set1_signature_context_string"]
11021    pub fn EVP_PKEY_CTX_set1_signature_context_string(
11022        ctx: *mut EVP_PKEY_CTX,
11023        context: *const u8,
11024        context_len: usize,
11025    ) -> ::std::os::raw::c_int;
11026}
11027extern "C" {
11028    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_signature_context"]
11029    pub fn EVP_PKEY_CTX_set_signature_context(
11030        ctx: *mut EVP_PKEY_CTX,
11031        context: *const u8,
11032        context_len: usize,
11033    ) -> ::std::os::raw::c_int;
11034}
11035extern "C" {
11036    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get0_signature_context"]
11037    pub fn EVP_PKEY_CTX_get0_signature_context(
11038        ctx: *mut EVP_PKEY_CTX,
11039        context: *mut *const u8,
11040        context_len: *mut usize,
11041    ) -> ::std::os::raw::c_int;
11042}
11043extern "C" {
11044    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_padding"]
11045    pub fn EVP_PKEY_CTX_set_rsa_padding(
11046        ctx: *mut EVP_PKEY_CTX,
11047        padding: ::std::os::raw::c_int,
11048    ) -> ::std::os::raw::c_int;
11049}
11050extern "C" {
11051    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get_rsa_padding"]
11052    pub fn EVP_PKEY_CTX_get_rsa_padding(
11053        ctx: *mut EVP_PKEY_CTX,
11054        out_padding: *mut ::std::os::raw::c_int,
11055    ) -> ::std::os::raw::c_int;
11056}
11057extern "C" {
11058    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
11059    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
11060        ctx: *mut EVP_PKEY_CTX,
11061        salt_len: ::std::os::raw::c_int,
11062    ) -> ::std::os::raw::c_int;
11063}
11064extern "C" {
11065    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
11066    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
11067        ctx: *mut EVP_PKEY_CTX,
11068        out_salt_len: *mut ::std::os::raw::c_int,
11069    ) -> ::std::os::raw::c_int;
11070}
11071extern "C" {
11072    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
11073    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
11074        ctx: *mut EVP_PKEY_CTX,
11075        bits: ::std::os::raw::c_int,
11076    ) -> ::std::os::raw::c_int;
11077}
11078extern "C" {
11079    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
11080    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
11081        ctx: *mut EVP_PKEY_CTX,
11082        e: *mut BIGNUM,
11083    ) -> ::std::os::raw::c_int;
11084}
11085extern "C" {
11086    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
11087    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
11088        ctx: *mut EVP_PKEY_CTX,
11089        md: *const EVP_MD,
11090    ) -> ::std::os::raw::c_int;
11091}
11092extern "C" {
11093    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
11094    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
11095        ctx: *mut EVP_PKEY_CTX,
11096        out_md: *mut *const EVP_MD,
11097    ) -> ::std::os::raw::c_int;
11098}
11099extern "C" {
11100    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
11101    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
11102        ctx: *mut EVP_PKEY_CTX,
11103        md: *const EVP_MD,
11104    ) -> ::std::os::raw::c_int;
11105}
11106extern "C" {
11107    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
11108    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
11109        ctx: *mut EVP_PKEY_CTX,
11110        out_md: *mut *const EVP_MD,
11111    ) -> ::std::os::raw::c_int;
11112}
11113extern "C" {
11114    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
11115    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
11116        ctx: *mut EVP_PKEY_CTX,
11117        label: *mut u8,
11118        label_len: usize,
11119    ) -> ::std::os::raw::c_int;
11120}
11121extern "C" {
11122    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
11123    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
11124        ctx: *mut EVP_PKEY_CTX,
11125        out_label: *mut *const u8,
11126    ) -> ::std::os::raw::c_int;
11127}
11128extern "C" {
11129    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
11130    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
11131        ctx: *mut EVP_PKEY_CTX,
11132        nid: ::std::os::raw::c_int,
11133    ) -> ::std::os::raw::c_int;
11134}
11135extern "C" {
11136    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_kem_set_params"]
11137    pub fn EVP_PKEY_CTX_kem_set_params(
11138        ctx: *mut EVP_PKEY_CTX,
11139        nid: ::std::os::raw::c_int,
11140    ) -> ::std::os::raw::c_int;
11141}
11142extern "C" {
11143    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_kem_new_raw_public_key"]
11144    pub fn EVP_PKEY_kem_new_raw_public_key(
11145        nid: ::std::os::raw::c_int,
11146        in_: *const u8,
11147        len: usize,
11148    ) -> *mut EVP_PKEY;
11149}
11150extern "C" {
11151    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_kem_new_raw_secret_key"]
11152    pub fn EVP_PKEY_kem_new_raw_secret_key(
11153        nid: ::std::os::raw::c_int,
11154        in_: *const u8,
11155        len: usize,
11156    ) -> *mut EVP_PKEY;
11157}
11158extern "C" {
11159    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_kem_new_raw_key"]
11160    pub fn EVP_PKEY_kem_new_raw_key(
11161        nid: ::std::os::raw::c_int,
11162        in_public: *const u8,
11163        len_public: usize,
11164        in_secret: *const u8,
11165        len_secret: usize,
11166    ) -> *mut EVP_PKEY;
11167}
11168extern "C" {
11169    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_kem_check_key"]
11170    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
11171}
11172extern "C" {
11173    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_kem_get_type"]
11174    pub fn EVP_PKEY_kem_get_type(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11175}
11176extern "C" {
11177    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_pqdsa_set_params"]
11178    pub fn EVP_PKEY_CTX_pqdsa_set_params(
11179        ctx: *mut EVP_PKEY_CTX,
11180        nid: ::std::os::raw::c_int,
11181    ) -> ::std::os::raw::c_int;
11182}
11183extern "C" {
11184    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_pqdsa_new_raw_public_key"]
11185    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
11186        nid: ::std::os::raw::c_int,
11187        in_: *const u8,
11188        len: usize,
11189    ) -> *mut EVP_PKEY;
11190}
11191extern "C" {
11192    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_pqdsa_new_raw_private_key"]
11193    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
11194        nid: ::std::os::raw::c_int,
11195        in_: *const u8,
11196        len: usize,
11197    ) -> *mut EVP_PKEY;
11198}
11199extern "C" {
11200    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_dh_pad"]
11201    pub fn EVP_PKEY_CTX_set_dh_pad(
11202        ctx: *mut EVP_PKEY_CTX,
11203        pad: ::std::os::raw::c_int,
11204    ) -> ::std::os::raw::c_int;
11205}
11206extern "C" {
11207    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_asn1_get_count"]
11208    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
11209}
11210extern "C" {
11211    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_asn1_get0"]
11212    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
11213}
11214extern "C" {
11215    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_asn1_find"]
11216    pub fn EVP_PKEY_asn1_find(
11217        _pe: *mut *mut ENGINE,
11218        type_: ::std::os::raw::c_int,
11219    ) -> *const EVP_PKEY_ASN1_METHOD;
11220}
11221extern "C" {
11222    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_asn1_find_str"]
11223    pub fn EVP_PKEY_asn1_find_str(
11224        _pe: *mut *mut ENGINE,
11225        name: *const ::std::os::raw::c_char,
11226        len: ::std::os::raw::c_int,
11227    ) -> *const EVP_PKEY_ASN1_METHOD;
11228}
11229extern "C" {
11230    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_asn1_get0_info"]
11231    pub fn EVP_PKEY_asn1_get0_info(
11232        ppkey_id: *mut ::std::os::raw::c_int,
11233        pkey_base_id: *mut ::std::os::raw::c_int,
11234        ppkey_flags: *mut ::std::os::raw::c_int,
11235        pinfo: *mut *const ::std::os::raw::c_char,
11236        ppem_str: *mut *const ::std::os::raw::c_char,
11237        ameth: *const EVP_PKEY_ASN1_METHOD,
11238    ) -> ::std::os::raw::c_int;
11239}
11240extern "C" {
11241    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get_private_seed"]
11242    pub fn EVP_PKEY_get_private_seed(
11243        key: *const EVP_PKEY,
11244        out: *mut u8,
11245        out_len: *mut usize,
11246    ) -> ::std::os::raw::c_int;
11247}
11248pub type EVP_PKEY_gen_cb =
11249    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
11250extern "C" {
11251    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_cb"]
11252    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
11253}
11254extern "C" {
11255    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get_keygen_info"]
11256    pub fn EVP_PKEY_CTX_get_keygen_info(
11257        ctx: *mut EVP_PKEY_CTX,
11258        idx: ::std::os::raw::c_int,
11259    ) -> ::std::os::raw::c_int;
11260}
11261extern "C" {
11262    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_app_data"]
11263    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
11264}
11265extern "C" {
11266    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_get_app_data"]
11267    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
11268}
11269extern "C" {
11270    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_get_pkey_type"]
11271    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11272}
11273extern "C" {
11274    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_pkey_type"]
11275    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
11276}
11277extern "C" {
11278    #[link_name = "\u{1}aws_lc_0_45_0_EVP_CIPHER_do_all_sorted"]
11279    pub fn EVP_CIPHER_do_all_sorted(
11280        callback: ::std::option::Option<
11281            unsafe extern "C" fn(
11282                cipher: *const EVP_CIPHER,
11283                name: *const ::std::os::raw::c_char,
11284                unused: *const ::std::os::raw::c_char,
11285                arg: *mut ::std::os::raw::c_void,
11286            ),
11287        >,
11288        arg: *mut ::std::os::raw::c_void,
11289    );
11290}
11291extern "C" {
11292    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_do_all_sorted"]
11293    pub fn EVP_MD_do_all_sorted(
11294        callback: ::std::option::Option<
11295            unsafe extern "C" fn(
11296                cipher: *const EVP_MD,
11297                name: *const ::std::os::raw::c_char,
11298                unused: *const ::std::os::raw::c_char,
11299                arg: *mut ::std::os::raw::c_void,
11300            ),
11301        >,
11302        arg: *mut ::std::os::raw::c_void,
11303    );
11304}
11305extern "C" {
11306    #[link_name = "\u{1}aws_lc_0_45_0_EVP_MD_do_all"]
11307    pub fn EVP_MD_do_all(
11308        callback: ::std::option::Option<
11309            unsafe extern "C" fn(
11310                cipher: *const EVP_MD,
11311                name: *const ::std::os::raw::c_char,
11312                unused: *const ::std::os::raw::c_char,
11313                arg: *mut ::std::os::raw::c_void,
11314            ),
11315        >,
11316        arg: *mut ::std::os::raw::c_void,
11317    );
11318}
11319extern "C" {
11320    #[link_name = "\u{1}aws_lc_0_45_0_i2d_PrivateKey"]
11321    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11322}
11323extern "C" {
11324    #[link_name = "\u{1}aws_lc_0_45_0_i2d_PublicKey"]
11325    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11326}
11327extern "C" {
11328    #[link_name = "\u{1}aws_lc_0_45_0_d2i_PrivateKey"]
11329    pub fn d2i_PrivateKey(
11330        type_: ::std::os::raw::c_int,
11331        out: *mut *mut EVP_PKEY,
11332        inp: *mut *const u8,
11333        len: ::std::os::raw::c_long,
11334    ) -> *mut EVP_PKEY;
11335}
11336extern "C" {
11337    #[link_name = "\u{1}aws_lc_0_45_0_d2i_AutoPrivateKey"]
11338    pub fn d2i_AutoPrivateKey(
11339        out: *mut *mut EVP_PKEY,
11340        inp: *mut *const u8,
11341        len: ::std::os::raw::c_long,
11342    ) -> *mut EVP_PKEY;
11343}
11344extern "C" {
11345    #[link_name = "\u{1}aws_lc_0_45_0_d2i_PublicKey"]
11346    pub fn d2i_PublicKey(
11347        type_: ::std::os::raw::c_int,
11348        out: *mut *mut EVP_PKEY,
11349        inp: *mut *const u8,
11350        len: ::std::os::raw::c_long,
11351    ) -> *mut EVP_PKEY;
11352}
11353extern "C" {
11354    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_ec_param_enc"]
11355    pub fn EVP_PKEY_CTX_set_ec_param_enc(
11356        ctx: *mut EVP_PKEY_CTX,
11357        encoding: ::std::os::raw::c_int,
11358    ) -> ::std::os::raw::c_int;
11359}
11360extern "C" {
11361    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_set1_tls_encodedpoint"]
11362    pub fn EVP_PKEY_set1_tls_encodedpoint(
11363        pkey: *mut EVP_PKEY,
11364        in_: *const u8,
11365        len: usize,
11366    ) -> ::std::os::raw::c_int;
11367}
11368extern "C" {
11369    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get1_tls_encodedpoint"]
11370    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
11371}
11372extern "C" {
11373    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_base_id"]
11374    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
11375}
11376extern "C" {
11377    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
11378    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
11379        ctx: *mut EVP_PKEY_CTX,
11380        md: *const EVP_MD,
11381    ) -> ::std::os::raw::c_int;
11382}
11383extern "C" {
11384    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
11385    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
11386        ctx: *mut EVP_PKEY_CTX,
11387        salt_len: ::std::os::raw::c_int,
11388    ) -> ::std::os::raw::c_int;
11389}
11390extern "C" {
11391    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
11392    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
11393        ctx: *mut EVP_PKEY_CTX,
11394        md: *const EVP_MD,
11395    ) -> ::std::os::raw::c_int;
11396}
11397extern "C" {
11398    #[link_name = "\u{1}aws_lc_0_45_0_i2d_PUBKEY"]
11399    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11400}
11401extern "C" {
11402    #[link_name = "\u{1}aws_lc_0_45_0_d2i_PUBKEY"]
11403    pub fn d2i_PUBKEY(
11404        out: *mut *mut EVP_PKEY,
11405        inp: *mut *const u8,
11406        len: ::std::os::raw::c_long,
11407    ) -> *mut EVP_PKEY;
11408}
11409extern "C" {
11410    #[link_name = "\u{1}aws_lc_0_45_0_i2d_RSA_PUBKEY"]
11411    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11412}
11413extern "C" {
11414    #[link_name = "\u{1}aws_lc_0_45_0_d2i_RSA_PUBKEY"]
11415    pub fn d2i_RSA_PUBKEY(
11416        out: *mut *mut RSA,
11417        inp: *mut *const u8,
11418        len: ::std::os::raw::c_long,
11419    ) -> *mut RSA;
11420}
11421extern "C" {
11422    #[link_name = "\u{1}aws_lc_0_45_0_i2d_DSA_PUBKEY"]
11423    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11424}
11425extern "C" {
11426    #[link_name = "\u{1}aws_lc_0_45_0_d2i_DSA_PUBKEY"]
11427    pub fn d2i_DSA_PUBKEY(
11428        out: *mut *mut DSA,
11429        inp: *mut *const u8,
11430        len: ::std::os::raw::c_long,
11431    ) -> *mut DSA;
11432}
11433extern "C" {
11434    #[link_name = "\u{1}aws_lc_0_45_0_i2d_EC_PUBKEY"]
11435    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
11436}
11437extern "C" {
11438    #[link_name = "\u{1}aws_lc_0_45_0_d2i_EC_PUBKEY"]
11439    pub fn d2i_EC_PUBKEY(
11440        out: *mut *mut EC_KEY,
11441        inp: *mut *const u8,
11442        len: ::std::os::raw::c_long,
11443    ) -> *mut EC_KEY;
11444}
11445extern "C" {
11446    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_assign"]
11447    pub fn EVP_PKEY_assign(
11448        pkey: *mut EVP_PKEY,
11449        type_: ::std::os::raw::c_int,
11450        key: *mut ::std::os::raw::c_void,
11451    ) -> ::std::os::raw::c_int;
11452}
11453extern "C" {
11454    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_type"]
11455    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11456}
11457extern "C" {
11458    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_new_mac_key"]
11459    pub fn EVP_PKEY_new_mac_key(
11460        type_: ::std::os::raw::c_int,
11461        engine: *mut ENGINE,
11462        mac_key: *const u8,
11463        mac_key_len: usize,
11464    ) -> *mut EVP_PKEY;
11465}
11466extern "C" {
11467    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_get0"]
11468    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
11469}
11470extern "C" {
11471    #[link_name = "\u{1}aws_lc_0_45_0_OpenSSL_add_all_algorithms"]
11472    pub fn OpenSSL_add_all_algorithms();
11473}
11474extern "C" {
11475    #[link_name = "\u{1}aws_lc_0_45_0_OPENSSL_add_all_algorithms_conf"]
11476    pub fn OPENSSL_add_all_algorithms_conf();
11477}
11478extern "C" {
11479    #[link_name = "\u{1}aws_lc_0_45_0_OpenSSL_add_all_ciphers"]
11480    pub fn OpenSSL_add_all_ciphers();
11481}
11482extern "C" {
11483    #[link_name = "\u{1}aws_lc_0_45_0_OpenSSL_add_all_digests"]
11484    pub fn OpenSSL_add_all_digests();
11485}
11486extern "C" {
11487    #[link_name = "\u{1}aws_lc_0_45_0_EVP_cleanup"]
11488    pub fn EVP_cleanup();
11489}
11490extern "C" {
11491    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
11492    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
11493        ctx: *mut EVP_PKEY_CTX,
11494        nbits: ::std::os::raw::c_int,
11495    ) -> ::std::os::raw::c_int;
11496}
11497extern "C" {
11498    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
11499    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
11500        ctx: *mut EVP_PKEY_CTX,
11501        md: *const EVP_MD,
11502    ) -> ::std::os::raw::c_int;
11503}
11504extern "C" {
11505    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
11506    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
11507        ctx: *mut EVP_PKEY_CTX,
11508        qbits: ::std::os::raw::c_int,
11509    ) -> ::std::os::raw::c_int;
11510}
11511extern "C" {
11512    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_ctrl_str"]
11513    pub fn EVP_PKEY_CTX_ctrl_str(
11514        ctx: *mut EVP_PKEY_CTX,
11515        type_: *const ::std::os::raw::c_char,
11516        value: *const ::std::os::raw::c_char,
11517    ) -> ::std::os::raw::c_int;
11518}
11519extern "C" {
11520    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_tls1_prf"]
11521    pub fn CRYPTO_tls1_prf(
11522        digest: *const EVP_MD,
11523        out: *mut u8,
11524        out_len: usize,
11525        secret: *const u8,
11526        secret_len: usize,
11527        label: *const ::std::os::raw::c_char,
11528        label_len: usize,
11529        seed1: *const u8,
11530        seed1_len: usize,
11531        seed2: *const u8,
11532        seed2_len: usize,
11533    ) -> ::std::os::raw::c_int;
11534}
11535extern "C" {
11536    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_tls13_hkdf_expand_label"]
11537    pub fn CRYPTO_tls13_hkdf_expand_label(
11538        out: *mut u8,
11539        out_len: usize,
11540        digest: *const EVP_MD,
11541        secret: *const u8,
11542        secret_len: usize,
11543        label: *const u8,
11544        label_len: usize,
11545        hash: *const u8,
11546        hash_len: usize,
11547    ) -> ::std::os::raw::c_int;
11548}
11549extern "C" {
11550    #[link_name = "\u{1}aws_lc_0_45_0_SSKDF_digest"]
11551    pub fn SSKDF_digest(
11552        out_key: *mut u8,
11553        out_len: usize,
11554        digest: *const EVP_MD,
11555        secret: *const u8,
11556        secret_len: usize,
11557        info: *const u8,
11558        info_len: usize,
11559    ) -> ::std::os::raw::c_int;
11560}
11561extern "C" {
11562    #[link_name = "\u{1}aws_lc_0_45_0_SSKDF_hmac"]
11563    pub fn SSKDF_hmac(
11564        out_key: *mut u8,
11565        out_len: usize,
11566        digest: *const EVP_MD,
11567        secret: *const u8,
11568        secret_len: usize,
11569        info: *const u8,
11570        info_len: usize,
11571        salt: *const u8,
11572        salt_len: usize,
11573    ) -> ::std::os::raw::c_int;
11574}
11575extern "C" {
11576    #[link_name = "\u{1}aws_lc_0_45_0_KBKDF_ctr_hmac"]
11577    pub fn KBKDF_ctr_hmac(
11578        out_key: *mut u8,
11579        out_len: usize,
11580        digest: *const EVP_MD,
11581        secret: *const u8,
11582        secret_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_45_0_EVP_PKEY_CTX_hkdf_mode"]
11589    pub fn EVP_PKEY_CTX_hkdf_mode(
11590        ctx: *mut EVP_PKEY_CTX,
11591        mode: ::std::os::raw::c_int,
11592    ) -> ::std::os::raw::c_int;
11593}
11594extern "C" {
11595    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set_hkdf_md"]
11596    pub fn EVP_PKEY_CTX_set_hkdf_md(
11597        ctx: *mut EVP_PKEY_CTX,
11598        md: *const EVP_MD,
11599    ) -> ::std::os::raw::c_int;
11600}
11601extern "C" {
11602    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set1_hkdf_key"]
11603    pub fn EVP_PKEY_CTX_set1_hkdf_key(
11604        ctx: *mut EVP_PKEY_CTX,
11605        key: *const u8,
11606        key_len: usize,
11607    ) -> ::std::os::raw::c_int;
11608}
11609extern "C" {
11610    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_set1_hkdf_salt"]
11611    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
11612        ctx: *mut EVP_PKEY_CTX,
11613        salt: *const u8,
11614        salt_len: usize,
11615    ) -> ::std::os::raw::c_int;
11616}
11617extern "C" {
11618    #[link_name = "\u{1}aws_lc_0_45_0_EVP_PKEY_CTX_add1_hkdf_info"]
11619    pub fn EVP_PKEY_CTX_add1_hkdf_info(
11620        ctx: *mut EVP_PKEY_CTX,
11621        info: *const u8,
11622        info_len: usize,
11623    ) -> ::std::os::raw::c_int;
11624}
11625extern "C" {
11626    #[link_name = "\u{1}aws_lc_0_45_0_HKDF"]
11627    pub fn HKDF(
11628        out_key: *mut u8,
11629        out_len: usize,
11630        digest: *const EVP_MD,
11631        secret: *const u8,
11632        secret_len: usize,
11633        salt: *const u8,
11634        salt_len: usize,
11635        info: *const u8,
11636        info_len: usize,
11637    ) -> ::std::os::raw::c_int;
11638}
11639extern "C" {
11640    #[link_name = "\u{1}aws_lc_0_45_0_HKDF_extract"]
11641    pub fn HKDF_extract(
11642        out_key: *mut u8,
11643        out_len: *mut usize,
11644        digest: *const EVP_MD,
11645        secret: *const u8,
11646        secret_len: usize,
11647        salt: *const u8,
11648        salt_len: usize,
11649    ) -> ::std::os::raw::c_int;
11650}
11651extern "C" {
11652    #[link_name = "\u{1}aws_lc_0_45_0_HKDF_expand"]
11653    pub fn HKDF_expand(
11654        out_key: *mut u8,
11655        out_len: usize,
11656        digest: *const EVP_MD,
11657        prk: *const u8,
11658        prk_len: usize,
11659        info: *const u8,
11660        info_len: usize,
11661    ) -> ::std::os::raw::c_int;
11662}
11663#[repr(C)]
11664#[derive(Copy, Clone)]
11665pub struct evp_hpke_ctx_st {
11666    pub kem: *const EVP_HPKE_KEM,
11667    pub aead: *const EVP_HPKE_AEAD,
11668    pub kdf: *const EVP_HPKE_KDF,
11669    pub aead_ctx: EVP_AEAD_CTX,
11670    pub base_nonce: [u8; 24usize],
11671    pub exporter_secret: [u8; 64usize],
11672    pub seq: u64,
11673    pub is_sender: ::std::os::raw::c_int,
11674}
11675#[test]
11676fn bindgen_test_layout_evp_hpke_ctx_st() {
11677    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
11678    let ptr = UNINIT.as_ptr();
11679    assert_eq!(
11680        ::std::mem::size_of::<evp_hpke_ctx_st>(),
11681        712usize,
11682        "Size of evp_hpke_ctx_st"
11683    );
11684    assert_eq!(
11685        ::std::mem::align_of::<evp_hpke_ctx_st>(),
11686        8usize,
11687        "Alignment of evp_hpke_ctx_st"
11688    );
11689    assert_eq!(
11690        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11691        0usize,
11692        "Offset of field: evp_hpke_ctx_st::kem"
11693    );
11694    assert_eq!(
11695        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
11696        8usize,
11697        "Offset of field: evp_hpke_ctx_st::aead"
11698    );
11699    assert_eq!(
11700        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
11701        16usize,
11702        "Offset of field: evp_hpke_ctx_st::kdf"
11703    );
11704    assert_eq!(
11705        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
11706        24usize,
11707        "Offset of field: evp_hpke_ctx_st::aead_ctx"
11708    );
11709    assert_eq!(
11710        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
11711        608usize,
11712        "Offset of field: evp_hpke_ctx_st::base_nonce"
11713    );
11714    assert_eq!(
11715        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
11716        632usize,
11717        "Offset of field: evp_hpke_ctx_st::exporter_secret"
11718    );
11719    assert_eq!(
11720        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
11721        696usize,
11722        "Offset of field: evp_hpke_ctx_st::seq"
11723    );
11724    assert_eq!(
11725        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
11726        704usize,
11727        "Offset of field: evp_hpke_ctx_st::is_sender"
11728    );
11729}
11730impl Default for evp_hpke_ctx_st {
11731    fn default() -> Self {
11732        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11733        unsafe {
11734            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11735            s.assume_init()
11736        }
11737    }
11738}
11739#[repr(C)]
11740#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11741pub struct evp_hpke_key_st {
11742    pub kem: *const EVP_HPKE_KEM,
11743    pub private_key: [u8; 32usize],
11744    pub public_key: [u8; 32usize],
11745}
11746#[test]
11747fn bindgen_test_layout_evp_hpke_key_st() {
11748    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
11749    let ptr = UNINIT.as_ptr();
11750    assert_eq!(
11751        ::std::mem::size_of::<evp_hpke_key_st>(),
11752        72usize,
11753        "Size of evp_hpke_key_st"
11754    );
11755    assert_eq!(
11756        ::std::mem::align_of::<evp_hpke_key_st>(),
11757        8usize,
11758        "Alignment of evp_hpke_key_st"
11759    );
11760    assert_eq!(
11761        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
11762        0usize,
11763        "Offset of field: evp_hpke_key_st::kem"
11764    );
11765    assert_eq!(
11766        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
11767        8usize,
11768        "Offset of field: evp_hpke_key_st::private_key"
11769    );
11770    assert_eq!(
11771        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
11772        40usize,
11773        "Offset of field: evp_hpke_key_st::public_key"
11774    );
11775}
11776impl Default for evp_hpke_key_st {
11777    fn default() -> Self {
11778        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11779        unsafe {
11780            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11781            s.assume_init()
11782        }
11783    }
11784}
11785#[repr(C)]
11786#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11787pub struct md4_state_st {
11788    pub h: [u32; 4usize],
11789    pub Nl: u32,
11790    pub Nh: u32,
11791    pub data: [u8; 64usize],
11792    pub num: ::std::os::raw::c_uint,
11793}
11794#[test]
11795fn bindgen_test_layout_md4_state_st() {
11796    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
11797    let ptr = UNINIT.as_ptr();
11798    assert_eq!(
11799        ::std::mem::size_of::<md4_state_st>(),
11800        92usize,
11801        "Size of md4_state_st"
11802    );
11803    assert_eq!(
11804        ::std::mem::align_of::<md4_state_st>(),
11805        4usize,
11806        "Alignment of md4_state_st"
11807    );
11808    assert_eq!(
11809        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11810        0usize,
11811        "Offset of field: md4_state_st::h"
11812    );
11813    assert_eq!(
11814        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
11815        16usize,
11816        "Offset of field: md4_state_st::Nl"
11817    );
11818    assert_eq!(
11819        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
11820        20usize,
11821        "Offset of field: md4_state_st::Nh"
11822    );
11823    assert_eq!(
11824        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11825        24usize,
11826        "Offset of field: md4_state_st::data"
11827    );
11828    assert_eq!(
11829        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
11830        88usize,
11831        "Offset of field: md4_state_st::num"
11832    );
11833}
11834impl Default for md4_state_st {
11835    fn default() -> Self {
11836        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11837        unsafe {
11838            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11839            s.assume_init()
11840        }
11841    }
11842}
11843#[repr(C)]
11844#[derive(Debug, Copy, Clone)]
11845pub struct stack_st_X509 {
11846    _unused: [u8; 0],
11847}
11848#[repr(C)]
11849#[derive(Debug, Copy, Clone)]
11850pub struct stack_st_X509_CRL {
11851    _unused: [u8; 0],
11852}
11853#[repr(C)]
11854#[derive(Copy, Clone)]
11855pub struct pkcs7_st {
11856    pub type_: *mut ASN1_OBJECT,
11857    pub d: pkcs7_st__bindgen_ty_1,
11858}
11859#[repr(C)]
11860#[derive(Copy, Clone)]
11861pub union pkcs7_st__bindgen_ty_1 {
11862    pub ptr: *mut ::std::os::raw::c_char,
11863    pub data: *mut ASN1_OCTET_STRING,
11864    pub sign: *mut PKCS7_SIGNED,
11865    pub enveloped: *mut PKCS7_ENVELOPE,
11866    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
11867    pub digest: *mut PKCS7_DIGEST,
11868    pub encrypted: *mut PKCS7_ENCRYPT,
11869    pub other: *mut ASN1_TYPE,
11870}
11871#[test]
11872fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
11873    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
11874        ::std::mem::MaybeUninit::uninit();
11875    let ptr = UNINIT.as_ptr();
11876    assert_eq!(
11877        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
11878        8usize,
11879        "Size of pkcs7_st__bindgen_ty_1"
11880    );
11881    assert_eq!(
11882        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
11883        8usize,
11884        "Alignment of pkcs7_st__bindgen_ty_1"
11885    );
11886    assert_eq!(
11887        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
11888        0usize,
11889        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
11890    );
11891    assert_eq!(
11892        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11893        0usize,
11894        "Offset of field: pkcs7_st__bindgen_ty_1::data"
11895    );
11896    assert_eq!(
11897        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
11898        0usize,
11899        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
11900    );
11901    assert_eq!(
11902        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
11903        0usize,
11904        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
11905    );
11906    assert_eq!(
11907        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
11908        0usize,
11909        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
11910    );
11911    assert_eq!(
11912        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
11913        0usize,
11914        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
11915    );
11916    assert_eq!(
11917        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
11918        0usize,
11919        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
11920    );
11921    assert_eq!(
11922        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
11923        0usize,
11924        "Offset of field: pkcs7_st__bindgen_ty_1::other"
11925    );
11926}
11927impl Default for pkcs7_st__bindgen_ty_1 {
11928    fn default() -> Self {
11929        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11930        unsafe {
11931            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11932            s.assume_init()
11933        }
11934    }
11935}
11936#[test]
11937fn bindgen_test_layout_pkcs7_st() {
11938    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
11939    let ptr = UNINIT.as_ptr();
11940    assert_eq!(
11941        ::std::mem::size_of::<pkcs7_st>(),
11942        16usize,
11943        "Size of pkcs7_st"
11944    );
11945    assert_eq!(
11946        ::std::mem::align_of::<pkcs7_st>(),
11947        8usize,
11948        "Alignment of pkcs7_st"
11949    );
11950    assert_eq!(
11951        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
11952        0usize,
11953        "Offset of field: pkcs7_st::type_"
11954    );
11955    assert_eq!(
11956        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
11957        8usize,
11958        "Offset of field: pkcs7_st::d"
11959    );
11960}
11961impl Default for pkcs7_st {
11962    fn default() -> Self {
11963        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11964        unsafe {
11965            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11966            s.assume_init()
11967        }
11968    }
11969}
11970#[repr(C)]
11971#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11972pub struct pkcs7_signed_st {
11973    pub version: *mut ASN1_INTEGER,
11974    pub md_algs: *mut stack_st_X509_ALGOR,
11975    pub contents: *mut PKCS7,
11976    pub cert: *mut stack_st_X509,
11977    pub crl: *mut stack_st_X509_CRL,
11978    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
11979}
11980#[test]
11981fn bindgen_test_layout_pkcs7_signed_st() {
11982    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
11983    let ptr = UNINIT.as_ptr();
11984    assert_eq!(
11985        ::std::mem::size_of::<pkcs7_signed_st>(),
11986        48usize,
11987        "Size of pkcs7_signed_st"
11988    );
11989    assert_eq!(
11990        ::std::mem::align_of::<pkcs7_signed_st>(),
11991        8usize,
11992        "Alignment of pkcs7_signed_st"
11993    );
11994    assert_eq!(
11995        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
11996        0usize,
11997        "Offset of field: pkcs7_signed_st::version"
11998    );
11999    assert_eq!(
12000        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12001        8usize,
12002        "Offset of field: pkcs7_signed_st::md_algs"
12003    );
12004    assert_eq!(
12005        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
12006        16usize,
12007        "Offset of field: pkcs7_signed_st::contents"
12008    );
12009    assert_eq!(
12010        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12011        24usize,
12012        "Offset of field: pkcs7_signed_st::cert"
12013    );
12014    assert_eq!(
12015        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12016        32usize,
12017        "Offset of field: pkcs7_signed_st::crl"
12018    );
12019    assert_eq!(
12020        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12021        40usize,
12022        "Offset of field: pkcs7_signed_st::signer_info"
12023    );
12024}
12025impl Default for pkcs7_signed_st {
12026    fn default() -> Self {
12027        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12028        unsafe {
12029            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12030            s.assume_init()
12031        }
12032    }
12033}
12034#[repr(C)]
12035#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12036pub struct pkcs7_signer_info_st {
12037    pub version: *mut ASN1_INTEGER,
12038    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12039    pub digest_alg: *mut X509_ALGOR,
12040    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
12041    pub digest_enc_alg: *mut X509_ALGOR,
12042    pub enc_digest: *mut ASN1_OCTET_STRING,
12043    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
12044    pub pkey: *mut EVP_PKEY,
12045}
12046#[test]
12047fn bindgen_test_layout_pkcs7_signer_info_st() {
12048    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
12049    let ptr = UNINIT.as_ptr();
12050    assert_eq!(
12051        ::std::mem::size_of::<pkcs7_signer_info_st>(),
12052        64usize,
12053        "Size of pkcs7_signer_info_st"
12054    );
12055    assert_eq!(
12056        ::std::mem::align_of::<pkcs7_signer_info_st>(),
12057        8usize,
12058        "Alignment of pkcs7_signer_info_st"
12059    );
12060    assert_eq!(
12061        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12062        0usize,
12063        "Offset of field: pkcs7_signer_info_st::version"
12064    );
12065    assert_eq!(
12066        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12067        8usize,
12068        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
12069    );
12070    assert_eq!(
12071        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
12072        16usize,
12073        "Offset of field: pkcs7_signer_info_st::digest_alg"
12074    );
12075    assert_eq!(
12076        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
12077        24usize,
12078        "Offset of field: pkcs7_signer_info_st::auth_attr"
12079    );
12080    assert_eq!(
12081        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
12082        32usize,
12083        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
12084    );
12085    assert_eq!(
12086        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
12087        40usize,
12088        "Offset of field: pkcs7_signer_info_st::enc_digest"
12089    );
12090    assert_eq!(
12091        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
12092        48usize,
12093        "Offset of field: pkcs7_signer_info_st::unauth_attr"
12094    );
12095    assert_eq!(
12096        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
12097        56usize,
12098        "Offset of field: pkcs7_signer_info_st::pkey"
12099    );
12100}
12101impl Default for pkcs7_signer_info_st {
12102    fn default() -> Self {
12103        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12104        unsafe {
12105            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12106            s.assume_init()
12107        }
12108    }
12109}
12110#[repr(C)]
12111#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12112pub struct pkcs7_sign_envelope_st {
12113    pub version: *mut ASN1_INTEGER,
12114    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12115    pub md_algs: *mut stack_st_X509_ALGOR,
12116    pub enc_data: *mut PKCS7_ENC_CONTENT,
12117    pub cert: *mut stack_st_X509,
12118    pub crl: *mut stack_st_X509_CRL,
12119    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
12120}
12121#[test]
12122fn bindgen_test_layout_pkcs7_sign_envelope_st() {
12123    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
12124        ::std::mem::MaybeUninit::uninit();
12125    let ptr = UNINIT.as_ptr();
12126    assert_eq!(
12127        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
12128        56usize,
12129        "Size of pkcs7_sign_envelope_st"
12130    );
12131    assert_eq!(
12132        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
12133        8usize,
12134        "Alignment of pkcs7_sign_envelope_st"
12135    );
12136    assert_eq!(
12137        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12138        0usize,
12139        "Offset of field: pkcs7_sign_envelope_st::version"
12140    );
12141    assert_eq!(
12142        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12143        8usize,
12144        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
12145    );
12146    assert_eq!(
12147        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
12148        16usize,
12149        "Offset of field: pkcs7_sign_envelope_st::md_algs"
12150    );
12151    assert_eq!(
12152        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12153        24usize,
12154        "Offset of field: pkcs7_sign_envelope_st::enc_data"
12155    );
12156    assert_eq!(
12157        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12158        32usize,
12159        "Offset of field: pkcs7_sign_envelope_st::cert"
12160    );
12161    assert_eq!(
12162        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
12163        40usize,
12164        "Offset of field: pkcs7_sign_envelope_st::crl"
12165    );
12166    assert_eq!(
12167        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
12168        48usize,
12169        "Offset of field: pkcs7_sign_envelope_st::signer_info"
12170    );
12171}
12172impl Default for pkcs7_sign_envelope_st {
12173    fn default() -> Self {
12174        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12175        unsafe {
12176            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12177            s.assume_init()
12178        }
12179    }
12180}
12181#[repr(C)]
12182#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12183pub struct pkcs7_envelope_st {
12184    pub version: *mut ASN1_INTEGER,
12185    pub enc_data: *mut PKCS7_ENC_CONTENT,
12186    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
12187}
12188#[test]
12189fn bindgen_test_layout_pkcs7_envelope_st() {
12190    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
12191    let ptr = UNINIT.as_ptr();
12192    assert_eq!(
12193        ::std::mem::size_of::<pkcs7_envelope_st>(),
12194        24usize,
12195        "Size of pkcs7_envelope_st"
12196    );
12197    assert_eq!(
12198        ::std::mem::align_of::<pkcs7_envelope_st>(),
12199        8usize,
12200        "Alignment of pkcs7_envelope_st"
12201    );
12202    assert_eq!(
12203        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12204        0usize,
12205        "Offset of field: pkcs7_envelope_st::version"
12206    );
12207    assert_eq!(
12208        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
12209        8usize,
12210        "Offset of field: pkcs7_envelope_st::enc_data"
12211    );
12212    assert_eq!(
12213        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
12214        16usize,
12215        "Offset of field: pkcs7_envelope_st::recipientinfo"
12216    );
12217}
12218impl Default for pkcs7_envelope_st {
12219    fn default() -> Self {
12220        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12221        unsafe {
12222            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12223            s.assume_init()
12224        }
12225    }
12226}
12227#[repr(C)]
12228#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12229pub struct pkcs7_recip_info_st {
12230    pub version: *mut ASN1_INTEGER,
12231    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
12232    pub key_enc_algor: *mut X509_ALGOR,
12233    pub enc_key: *mut ASN1_OCTET_STRING,
12234    pub cert: *mut X509,
12235}
12236#[test]
12237fn bindgen_test_layout_pkcs7_recip_info_st() {
12238    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
12239    let ptr = UNINIT.as_ptr();
12240    assert_eq!(
12241        ::std::mem::size_of::<pkcs7_recip_info_st>(),
12242        40usize,
12243        "Size of pkcs7_recip_info_st"
12244    );
12245    assert_eq!(
12246        ::std::mem::align_of::<pkcs7_recip_info_st>(),
12247        8usize,
12248        "Alignment of pkcs7_recip_info_st"
12249    );
12250    assert_eq!(
12251        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
12252        0usize,
12253        "Offset of field: pkcs7_recip_info_st::version"
12254    );
12255    assert_eq!(
12256        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
12257        8usize,
12258        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
12259    );
12260    assert_eq!(
12261        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
12262        16usize,
12263        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
12264    );
12265    assert_eq!(
12266        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
12267        24usize,
12268        "Offset of field: pkcs7_recip_info_st::enc_key"
12269    );
12270    assert_eq!(
12271        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
12272        32usize,
12273        "Offset of field: pkcs7_recip_info_st::cert"
12274    );
12275}
12276impl Default for pkcs7_recip_info_st {
12277    fn default() -> Self {
12278        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12279        unsafe {
12280            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12281            s.assume_init()
12282        }
12283    }
12284}
12285#[repr(C)]
12286#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12287pub struct pkcs7_issuer_and_serial_st {
12288    pub issuer: *mut X509_NAME,
12289    pub serial: *mut ASN1_INTEGER,
12290}
12291#[test]
12292fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
12293    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
12294        ::std::mem::MaybeUninit::uninit();
12295    let ptr = UNINIT.as_ptr();
12296    assert_eq!(
12297        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
12298        16usize,
12299        "Size of pkcs7_issuer_and_serial_st"
12300    );
12301    assert_eq!(
12302        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
12303        8usize,
12304        "Alignment of pkcs7_issuer_and_serial_st"
12305    );
12306    assert_eq!(
12307        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
12308        0usize,
12309        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
12310    );
12311    assert_eq!(
12312        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
12313        8usize,
12314        "Offset of field: pkcs7_issuer_and_serial_st::serial"
12315    );
12316}
12317impl Default for pkcs7_issuer_and_serial_st {
12318    fn default() -> Self {
12319        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12320        unsafe {
12321            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12322            s.assume_init()
12323        }
12324    }
12325}
12326#[repr(C)]
12327#[derive(Debug, Copy, Clone)]
12328pub struct stack_st_PKCS7_RECIP_INFO {
12329    _unused: [u8; 0],
12330}
12331#[repr(C)]
12332#[derive(Debug, Copy, Clone)]
12333pub struct stack_st_PKCS7_SIGNER_INFO {
12334    _unused: [u8; 0],
12335}
12336extern "C" {
12337    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_public_key"]
12338    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12339}
12340extern "C" {
12341    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_private_key"]
12342    pub fn RSA_new_private_key(
12343        n: *const BIGNUM,
12344        e: *const BIGNUM,
12345        d: *const BIGNUM,
12346        p: *const BIGNUM,
12347        q: *const BIGNUM,
12348        dmp1: *const BIGNUM,
12349        dmq1: *const BIGNUM,
12350        iqmp: *const BIGNUM,
12351    ) -> *mut RSA;
12352}
12353extern "C" {
12354    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new"]
12355    pub fn RSA_new() -> *mut RSA;
12356}
12357extern "C" {
12358    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_method"]
12359    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
12360}
12361extern "C" {
12362    #[link_name = "\u{1}aws_lc_0_45_0_RSA_free"]
12363    pub fn RSA_free(rsa: *mut RSA);
12364}
12365extern "C" {
12366    #[link_name = "\u{1}aws_lc_0_45_0_RSA_up_ref"]
12367    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
12368}
12369extern "C" {
12370    #[link_name = "\u{1}aws_lc_0_45_0_RSA_bits"]
12371    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
12372}
12373extern "C" {
12374    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_n"]
12375    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
12376}
12377extern "C" {
12378    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_e"]
12379    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
12380}
12381extern "C" {
12382    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_d"]
12383    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
12384}
12385extern "C" {
12386    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_p"]
12387    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
12388}
12389extern "C" {
12390    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_q"]
12391    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
12392}
12393extern "C" {
12394    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_dmp1"]
12395    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
12396}
12397extern "C" {
12398    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_dmq1"]
12399    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
12400}
12401extern "C" {
12402    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_iqmp"]
12403    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
12404}
12405extern "C" {
12406    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_key"]
12407    pub fn RSA_get0_key(
12408        rsa: *const RSA,
12409        out_n: *mut *const BIGNUM,
12410        out_e: *mut *const BIGNUM,
12411        out_d: *mut *const BIGNUM,
12412    );
12413}
12414extern "C" {
12415    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_factors"]
12416    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
12417}
12418extern "C" {
12419    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_crt_params"]
12420    pub fn RSA_get0_crt_params(
12421        rsa: *const RSA,
12422        out_dmp1: *mut *const BIGNUM,
12423        out_dmq1: *mut *const BIGNUM,
12424        out_iqmp: *mut *const BIGNUM,
12425    );
12426}
12427extern "C" {
12428    #[link_name = "\u{1}aws_lc_0_45_0_RSA_set0_key"]
12429    pub fn RSA_set0_key(
12430        rsa: *mut RSA,
12431        n: *mut BIGNUM,
12432        e: *mut BIGNUM,
12433        d: *mut BIGNUM,
12434    ) -> ::std::os::raw::c_int;
12435}
12436extern "C" {
12437    #[link_name = "\u{1}aws_lc_0_45_0_RSA_set0_factors"]
12438    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
12439        -> ::std::os::raw::c_int;
12440}
12441extern "C" {
12442    #[link_name = "\u{1}aws_lc_0_45_0_RSA_set0_crt_params"]
12443    pub fn RSA_set0_crt_params(
12444        rsa: *mut RSA,
12445        dmp1: *mut BIGNUM,
12446        dmq1: *mut BIGNUM,
12447        iqmp: *mut BIGNUM,
12448    ) -> ::std::os::raw::c_int;
12449}
12450extern "C" {
12451    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get_default_method"]
12452    pub fn RSA_get_default_method() -> *const RSA_METHOD;
12453}
12454extern "C" {
12455    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_new"]
12456    pub fn RSA_meth_new(
12457        name: *const ::std::os::raw::c_char,
12458        flags: ::std::os::raw::c_int,
12459    ) -> *mut RSA_METHOD;
12460}
12461extern "C" {
12462    #[link_name = "\u{1}aws_lc_0_45_0_RSA_set_method"]
12463    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
12464}
12465extern "C" {
12466    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get_method"]
12467    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
12468}
12469extern "C" {
12470    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_free"]
12471    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
12472}
12473extern "C" {
12474    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set_init"]
12475    pub fn RSA_meth_set_init(
12476        meth: *mut RSA_METHOD,
12477        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12478    ) -> ::std::os::raw::c_int;
12479}
12480extern "C" {
12481    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set_finish"]
12482    pub fn RSA_meth_set_finish(
12483        meth: *mut RSA_METHOD,
12484        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
12485    ) -> ::std::os::raw::c_int;
12486}
12487extern "C" {
12488    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set_priv_dec"]
12489    pub fn RSA_meth_set_priv_dec(
12490        meth: *mut RSA_METHOD,
12491        priv_dec: ::std::option::Option<
12492            unsafe extern "C" fn(
12493                max_out: ::std::os::raw::c_int,
12494                from: *const u8,
12495                to: *mut u8,
12496                rsa: *mut RSA,
12497                padding: ::std::os::raw::c_int,
12498            ) -> ::std::os::raw::c_int,
12499        >,
12500    ) -> ::std::os::raw::c_int;
12501}
12502extern "C" {
12503    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set_priv_enc"]
12504    pub fn RSA_meth_set_priv_enc(
12505        meth: *mut RSA_METHOD,
12506        priv_enc: ::std::option::Option<
12507            unsafe extern "C" fn(
12508                max_out: ::std::os::raw::c_int,
12509                from: *const u8,
12510                to: *mut u8,
12511                rsa: *mut RSA,
12512                padding: ::std::os::raw::c_int,
12513            ) -> ::std::os::raw::c_int,
12514        >,
12515    ) -> ::std::os::raw::c_int;
12516}
12517extern "C" {
12518    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set_pub_dec"]
12519    pub fn RSA_meth_set_pub_dec(
12520        meth: *mut RSA_METHOD,
12521        pub_dec: ::std::option::Option<
12522            unsafe extern "C" fn(
12523                max_out: ::std::os::raw::c_int,
12524                from: *const u8,
12525                to: *mut u8,
12526                rsa: *mut RSA,
12527                padding: ::std::os::raw::c_int,
12528            ) -> ::std::os::raw::c_int,
12529        >,
12530    ) -> ::std::os::raw::c_int;
12531}
12532extern "C" {
12533    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set_pub_enc"]
12534    pub fn RSA_meth_set_pub_enc(
12535        meth: *mut RSA_METHOD,
12536        pub_enc: ::std::option::Option<
12537            unsafe extern "C" fn(
12538                max_out: ::std::os::raw::c_int,
12539                from: *const u8,
12540                to: *mut u8,
12541                rsa: *mut RSA,
12542                padding: ::std::os::raw::c_int,
12543            ) -> ::std::os::raw::c_int,
12544        >,
12545    ) -> ::std::os::raw::c_int;
12546}
12547extern "C" {
12548    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set0_app_data"]
12549    pub fn RSA_meth_set0_app_data(
12550        meth: *mut RSA_METHOD,
12551        app_data: *mut ::std::os::raw::c_void,
12552    ) -> ::std::os::raw::c_int;
12553}
12554extern "C" {
12555    #[link_name = "\u{1}aws_lc_0_45_0_RSA_meth_set_sign"]
12556    pub fn RSA_meth_set_sign(
12557        meth: *mut RSA_METHOD,
12558        sign: ::std::option::Option<
12559            unsafe extern "C" fn(
12560                type_: ::std::os::raw::c_int,
12561                m: *const ::std::os::raw::c_uchar,
12562                m_length: ::std::os::raw::c_uint,
12563                sigret: *mut ::std::os::raw::c_uchar,
12564                siglen: *mut ::std::os::raw::c_uint,
12565                rsa: *const RSA,
12566            ) -> ::std::os::raw::c_int,
12567        >,
12568    ) -> ::std::os::raw::c_int;
12569}
12570extern "C" {
12571    #[link_name = "\u{1}aws_lc_0_45_0_RSA_generate_key_ex"]
12572    pub fn RSA_generate_key_ex(
12573        rsa: *mut RSA,
12574        bits: ::std::os::raw::c_int,
12575        e: *const BIGNUM,
12576        cb: *mut BN_GENCB,
12577    ) -> ::std::os::raw::c_int;
12578}
12579extern "C" {
12580    #[link_name = "\u{1}aws_lc_0_45_0_RSA_generate_key_fips"]
12581    pub fn RSA_generate_key_fips(
12582        rsa: *mut RSA,
12583        bits: ::std::os::raw::c_int,
12584        cb: *mut BN_GENCB,
12585    ) -> ::std::os::raw::c_int;
12586}
12587extern "C" {
12588    #[link_name = "\u{1}aws_lc_0_45_0_RSA_encrypt"]
12589    pub fn RSA_encrypt(
12590        rsa: *mut RSA,
12591        out_len: *mut usize,
12592        out: *mut u8,
12593        max_out: usize,
12594        in_: *const u8,
12595        in_len: usize,
12596        padding: ::std::os::raw::c_int,
12597    ) -> ::std::os::raw::c_int;
12598}
12599extern "C" {
12600    #[link_name = "\u{1}aws_lc_0_45_0_RSA_decrypt"]
12601    pub fn RSA_decrypt(
12602        rsa: *mut RSA,
12603        out_len: *mut usize,
12604        out: *mut u8,
12605        max_out: usize,
12606        in_: *const u8,
12607        in_len: usize,
12608        padding: ::std::os::raw::c_int,
12609    ) -> ::std::os::raw::c_int;
12610}
12611extern "C" {
12612    #[link_name = "\u{1}aws_lc_0_45_0_RSA_public_encrypt"]
12613    pub fn RSA_public_encrypt(
12614        flen: usize,
12615        from: *const u8,
12616        to: *mut u8,
12617        rsa: *mut RSA,
12618        padding: ::std::os::raw::c_int,
12619    ) -> ::std::os::raw::c_int;
12620}
12621extern "C" {
12622    #[link_name = "\u{1}aws_lc_0_45_0_RSA_private_decrypt"]
12623    pub fn RSA_private_decrypt(
12624        flen: usize,
12625        from: *const u8,
12626        to: *mut u8,
12627        rsa: *mut RSA,
12628        padding: ::std::os::raw::c_int,
12629    ) -> ::std::os::raw::c_int;
12630}
12631extern "C" {
12632    #[link_name = "\u{1}aws_lc_0_45_0_RSA_sign"]
12633    pub fn RSA_sign(
12634        hash_nid: ::std::os::raw::c_int,
12635        digest: *const u8,
12636        digest_len: usize,
12637        out: *mut u8,
12638        out_len: *mut ::std::os::raw::c_uint,
12639        rsa: *mut RSA,
12640    ) -> ::std::os::raw::c_int;
12641}
12642extern "C" {
12643    #[link_name = "\u{1}aws_lc_0_45_0_RSA_sign_pss_mgf1"]
12644    pub fn RSA_sign_pss_mgf1(
12645        rsa: *mut RSA,
12646        out_len: *mut usize,
12647        out: *mut u8,
12648        max_out: usize,
12649        digest: *const u8,
12650        digest_len: usize,
12651        md: *const EVP_MD,
12652        mgf1_md: *const EVP_MD,
12653        salt_len: ::std::os::raw::c_int,
12654    ) -> ::std::os::raw::c_int;
12655}
12656extern "C" {
12657    #[link_name = "\u{1}aws_lc_0_45_0_RSA_sign_raw"]
12658    pub fn RSA_sign_raw(
12659        rsa: *mut RSA,
12660        out_len: *mut usize,
12661        out: *mut u8,
12662        max_out: usize,
12663        in_: *const u8,
12664        in_len: usize,
12665        padding: ::std::os::raw::c_int,
12666    ) -> ::std::os::raw::c_int;
12667}
12668extern "C" {
12669    #[link_name = "\u{1}aws_lc_0_45_0_RSA_verify"]
12670    pub fn RSA_verify(
12671        hash_nid: ::std::os::raw::c_int,
12672        digest: *const u8,
12673        digest_len: usize,
12674        sig: *const u8,
12675        sig_len: usize,
12676        rsa: *mut RSA,
12677    ) -> ::std::os::raw::c_int;
12678}
12679extern "C" {
12680    #[link_name = "\u{1}aws_lc_0_45_0_RSA_verify_pss_mgf1"]
12681    pub fn RSA_verify_pss_mgf1(
12682        rsa: *mut RSA,
12683        digest: *const u8,
12684        digest_len: usize,
12685        md: *const EVP_MD,
12686        mgf1_md: *const EVP_MD,
12687        salt_len: ::std::os::raw::c_int,
12688        sig: *const u8,
12689        sig_len: usize,
12690    ) -> ::std::os::raw::c_int;
12691}
12692extern "C" {
12693    #[link_name = "\u{1}aws_lc_0_45_0_RSA_verify_raw"]
12694    pub fn RSA_verify_raw(
12695        rsa: *mut RSA,
12696        out_len: *mut usize,
12697        out: *mut u8,
12698        max_out: usize,
12699        in_: *const u8,
12700        in_len: usize,
12701        padding: ::std::os::raw::c_int,
12702    ) -> ::std::os::raw::c_int;
12703}
12704extern "C" {
12705    #[link_name = "\u{1}aws_lc_0_45_0_RSA_private_encrypt"]
12706    pub fn RSA_private_encrypt(
12707        flen: usize,
12708        from: *const u8,
12709        to: *mut u8,
12710        rsa: *mut RSA,
12711        padding: ::std::os::raw::c_int,
12712    ) -> ::std::os::raw::c_int;
12713}
12714extern "C" {
12715    #[link_name = "\u{1}aws_lc_0_45_0_RSA_public_decrypt"]
12716    pub fn RSA_public_decrypt(
12717        flen: usize,
12718        from: *const u8,
12719        to: *mut u8,
12720        rsa: *mut RSA,
12721        padding: ::std::os::raw::c_int,
12722    ) -> ::std::os::raw::c_int;
12723}
12724extern "C" {
12725    #[link_name = "\u{1}aws_lc_0_45_0_RSA_size"]
12726    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
12727}
12728extern "C" {
12729    #[link_name = "\u{1}aws_lc_0_45_0_RSA_is_opaque"]
12730    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
12731}
12732extern "C" {
12733    #[link_name = "\u{1}aws_lc_0_45_0_RSAPublicKey_dup"]
12734    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
12735}
12736extern "C" {
12737    #[link_name = "\u{1}aws_lc_0_45_0_RSAPrivateKey_dup"]
12738    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
12739}
12740extern "C" {
12741    #[link_name = "\u{1}aws_lc_0_45_0_RSA_check_key"]
12742    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
12743}
12744extern "C" {
12745    #[link_name = "\u{1}aws_lc_0_45_0_RSA_check_fips"]
12746    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
12747}
12748extern "C" {
12749    #[link_name = "\u{1}aws_lc_0_45_0_RSA_verify_PKCS1_PSS_mgf1"]
12750    pub fn RSA_verify_PKCS1_PSS_mgf1(
12751        rsa: *const RSA,
12752        mHash: *const u8,
12753        Hash: *const EVP_MD,
12754        mgf1Hash: *const EVP_MD,
12755        EM: *const u8,
12756        sLen: ::std::os::raw::c_int,
12757    ) -> ::std::os::raw::c_int;
12758}
12759extern "C" {
12760    #[link_name = "\u{1}aws_lc_0_45_0_RSA_padding_add_PKCS1_PSS_mgf1"]
12761    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
12762        rsa: *const RSA,
12763        EM: *mut u8,
12764        mHash: *const u8,
12765        Hash: *const EVP_MD,
12766        mgf1Hash: *const EVP_MD,
12767        sLen: ::std::os::raw::c_int,
12768    ) -> ::std::os::raw::c_int;
12769}
12770extern "C" {
12771    #[link_name = "\u{1}aws_lc_0_45_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
12772    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
12773        to: *mut u8,
12774        to_len: usize,
12775        from: *const u8,
12776        from_len: usize,
12777        param: *const u8,
12778        param_len: usize,
12779        md: *const EVP_MD,
12780        mgf1md: *const EVP_MD,
12781    ) -> ::std::os::raw::c_int;
12782}
12783extern "C" {
12784    #[link_name = "\u{1}aws_lc_0_45_0_PKCS1_MGF1"]
12785    pub fn PKCS1_MGF1(
12786        out: *mut u8,
12787        len: usize,
12788        seed: *const u8,
12789        seed_len: usize,
12790        md: *const EVP_MD,
12791    ) -> ::std::os::raw::c_int;
12792}
12793extern "C" {
12794    #[link_name = "\u{1}aws_lc_0_45_0_RSA_add_pkcs1_prefix"]
12795    pub fn RSA_add_pkcs1_prefix(
12796        out_msg: *mut *mut u8,
12797        out_msg_len: *mut usize,
12798        is_alloced: *mut ::std::os::raw::c_int,
12799        hash_nid: ::std::os::raw::c_int,
12800        digest: *const u8,
12801        digest_len: usize,
12802    ) -> ::std::os::raw::c_int;
12803}
12804extern "C" {
12805    #[link_name = "\u{1}aws_lc_0_45_0_RSA_parse_public_key"]
12806    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
12807}
12808extern "C" {
12809    #[link_name = "\u{1}aws_lc_0_45_0_RSA_public_key_from_bytes"]
12810    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12811}
12812extern "C" {
12813    #[link_name = "\u{1}aws_lc_0_45_0_RSA_marshal_public_key"]
12814    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12815}
12816extern "C" {
12817    #[link_name = "\u{1}aws_lc_0_45_0_RSA_public_key_to_bytes"]
12818    pub fn RSA_public_key_to_bytes(
12819        out_bytes: *mut *mut u8,
12820        out_len: *mut usize,
12821        rsa: *const RSA,
12822    ) -> ::std::os::raw::c_int;
12823}
12824extern "C" {
12825    #[link_name = "\u{1}aws_lc_0_45_0_RSA_parse_private_key"]
12826    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
12827}
12828extern "C" {
12829    #[link_name = "\u{1}aws_lc_0_45_0_RSA_private_key_from_bytes"]
12830    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
12831}
12832extern "C" {
12833    #[link_name = "\u{1}aws_lc_0_45_0_RSA_marshal_private_key"]
12834    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
12835}
12836extern "C" {
12837    #[link_name = "\u{1}aws_lc_0_45_0_RSA_private_key_to_bytes"]
12838    pub fn RSA_private_key_to_bytes(
12839        out_bytes: *mut *mut u8,
12840        out_len: *mut usize,
12841        rsa: *const RSA,
12842    ) -> ::std::os::raw::c_int;
12843}
12844extern "C" {
12845    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_private_key_no_crt"]
12846    pub fn RSA_new_private_key_no_crt(
12847        n: *const BIGNUM,
12848        e: *const BIGNUM,
12849        d: *const BIGNUM,
12850    ) -> *mut RSA;
12851}
12852extern "C" {
12853    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_private_key_no_e"]
12854    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
12855}
12856extern "C" {
12857    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_public_key_large_e"]
12858    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
12859}
12860extern "C" {
12861    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_private_key_large_e"]
12862    pub fn RSA_new_private_key_large_e(
12863        n: *const BIGNUM,
12864        e: *const BIGNUM,
12865        d: *const BIGNUM,
12866        p: *const BIGNUM,
12867        q: *const BIGNUM,
12868        dmp1: *const BIGNUM,
12869        dmq1: *const BIGNUM,
12870        iqmp: *const BIGNUM,
12871    ) -> *mut RSA;
12872}
12873extern "C" {
12874    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get_ex_new_index"]
12875    pub fn RSA_get_ex_new_index(
12876        argl: ::std::os::raw::c_long,
12877        argp: *mut ::std::os::raw::c_void,
12878        unused: *mut CRYPTO_EX_unused,
12879        dup_unused: CRYPTO_EX_dup,
12880        free_func: CRYPTO_EX_free,
12881    ) -> ::std::os::raw::c_int;
12882}
12883extern "C" {
12884    #[link_name = "\u{1}aws_lc_0_45_0_RSA_set_ex_data"]
12885    pub fn RSA_set_ex_data(
12886        rsa: *mut RSA,
12887        idx: ::std::os::raw::c_int,
12888        arg: *mut ::std::os::raw::c_void,
12889    ) -> ::std::os::raw::c_int;
12890}
12891extern "C" {
12892    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get_ex_data"]
12893    pub fn RSA_get_ex_data(
12894        rsa: *const RSA,
12895        idx: ::std::os::raw::c_int,
12896    ) -> *mut ::std::os::raw::c_void;
12897}
12898extern "C" {
12899    #[link_name = "\u{1}aws_lc_0_45_0_RSA_flags"]
12900    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
12901}
12902extern "C" {
12903    #[link_name = "\u{1}aws_lc_0_45_0_RSA_set_flags"]
12904    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
12905}
12906extern "C" {
12907    #[link_name = "\u{1}aws_lc_0_45_0_RSA_test_flags"]
12908    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12909}
12910extern "C" {
12911    #[link_name = "\u{1}aws_lc_0_45_0_RSA_blinding_on"]
12912    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
12913}
12914extern "C" {
12915    #[link_name = "\u{1}aws_lc_0_45_0_RSA_blinding_off_temp_for_accp_compatibility"]
12916    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
12917}
12918extern "C" {
12919    #[link_name = "\u{1}aws_lc_0_45_0_RSA_pkey_ctx_ctrl"]
12920    pub fn RSA_pkey_ctx_ctrl(
12921        ctx: *mut EVP_PKEY_CTX,
12922        optype: ::std::os::raw::c_int,
12923        cmd: ::std::os::raw::c_int,
12924        p1: ::std::os::raw::c_int,
12925        p2: *mut ::std::os::raw::c_void,
12926    ) -> ::std::os::raw::c_int;
12927}
12928extern "C" {
12929    #[link_name = "\u{1}aws_lc_0_45_0_RSA_generate_key"]
12930    pub fn RSA_generate_key(
12931        bits: ::std::os::raw::c_int,
12932        e: u64,
12933        callback: *mut ::std::os::raw::c_void,
12934        cb_arg: *mut ::std::os::raw::c_void,
12935    ) -> *mut RSA;
12936}
12937extern "C" {
12938    #[link_name = "\u{1}aws_lc_0_45_0_d2i_RSAPublicKey"]
12939    pub fn d2i_RSAPublicKey(
12940        out: *mut *mut RSA,
12941        inp: *mut *const u8,
12942        len: ::std::os::raw::c_long,
12943    ) -> *mut RSA;
12944}
12945extern "C" {
12946    #[link_name = "\u{1}aws_lc_0_45_0_i2d_RSAPublicKey"]
12947    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12948}
12949extern "C" {
12950    #[link_name = "\u{1}aws_lc_0_45_0_d2i_RSAPrivateKey"]
12951    pub fn d2i_RSAPrivateKey(
12952        out: *mut *mut RSA,
12953        inp: *mut *const u8,
12954        len: ::std::os::raw::c_long,
12955    ) -> *mut RSA;
12956}
12957extern "C" {
12958    #[link_name = "\u{1}aws_lc_0_45_0_i2d_RSAPrivateKey"]
12959    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
12960}
12961extern "C" {
12962    #[link_name = "\u{1}aws_lc_0_45_0_RSA_padding_add_PKCS1_PSS"]
12963    pub fn RSA_padding_add_PKCS1_PSS(
12964        rsa: *const RSA,
12965        EM: *mut u8,
12966        mHash: *const u8,
12967        Hash: *const EVP_MD,
12968        sLen: ::std::os::raw::c_int,
12969    ) -> ::std::os::raw::c_int;
12970}
12971extern "C" {
12972    #[link_name = "\u{1}aws_lc_0_45_0_RSA_verify_PKCS1_PSS"]
12973    pub fn RSA_verify_PKCS1_PSS(
12974        rsa: *const RSA,
12975        mHash: *const u8,
12976        Hash: *const EVP_MD,
12977        EM: *const u8,
12978        sLen: ::std::os::raw::c_int,
12979    ) -> ::std::os::raw::c_int;
12980}
12981extern "C" {
12982    #[link_name = "\u{1}aws_lc_0_45_0_RSA_padding_add_PKCS1_OAEP"]
12983    pub fn RSA_padding_add_PKCS1_OAEP(
12984        to: *mut u8,
12985        to_len: usize,
12986        from: *const u8,
12987        from_len: usize,
12988        param: *const u8,
12989        param_len: usize,
12990    ) -> ::std::os::raw::c_int;
12991}
12992extern "C" {
12993    #[link_name = "\u{1}aws_lc_0_45_0_RSA_print"]
12994    pub fn RSA_print(
12995        bio: *mut BIO,
12996        rsa: *const RSA,
12997        indent: ::std::os::raw::c_int,
12998    ) -> ::std::os::raw::c_int;
12999}
13000extern "C" {
13001    #[link_name = "\u{1}aws_lc_0_45_0_RSA_get0_pss_params"]
13002    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
13003}
13004extern "C" {
13005    #[link_name = "\u{1}aws_lc_0_45_0_RSA_new_method_no_e"]
13006    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
13007}
13008#[repr(C)]
13009#[derive(Debug, Copy, Clone)]
13010pub struct stack_st_GENERAL_NAME {
13011    _unused: [u8; 0],
13012}
13013pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
13014#[repr(C)]
13015#[derive(Debug, Copy, Clone)]
13016pub struct stack_st_X509_NAME_ENTRY {
13017    _unused: [u8; 0],
13018}
13019#[repr(C)]
13020#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13021pub struct otherName_st {
13022    pub type_id: *mut ASN1_OBJECT,
13023    pub value: *mut ASN1_TYPE,
13024}
13025#[test]
13026fn bindgen_test_layout_otherName_st() {
13027    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
13028    let ptr = UNINIT.as_ptr();
13029    assert_eq!(
13030        ::std::mem::size_of::<otherName_st>(),
13031        16usize,
13032        "Size of otherName_st"
13033    );
13034    assert_eq!(
13035        ::std::mem::align_of::<otherName_st>(),
13036        8usize,
13037        "Alignment of otherName_st"
13038    );
13039    assert_eq!(
13040        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
13041        0usize,
13042        "Offset of field: otherName_st::type_id"
13043    );
13044    assert_eq!(
13045        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13046        8usize,
13047        "Offset of field: otherName_st::value"
13048    );
13049}
13050impl Default for otherName_st {
13051    fn default() -> Self {
13052        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13053        unsafe {
13054            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13055            s.assume_init()
13056        }
13057    }
13058}
13059pub type OTHERNAME = otherName_st;
13060#[repr(C)]
13061#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13062pub struct EDIPartyName_st {
13063    pub nameAssigner: *mut ASN1_STRING,
13064    pub partyName: *mut ASN1_STRING,
13065}
13066#[test]
13067fn bindgen_test_layout_EDIPartyName_st() {
13068    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
13069    let ptr = UNINIT.as_ptr();
13070    assert_eq!(
13071        ::std::mem::size_of::<EDIPartyName_st>(),
13072        16usize,
13073        "Size of EDIPartyName_st"
13074    );
13075    assert_eq!(
13076        ::std::mem::align_of::<EDIPartyName_st>(),
13077        8usize,
13078        "Alignment of EDIPartyName_st"
13079    );
13080    assert_eq!(
13081        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
13082        0usize,
13083        "Offset of field: EDIPartyName_st::nameAssigner"
13084    );
13085    assert_eq!(
13086        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
13087        8usize,
13088        "Offset of field: EDIPartyName_st::partyName"
13089    );
13090}
13091impl Default for EDIPartyName_st {
13092    fn default() -> Self {
13093        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13094        unsafe {
13095            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13096            s.assume_init()
13097        }
13098    }
13099}
13100pub type EDIPARTYNAME = EDIPartyName_st;
13101#[repr(C)]
13102#[derive(Copy, Clone)]
13103pub struct GENERAL_NAME_st {
13104    pub type_: ::std::os::raw::c_int,
13105    pub d: GENERAL_NAME_st__bindgen_ty_1,
13106}
13107#[repr(C)]
13108#[derive(Copy, Clone)]
13109pub union GENERAL_NAME_st__bindgen_ty_1 {
13110    pub ptr: *mut ::std::os::raw::c_char,
13111    pub otherName: *mut OTHERNAME,
13112    pub rfc822Name: *mut ASN1_IA5STRING,
13113    pub dNSName: *mut ASN1_IA5STRING,
13114    pub x400Address: *mut ASN1_STRING,
13115    pub directoryName: *mut X509_NAME,
13116    pub ediPartyName: *mut EDIPARTYNAME,
13117    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
13118    pub iPAddress: *mut ASN1_OCTET_STRING,
13119    pub registeredID: *mut ASN1_OBJECT,
13120    pub ip: *mut ASN1_OCTET_STRING,
13121    pub dirn: *mut X509_NAME,
13122    pub ia5: *mut ASN1_IA5STRING,
13123    pub rid: *mut ASN1_OBJECT,
13124}
13125#[test]
13126fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
13127    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
13128        ::std::mem::MaybeUninit::uninit();
13129    let ptr = UNINIT.as_ptr();
13130    assert_eq!(
13131        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13132        8usize,
13133        "Size of GENERAL_NAME_st__bindgen_ty_1"
13134    );
13135    assert_eq!(
13136        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
13137        8usize,
13138        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
13139    );
13140    assert_eq!(
13141        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
13142        0usize,
13143        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
13144    );
13145    assert_eq!(
13146        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
13147        0usize,
13148        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
13149    );
13150    assert_eq!(
13151        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
13152        0usize,
13153        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
13154    );
13155    assert_eq!(
13156        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
13157        0usize,
13158        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
13159    );
13160    assert_eq!(
13161        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
13162        0usize,
13163        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
13164    );
13165    assert_eq!(
13166        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
13167        0usize,
13168        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
13169    );
13170    assert_eq!(
13171        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
13172        0usize,
13173        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
13174    );
13175    assert_eq!(
13176        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
13177        0usize,
13178        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
13179    );
13180    assert_eq!(
13181        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
13182        0usize,
13183        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
13184    );
13185    assert_eq!(
13186        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
13187        0usize,
13188        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
13189    );
13190    assert_eq!(
13191        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
13192        0usize,
13193        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
13194    );
13195    assert_eq!(
13196        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
13197        0usize,
13198        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
13199    );
13200    assert_eq!(
13201        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
13202        0usize,
13203        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
13204    );
13205    assert_eq!(
13206        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
13207        0usize,
13208        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
13209    );
13210}
13211impl Default for GENERAL_NAME_st__bindgen_ty_1 {
13212    fn default() -> Self {
13213        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13214        unsafe {
13215            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13216            s.assume_init()
13217        }
13218    }
13219}
13220#[test]
13221fn bindgen_test_layout_GENERAL_NAME_st() {
13222    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
13223    let ptr = UNINIT.as_ptr();
13224    assert_eq!(
13225        ::std::mem::size_of::<GENERAL_NAME_st>(),
13226        16usize,
13227        "Size of GENERAL_NAME_st"
13228    );
13229    assert_eq!(
13230        ::std::mem::align_of::<GENERAL_NAME_st>(),
13231        8usize,
13232        "Alignment of GENERAL_NAME_st"
13233    );
13234    assert_eq!(
13235        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13236        0usize,
13237        "Offset of field: GENERAL_NAME_st::type_"
13238    );
13239    assert_eq!(
13240        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
13241        8usize,
13242        "Offset of field: GENERAL_NAME_st::d"
13243    );
13244}
13245impl Default for GENERAL_NAME_st {
13246    fn default() -> Self {
13247        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13248        unsafe {
13249            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13250            s.assume_init()
13251        }
13252    }
13253}
13254#[repr(C)]
13255#[derive(Debug, Copy, Clone)]
13256pub struct stack_st_X509_ALGOR {
13257    _unused: [u8; 0],
13258}
13259#[repr(C)]
13260#[derive(Debug, Copy, Clone)]
13261pub struct stack_st_X509_ATTRIBUTE {
13262    _unused: [u8; 0],
13263}
13264#[repr(C)]
13265#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13266pub struct Netscape_spki_st {
13267    pub spkac: *mut NETSCAPE_SPKAC,
13268    pub sig_algor: *mut X509_ALGOR,
13269    pub signature: *mut ASN1_BIT_STRING,
13270}
13271#[test]
13272fn bindgen_test_layout_Netscape_spki_st() {
13273    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
13274    let ptr = UNINIT.as_ptr();
13275    assert_eq!(
13276        ::std::mem::size_of::<Netscape_spki_st>(),
13277        24usize,
13278        "Size of Netscape_spki_st"
13279    );
13280    assert_eq!(
13281        ::std::mem::align_of::<Netscape_spki_st>(),
13282        8usize,
13283        "Alignment of Netscape_spki_st"
13284    );
13285    assert_eq!(
13286        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
13287        0usize,
13288        "Offset of field: Netscape_spki_st::spkac"
13289    );
13290    assert_eq!(
13291        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
13292        8usize,
13293        "Offset of field: Netscape_spki_st::sig_algor"
13294    );
13295    assert_eq!(
13296        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
13297        16usize,
13298        "Offset of field: Netscape_spki_st::signature"
13299    );
13300}
13301impl Default for Netscape_spki_st {
13302    fn default() -> Self {
13303        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13304        unsafe {
13305            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13306            s.assume_init()
13307        }
13308    }
13309}
13310#[repr(C)]
13311#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13312pub struct Netscape_spkac_st {
13313    pub pubkey: *mut X509_PUBKEY,
13314    pub challenge: *mut ASN1_IA5STRING,
13315}
13316#[test]
13317fn bindgen_test_layout_Netscape_spkac_st() {
13318    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
13319    let ptr = UNINIT.as_ptr();
13320    assert_eq!(
13321        ::std::mem::size_of::<Netscape_spkac_st>(),
13322        16usize,
13323        "Size of Netscape_spkac_st"
13324    );
13325    assert_eq!(
13326        ::std::mem::align_of::<Netscape_spkac_st>(),
13327        8usize,
13328        "Alignment of Netscape_spkac_st"
13329    );
13330    assert_eq!(
13331        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
13332        0usize,
13333        "Offset of field: Netscape_spkac_st::pubkey"
13334    );
13335    assert_eq!(
13336        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
13337        8usize,
13338        "Offset of field: Netscape_spkac_st::challenge"
13339    );
13340}
13341impl Default for Netscape_spkac_st {
13342    fn default() -> Self {
13343        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13344        unsafe {
13345            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13346            s.assume_init()
13347        }
13348    }
13349}
13350#[repr(C)]
13351#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13352pub struct rsa_pss_params_st {
13353    pub hashAlgorithm: *mut X509_ALGOR,
13354    pub maskGenAlgorithm: *mut X509_ALGOR,
13355    pub saltLength: *mut ASN1_INTEGER,
13356    pub trailerField: *mut ASN1_INTEGER,
13357    pub maskHash: *mut X509_ALGOR,
13358}
13359#[test]
13360fn bindgen_test_layout_rsa_pss_params_st() {
13361    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
13362    let ptr = UNINIT.as_ptr();
13363    assert_eq!(
13364        ::std::mem::size_of::<rsa_pss_params_st>(),
13365        40usize,
13366        "Size of rsa_pss_params_st"
13367    );
13368    assert_eq!(
13369        ::std::mem::align_of::<rsa_pss_params_st>(),
13370        8usize,
13371        "Alignment of rsa_pss_params_st"
13372    );
13373    assert_eq!(
13374        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
13375        0usize,
13376        "Offset of field: rsa_pss_params_st::hashAlgorithm"
13377    );
13378    assert_eq!(
13379        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
13380        8usize,
13381        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
13382    );
13383    assert_eq!(
13384        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
13385        16usize,
13386        "Offset of field: rsa_pss_params_st::saltLength"
13387    );
13388    assert_eq!(
13389        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
13390        24usize,
13391        "Offset of field: rsa_pss_params_st::trailerField"
13392    );
13393    assert_eq!(
13394        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
13395        32usize,
13396        "Offset of field: rsa_pss_params_st::maskHash"
13397    );
13398}
13399impl Default for rsa_pss_params_st {
13400    fn default() -> Self {
13401        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13402        unsafe {
13403            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13404            s.assume_init()
13405        }
13406    }
13407}
13408#[repr(C)]
13409#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13410pub struct private_key_st {
13411    pub dec_pkey: *mut EVP_PKEY,
13412}
13413#[test]
13414fn bindgen_test_layout_private_key_st() {
13415    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
13416    let ptr = UNINIT.as_ptr();
13417    assert_eq!(
13418        ::std::mem::size_of::<private_key_st>(),
13419        8usize,
13420        "Size of private_key_st"
13421    );
13422    assert_eq!(
13423        ::std::mem::align_of::<private_key_st>(),
13424        8usize,
13425        "Alignment of private_key_st"
13426    );
13427    assert_eq!(
13428        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
13429        0usize,
13430        "Offset of field: private_key_st::dec_pkey"
13431    );
13432}
13433impl Default for private_key_st {
13434    fn default() -> Self {
13435        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13436        unsafe {
13437            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13438            s.assume_init()
13439        }
13440    }
13441}
13442#[repr(C)]
13443#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13444pub struct X509_info_st {
13445    pub x509: *mut X509,
13446    pub crl: *mut X509_CRL,
13447    pub x_pkey: *mut X509_PKEY,
13448    pub enc_cipher: EVP_CIPHER_INFO,
13449    pub enc_len: ::std::os::raw::c_int,
13450    pub enc_data: *mut ::std::os::raw::c_char,
13451}
13452#[test]
13453fn bindgen_test_layout_X509_info_st() {
13454    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
13455    let ptr = UNINIT.as_ptr();
13456    assert_eq!(
13457        ::std::mem::size_of::<X509_info_st>(),
13458        64usize,
13459        "Size of X509_info_st"
13460    );
13461    assert_eq!(
13462        ::std::mem::align_of::<X509_info_st>(),
13463        8usize,
13464        "Alignment of X509_info_st"
13465    );
13466    assert_eq!(
13467        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
13468        0usize,
13469        "Offset of field: X509_info_st::x509"
13470    );
13471    assert_eq!(
13472        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13473        8usize,
13474        "Offset of field: X509_info_st::crl"
13475    );
13476    assert_eq!(
13477        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
13478        16usize,
13479        "Offset of field: X509_info_st::x_pkey"
13480    );
13481    assert_eq!(
13482        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
13483        24usize,
13484        "Offset of field: X509_info_st::enc_cipher"
13485    );
13486    assert_eq!(
13487        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
13488        48usize,
13489        "Offset of field: X509_info_st::enc_len"
13490    );
13491    assert_eq!(
13492        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
13493        56usize,
13494        "Offset of field: X509_info_st::enc_data"
13495    );
13496}
13497impl Default for X509_info_st {
13498    fn default() -> Self {
13499        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13500        unsafe {
13501            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13502            s.assume_init()
13503        }
13504    }
13505}
13506pub type X509V3_EXT_NEW =
13507    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
13508pub type X509V3_EXT_FREE =
13509    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
13510pub type X509V3_EXT_D2I = ::std::option::Option<
13511    unsafe extern "C" fn(
13512        ext: *mut ::std::os::raw::c_void,
13513        inp: *mut *const u8,
13514        len: ::std::os::raw::c_long,
13515    ) -> *mut ::std::os::raw::c_void,
13516>;
13517pub type X509V3_EXT_I2D = ::std::option::Option<
13518    unsafe extern "C" fn(
13519        ext: *mut ::std::os::raw::c_void,
13520        outp: *mut *mut u8,
13521    ) -> ::std::os::raw::c_int,
13522>;
13523pub type X509V3_EXT_I2V = ::std::option::Option<
13524    unsafe extern "C" fn(
13525        method: *const X509V3_EXT_METHOD,
13526        ext: *mut ::std::os::raw::c_void,
13527        extlist: *mut stack_st_CONF_VALUE,
13528    ) -> *mut stack_st_CONF_VALUE,
13529>;
13530pub type X509V3_EXT_V2I = ::std::option::Option<
13531    unsafe extern "C" fn(
13532        method: *const X509V3_EXT_METHOD,
13533        ctx: *const X509V3_CTX,
13534        values: *const stack_st_CONF_VALUE,
13535    ) -> *mut ::std::os::raw::c_void,
13536>;
13537pub type X509V3_EXT_I2S = ::std::option::Option<
13538    unsafe extern "C" fn(
13539        method: *const X509V3_EXT_METHOD,
13540        ext: *mut ::std::os::raw::c_void,
13541    ) -> *mut ::std::os::raw::c_char,
13542>;
13543pub type X509V3_EXT_S2I = ::std::option::Option<
13544    unsafe extern "C" fn(
13545        method: *const X509V3_EXT_METHOD,
13546        ctx: *const X509V3_CTX,
13547        str_: *const ::std::os::raw::c_char,
13548    ) -> *mut ::std::os::raw::c_void,
13549>;
13550pub type X509V3_EXT_I2R = ::std::option::Option<
13551    unsafe extern "C" fn(
13552        method: *const X509V3_EXT_METHOD,
13553        ext: *mut ::std::os::raw::c_void,
13554        out: *mut BIO,
13555        indent: ::std::os::raw::c_int,
13556    ) -> ::std::os::raw::c_int,
13557>;
13558pub type X509V3_EXT_R2I = ::std::option::Option<
13559    unsafe extern "C" fn(
13560        method: *const X509V3_EXT_METHOD,
13561        ctx: *const X509V3_CTX,
13562        str_: *const ::std::os::raw::c_char,
13563    ) -> *mut ::std::os::raw::c_void,
13564>;
13565#[repr(C)]
13566#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13567pub struct v3_ext_method {
13568    pub ext_nid: ::std::os::raw::c_int,
13569    pub ext_flags: ::std::os::raw::c_int,
13570    pub it: *const ASN1_ITEM_st,
13571    pub ext_new: X509V3_EXT_NEW,
13572    pub ext_free: X509V3_EXT_FREE,
13573    pub d2i: X509V3_EXT_D2I,
13574    pub i2d: X509V3_EXT_I2D,
13575    pub i2s: X509V3_EXT_I2S,
13576    pub s2i: X509V3_EXT_S2I,
13577    pub i2v: X509V3_EXT_I2V,
13578    pub v2i: X509V3_EXT_V2I,
13579    pub i2r: X509V3_EXT_I2R,
13580    pub r2i: X509V3_EXT_R2I,
13581    pub usr_data: *mut ::std::os::raw::c_void,
13582}
13583#[test]
13584fn bindgen_test_layout_v3_ext_method() {
13585    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
13586    let ptr = UNINIT.as_ptr();
13587    assert_eq!(
13588        ::std::mem::size_of::<v3_ext_method>(),
13589        104usize,
13590        "Size of v3_ext_method"
13591    );
13592    assert_eq!(
13593        ::std::mem::align_of::<v3_ext_method>(),
13594        8usize,
13595        "Alignment of v3_ext_method"
13596    );
13597    assert_eq!(
13598        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
13599        0usize,
13600        "Offset of field: v3_ext_method::ext_nid"
13601    );
13602    assert_eq!(
13603        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
13604        4usize,
13605        "Offset of field: v3_ext_method::ext_flags"
13606    );
13607    assert_eq!(
13608        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
13609        8usize,
13610        "Offset of field: v3_ext_method::it"
13611    );
13612    assert_eq!(
13613        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
13614        16usize,
13615        "Offset of field: v3_ext_method::ext_new"
13616    );
13617    assert_eq!(
13618        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
13619        24usize,
13620        "Offset of field: v3_ext_method::ext_free"
13621    );
13622    assert_eq!(
13623        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
13624        32usize,
13625        "Offset of field: v3_ext_method::d2i"
13626    );
13627    assert_eq!(
13628        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
13629        40usize,
13630        "Offset of field: v3_ext_method::i2d"
13631    );
13632    assert_eq!(
13633        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
13634        48usize,
13635        "Offset of field: v3_ext_method::i2s"
13636    );
13637    assert_eq!(
13638        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
13639        56usize,
13640        "Offset of field: v3_ext_method::s2i"
13641    );
13642    assert_eq!(
13643        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
13644        64usize,
13645        "Offset of field: v3_ext_method::i2v"
13646    );
13647    assert_eq!(
13648        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
13649        72usize,
13650        "Offset of field: v3_ext_method::v2i"
13651    );
13652    assert_eq!(
13653        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
13654        80usize,
13655        "Offset of field: v3_ext_method::i2r"
13656    );
13657    assert_eq!(
13658        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
13659        88usize,
13660        "Offset of field: v3_ext_method::r2i"
13661    );
13662    assert_eq!(
13663        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
13664        96usize,
13665        "Offset of field: v3_ext_method::usr_data"
13666    );
13667}
13668impl Default for v3_ext_method {
13669    fn default() -> Self {
13670        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13671        unsafe {
13672            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13673            s.assume_init()
13674        }
13675    }
13676}
13677#[repr(C)]
13678#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13679pub struct v3_ext_ctx {
13680    pub flags: ::std::os::raw::c_int,
13681    pub issuer_cert: *const X509,
13682    pub subject_cert: *const X509,
13683    pub subject_req: *const X509_REQ,
13684    pub crl: *const X509_CRL,
13685    pub db: *const CONF,
13686}
13687#[test]
13688fn bindgen_test_layout_v3_ext_ctx() {
13689    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
13690    let ptr = UNINIT.as_ptr();
13691    assert_eq!(
13692        ::std::mem::size_of::<v3_ext_ctx>(),
13693        48usize,
13694        "Size of v3_ext_ctx"
13695    );
13696    assert_eq!(
13697        ::std::mem::align_of::<v3_ext_ctx>(),
13698        8usize,
13699        "Alignment of v3_ext_ctx"
13700    );
13701    assert_eq!(
13702        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13703        0usize,
13704        "Offset of field: v3_ext_ctx::flags"
13705    );
13706    assert_eq!(
13707        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
13708        8usize,
13709        "Offset of field: v3_ext_ctx::issuer_cert"
13710    );
13711    assert_eq!(
13712        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
13713        16usize,
13714        "Offset of field: v3_ext_ctx::subject_cert"
13715    );
13716    assert_eq!(
13717        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
13718        24usize,
13719        "Offset of field: v3_ext_ctx::subject_req"
13720    );
13721    assert_eq!(
13722        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
13723        32usize,
13724        "Offset of field: v3_ext_ctx::crl"
13725    );
13726    assert_eq!(
13727        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
13728        40usize,
13729        "Offset of field: v3_ext_ctx::db"
13730    );
13731}
13732impl Default for v3_ext_ctx {
13733    fn default() -> Self {
13734        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13735        unsafe {
13736            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13737            s.assume_init()
13738        }
13739    }
13740}
13741#[repr(C)]
13742#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13743pub struct X509_algor_st {
13744    pub algorithm: *mut ASN1_OBJECT,
13745    pub parameter: *mut ASN1_TYPE,
13746}
13747#[test]
13748fn bindgen_test_layout_X509_algor_st() {
13749    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
13750    let ptr = UNINIT.as_ptr();
13751    assert_eq!(
13752        ::std::mem::size_of::<X509_algor_st>(),
13753        16usize,
13754        "Size of X509_algor_st"
13755    );
13756    assert_eq!(
13757        ::std::mem::align_of::<X509_algor_st>(),
13758        8usize,
13759        "Alignment of X509_algor_st"
13760    );
13761    assert_eq!(
13762        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
13763        0usize,
13764        "Offset of field: X509_algor_st::algorithm"
13765    );
13766    assert_eq!(
13767        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
13768        8usize,
13769        "Offset of field: X509_algor_st::parameter"
13770    );
13771}
13772impl Default for X509_algor_st {
13773    fn default() -> Self {
13774        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13775        unsafe {
13776            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13777            s.assume_init()
13778        }
13779    }
13780}
13781#[repr(C)]
13782#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13783pub struct x509_trust_st {
13784    pub trust: ::std::os::raw::c_int,
13785    pub flags: ::std::os::raw::c_int,
13786    pub check_trust: ::std::option::Option<
13787        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
13788    >,
13789    pub name: *mut ::std::os::raw::c_char,
13790    pub arg1: ::std::os::raw::c_int,
13791    pub arg2: *mut ::std::os::raw::c_void,
13792}
13793#[test]
13794fn bindgen_test_layout_x509_trust_st() {
13795    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
13796    let ptr = UNINIT.as_ptr();
13797    assert_eq!(
13798        ::std::mem::size_of::<x509_trust_st>(),
13799        40usize,
13800        "Size of x509_trust_st"
13801    );
13802    assert_eq!(
13803        ::std::mem::align_of::<x509_trust_st>(),
13804        8usize,
13805        "Alignment of x509_trust_st"
13806    );
13807    assert_eq!(
13808        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
13809        0usize,
13810        "Offset of field: x509_trust_st::trust"
13811    );
13812    assert_eq!(
13813        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13814        4usize,
13815        "Offset of field: x509_trust_st::flags"
13816    );
13817    assert_eq!(
13818        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
13819        8usize,
13820        "Offset of field: x509_trust_st::check_trust"
13821    );
13822    assert_eq!(
13823        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13824        16usize,
13825        "Offset of field: x509_trust_st::name"
13826    );
13827    assert_eq!(
13828        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
13829        24usize,
13830        "Offset of field: x509_trust_st::arg1"
13831    );
13832    assert_eq!(
13833        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
13834        32usize,
13835        "Offset of field: x509_trust_st::arg2"
13836    );
13837}
13838impl Default for x509_trust_st {
13839    fn default() -> Self {
13840        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13841        unsafe {
13842            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13843            s.assume_init()
13844        }
13845    }
13846}
13847#[repr(C)]
13848#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13849pub struct BASIC_CONSTRAINTS_st {
13850    pub ca: ASN1_BOOLEAN,
13851    pub pathlen: *mut ASN1_INTEGER,
13852}
13853#[test]
13854fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
13855    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
13856    let ptr = UNINIT.as_ptr();
13857    assert_eq!(
13858        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
13859        16usize,
13860        "Size of BASIC_CONSTRAINTS_st"
13861    );
13862    assert_eq!(
13863        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
13864        8usize,
13865        "Alignment of BASIC_CONSTRAINTS_st"
13866    );
13867    assert_eq!(
13868        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
13869        0usize,
13870        "Offset of field: BASIC_CONSTRAINTS_st::ca"
13871    );
13872    assert_eq!(
13873        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
13874        8usize,
13875        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
13876    );
13877}
13878impl Default for BASIC_CONSTRAINTS_st {
13879    fn default() -> Self {
13880        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13881        unsafe {
13882            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13883            s.assume_init()
13884        }
13885    }
13886}
13887#[repr(C)]
13888#[derive(Copy, Clone)]
13889pub struct DIST_POINT_NAME_st {
13890    pub type_: ::std::os::raw::c_int,
13891    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
13892    pub dpname: *mut X509_NAME,
13893}
13894#[repr(C)]
13895#[derive(Copy, Clone)]
13896pub union DIST_POINT_NAME_st__bindgen_ty_1 {
13897    pub fullname: *mut GENERAL_NAMES,
13898    pub relativename: *mut stack_st_X509_NAME_ENTRY,
13899}
13900#[test]
13901fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
13902    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
13903        ::std::mem::MaybeUninit::uninit();
13904    let ptr = UNINIT.as_ptr();
13905    assert_eq!(
13906        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13907        8usize,
13908        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
13909    );
13910    assert_eq!(
13911        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
13912        8usize,
13913        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
13914    );
13915    assert_eq!(
13916        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
13917        0usize,
13918        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
13919    );
13920    assert_eq!(
13921        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
13922        0usize,
13923        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
13924    );
13925}
13926impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
13927    fn default() -> Self {
13928        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13929        unsafe {
13930            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13931            s.assume_init()
13932        }
13933    }
13934}
13935#[test]
13936fn bindgen_test_layout_DIST_POINT_NAME_st() {
13937    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
13938    let ptr = UNINIT.as_ptr();
13939    assert_eq!(
13940        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
13941        24usize,
13942        "Size of DIST_POINT_NAME_st"
13943    );
13944    assert_eq!(
13945        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
13946        8usize,
13947        "Alignment of DIST_POINT_NAME_st"
13948    );
13949    assert_eq!(
13950        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
13951        0usize,
13952        "Offset of field: DIST_POINT_NAME_st::type_"
13953    );
13954    assert_eq!(
13955        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13956        8usize,
13957        "Offset of field: DIST_POINT_NAME_st::name"
13958    );
13959    assert_eq!(
13960        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
13961        16usize,
13962        "Offset of field: DIST_POINT_NAME_st::dpname"
13963    );
13964}
13965impl Default for DIST_POINT_NAME_st {
13966    fn default() -> Self {
13967        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13968        unsafe {
13969            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13970            s.assume_init()
13971        }
13972    }
13973}
13974pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
13975#[repr(C)]
13976#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13977pub struct DIST_POINT_st {
13978    pub distpoint: *mut DIST_POINT_NAME,
13979    pub reasons: *mut ASN1_BIT_STRING,
13980    pub CRLissuer: *mut GENERAL_NAMES,
13981}
13982#[test]
13983fn bindgen_test_layout_DIST_POINT_st() {
13984    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
13985    let ptr = UNINIT.as_ptr();
13986    assert_eq!(
13987        ::std::mem::size_of::<DIST_POINT_st>(),
13988        24usize,
13989        "Size of DIST_POINT_st"
13990    );
13991    assert_eq!(
13992        ::std::mem::align_of::<DIST_POINT_st>(),
13993        8usize,
13994        "Alignment of DIST_POINT_st"
13995    );
13996    assert_eq!(
13997        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
13998        0usize,
13999        "Offset of field: DIST_POINT_st::distpoint"
14000    );
14001    assert_eq!(
14002        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
14003        8usize,
14004        "Offset of field: DIST_POINT_st::reasons"
14005    );
14006    assert_eq!(
14007        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
14008        16usize,
14009        "Offset of field: DIST_POINT_st::CRLissuer"
14010    );
14011}
14012impl Default for DIST_POINT_st {
14013    fn default() -> Self {
14014        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14015        unsafe {
14016            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14017            s.assume_init()
14018        }
14019    }
14020}
14021#[repr(C)]
14022#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14023pub struct AUTHORITY_KEYID_st {
14024    pub keyid: *mut ASN1_OCTET_STRING,
14025    pub issuer: *mut GENERAL_NAMES,
14026    pub serial: *mut ASN1_INTEGER,
14027}
14028#[test]
14029fn bindgen_test_layout_AUTHORITY_KEYID_st() {
14030    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
14031    let ptr = UNINIT.as_ptr();
14032    assert_eq!(
14033        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
14034        24usize,
14035        "Size of AUTHORITY_KEYID_st"
14036    );
14037    assert_eq!(
14038        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
14039        8usize,
14040        "Alignment of AUTHORITY_KEYID_st"
14041    );
14042    assert_eq!(
14043        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
14044        0usize,
14045        "Offset of field: AUTHORITY_KEYID_st::keyid"
14046    );
14047    assert_eq!(
14048        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
14049        8usize,
14050        "Offset of field: AUTHORITY_KEYID_st::issuer"
14051    );
14052    assert_eq!(
14053        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
14054        16usize,
14055        "Offset of field: AUTHORITY_KEYID_st::serial"
14056    );
14057}
14058impl Default for AUTHORITY_KEYID_st {
14059    fn default() -> Self {
14060        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14061        unsafe {
14062            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14063            s.assume_init()
14064        }
14065    }
14066}
14067#[repr(C)]
14068#[derive(Debug, Copy, Clone)]
14069pub struct stack_st_GENERAL_SUBTREE {
14070    _unused: [u8; 0],
14071}
14072#[repr(C)]
14073#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14074pub struct NAME_CONSTRAINTS_st {
14075    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14076    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
14077}
14078#[test]
14079fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
14080    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
14081    let ptr = UNINIT.as_ptr();
14082    assert_eq!(
14083        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
14084        16usize,
14085        "Size of NAME_CONSTRAINTS_st"
14086    );
14087    assert_eq!(
14088        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
14089        8usize,
14090        "Alignment of NAME_CONSTRAINTS_st"
14091    );
14092    assert_eq!(
14093        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
14094        0usize,
14095        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
14096    );
14097    assert_eq!(
14098        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
14099        8usize,
14100        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
14101    );
14102}
14103impl Default for NAME_CONSTRAINTS_st {
14104    fn default() -> Self {
14105        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14106        unsafe {
14107            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14108            s.assume_init()
14109        }
14110    }
14111}
14112#[repr(C)]
14113#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14114pub struct ISSUING_DIST_POINT_st {
14115    pub distpoint: *mut DIST_POINT_NAME,
14116    pub onlyuser: ASN1_BOOLEAN,
14117    pub onlyCA: ASN1_BOOLEAN,
14118    pub onlysomereasons: *mut ASN1_BIT_STRING,
14119    pub indirectCRL: ASN1_BOOLEAN,
14120    pub onlyattr: ASN1_BOOLEAN,
14121}
14122#[test]
14123fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
14124    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
14125        ::std::mem::MaybeUninit::uninit();
14126    let ptr = UNINIT.as_ptr();
14127    assert_eq!(
14128        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
14129        32usize,
14130        "Size of ISSUING_DIST_POINT_st"
14131    );
14132    assert_eq!(
14133        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
14134        8usize,
14135        "Alignment of ISSUING_DIST_POINT_st"
14136    );
14137    assert_eq!(
14138        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
14139        0usize,
14140        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
14141    );
14142    assert_eq!(
14143        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
14144        8usize,
14145        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
14146    );
14147    assert_eq!(
14148        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
14149        12usize,
14150        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
14151    );
14152    assert_eq!(
14153        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
14154        16usize,
14155        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
14156    );
14157    assert_eq!(
14158        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
14159        24usize,
14160        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
14161    );
14162    assert_eq!(
14163        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
14164        28usize,
14165        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
14166    );
14167}
14168impl Default for ISSUING_DIST_POINT_st {
14169    fn default() -> Self {
14170        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14171        unsafe {
14172            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14173            s.assume_init()
14174        }
14175    }
14176}
14177pub type poly1305_state = [u8; 512usize];
14178extern "C" {
14179    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_poly1305_init"]
14180    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
14181}
14182extern "C" {
14183    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_poly1305_update"]
14184    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
14185}
14186extern "C" {
14187    #[link_name = "\u{1}aws_lc_0_45_0_CRYPTO_poly1305_finish"]
14188    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
14189}
14190extern "C" {
14191    #[link_name = "\u{1}aws_lc_0_45_0_RAND_bytes"]
14192    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14193}
14194extern "C" {
14195    #[link_name = "\u{1}aws_lc_0_45_0_RAND_priv_bytes"]
14196    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14197}
14198extern "C" {
14199    #[link_name = "\u{1}aws_lc_0_45_0_RAND_public_bytes"]
14200    pub fn RAND_public_bytes(out: *mut u8, out_len: usize) -> ::std::os::raw::c_int;
14201}
14202extern "C" {
14203    #[link_name = "\u{1}aws_lc_0_45_0_RAND_bytes_with_user_prediction_resistance"]
14204    pub fn RAND_bytes_with_user_prediction_resistance(
14205        out: *mut u8,
14206        out_len: usize,
14207        user_pred_resistance: *const u8,
14208    ) -> ::std::os::raw::c_int;
14209}
14210extern "C" {
14211    #[link_name = "\u{1}aws_lc_0_45_0_RAND_pseudo_bytes"]
14212    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
14213}
14214extern "C" {
14215    #[link_name = "\u{1}aws_lc_0_45_0_RAND_seed"]
14216    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
14217}
14218extern "C" {
14219    #[link_name = "\u{1}aws_lc_0_45_0_RAND_load_file"]
14220    pub fn RAND_load_file(
14221        path: *const ::std::os::raw::c_char,
14222        num: ::std::os::raw::c_long,
14223    ) -> ::std::os::raw::c_int;
14224}
14225extern "C" {
14226    #[link_name = "\u{1}aws_lc_0_45_0_RAND_write_file"]
14227    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14228}
14229extern "C" {
14230    #[link_name = "\u{1}aws_lc_0_45_0_RAND_file_name"]
14231    pub fn RAND_file_name(
14232        buf: *mut ::std::os::raw::c_char,
14233        num: usize,
14234    ) -> *const ::std::os::raw::c_char;
14235}
14236extern "C" {
14237    #[link_name = "\u{1}aws_lc_0_45_0_RAND_add"]
14238    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
14239}
14240extern "C" {
14241    #[link_name = "\u{1}aws_lc_0_45_0_RAND_egd"]
14242    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14243}
14244extern "C" {
14245    #[link_name = "\u{1}aws_lc_0_45_0_RAND_egd_bytes"]
14246    pub fn RAND_egd_bytes(
14247        arg1: *const ::std::os::raw::c_char,
14248        bytes: ::std::os::raw::c_int,
14249    ) -> ::std::os::raw::c_int;
14250}
14251extern "C" {
14252    #[link_name = "\u{1}aws_lc_0_45_0_RAND_poll"]
14253    pub fn RAND_poll() -> ::std::os::raw::c_int;
14254}
14255extern "C" {
14256    #[link_name = "\u{1}aws_lc_0_45_0_RAND_status"]
14257    pub fn RAND_status() -> ::std::os::raw::c_int;
14258}
14259extern "C" {
14260    #[link_name = "\u{1}aws_lc_0_45_0_RAND_cleanup"]
14261    pub fn RAND_cleanup();
14262}
14263#[repr(C)]
14264#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
14265pub struct rand_meth_st {
14266    pub seed: ::std::option::Option<
14267        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
14268    >,
14269    pub bytes: ::std::option::Option<
14270        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14271    >,
14272    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
14273    pub add: ::std::option::Option<
14274        unsafe extern "C" fn(
14275            buf: *const ::std::os::raw::c_void,
14276            num: ::std::os::raw::c_int,
14277            entropy: f64,
14278        ),
14279    >,
14280    pub pseudorand: ::std::option::Option<
14281        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
14282    >,
14283    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
14284}
14285#[test]
14286fn bindgen_test_layout_rand_meth_st() {
14287    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
14288    let ptr = UNINIT.as_ptr();
14289    assert_eq!(
14290        ::std::mem::size_of::<rand_meth_st>(),
14291        48usize,
14292        "Size of rand_meth_st"
14293    );
14294    assert_eq!(
14295        ::std::mem::align_of::<rand_meth_st>(),
14296        8usize,
14297        "Alignment of rand_meth_st"
14298    );
14299    assert_eq!(
14300        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
14301        0usize,
14302        "Offset of field: rand_meth_st::seed"
14303    );
14304    assert_eq!(
14305        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
14306        8usize,
14307        "Offset of field: rand_meth_st::bytes"
14308    );
14309    assert_eq!(
14310        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
14311        16usize,
14312        "Offset of field: rand_meth_st::cleanup"
14313    );
14314    assert_eq!(
14315        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
14316        24usize,
14317        "Offset of field: rand_meth_st::add"
14318    );
14319    assert_eq!(
14320        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
14321        32usize,
14322        "Offset of field: rand_meth_st::pseudorand"
14323    );
14324    assert_eq!(
14325        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14326        40usize,
14327        "Offset of field: rand_meth_st::status"
14328    );
14329}
14330extern "C" {
14331    #[link_name = "\u{1}aws_lc_0_45_0_RAND_SSLeay"]
14332    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
14333}
14334extern "C" {
14335    #[link_name = "\u{1}aws_lc_0_45_0_RAND_OpenSSL"]
14336    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
14337}
14338extern "C" {
14339    #[link_name = "\u{1}aws_lc_0_45_0_RAND_get_rand_method"]
14340    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
14341}
14342extern "C" {
14343    #[link_name = "\u{1}aws_lc_0_45_0_RAND_set_rand_method"]
14344    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
14345}
14346extern "C" {
14347    #[link_name = "\u{1}aws_lc_0_45_0_RAND_keep_random_devices_open"]
14348    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
14349}
14350#[repr(C)]
14351#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14352pub struct rc4_key_st {
14353    pub x: u32,
14354    pub y: u32,
14355    pub data: [u32; 256usize],
14356}
14357#[test]
14358fn bindgen_test_layout_rc4_key_st() {
14359    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
14360    let ptr = UNINIT.as_ptr();
14361    assert_eq!(
14362        ::std::mem::size_of::<rc4_key_st>(),
14363        1032usize,
14364        "Size of rc4_key_st"
14365    );
14366    assert_eq!(
14367        ::std::mem::align_of::<rc4_key_st>(),
14368        4usize,
14369        "Alignment of rc4_key_st"
14370    );
14371    assert_eq!(
14372        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
14373        0usize,
14374        "Offset of field: rc4_key_st::x"
14375    );
14376    assert_eq!(
14377        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
14378        4usize,
14379        "Offset of field: rc4_key_st::y"
14380    );
14381    assert_eq!(
14382        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14383        8usize,
14384        "Offset of field: rc4_key_st::data"
14385    );
14386}
14387impl Default for rc4_key_st {
14388    fn default() -> Self {
14389        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14390        unsafe {
14391            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14392            s.assume_init()
14393        }
14394    }
14395}
14396#[repr(C)]
14397#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14398pub struct RIPEMD160state_st {
14399    pub h: [u32; 5usize],
14400    pub Nl: u32,
14401    pub Nh: u32,
14402    pub data: [u8; 64usize],
14403    pub num: ::std::os::raw::c_uint,
14404}
14405#[test]
14406fn bindgen_test_layout_RIPEMD160state_st() {
14407    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
14408    let ptr = UNINIT.as_ptr();
14409    assert_eq!(
14410        ::std::mem::size_of::<RIPEMD160state_st>(),
14411        96usize,
14412        "Size of RIPEMD160state_st"
14413    );
14414    assert_eq!(
14415        ::std::mem::align_of::<RIPEMD160state_st>(),
14416        4usize,
14417        "Alignment of RIPEMD160state_st"
14418    );
14419    assert_eq!(
14420        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
14421        0usize,
14422        "Offset of field: RIPEMD160state_st::h"
14423    );
14424    assert_eq!(
14425        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
14426        20usize,
14427        "Offset of field: RIPEMD160state_st::Nl"
14428    );
14429    assert_eq!(
14430        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
14431        24usize,
14432        "Offset of field: RIPEMD160state_st::Nh"
14433    );
14434    assert_eq!(
14435        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14436        28usize,
14437        "Offset of field: RIPEMD160state_st::data"
14438    );
14439    assert_eq!(
14440        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
14441        92usize,
14442        "Offset of field: RIPEMD160state_st::num"
14443    );
14444}
14445impl Default for RIPEMD160state_st {
14446    fn default() -> Self {
14447        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14448        unsafe {
14449            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14450            s.assume_init()
14451        }
14452    }
14453}
14454#[repr(C)]
14455#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14456pub struct trust_token_st {
14457    pub data: *mut u8,
14458    pub len: usize,
14459}
14460#[test]
14461fn bindgen_test_layout_trust_token_st() {
14462    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
14463    let ptr = UNINIT.as_ptr();
14464    assert_eq!(
14465        ::std::mem::size_of::<trust_token_st>(),
14466        16usize,
14467        "Size of trust_token_st"
14468    );
14469    assert_eq!(
14470        ::std::mem::align_of::<trust_token_st>(),
14471        8usize,
14472        "Alignment of trust_token_st"
14473    );
14474    assert_eq!(
14475        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14476        0usize,
14477        "Offset of field: trust_token_st::data"
14478    );
14479    assert_eq!(
14480        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
14481        8usize,
14482        "Offset of field: trust_token_st::len"
14483    );
14484}
14485impl Default for trust_token_st {
14486    fn default() -> Self {
14487        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14488        unsafe {
14489            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14490            s.assume_init()
14491        }
14492    }
14493}
14494extern "C" {
14495    #[link_name = "\u{1}aws_lc_0_45_0_ERR_GET_LIB_RUST"]
14496    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14497}
14498extern "C" {
14499    #[link_name = "\u{1}aws_lc_0_45_0_ERR_GET_REASON_RUST"]
14500    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14501}
14502extern "C" {
14503    #[link_name = "\u{1}aws_lc_0_45_0_ERR_GET_FUNC_RUST"]
14504    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
14505}
14506pub type __builtin_va_list = [__va_list_tag; 1usize];
14507#[repr(C)]
14508#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14509pub struct __va_list_tag {
14510    pub gp_offset: ::std::os::raw::c_uint,
14511    pub fp_offset: ::std::os::raw::c_uint,
14512    pub overflow_arg_area: *mut ::std::os::raw::c_void,
14513    pub reg_save_area: *mut ::std::os::raw::c_void,
14514}
14515#[test]
14516fn bindgen_test_layout___va_list_tag() {
14517    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
14518    let ptr = UNINIT.as_ptr();
14519    assert_eq!(
14520        ::std::mem::size_of::<__va_list_tag>(),
14521        24usize,
14522        "Size of __va_list_tag"
14523    );
14524    assert_eq!(
14525        ::std::mem::align_of::<__va_list_tag>(),
14526        8usize,
14527        "Alignment of __va_list_tag"
14528    );
14529    assert_eq!(
14530        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
14531        0usize,
14532        "Offset of field: __va_list_tag::gp_offset"
14533    );
14534    assert_eq!(
14535        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
14536        4usize,
14537        "Offset of field: __va_list_tag::fp_offset"
14538    );
14539    assert_eq!(
14540        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
14541        8usize,
14542        "Offset of field: __va_list_tag::overflow_arg_area"
14543    );
14544    assert_eq!(
14545        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
14546        16usize,
14547        "Offset of field: __va_list_tag::reg_save_area"
14548    );
14549}
14550impl Default for __va_list_tag {
14551    fn default() -> Self {
14552        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14553        unsafe {
14554            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14555            s.assume_init()
14556        }
14557    }
14558}